vee_curve_particle.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_CURVE_PARTICLE_H
00021 #define VEE_CURVE_PARTICLE_H
00022 
00023 #include <vee_particle.h>
00024 #include <vee_math.h>
00025 
00026 #include <vector>
00027 
00028 class VEE_CurveParticle : public VEE_Particle
00029 {
00030 public:
00031   /* class Point 
00032   {
00033   public:
00034     VEE_Vector3 m_location;
00035     VEE_Vector3 m_location;
00036     
00037     };*/
00038   
00039 
00040   VEE_CurveParticle();
00041   virtual ~VEE_CurveParticle();
00042 
00043   virtual bool setValue(const char *, VEE_Value *);
00044   virtual VEE_Variable getVariable(const char *) const;
00045 
00046   virtual void updateVelocity(float);
00047   virtual void update(float);
00048   
00049   virtual VEE_Object *clone() const;
00050   static VEE_Object * factory();
00051 
00052   void resizeCurve(uint);
00053 
00054   uint pointsToRender() const { return m_activeKnots; }
00055 
00056   const VEE_Vector3 & location(uint i) { return m_locations[i]; }
00057 
00058 protected:
00059   std::vector<VEE_Vector3> m_locations;
00060   std::vector<VEE_Vector3> m_velocities;
00061   std::vector<VEE_Vector3> m_forces;
00062 
00063   float m_knotInerval;
00064   uint  m_activeKnots;
00065 };
00066 
00067 #endif

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