#pragma once #include "node.h" #include "NxPhysics.h" #include #include class ParticleEmitter; class ParticleRenderer; #define SPTR boost::shared_ptr #define WPTR boost::weak_ptr class ParticleGroup : public Node { public: ParticleGroup(void); ~ParticleGroup(void); void useGravity(bool _gravity); virtual void setParticleGroup(int _group); void addParticle(SPTR particle); void addParticleEmitter(SPTR particleEmitter); void removeParticleEmitter(ParticleEmitter* particleEmitter); virtual void removeChild(std::list >::iterator _it); virtual void removeChild(SPTR _child); virtual void killMe(); void setUseHeatHaze(bool _useHeatHaze); bool getUseHeatHaze(); virtual void updateBBox(); friend class ParticleRenderer; protected: bool gravity; bool useHeatHaze; std::vector emitterList; };