/*************************************** Auteur : Pierre Aubert Mail : aubertp7@gmail.com Licence : CeCILL-C ****************************************/ #ifndef __PARTICLE_H__ #define __PARTICLE_H__ #include "asterics_random.h" #include "PAbstractVect3.h" ///Vector of float typedef PAbstractVect3 Vec3f; ///@brief Description of the Particle class Particle{ public: Particle(); Particle(const Particle & other); virtual ~Particle(); Particle & operator = (const Particle & other); void randomInit(); void move(float dt); void setPosition(const Vec3f & position); void setVelocity(const Vec3f & velocity); void setAcceleration(const Vec3f & acceleration); const Vec3f & getPosition() const; Vec3f & getPosition(); const Vec3f & getVelocity() const; Vec3f & getVelocity(); const Vec3f & getAcceleration() const; Vec3f & getAcceleration(); protected: void copyParticle(const Particle & other); private: void initialisationParticle(); ///Position of the particle Vec3f p_position; ///Velocity of the particle Vec3f p_velocity; ///Acceleration of the particle Vec3f p_acceleration; }; #endif