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_PARTICLE_H 00021 #define VEE_PARTICLE_H 00022 00023 #include <vee_object.h> 00024 #include <vee_looks.h> 00025 00026 #include <string> 00027 00030 class VEE_Particle : public VEE_Object 00031 { 00032 public: 00033 00034 VEE_Particle() : m_looks(0), m_visible(true) 00035 { m_objectType = VEE_OBJECT_PARTICLE; } 00036 00037 VEE_Particle(const VEE_Particle &); 00038 VEE_Particle(VEE_Vector3 location, VEE_Vector3 velocity, 00039 float ageLimit, VEE_Looks *l); 00040 virtual ~VEE_Particle(); 00041 00042 virtual bool setValue(const char *, VEE_Value *); 00043 virtual VEE_Variable getVariable(const char *) const; 00044 00045 virtual VEE_Object *clone() const; 00046 00048 virtual void update(float); 00049 virtual void render(VEE_Renderer *); 00050 00051 void setLooks(VEE_Looks *l); 00052 VEE_Looks *looks() { return m_looks; } 00053 00054 void setVisible(bool visible) { m_visible = visible; } 00055 bool visible() const { return m_visible; } 00056 00057 static VEE_Object * factory(); 00058 00059 protected: 00060 00061 VEE_Looks *m_looks; 00062 bool m_visible; 00063 }; 00064 00065 #endif