UGDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
pyramidworks::collision::CollisionObject Class Reference

#include <pyramidworks/collision/collisionobject.h>

List of all members.

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::GeometricShapeshape () 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())

Detailed Description

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.


Constructor & Destructor Documentation

Parameters:
dataThe data sent to the CollisionLogic when a collision happens.
See also:
CollisionLogic

Member Function Documentation

TODO document.

void pyramidworks::collision::CollisionObject::AddCollisionLogic ( const std::string &  colclass,
CollisionLogic logic 
)

Adds a new collision to the known collisions.

Parameters:
colclassName of the collision class.
logicIs not changed.
See also:
AddCollisionLogic
void pyramidworks::collision::CollisionObject::AddCollisionLogic ( const char  n[],
CollisionLogic logic 
) [inline]

Wrapper to shape()->GetBoundingBox(absolute_position())

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.

Parameters:
colclassThe CollisionClass to set to.
See also:
CollisionClass

Verifies if this CollisionObject is colliding with another CollisionObject.

Parameters:
objThe CollisionObject to check against.
Returns:
True if there's a collision with the given CollisionObject.

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.

Parameters:
collision_listA list in which the result is appended to.
Returns:
A list of CollisionInstance, appended to the collision_list argument.

Changes the shape used.

Parameters:
shapeThe shape to use.
See also:
GeometricShape

Returns the shape used.

Returns:
A const GeometricShape pointer.

Adds this object to it's CollisionClass object list.

Removes this object from it's CollisionClass object list.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines