00001 /* -*- C++ -*- */ 00002 00003 /* COPYRIGHT 00004 * 00005 * This file is part of the Visual Effects Engine - VEE 00006 * 00007 * Read the "VEE-LICENSE" file for the license. 00008 * 00009 * Authors & Copyright: 00010 * 00011 * Tommi Ilmonen, Tuukka Heikura, Marko Myllymaa and 00012 * Janne Kontkanen 2001-2004 00013 * 00014 * Additional copyrights: Tekes 2003-2004 00015 * 00016 * firstname.lastname@hut.fi 00017 * 00018 */ 00019 00020 #ifndef VEE_VOLUME_SPHERE_H 00021 #define VEE_VOLUME_SPHERE_H 00022 00023 #include <vee_volume.h> 00024 00025 class VEE_VolumeSphere : public VEE_Volume 00026 { 00027 public: 00028 VEE_VolumeSphere(); 00029 00030 VEE_VolumeSphere(float innerRadius, float outerRadius) 00031 : m_innerRadius(innerRadius), m_outerRadius(outerRadius) {} 00032 00033 virtual ~VEE_VolumeSphere(); 00034 00035 virtual float inside(const VEE_Vector3 &); 00036 virtual void getBoundingBox(VEE_BoundingBox *); 00037 00038 virtual VEE_Volume * clone() const; 00039 00040 void set(float inner, float outer) 00041 { m_innerRadius = inner; m_outerRadius = outer; } 00042 00043 float innerRadius() const { return m_innerRadius; } 00044 float outerRadius() const { return m_outerRadius; } 00045 00046 protected: 00047 00048 float m_innerRadius; 00049 float m_outerRadius; 00050 00051 }; 00052 00053 #endif