SOFA plugin: BulletCollisionDetection  master
Open source framework for multi-physics simuation
sofa::component::collision::TBulletCapsuleModel< TDataTypes > Class Template Reference

#include <BulletCapsuleModel.h>

Inheritance diagram for sofa::component::collision::TBulletCapsuleModel< TDataTypes >:

Public Attributes

sofa::core::objectmodel::Data< SReal > margin
 Margin used for collision detection within bullet. More...
 

Protected Attributes

std::stack< btCollisionShape * > _garbage
 
btCompoundShape * _bt_cshape
 
- Protected Attributes inherited from BulletCollisionModel
btCollisionObject * _bt_collision_object {nullptr}
 
bool _handled {false}
 

Public Member Functions

 SOFA_CLASS (SOFA_TEMPLATE(TBulletCapsuleModel, TDataTypes), SOFA_TEMPLATE(collisionobbcapsule::geometry::CapsuleCollisionModel, TDataTypes))
 
virtual void initBullet ()
 
virtual void updateBullet ()
 
virtual void computeBoundingTree (int)
 
virtual ~TBulletCapsuleModel ()
 
virtual void init ()
 
virtual void reinit ()
 
void handleEvent (sofa::core::objectmodel::Event *ev)
 
virtual void setMargin (SReal margin)
 
- Public Member Functions inherited from BulletCollisionModel
 BulletCollisionModel ()
 
virtual ~BulletCollisionModel ()
 
btCollisionObject * getBtCollisionObject ()
 
const btCollisionObject * getBtCollisionObject () const
 
bool handled () const
 
void setHandled (bool h)
 

Protected Member Functions

 TBulletCapsuleModel ()
 
 TBulletCapsuleModel (core::behavior::MechanicalState< DataTypes > *_mstate)
 
void cleanGarbage ()
 

Static Protected Member Functions

static void makeBtQuat (const Coord &dir, btQuaternion &quat)
 

Attribute details

◆ _bt_cshape

template<class TDataTypes >
btCompoundShape* sofa::component::collision::TBulletCapsuleModel< TDataTypes >::_bt_cshape
protected

◆ _garbage

template<class TDataTypes >
std::stack<btCollisionShape*> sofa::component::collision::TBulletCapsuleModel< TDataTypes >::_garbage
protected

◆ margin

template<class TDataTypes >
sofa::core::objectmodel::Data<SReal> sofa::component::collision::TBulletCapsuleModel< TDataTypes >::margin

Margin used for collision detection within bullet.

Constructor details

◆ ~TBulletCapsuleModel()

template<class TDataTypes >
sofa::component::collision::TBulletCapsuleModel< TDataTypes >::~TBulletCapsuleModel
inlinevirtual

◆ TBulletCapsuleModel() [1/2]

template<class TDataTypes >
sofa::component::collision::TBulletCapsuleModel< TDataTypes >::TBulletCapsuleModel
protected

◆ TBulletCapsuleModel() [2/2]

Function details

◆ cleanGarbage()

template<class TDataTypes >
void sofa::component::collision::TBulletCapsuleModel< TDataTypes >::cleanGarbage
protected

◆ computeBoundingTree()

template<class TDataTypes >
virtual void sofa::component::collision::TBulletCapsuleModel< TDataTypes >::computeBoundingTree ( int  )
inlinevirtual

◆ handleEvent()

template<class TDataTypes >
void sofa::component::collision::TBulletCapsuleModel< TDataTypes >::handleEvent ( sofa::core::objectmodel::Event ev)

◆ init()

template<class DataTypes >
void sofa::component::collision::TBulletCapsuleModel< DataTypes >::init
virtual

◆ initBullet()

template<class TDataTypes >
void sofa::component::collision::TBulletCapsuleModel< TDataTypes >::initBullet ( )
virtual

Inits bullet collision shapes from the sofa shapes.

Implements BulletCollisionModel.

◆ makeBtQuat()

template<class TDataTypes >
static void sofa::component::collision::TBulletCapsuleModel< TDataTypes >::makeBtQuat ( const Coord dir,
btQuaternion &  quat 
)
staticprotected

◆ reinit()

template<class TDataTypes >
void sofa::component::collision::TBulletCapsuleModel< TDataTypes >::reinit
virtual

◆ setMargin()

template<class TDataTypes >
virtual void sofa::component::collision::TBulletCapsuleModel< TDataTypes >::setMargin ( SReal  margin)
inlinevirtual

◆ SOFA_CLASS()

template<class TDataTypes >
sofa::component::collision::TBulletCapsuleModel< TDataTypes >::SOFA_CLASS ( SOFA_TEMPLATE(TBulletCapsuleModel< TDataTypes >, TDataTypes)  ,
SOFA_TEMPLATE(collisionobbcapsule::geometry::CapsuleCollisionModel, TDataTypes)   
)

◆ updateBullet()

template<class TDataTypes >
void sofa::component::collision::TBulletCapsuleModel< TDataTypes >::updateBullet ( )
virtual

Updates at each time step the bullet shapes from sofa shapes.

Implements BulletCollisionModel.