SOFA plugin: SofaDistanceGrid  master
Open source framework for multi-physics simuation
sofa::component::collision::RigidDistanceGridCollisionElement Class Reference

#include <DistanceGridCollisionModel.h>

Inheritance diagram for sofa::component::collision::RigidDistanceGridCollisionElement:

Public Member Functions

 RigidDistanceGridCollisionElement (RigidDistanceGridCollisionModel *model, Index index)
 
 RigidDistanceGridCollisionElement (const core::CollisionElementIterator &i)
 
std::shared_ptr< DistanceGridgetGrid ()
 
bool isTransformed ()
 
const type::Matrix3getRotation ()
 
const type::Vec3getTranslation ()
 
bool isFlipped ()
 
void setNewState (double dt, const std::shared_ptr< DistanceGrid > grid, const type::Matrix3 &rotation, const type::Vec3 &translation)
 Set new grid and transform, keeping the old state to estimate velocity. More...
 
Previous state data

Used to estimate velocity in case the distance grid itself is dynamic

std::shared_ptr< DistanceGridgetPrevGrid ()
 
const type::Matrix3getPrevRotation ()
 
const type::Vec3getPrevTranslation ()
 
double getPrevDt ()
 
- Public Member Functions inherited from sofa::core::TCollisionElementIterator< RigidDistanceGridCollisionModel >
 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 getProximity () const
 
SReal getProximity () 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< RigidDistanceGridCollisionModel >
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

◆ RigidDistanceGridCollisionElement() [1/2]

sofa::component::collision::RigidDistanceGridCollisionElement::RigidDistanceGridCollisionElement ( RigidDistanceGridCollisionModel model,
Index  index 
)
inline

◆ RigidDistanceGridCollisionElement() [2/2]

sofa::component::collision::RigidDistanceGridCollisionElement::RigidDistanceGridCollisionElement ( const core::CollisionElementIterator i)
inlineexplicit

Function details

◆ getGrid()

std::shared_ptr< DistanceGrid > sofa::component::collision::RigidDistanceGridCollisionElement::getGrid ( )
inline

◆ getPrevDt()

double sofa::component::collision::RigidDistanceGridCollisionElement::getPrevDt ( )
inline

◆ getPrevGrid()

std::shared_ptr< DistanceGrid > sofa::component::collision::RigidDistanceGridCollisionElement::getPrevGrid ( )
inline

◆ getPrevRotation()

const type::Matrix3 & sofa::component::collision::RigidDistanceGridCollisionElement::getPrevRotation ( )
inline

◆ getPrevTranslation()

const type::Vec3 & sofa::component::collision::RigidDistanceGridCollisionElement::getPrevTranslation ( )
inline

◆ getRotation()

const type::Matrix3 & sofa::component::collision::RigidDistanceGridCollisionElement::getRotation ( )
inline

◆ getTranslation()

const type::Vec3 & sofa::component::collision::RigidDistanceGridCollisionElement::getTranslation ( )
inline

◆ isFlipped()

bool sofa::component::collision::RigidDistanceGridCollisionElement::isFlipped ( )
inline

◆ isTransformed()

bool sofa::component::collision::RigidDistanceGridCollisionElement::isTransformed ( )
inline

◆ setNewState()

void sofa::component::collision::RigidDistanceGridCollisionElement::setNewState ( double  dt,
const std::shared_ptr< DistanceGrid grid,
const type::Matrix3 rotation,
const type::Vec3 translation 
)
inline

Set new grid and transform, keeping the old state to estimate velocity.