cloth
annotate src/particle.h @ 1:76d4b3e8e941
ksefyge
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Mon, 11 Feb 2013 19:48:47 +0200 |
parents | |
children |
rev | line source |
---|---|
nuclear@0 | 1 #ifndef PARTICLE_H_ |
nuclear@0 | 2 #define PARTICLE_H_ |
nuclear@0 | 3 |
nuclear@0 | 4 #include <set> |
nuclear@0 | 5 #include "vmath/vmath.h" |
nuclear@0 | 6 |
nuclear@0 | 7 class SimWorld; |
nuclear@0 | 8 struct Collision; |
nuclear@0 | 9 |
nuclear@0 | 10 class Particle { |
nuclear@0 | 11 private: |
nuclear@0 | 12 Vector3 forces; |
nuclear@0 | 13 Vector3 pos, velocity; |
nuclear@0 | 14 float rad; |
nuclear@0 | 15 float elast; |
nuclear@0 | 16 float mass; |
nuclear@0 | 17 float friction; |
nuclear@0 | 18 |
nuclear@0 | 19 std::set<const Particle*> ignorelist; |
nuclear@0 | 20 |
nuclear@0 | 21 public: |
nuclear@0 | 22 Particle(); |
nuclear@0 | 23 |
nuclear@0 | 24 void add_ignore(const Particle *p); |
nuclear@0 | 25 |
nuclear@0 | 26 void set_radius(float rad); |
nuclear@0 | 27 float get_radius() const; |
nuclear@0 | 28 |
nuclear@0 | 29 void set_mass(float m); |
nuclear@0 | 30 float get_mass() const; |
nuclear@0 | 31 |
nuclear@0 | 32 void set_elasticity(float e); |
nuclear@0 | 33 float get_elasticity() const; |
nuclear@0 | 34 |
nuclear@0 | 35 void set_position(const Vector3 &pos); |
nuclear@0 | 36 void set_velocity(const Vector3 &vel); |
nuclear@0 | 37 |
nuclear@0 | 38 Vector3 &get_position(); |
nuclear@0 | 39 const Vector3 &get_position() const; |
nuclear@0 | 40 Vector3 &get_velocity(); |
nuclear@0 | 41 const Vector3 &get_velocity() const; |
nuclear@0 | 42 |
nuclear@0 | 43 void set_friction(float frict); |
nuclear@0 | 44 float get_friction() const; |
nuclear@0 | 45 |
nuclear@0 | 46 void add_force(const Vector3 &fvec); |
nuclear@0 | 47 |
nuclear@0 | 48 void step(SimWorld *world, float dt); |
nuclear@0 | 49 |
nuclear@0 | 50 bool collision(const Particle *p2, Collision *col) const; |
nuclear@0 | 51 |
nuclear@0 | 52 void draw() const; |
nuclear@0 | 53 |
nuclear@0 | 54 friend class SimWorld; |
nuclear@0 | 55 }; |
nuclear@0 | 56 |
nuclear@0 | 57 #endif // PARTICLE_H_ |