#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().