vee_force_plane.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_FORCE_PLANE_H
00019 #define VEE_FORCE_PLANE_H
00020 
00021 #include <vee_object.h>
00022 #include <vee_scene.h>
00023 
00027 class VEE_ForcePlane : public VEE_ForceObject
00028 {
00029 public:
00030   VEE_ForcePlane();
00031   VEE_ForcePlane(VEE_Vector3 location, VEE_Vector3 velocity,
00032      VEE_Vector3 normal, float m);
00033   ~VEE_ForcePlane();
00034 
00035   virtual bool setValue(const char *, VEE_Value *);  
00036   virtual VEE_Variable getVariable(const char *) const;
00037   virtual VEE_Object * clone() const;
00038 
00039   float epsilon() { return m_epsilon; }
00040   float magnitude() { return m_magnitude; }
00041 
00042   VEE_Vector3 *normal() { return &m_normal; }
00043 
00044   void setEpsilon(const float e) { m_epsilon = e; }
00045   void setMagnitude(const float m) { m_magnitude = m; }
00046   void setRange(const float r) { m_range = r; }
00047   void setRadius(const float r) { m_radius = r; }
00048   void setNormal(const VEE_Vector3 &n);
00049 
00050   void getForce(VEE_Vector3 *force,
00051     const VEE_Vector3 &velocity,
00052                 const VEE_Vector3 &location);
00053   void boundingBoxOfForce(VEE_BoundingBox *box);
00054 
00055   static VEE_Object * factory();
00056 
00057 protected:
00058 
00059   VEE_Vector3 m_normal;
00060 
00061   float m_epsilon;
00062   float m_magnitude;
00063 
00064   // range of the force along plane normal
00065   float m_range;
00066   // radius of the plane (circle)
00067   float m_radius;
00068 
00069 private:  
00070 };
00071 
00072 #endif

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