#include <CDVolume.h>
|
| Collidable (const Math::Point<> ¢er_=Math::g_origin, const Math::Matrix3x3 &rot_=Math::g_identityMatrix3x3, void *userPointer_=0, Utils::uint colGroup_=COL_GROUP_HIT_ALL_HIT_BY_ALL) |
|
virtual | ~Collidable () |
|
void | translate (const Math::Point<> &delta_) |
|
void | setCenter (const Math::Point<> ¢er_) |
|
Math::Point | getCenter () const |
|
void | setNonColTransform (const Math::Point<> ¢er_, const Math::Matrix3x3 &rot_) |
|
const Math::Point & | getNonColCenter () const |
|
const Math::Matrix3x3 & | getNonColRot () const |
|
void | setRot (const Math::Matrix3x3 &rot_) |
|
Math::Matrix3x3 | getRot () const |
|
void | setUserPointer (void *userPointer_) |
|
void * | getUserPointer () const |
|
Utils::uint | canGroupHitMe (Utils::uint colGroup_) const |
|
Utils::uint | getColGroup () const |
|
void | setColGroup (Utils::uint colGroup_) |
|
virtual Shape * | getShape ()=0 |
|
virtual const Shape * | getShape () const =0 |
|
virtual SHAPE_TYPE | getType () const |
|
virtual float | getDist (const Collidable *aCollidable_) const |
|
virtual bool | getFirstIntersection (const Math::Point<> &thisVel_, const Collidable *otherCollidable_, const Math::Point<> &otherVel_, HitInfo &hitInfo_) const |
|
virtual bool | getClosestRayIntersection (const Math::Point<> &rayOrigin_, const Math::Point<> &rayDir_, Math::Point<> &hitPos_, float &t_, Math::Point<> &hitNormal_) const |
|
virtual OpenSkyNet::CD::Collidable::~Collidable |
( |
| ) |
|
|
inlinevirtual |
Returns > 0 iff colGroup_ can collide w/ this object.
- Parameters
-
colGroup_ | COL_GROUP_HIT_ALL_HIT_BY_ALL - object can hit everything hittable, AND object is hittable by all that can hit COL_GROUP_HIT_ALL_HIT_BY_NONE - object can hit everything hittable, AND object is not hittable by anything COL_GROUP_HIT_NONE_HIT_BY_ALL - object can not hit anything, AND object is hittable by all that can hit COL_GROUP_HIT_NONE_HIT_BY_NONE - object can not hit anything, AND object is not hittable by anything |
Math::Point OpenSkyNet::CD::Collidable::getCenter |
( |
| ) |
const |
|
inline |
Utils::uint OpenSkyNet::CD::Collidable::getColGroup |
( |
| ) |
const |
|
inline |
virtual float OpenSkyNet::CD::Collidable::getDist |
( |
const Collidable * |
aCollidable_ | ) |
const |
|
inlinevirtual |
const Math::Point& OpenSkyNet::CD::Collidable::getNonColCenter |
( |
| ) |
const |
|
inline |
virtual Shape* OpenSkyNet::CD::Collidable::getShape |
( |
| ) |
|
|
pure virtual |
virtual const Shape* OpenSkyNet::CD::Collidable::getShape |
( |
| ) |
const |
|
pure virtual |
virtual SHAPE_TYPE OpenSkyNet::CD::Collidable::getType |
( |
| ) |
const |
|
inlinevirtual |
void* OpenSkyNet::CD::Collidable::getUserPointer |
( |
| ) |
const |
|
inline |
void OpenSkyNet::CD::Collidable::setCenter |
( |
const Math::Point<> & |
center_ | ) |
|
|
inline |
Sets a transform known not to collide w/ other objects. This is used in iterative collision detection routines whereby only one object can be tested for a new transform at a time; the rest of the objects have to be at "safe" transforms.
void OpenSkyNet::CD::Collidable::setUserPointer |
( |
void * |
userPointer_ | ) |
|
|
inline |
The user pointer is typically a pointer to a containing Core::Object.
The documentation for this class was generated from the following file: