SOFA API  014b24ea
Open source framework for multi-physics simuation
sofa::component::collision::TLine< TDataTypes > Class Template Reference

#include <LineModel.h>

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

Public Member Functions

 TLine (ParentModel *model, int index)
 
 TLine ()
 
 TLine (const core::CollisionElementIterator &i)
 
unsigned i1 () const
 
unsigned i2 () const
 
int flags () const
 
const Coordp1 () const
 
const Coordp2 () const
 
const Coordp (int i) const
 
const Coordp1Free () const
 
const Coordp2Free () const
 
const Derivv1 () const
 
const Derivv2 () const
 
Deriv n () const
 
bool hasFreePosition () const
 Return true if the element stores a free position vector. More...
 
- Public Member Functions inherited from sofa::core::TCollisionElementIterator< LineCollisionModel< TDataTypes > >
 TCollisionElementIterator (Model *model=nullptr, int index=0)
 
 TCollisionElementIterator (Model *model, int 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 valid () const
 
ModelgetCollisionModel () const
 Return the CollisionModel containing the referenced element. More...
 
std::pair< CollisionElementIterator, CollisionElementIteratorgetInternalChildren () const
 
std::pair< CollisionElementIterator, CollisionElementIteratorgetExternalChildren () const
 
bool isLeaf () const
 
bool canCollideWith (TCollisionElementIterator< Model > &elem)
 
double getProximity ()
 Distance to the actual (visual) surface. More...
 
double getContactStiffness ()
 Contact stiffness. More...
 
double getContactFriction ()
 Contact friction (damping) coefficient. More...
 
void draw (const core::visual::VisualParams *vparams)
 
- Public Member Functions inherited from sofa::core::BaseCollisionElementIterator
 BaseCollisionElementIterator (int index=0)
 
 BaseCollisionElementIterator (int index, VIterator it, VIterator itend)
 
 BaseCollisionElementIterator (VIterator it, VIterator itend)
 
void next ()
 Increment this iterator to reference the next element. More...
 
void operator++ ()
 Increment this iterator to reference the next element. More...
 
void operator++ (int)
 Increment this iterator to reference the next element. More...
 
int getIndex () const
 
const VIteratorgetVIterator () const
 Return the current iterator in the vector of indices, in case such a vector is currently used. More...
 
const VIteratorgetVIteratorEnd () const
 Return the end iterator in the vector of indices, in case such a vector is currently used. More...
 

Additional Inherited Members

- Public Attributes inherited from sofa::core::TCollisionElementIterator< LineCollisionModel< TDataTypes > >
Modelmodel
 CollisionModel containing the referenced element. More...
 
- Protected Attributes inherited from sofa::core::BaseCollisionElementIterator
int index
 index of the referenced element inside the CollisionModel. More...
 
VIterator it
 current position in a vector of indices, in case this iterator traverse a non-contiguous set of indices More...
 
VIterator itend
 end position in a vector of indices, in case this iterator traverse a non-contiguous set of indices More...
 
- Static Protected Attributes inherited from sofa::core::BaseCollisionElementIterator
static std::vector< int > SOFA_CORE_API emptyVector
 empty vector to be able to initialize the iterator to an empty pair More...
 

Constructor details

template<class DataTypes >
sofa::component::collision::TLine< DataTypes >::TLine ( ParentModel model,
int  index 
)
inline
template<class TDataTypes >
sofa::component::collision::TLine< TDataTypes >::TLine ( )
inline
template<class DataTypes >
sofa::component::collision::TLine< DataTypes >::TLine ( const core::CollisionElementIterator i)
inlineexplicit

Function details

template<class DataTypes >
int sofa::component::collision::TLine< DataTypes >::flags ( ) const
inline
template<class DataTypes >
bool sofa::component::collision::TLine< DataTypes >::hasFreePosition ( ) const
inline

Return true if the element stores a free position vector.

template<class DataTypes >
unsigned sofa::component::collision::TLine< DataTypes >::i1 ( ) const
inline
template<class DataTypes >
unsigned sofa::component::collision::TLine< DataTypes >::i2 ( ) const
inline
template<class DataTypes >
DataTypes::Deriv sofa::component::collision::TLine< DataTypes >::n ( ) const
inline
template<class DataTypes >
const DataTypes::Coord & sofa::component::collision::TLine< DataTypes >::p ( int  i) const
inline
template<class DataTypes >
const DataTypes::Coord & sofa::component::collision::TLine< DataTypes >::p1 ( ) const
inline
template<class DataTypes >
const DataTypes::Coord & sofa::component::collision::TLine< DataTypes >::p1Free ( ) const
inline
template<class DataTypes >
const DataTypes::Coord & sofa::component::collision::TLine< DataTypes >::p2 ( ) const
inline
template<class DataTypes >
const DataTypes::Coord & sofa::component::collision::TLine< DataTypes >::p2Free ( ) const
inline
template<class DataTypes >
const DataTypes::Deriv & sofa::component::collision::TLine< DataTypes >::v1 ( ) const
inline
template<class DataTypes >
const DataTypes::Deriv & sofa::component::collision::TLine< DataTypes >::v2 ( ) const
inline