vee_blow.h

Go to the documentation of this file.
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_BLOW_H
00021 #define VEE_BLOW_H
00022 
00023 #include <vee_scene.h>
00024 #include <vee_object.h>
00025 // #include <vee_volume.h>
00026 
00030 class VEE_Blow : public VEE_ForceObject
00031 {
00032 public:
00033   VEE_Blow();
00034   ~VEE_Blow();
00035 
00036   virtual bool setValue(const char *, VEE_Value *);
00037   virtual VEE_Object * clone() const;
00038 
00039   float magnitude() { return m_magnitude; }
00040 
00041   VEE_Matrix3 *rotation() { return &m_rotation; }
00042 
00043   void setRange(float r) { m_range = r; }
00044   void setMagnitude(float m) { m_magnitude = m; }
00045   void setRotation(const VEE_Matrix3 &rot) {
00046     m_rotation = rot;
00047     // m_rotationInverse = rot.Inverse();
00048     m_rotationInverse = rot;
00049     m_rotationInverse.transpose();
00050   }
00051   void setDirection(const VEE_Vector3 &);
00053   double blown() const { return m_blown; }
00054 
00055   virtual void update(float dt);
00056 
00057   void getForce(VEE_Vector3 *force,
00058     const VEE_Vector3 &velocity,
00059                 const VEE_Vector3 &location);
00060   void boundingBoxOfForce(VEE_BoundingBox *box);
00061 
00062   float range() const { return m_range; }
00063 
00064   static VEE_Object * factory();
00065   
00066 protected:
00067 
00068   VEE_Matrix3 m_rotation;
00069   VEE_Matrix3 m_rotationInverse;
00070 
00071   float m_range;
00072   float m_magnitude;
00073   
00074   double m_blown;
00075 };
00076 
00077 #endif

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