vee_explosion.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_EXPLOSION_H
00019 #define VEE_EXPLOSION_H
00020 
00021 #include <vee_force_object.h>
00022 
00023 class VEE_Explosion : public VEE_ForceObject
00024 {
00025 public:
00026   VEE_Explosion();
00027   VEE_Explosion(const VEE_Vector3 & location, 
00028     float range,
00029     float magnitude, 
00030     float ageLimit);
00031 
00032   virtual ~VEE_Explosion();
00033 
00034   virtual bool setValue(const char *, VEE_Value *);
00035   virtual VEE_Variable getVariable(const char *) const;
00036   virtual VEE_Object * clone() const;
00037 
00038   virtual void update(float dt);
00039 
00040   virtual void getForce(VEE_Vector3 *force,
00041       const VEE_Vector3 &velocity,
00042       const VEE_Vector3 &location);
00043   
00044   virtual void boundingBoxOfForce(VEE_BoundingBox *box);
00045   
00046   static VEE_Object * factory();
00047 
00048   float currentShockRange() { return m_currentShockRange; }
00049   void setCurrentShockRange(float r) { m_currentShockRange = r; }
00050 
00051 protected:
00052 
00053   float m_range;
00054   float m_magnitude;
00055 
00056   float m_currentShockRange;
00057 };
00058 
00059 #endif

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