#pragma once #include "node.h" #include "Plane.h" #include "Scene.h" #include "NxPhysics.h" #include #define FRONT 0 #define BACK 1 #define TOP 2 #define BOTTOM 3 #define LEFT 4 #define RIGHT 5 class ParticleCube : public Node { public: ParticleCube(void); ~ParticleCube(void); void setDimensions(float _w, float _h, float _d); virtual void update(float dt); void addForceToParticle(Node* particle, Vector force); void addVelocityToParticle(Node* particle, Vector velocity); protected: float width, height, depth; Plane wall[6]; void updatePlanes(); bool calcLocalPosition; bool calcLocalVelocity; std::list myParticleList; std::list myParticlePositionList; std::list myParticleVelocityList; };