vee_volume_disk.h

Go to the documentation of this file.
00001 /* COPYRIGHT
00002  *
00003  * This file is part of the Visual Effects Engine - VEE
00004  *
00005  * Read the "VEE-LICENSE" file for the license.
00006  *
00007  * Authors & Copyright:   
00008  *
00009  * Tommi Ilmonen, Tuukka Heikura, Marko Myllymaa and 
00010  * Janne Kontkanen 2001-2004
00011  *
00012  * Additional copyrights: Tekes 2003-2004
00013  *
00014  * firstname.lastname@hut.fi
00015  *
00016  */
00017 
00018 #ifndef VEE_VOLUME_DISK_H
00019 #define VEE_VOLUME_DISK_H
00020 
00021 #include <vee_volume.h>
00022 
00023 #include <vee_matrix3.h> 
00024 
00025 class VEE_Random;
00026 
00029 class VEE_VolumeDisk : public VEE_Volume
00030 {
00031 public:
00032   VEE_VolumeDisk();
00033   virtual ~VEE_VolumeDisk();
00034 
00035   virtual VEE_Vector3 newRandomPoint();
00036   virtual VEE_Volume * clone() const;
00037   virtual float inside(const VEE_Vector3 &)
00038     { return 0.0; }
00039   virtual void getBoundingBox(VEE_BoundingBox *);
00040 
00041   float radius() { return m_radius; }
00042   VEE_Matrix3 *rotation() { return &m_rotation; }
00043   void setCenter(float x, float y, float z);
00044 
00045   void setRadius(float r) { m_radius = r; }
00046   void setRotation(VEE_Matrix3 &rot) { m_rotation = rot; }
00047   void setRandom(VEE_Random *r) { m_random = r; }
00048 
00049 
00050 protected:
00051 
00052   VEE_Matrix3  m_rotation; 
00053   float  m_radius;
00054 
00055   VEE_Random   *m_random; 
00056 };
00057 
00058 
00059 #endif

Generated on Mon Mar 12 21:09:01 2007 for VEE - The Visual Effects Engine by  doxygen 1.4.6