RobWorkProject  23.9.11-
Classes | Public Member Functions | List of all members
BtRWCollisionAlgorithm Class Reference

The RobWork implementation of a Bullet collision algorithm, using the standard ContactDetector. More...

#include <BtRWCollisionAlgorithm.hpp>

Inherits btCollisionAlgorithm.

Classes

struct  CreateFunc
 Function for creating a BtRWCollisionAlgorithm. More...
 

Public Member Functions

 BtRWCollisionAlgorithm (rw::core::Ptr< const rwsim::contacts::ContactDetector > detector, const btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *col0Wrap, const btCollisionObjectWrapper *col1Wrap)
 Construct new collision algorithm for Bullet that wraps a RobWork ContactDetector. More...
 
virtual ~BtRWCollisionAlgorithm ()
 Destructor.
 
virtual void processCollision (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
 Find the contacts. More...
 
virtual btScalar calculateTimeOfImpact (btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
 Calculate the time of impact (not supported). More...
 
virtual void getAllContactManifolds (btManifoldArray &manifoldArray)
 Get all contact manifolds. More...
 

Detailed Description

The RobWork implementation of a Bullet collision algorithm, using the standard ContactDetector.

Constructor & Destructor Documentation

◆ BtRWCollisionAlgorithm()

BtRWCollisionAlgorithm ( rw::core::Ptr< const rwsim::contacts::ContactDetector detector,
const btCollisionAlgorithmConstructionInfo &  ci,
const btCollisionObjectWrapper *  col0Wrap,
const btCollisionObjectWrapper *  col1Wrap 
)

Construct new collision algorithm for Bullet that wraps a RobWork ContactDetector.

Parameters
detector[in] the contact detector to use.
ci[in] the construction info.
col0Wrap[in] information about the first bullet body.
col1Wrap[in] information about the second bullet body.

Member Function Documentation

◆ calculateTimeOfImpact()

virtual btScalar calculateTimeOfImpact ( btCollisionObject *  body0,
btCollisionObject *  body1,
const btDispatcherInfo &  dispatchInfo,
btManifoldResult *  resultOut 
)
virtual

Calculate the time of impact (not supported).

Parameters
body0[in] information about the first bullet body.
body1[in] information about the second bullet body.
dispatchInfo[in] info about the dispatcher.
resultOut[out] the resulting contacts.
Returns
the time of impact.
Exceptions
Exceptionalways (not supported).

◆ getAllContactManifolds()

virtual void getAllContactManifolds ( btManifoldArray &  manifoldArray)
virtual

Get all contact manifolds.

Note
The contact manifold will be appended to the given array.
Parameters
manifoldArray[out] get all manifolds.
Exceptions
Exceptionif no manifold could be retrieved from dispatcher.

◆ processCollision()

virtual void processCollision ( const btCollisionObjectWrapper *  body0Wrap,
const btCollisionObjectWrapper *  body1Wrap,
const btDispatcherInfo &  dispatchInfo,
btManifoldResult *  resultOut 
)
virtual

Find the contacts.

Parameters
body0Wrap[in] information about the first bullet body.
body1Wrap[in] information about the second bullet body.
dispatchInfo[in] info about the dispatcher.
resultOut[out] the resulting contacts.
Exceptions
Exceptionif resultOut is null or no manifold could be retrieved from dispatcher.

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