Public Member Functions | Static Public Member Functions | Protected Attributes

btGhostObject Class Reference

The btGhostObject can keep track of all objects that are overlapping By default, this overlap is based on the AABB This is useful for creating a character controller, collision sensors/triggers, explosions etc. More...

#include <btGhostObject.h>

Inheritance diagram for btGhostObject:
Inheritance graph
[legend]
Collaboration diagram for btGhostObject:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 btGhostObject ()
virtual ~btGhostObject ()
void convexSweepTest (const class btConvexShape *castShape, const btTransform &convexFromWorld, const btTransform &convexToWorld, btCollisionWorld::ConvexResultCallback &resultCallback, btScalar allowedCcdPenetration=0.f) const
void rayTest (const btVector3 &rayFromWorld, const btVector3 &rayToWorld, btCollisionWorld::RayResultCallback &resultCallback) const
virtual void addOverlappingObjectInternal (btBroadphaseProxy *otherProxy, btBroadphaseProxy *thisProxy=0)
 this method is mainly for expert/internal use only.
virtual void removeOverlappingObjectInternal (btBroadphaseProxy *otherProxy, btDispatcher *dispatcher, btBroadphaseProxy *thisProxy=0)
 this method is mainly for expert/internal use only.
int getNumOverlappingObjects () const
btCollisionObjectgetOverlappingObject (int index)
const btCollisionObjectgetOverlappingObject (int index) const
btAlignedObjectArray
< btCollisionObject * > & 
getOverlappingPairs ()
const btAlignedObjectArray
< btCollisionObject * > 
getOverlappingPairs () const

Static Public Member Functions

static const btGhostObjectupcast (const btCollisionObject *colObj)
static btGhostObjectupcast (btCollisionObject *colObj)

Protected Attributes

btAlignedObjectArray
< btCollisionObject * > 
m_overlappingObjects

Detailed Description

The btGhostObject can keep track of all objects that are overlapping By default, this overlap is based on the AABB This is useful for creating a character controller, collision sensors/triggers, explosions etc.

We plan on adding rayTest and other queries for the btGhostObject

Definition at line 34 of file btGhostObject.h.


Constructor & Destructor Documentation

btGhostObject::btGhostObject (  ) 

Definition at line 21 of file btGhostObject.cpp.

btGhostObject::~btGhostObject (  )  [virtual]

btGhostObject should have been removed from the world, so no overlapping objects

Definition at line 26 of file btGhostObject.cpp.


Member Function Documentation

void btGhostObject::addOverlappingObjectInternal ( btBroadphaseProxy otherProxy,
btBroadphaseProxy thisProxy = 0 
) [virtual]

this method is mainly for expert/internal use only.

if this linearSearch becomes too slow (too many overlapping objects) we should add a more appropriate data structure

Reimplemented in btPairCachingGhostObject.

Definition at line 33 of file btGhostObject.cpp.

void btGhostObject::convexSweepTest ( const class btConvexShape castShape,
const btTransform convexFromWorld,
const btTransform convexToWorld,
btCollisionWorld::ConvexResultCallback resultCallback,
btScalar  allowedCcdPenetration = 0.f 
) const
int btGhostObject::getNumOverlappingObjects (  )  const [inline]

Definition at line 55 of file btGhostObject.h.

btCollisionObject* btGhostObject::getOverlappingObject ( int  index  )  [inline]

Definition at line 60 of file btGhostObject.h.

const btCollisionObject* btGhostObject::getOverlappingObject ( int  index  )  const [inline]

Definition at line 65 of file btGhostObject.h.

btAlignedObjectArray<btCollisionObject*>& btGhostObject::getOverlappingPairs (  )  [inline]

Definition at line 70 of file btGhostObject.h.

const btAlignedObjectArray<btCollisionObject*> btGhostObject::getOverlappingPairs (  )  const [inline]

Definition at line 75 of file btGhostObject.h.

void btGhostObject::rayTest ( const btVector3 rayFromWorld,
const btVector3 rayToWorld,
btCollisionWorld::RayResultCallback resultCallback 
) const

Definition at line 146 of file btGhostObject.cpp.

void btGhostObject::removeOverlappingObjectInternal ( btBroadphaseProxy otherProxy,
btDispatcher dispatcher,
btBroadphaseProxy thisProxy = 0 
) [virtual]

this method is mainly for expert/internal use only.

Reimplemented in btPairCachingGhostObject.

Definition at line 46 of file btGhostObject.cpp.

static const btGhostObject* btGhostObject::upcast ( const btCollisionObject colObj  )  [inline, static]

Definition at line 84 of file btGhostObject.h.

static btGhostObject* btGhostObject::upcast ( btCollisionObject colObj  )  [inline, static]

Definition at line 90 of file btGhostObject.h.


Member Data Documentation

Definition at line 38 of file btGhostObject.h.


The documentation for this class was generated from the following files: