|
UGDK
0.4.1
|
#include "pyramidworks/collision/collisionobject.h"
Public Member Functions | |
| CollisionObject (CollisionManager *manager, void *data) | |
| ~CollisionObject () | |
| void | SearchCollisions (std::vector< CollisionInstance > &collision_list) const |
| Search if there's any collision. | |
| bool | IsColliding (const CollisionObject *obj) const |
| Verifies if this CollisionObject is colliding with another CollisionObject. | |
| void | AddCollisionLogic (const std::string &colclass, CollisionLogic *logic) |
| Adds a new collision to the known collisions. | |
| void | AddCollisionLogic (const char n[], CollisionLogic *logic) |
| void | InitializeCollisionClass (const std::string &) |
| Defines the CollisionClass associated with this object. | |
| void | InitializeCollisionClass (const char n[]) |
| void | StartColliding () |
| Adds this object to it's CollisionClass object list. | |
| void | StopColliding () |
| Removes this object from it's CollisionClass object list. | |
| const geometry::GeometricShape * | shape () const |
| Returns the shape used. | |
| void | set_shape (geometry::GeometricShape *shape) |
| Changes the shape used. | |
| ugdk::Vector2D | absolute_position () const |
| TODO document. | |
| void | MoveTo (const ugdk::Vector2D &position) |
| TODO document. | |
| ugdk::ikdtree::Box< 2 > | GetBoundingBox () const |
| Wrapper to shape()->GetBoundingBox(absolute_position()) | |
It encapsulates everything that is related to collisions, from finding the collisions to calling the corresponding methods.
A class that knows how to manage collisions.
| pyramidworks::collision::CollisionObject::CollisionObject | ( | CollisionManager * | manager, |
| void * | data | ||
| ) |
| data | The data sent to the CollisionLogic when a collision happens. |
| pyramidworks::collision::CollisionObject::~CollisionObject | ( | ) |
|
inline |
TODO document.
| void pyramidworks::collision::CollisionObject::AddCollisionLogic | ( | const std::string & | colclass, |
| CollisionLogic * | logic | ||
| ) |
Adds a new collision to the known collisions.
| colclass | Name of the collision class. |
| logic | Is not changed. |
|
inline |
| ugdk::ikdtree::Box< 2 > pyramidworks::collision::CollisionObject::GetBoundingBox | ( | ) | const |
Wrapper to shape()->GetBoundingBox(absolute_position())
| void pyramidworks::collision::CollisionObject::InitializeCollisionClass | ( | const std::string & | colclass | ) |
Defines the CollisionClass associated with this object.
Warning: will quit the program with a Fatal Error if used to the collision_class is already set.
| colclass | The CollisionClass to set to. |
|
inline |
| bool pyramidworks::collision::CollisionObject::IsColliding | ( | const CollisionObject * | obj | ) | const |
Verifies if this CollisionObject is colliding with another CollisionObject.
| obj | The CollisionObject to check against. |
| void pyramidworks::collision::CollisionObject::MoveTo | ( | const ugdk::Vector2D & | position | ) |
TODO document.
| void pyramidworks::collision::CollisionObject::SearchCollisions | ( | std::vector< CollisionInstance > & | collision_list | ) | const |
Search if there's any collision.
For each CollisionClass this object knows how to collide with, it gathers a list of CollisionObject it's colliding with and generates a list of the collisions.
| collision_list | A list in which the result is appended to. |
| void pyramidworks::collision::CollisionObject::set_shape | ( | geometry::GeometricShape * | shape | ) |
Changes the shape used.
| shape | The shape to use. |
|
inline |
Returns the shape used.
| void pyramidworks::collision::CollisionObject::StartColliding | ( | ) |
Adds this object to it's CollisionClass object list.
| void pyramidworks::collision::CollisionObject::StopColliding | ( | ) |
Removes this object from it's CollisionClass object list.