| Bullet Collision Detection & Physics Library
    | 
 
 
 
Go to the documentation of this file.
   30           m_isSwapped(isSwapped),
 
   31           m_numPerturbationIterations(numPerturbationIterations),
 
   32           m_minimumPointsPerturbationThreshold(minimumPointsPerturbationThreshold)
 
   61         bool hasCollision = 
false;
 
   75         btVector3 vtxInPlane = convexInPlaneTrans(vtx);
 
   76         btScalar distance = (planeNormal.
dot(vtxInPlane) - planeConstant);
 
   78         btVector3 vtxInPlaneProjected = vtxInPlane - distance * planeNormal;
 
  104         bool hasCollision = 
false;
 
  113         btVector3 vtxInPlane = convexInPlaneTrans(vtx);
 
  114         btScalar distance = (planeNormal.
dot(vtxInPlane) - planeConstant);
 
  116         btVector3 vtxInPlaneProjected = vtxInPlane - distance * planeNormal;
 
  142                 if (perturbeAngle > angleLimit)
 
  143                         perturbeAngle = angleLimit;
 
  150                         collideSingleContact(rotq.inverse() * perturbeRot * rotq, body0Wrap, body1Wrap, dispatchInfo, resultOut);
 
  
const btScalar & getPlaneConstant() const
btCollisionObject can be used to manage collision detection objects.
void collideSingleContact(const btQuaternion &perturbeRot, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
void btPlaneSpace1(const T &n, T &p, T &q)
The btQuaternion implements quaternion to perform linear algebra rotations in combination with btMatr...
btDispatcher * m_dispatcher
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
btScalar dot(const btVector3 &v) const
Return the dot product.
int getNumContacts() const
const btTransform & getWorldTransform() const
btCollisionAlgorithm is an collision interface that is compatible with the Broadphase and btDispatche...
virtual btPersistentManifold * getNewManifold(const btCollisionObject *b0, const btCollisionObject *b1)=0
virtual bool needsCollision(const btCollisionObject *body0, const btCollisionObject *body1)=0
int m_minimumPointsPerturbationThreshold
virtual btVector3 localGetSupportingVertex(const btVector3 &vec) const =0
btConvexPlaneCollisionAlgorithm(btPersistentManifold *mf, const btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, bool isSwapped, int numPerturbationIterations, int minimumPointsPerturbationThreshold)
btManifoldResult is a helper class to manage contact results.
virtual void releaseManifold(btPersistentManifold *manifold)=0
const btCollisionShape * getCollisionShape() const
const btPersistentManifold * getPersistentManifold() const
const btVector3 & getPlaneNormal() const
int m_numPerturbationIterations
The btMatrix3x3 class implements a 3x3 rotation matrix, to perform linear algebra in combination with...
const btCollisionObject * getCollisionObject() const
btVector3 can be used to represent 3D points and vectors.
btPersistentManifold is a contact point cache, it stays persistent as long as objects are overlapping...
void setPersistentManifold(btPersistentManifold *manifoldPtr)
virtual btScalar getAngularMotionDisc() const
getAngularMotionDisc returns the maximum radius needed for Conservative Advancement to handle time-of...
The btConvexShape is an abstract shape interface, implemented by all convex shapes such as btBoxShape...
virtual btScalar calculateTimeOfImpact(btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
virtual void processCollision(const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
The btStaticPlaneShape simulates an infinite non-moving (static) collision plane.
void refreshContactPoints()
bool isPolyhedral() const
virtual void addContactPoint(const btVector3 &normalOnBInWorld, const btVector3 &pointInWorld, btScalar depth)
btScalar gContactBreakingThreshold
virtual ~btConvexPlaneCollisionAlgorithm()
btScalar getContactBreakingThreshold() const
btScalar m_closestPointDistanceThreshold
btPersistentManifold * m_manifoldPtr