Bullet Collision Detection & Physics Library
|
Go to the documentation of this file.
69 #ifndef BT_COLLISION_WORLD_H
70 #define BT_COLLISION_WORLD_H
253 if (normalInWorldSpace)
289 if (normalInWorldSpace)
385 if (normalInWorldSpace)
434 virtual void rayTest(
const btVector3& rayFromWorld,
const btVector3& rayToWorld, RayResultCallback& resultCallback)
const;
455 RayResultCallback& resultCallback);
459 RayResultCallback& resultCallback);
466 ConvexResultCallback& resultCallback,
btScalar allowedPenetration);
470 ConvexResultCallback& resultCallback,
btScalar allowedPenetration);
513 #endif //BT_COLLISION_WORLD_H
void updateSingleAabb(btCollisionObject *colObj)
btIDebugDraw * m_debugDrawer
btBroadphaseInterface * getBroadphase()
int m_collisionFilterMask
LocalRayResult(const btCollisionObject *collisionObject, LocalShapeInfo *localShapeInfo, const btVector3 &hitNormalLocal, btScalar hitFraction)
void setForceUpdateAllAabbs(bool forceUpdateAllAabbs)
btCollisionObject can be used to manage collision detection objects.
virtual void computeOverlappingPairs()
the computeOverlappingPairs is usually already called by performDiscreteCollisionDetection (or stepSi...
virtual void refreshBroadphaseProxy(btCollisionObject *collisionObject)
The btBroadphaseProxy is the main class that can be used with the Bullet broadphases.
virtual void setDebugDrawer(btIDebugDraw *debugDrawer)
bool getForceUpdateAllAabbs() const
ClosestConvexResultCallback(const btVector3 &convexFromWorld, const btVector3 &convexToWorld)
static void rayTestSingle(const btTransform &rayFromTrans, const btTransform &rayToTrans, btCollisionObject *collisionObject, const btCollisionShape *collisionShape, const btTransform &colObjWorldTransform, RayResultCallback &resultCallback)
rayTestSingle performs a raycast call and calls the resultCallback.
virtual btIDebugDraw * getDebugDrawer()
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
The btDispatcher interface class can be used in combination with broadphase to dispatch calculations ...
virtual void debugDrawWorld()
virtual ~btCollisionWorld()
btAlignedObjectArray< btCollisionObject * > m_collisionObjects
int m_collisionFilterGroup
AllHitsRayResultCallback(const btVector3 &rayFromWorld, const btVector3 &rayToWorld)
void convexSweepTest(const btConvexShape *castShape, const btTransform &from, const btTransform &to, ConvexResultCallback &resultCallback, btScalar allowedCcdPenetration=btScalar(0.)) const
convexTest performs a swept convex cast on all objects in the btCollisionWorld, and calls the resultC...
btBroadphaseInterface * m_broadphasePairCache
void serializeContactManifolds(btSerializer *serializer)
const btCollisionObjectArray & getCollisionObjectArray() const
const btBroadphaseInterface * getBroadphase() const
int m_collisionFilterGroup
void setInterpolate3(const btVector3 &v0, const btVector3 &v1, btScalar rt)
virtual void performDiscreteCollisionDetection()
virtual bool needsCollision(btBroadphaseProxy *proxy0) const
int m_collisionFilterGroup
void contactTest(btCollisionObject *colObj, ContactResultCallback &resultCallback)
contactTest performs a discrete collision test between colObj against all objects in the btCollisionW...
btVector3 m_hitNormalLocal
btTransform & getWorldTransform()
virtual ~RayResultCallback()
static void objectQuerySingle(const btConvexShape *castShape, const btTransform &rayFromTrans, const btTransform &rayToTrans, btCollisionObject *collisionObject, const btCollisionShape *collisionShape, const btTransform &colObjWorldTransform, ConvexResultCallback &resultCallback, btScalar allowedPenetration)
objectQuerySingle performs a collision detection query and calls the resultCallback....
The btCollisionShape class provides an interface for collision shapes that can be shared among btColl...
btAlignedObjectArray< btVector3 > m_hitPointWorld
btVector3 m_hitPointWorld
btScalar m_closestHitFraction
The btIDebugDraw interface class allows hooking up a debug renderer to visually debug simulations.
ManifoldContactPoint collects and maintains persistent contactpoints.
const btCollisionObject * m_collisionObject
LocalConvexResult(const btCollisionObject *hitCollisionObject, LocalShapeInfo *localShapeInfo, const btVector3 &hitNormalLocal, const btVector3 &hitPointLocal, btScalar hitFraction)
btAlignedObjectArray< btVector3 > m_hitNormalWorld
btOverlappingPairCache * getPairCache()
const btCollisionObject * m_hitCollisionObject
btDispatcherInfo m_dispatchInfo
The btOverlappingPairCache provides an interface for overlapping pair management (add,...
const btCollisionObject * m_hitCollisionObject
int getNumCollisionObjects() const
virtual btScalar addSingleResult(LocalRayResult &rayResult, bool normalInWorldSpace)
const btCollisionObject * m_collisionObject
btVector3 can be used to represent 3D points and vectors.
static void objectQuerySingleInternal(const btConvexShape *castShape, const btTransform &convexFromTrans, const btTransform &convexToTrans, const btCollisionObjectWrapper *colObjWrap, ConvexResultCallback &resultCallback, btScalar allowedPenetration)
ClosestRayResultCallback(const btVector3 &rayFromWorld, const btVector3 &rayToWorld)
void setBroadphase(btBroadphaseInterface *pairCache)
LocalShapeInfo gives extra information for complex shapes Currently, only btTriangleMeshShape is avai...
btAlignedObjectArray< btScalar > m_hitFractions
void contactPairTest(btCollisionObject *colObjA, btCollisionObject *colObjB, ContactResultCallback &resultCallback)
contactTest performs a discrete collision test between two collision objects and calls the resultCall...
int m_collisionFilterMask
virtual void debugDrawObject(const btTransform &worldTransform, const btCollisionShape *shape, const btVector3 &color)
The btConvexShape is an abstract shape interface, implemented by all convex shapes such as btBoxShape...
btVector3 m_hitPointWorld
virtual bool needsCollision(btBroadphaseProxy *proxy0) const
const btDispatcher * getDispatcher() const
btVector3 m_convexToWorld
LocalShapeInfo * m_localShapeInfo
virtual void removeCollisionObject(btCollisionObject *collisionObject)
btDispatcher * m_dispatcher1
virtual ~ConvexResultCallback()
The btBroadphaseInterface class provides an interface to detect aabb-overlapping object pairs.
LocalShapeInfo * m_localShapeInfo
static void rayTestSingleInternal(const btTransform &rayFromTrans, const btTransform &rayToTrans, const btCollisionObjectWrapper *collisionObjectWrap, RayResultCallback &resultCallback)
btVector3 m_hitNormalLocal
virtual void updateAabbs()
virtual btScalar addSingleResult(LocalConvexResult &convexResult, bool normalInWorldSpace)=0
virtual btScalar addSingleResult(LocalRayResult &rayResult, bool normalInWorldSpace)=0
const btDispatcherInfo & getDispatchInfo() const
btScalar m_closestHitFraction
CollisionWorld is interface and container for the collision detection.
virtual btScalar addSingleResult(LocalConvexResult &convexResult, bool normalInWorldSpace)
btVector3 m_hitNormalWorld
btDispatcher * getDispatcher()
virtual btOverlappingPairCache * getOverlappingPairCache()=0
void serializeCollisionObjects(btSerializer *serializer)
btCollisionObjectArray & getCollisionObjectArray()
btAlignedObjectArray< const btCollisionObject * > m_collisionObjects
virtual void addCollisionObject(btCollisionObject *collisionObject, int collisionFilterGroup=btBroadphaseProxy::DefaultFilter, int collisionFilterMask=btBroadphaseProxy::AllFilter)
RayResultCallback is used to report new raycast results.
bool m_forceUpdateAllAabbs
m_forceUpdateAllAabbs can be set to false as an optimization to only update active object AABBs it is...
btVector3 m_hitPointLocal
void push_back(const T &_Val)
virtual btScalar addSingleResult(LocalRayResult &rayResult, bool normalInWorldSpace)
btCollisionConfiguration allows to configure Bullet collision detection stack allocator size,...
RayResultCallback is used to report new raycast results.
btVector3 m_hitNormalWorld
btDispatcherInfo & getDispatchInfo()
int m_collisionFilterMask
virtual void rayTest(const btVector3 &rayFromWorld, const btVector3 &rayToWorld, RayResultCallback &resultCallback) const
rayTest performs a raycast on all objects in the btCollisionWorld, and calls the resultCallback This ...
int size() const
return the number of elements in the array
btCollisionWorld(btDispatcher *dispatcher, btBroadphaseInterface *broadphasePairCache, btCollisionConfiguration *collisionConfiguration)
for debug drawing
btVector3 m_convexFromWorld
virtual void serialize(btSerializer *serializer)
Preliminary serialization test for Bullet 2.76. Loading those files requires a separate parser (Bulle...