SOFA plugin: CollisionOBBCapsule  master
Open source framework for multi-physics simuation
collisionobbcapsule::geometry::TCapsule< sofa::defaulttype::StdRigidTypes< 3, MyReal > > Class Template Reference

#include <RigidCapsuleModel.h>

Inheritance diagram for collisionobbcapsule::geometry::TCapsule< sofa::defaulttype::StdRigidTypes< 3, MyReal > >:

Detailed Description

template<class MyReal>
class collisionobbcapsule::geometry::TCapsule< sofa::defaulttype::StdRigidTypes< 3, MyReal > >

A capsule can be viewed as a segment with a radius, here the segment is defined by its apexes.

Public Member Functions

 TCapsule (ParentModel *model, Index index)
 
 TCapsule (const core::CollisionElementIterator &i)
 
Coord point1 () const
 
Coord point2 () const
 
Coord axis () const
 
Real radius () const
 
const Coordv () const
 
void displayIndex () const
 
bool shareSameVertex (const TCapsule< sofa::defaulttype::StdRigidTypes< 3, MyReal > > &other) const
 
- Public Member Functions inherited from sofa::core::TCollisionElementIterator< CapsuleCollisionModel< sofa::defaulttype::StdRigidTypes< 3, MyReal > > >
 TCollisionElementIterator (Model *model=nullptr, Index index=0)
 
 TCollisionElementIterator (Model *model, Index index, VIterator it, VIterator itend)
 
 TCollisionElementIterator (Model *model, VIterator it, VIterator itend)
 
bool isActive (core::CollisionModel *cm=nullptr) const
 
bool operator== (const TCollisionElementIterator< Model2 > &i) const
 
bool operator== (const TCollisionElementIterator< Model2 > &i) const
 
bool operator!= (const TCollisionElementIterator< Model2 > &i) const
 
bool operator!= (const TCollisionElementIterator< Model2 > &i) const
 
TCollisionElementIteratoroperator+= (int n)
 
TCollisionElementIteratoroperator+= (int n)
 
TCollisionElementIterator operator+ (int n) const
 
TCollisionElementIterator operator+ (int n) const
 
bool valid () const
 
bool valid () const
 
Model * getCollisionModel () const
 
Model * getCollisionModel () const
 
std::pair< CollisionElementIterator, CollisionElementIteratorgetInternalChildren () const
 
std::pair< CollisionElementIterator, CollisionElementIteratorgetInternalChildren () const
 
std::pair< CollisionElementIterator, CollisionElementIteratorgetExternalChildren () const
 
std::pair< CollisionElementIterator, CollisionElementIteratorgetExternalChildren () const
 
bool isLeaf () const
 
bool isLeaf () const
 
bool canCollideWith (const TCollisionElementIterator< Model > &elem) const
 
bool canCollideWith (const TCollisionElementIterator< Model > &elem) const
 
SReal getContactDistance () const
 
SReal getContactDistance () const
 
SReal getContactStiffness () const
 
SReal getContactStiffness () const
 
SReal getContactFriction () const
 
SReal getContactFriction () const
 
void draw (const core::visual::VisualParams *vparams)
 
void draw (const core::visual::VisualParams *vparams)
 
- Public Member Functions inherited from sofa::core::BaseCollisionElementIterator
 BaseCollisionElementIterator (Index index=0)
 
 BaseCollisionElementIterator (Index index, VIterator it, VIterator itend)
 
 BaseCollisionElementIterator (VIterator it, VIterator itend)
 
void next ()
 
BaseCollisionElementIteratoroperator++ ()
 
BaseCollisionElementIterator operator++ (int)
 
BaseCollisionElementIteratoroperator+= (int n)
 
BaseCollisionElementIterator operator+ (int n) const
 
Index getIndex () const
 
const VIterator & getVIterator () const
 
const VIterator & getVIteratorEnd () const
 
void next ()
 
BaseCollisionElementIteratoroperator++ ()
 
BaseCollisionElementIterator operator++ (int)
 
BaseCollisionElementIteratoroperator+= (int n)
 
BaseCollisionElementIterator operator+ (int n) const
 
Index getIndex () const
 
const VIterator & getVIterator () const
 
const VIterator & getVIteratorEnd () const
 

Additional Inherited Members

- Public Attributes inherited from sofa::core::TCollisionElementIterator< CapsuleCollisionModel< sofa::defaulttype::StdRigidTypes< 3, MyReal > > >
Model * model
 
- Protected Attributes inherited from sofa::core::BaseCollisionElementIterator
Index index
 
VIterator it
 
VIterator itend
 
- Static Protected Attributes inherited from sofa::core::BaseCollisionElementIterator
static std::vector< int > SOFA_CORE_API emptyVector
 

Constructor details

◆ TCapsule() [1/2]

template<class MyReal >
collisionobbcapsule::geometry::TCapsule< sofa::defaulttype::StdRigidTypes< 3, MyReal > >::TCapsule ( ParentModel model,
Index  index 
)
inline

◆ TCapsule() [2/2]

template<class MyReal >
collisionobbcapsule::geometry::TCapsule< sofa::defaulttype::StdRigidTypes< 3, MyReal > >::TCapsule ( const core::CollisionElementIterator i)
inlineexplicit

Function details

◆ axis()

◆ displayIndex()

template<class MyReal >
void collisionobbcapsule::geometry::TCapsule< sofa::defaulttype::StdRigidTypes< 3, MyReal > >::displayIndex ( ) const
inline

◆ point1()

Gives one apex of the capsule segment.

◆ point2()

Gives other apex of the capsule segment.

◆ radius()

◆ shareSameVertex()

template<class MyReal >
bool collisionobbcapsule::geometry::TCapsule< sofa::defaulttype::StdRigidTypes< 3, MyReal > >::shareSameVertex ( const TCapsule< sofa::defaulttype::StdRigidTypes< 3, MyReal > > &  other) const

◆ v()