SOFA plugin: SofaDistanceGrid  master
Open source framework for multi-physics simuation
sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement Class Reference

#include <CudaDistanceGridCollisionModel.h>

Inheritance diagram for sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement:

Public Member Functions

 CudaRigidDistanceGridCollisionElement (CudaRigidDistanceGridCollisionModel *model, Index index)
 
 CudaRigidDistanceGridCollisionElement (const core::CollisionElementIterator &i)
 
CudaDistanceGridgetGrid ()
 
bool isTransformed ()
 
const Matrix3getRotation ()
 
const Vec3getTranslation ()
 
void setGrid (CudaDistanceGrid *surf)
 
void setNewState (double dt, CudaDistanceGrid *grid, const Matrix3 &rotation, const 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

CudaDistanceGridgetPrevGrid ()
 
const Matrix3getPrevRotation ()
 
const Vec3getPrevTranslation ()
 
double getPrevDt ()
 
- Public Member Functions inherited from sofa::core::TCollisionElementIterator< CudaRigidDistanceGridCollisionModel >
 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< CudaRigidDistanceGridCollisionModel >
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

◆ CudaRigidDistanceGridCollisionElement() [1/2]

sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::CudaRigidDistanceGridCollisionElement ( CudaRigidDistanceGridCollisionModel model,
Index  index 
)
inline

◆ CudaRigidDistanceGridCollisionElement() [2/2]

sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::CudaRigidDistanceGridCollisionElement ( const core::CollisionElementIterator i)
inlineexplicit

Function details

◆ getGrid()

CudaDistanceGrid * sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::getGrid ( )
inline

◆ getPrevDt()

double sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::getPrevDt ( )
inline

◆ getPrevGrid()

CudaDistanceGrid * sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::getPrevGrid ( )
inline

◆ getPrevRotation()

const Matrix3 & sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::getPrevRotation ( )
inline

◆ getPrevTranslation()

const Vec3 & sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::getPrevTranslation ( )
inline

◆ getRotation()

const Matrix3 & sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::getRotation ( )
inline

◆ getTranslation()

const Vec3 & sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::getTranslation ( )
inline

◆ isTransformed()

bool sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::isTransformed ( )
inline

◆ setGrid()

void sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::setGrid ( CudaDistanceGrid surf)
inline

◆ setNewState()

void sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::setNewState ( double  dt,
CudaDistanceGrid grid,
const Matrix3 rotation,
const Vec3 translation 
)
inline

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