#include <Collision.h>
Inherited by BallCollision, and BorderCollision.
Inheritance diagram for Collision:


Public Member Functions | |
| Collision (float t, Object *o1, Object *o2) | |
| virtual | ~Collision () |
| virtual void | collide ()=0 |
| bool | isAffected (Collision *another) |
| std::string | dump () const |
Static Public Member Functions | |
| static bool | compare (const Collision *c1, const Collision *c2) |
| static bool | ucompare (const Collision *c1, const Collision *c2) |
| static bool | predicate (const Collision *c1, const Collision *c2) |
Public Attributes | |
| float | time |
| Time when collision occurs. | |
| Object * | first |
| First object. | |
| Object * | second |
| Second object. | |
Definition at line 17 of file Collision.h.
Init constructor
Definition at line 32 of file Collision.h.
| virtual Collision::~Collision | ( | ) | [inline, virtual] |
Destructor
Definition at line 43 of file Collision.h.
Comparision operator for sorting
Definition at line 49 of file Collision.h.
References time.
Referenced by BilliardPhysics::createCollisionList(), and BilliardPhysics::updateCollisionList().
Comparision operator for duplicate removal
Definition at line 58 of file Collision.h.
Referenced by BilliardPhysics::updateCollisionList().
Predicate for duplicate removal
Definition at line 68 of file Collision.h.
Referenced by BilliardPhysics::updateCollisionList().
| virtual void Collision::collide | ( | ) | [pure virtual] |
Simulate a collision and update object properties
Implemented in BallCollision, and BorderCollision.
| bool Collision::isAffected | ( | Collision * | another | ) | [inline] |
Test if this collision is affected by another collision. A collision is affected if it happens after another collision and one of the objects is contained in the other collision too
Definition at line 81 of file Collision.h.
| std::string Collision::dump | ( | ) | const |
Write to stream
Definition at line 16 of file Collision.cpp.
References first, Object::name(), second, and time.
Referenced by BallCollision::BallCollision(), BorderCollision::BorderCollision(), BorderCollision::collide(), and BallCollision::collide().
| float Collision::time |
Time when collision occurs.
Definition at line 21 of file Collision.h.
Referenced by BorderCollision::collide(), BallCollision::collide(), compare(), and dump().
First object.
Definition at line 24 of file Collision.h.
Referenced by BorderCollision::collide(), BallCollision::collide(), dump(), isAffected(), predicate(), and ucompare().
Second object.
Definition at line 27 of file Collision.h.
Referenced by BorderCollision::collide(), BallCollision::collide(), dump(), isAffected(), predicate(), and ucompare().
1.5.1