SOFA API  634afa08
Open source framework for multi-physics simuation
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
sofa::core::TVecId< V_ALL, vaccess > Class Template Reference

#include <VecId.h>

Identify any vector stored in State. More...

Inheritance diagram for sofa::core::TVecId< V_ALL, vaccess >:

Detailed Description

template<VecAccess vaccess>
class sofa::core::TVecId< V_ALL, vaccess >

Identify any vector stored in State.

Public Member Functions

constexpr TVecId ()
 
constexpr TVecId (VecType t, unsigned int i)
 
template<VecType vtype2, VecAccess vaccess2>
constexpr TVecId (const TVecId< vtype2, vaccess2 > &v)
 
template<VecType vtype2, VecAccess vaccess2>
constexpr TVecId< V_ALL, vaccess > & operator= (const TVecId< vtype2, vaccess2 > &other)
 
template<VecType vtype2, VecAccess vaccess2>
constexpr bool operator== (const TVecId< vtype2, vaccess2 > &v) const
 
template<VecType vtype2, VecAccess vaccess2>
constexpr bool operator!= (const TVecId< vtype2, vaccess2 > &v) const
 
constexpr bool isNull () const
 
std::string getName () const
 
std::string getGroup () const
 
- Public Member Functions inherited from sofa::core::BaseVecId
constexpr VecType getType () const
 
constexpr unsigned int getIndex () const
 

Static Public Member Functions

static constexpr TVecId null ()
 
- Static Public Member Functions inherited from sofa::core::TStandardVec< V_ALL, vaccess >
static unsigned int getFirstDynamicIndex (VecType t)
 
static std::string getName (const MyVecId &v)
 
- Static Public Member Functions inherited from sofa::core::TStandardVec< V_COORD, vaccess >
template<State v_state>
static constexpr MyVecId state ()
 
static constexpr MyVecId position ()=delete
 
static constexpr MyVecId restPosition ()=delete
 
static constexpr MyVecId freePosition ()=delete
 
static constexpr MyVecId resetPosition ()=delete
 This is the first index used for dynamically allocated vectors. More...
 
static std::string getName (const MyVecId &v)
 
static std::string getGroup (const MyVecId &v)
 
- Static Public Member Functions inherited from sofa::core::TStandardVec< V_DERIV, vaccess >
template<State v_state>
static constexpr MyVecId state ()
 
static constexpr MyVecId velocity ()=delete
 
static constexpr MyVecId resetVelocity ()=delete
 
static constexpr MyVecId freeVelocity ()=delete
 
static constexpr MyVecId normal ()=delete
 
static constexpr MyVecId force ()=delete
 
static constexpr MyVecId externalForce ()=delete
 
static constexpr MyVecId dx ()=delete
 
static constexpr MyVecId dforce ()=delete
 This is the first index used for dynamically allocated vectors. More...
 
static std::string getName (const MyVecId &v)
 
static std::string getGroup (const MyVecId &v)
 
- Static Public Member Functions inherited from sofa::core::TStandardVec< V_MATDERIV, vaccess >
template<State v_state>
static constexpr MyVecId state ()
 
static constexpr MyVecId constraintJacobian ()=delete
 
static constexpr MyVecId mappingJacobian ()=delete
 This is the first index used for dynamically allocated vectors. More...
 
static std::string getName (const MyVecId &v)
 
static std::string getGroup (const MyVecId &v)
 

Friends

std::ostream & operator<< (std::ostream &out, const TVecId &v)
 

Additional Inherited Members

- Public Attributes inherited from sofa::core::BaseVecId
VecType type
 
unsigned int index
 
- Static Public Attributes inherited from sofa::core::TStandardVec< V_COORD, vaccess >
static constexpr uint8_t V_FIRST_DYNAMIC_INDEX = static_cast<uint8_t>(State::DYNAMIC_INDEX)
 
- Static Public Attributes inherited from sofa::core::TStandardVec< V_DERIV, vaccess >
static constexpr uint8_t V_FIRST_DYNAMIC_INDEX = static_cast<uint8_t>(State::DYNAMIC_INDEX)
 
- Static Public Attributes inherited from sofa::core::TStandardVec< V_MATDERIV, vaccess >
static constexpr uint8_t V_FIRST_DYNAMIC_INDEX = static_cast<uint8_t>(State::DYNAMIC_INDEX)
 
- Protected Member Functions inherited from sofa::core::BaseVecId
constexpr BaseVecId (VecType t, unsigned int i)
 

Constructor details

◆ TVecId() [1/3]

template<VecAccess vaccess>
constexpr sofa::core::TVecId< V_ALL, vaccess >::TVecId ( )
inlineconstexpr

◆ TVecId() [2/3]

template<VecAccess vaccess>
constexpr sofa::core::TVecId< V_ALL, vaccess >::TVecId ( VecType  t,
unsigned int  i 
)
inlineconstexpr

◆ TVecId() [3/3]

template<VecAccess vaccess>
template<VecType vtype2, VecAccess vaccess2>
constexpr sofa::core::TVecId< V_ALL, vaccess >::TVecId ( const TVecId< vtype2, vaccess2 > &  v)
inlineconstexpr

Create a generic VecId from a specific or generic one, with the constraint that the access must be compatible (i.e. cannot create a write-access VecId from a read-only VecId.

Function details

◆ getGroup()

template<VecAccess vaccess>
std::string sofa::core::TVecId< V_ALL, vaccess >::getGroup ( ) const
inline

◆ getName()

template<VecAccess vaccess>
std::string sofa::core::TVecId< V_ALL, vaccess >::getName ( ) const
inline

◆ isNull()

template<VecAccess vaccess>
constexpr bool sofa::core::TVecId< V_ALL, vaccess >::isNull ( ) const
inlineconstexpr

◆ null()

template<VecAccess vaccess>
static constexpr TVecId sofa::core::TVecId< V_ALL, vaccess >::null ( )
inlinestaticconstexpr

◆ operator!=()

template<VecAccess vaccess>
template<VecType vtype2, VecAccess vaccess2>
constexpr bool sofa::core::TVecId< V_ALL, vaccess >::operator!= ( const TVecId< vtype2, vaccess2 > &  v) const
inlineconstexpr

◆ operator=()

template<VecAccess vaccess>
template<VecType vtype2, VecAccess vaccess2>
constexpr TVecId<V_ALL, vaccess>& sofa::core::TVecId< V_ALL, vaccess >::operator= ( const TVecId< vtype2, vaccess2 > &  other)
inlineconstexpr

◆ operator==()

template<VecAccess vaccess>
template<VecType vtype2, VecAccess vaccess2>
constexpr bool sofa::core::TVecId< V_ALL, vaccess >::operator== ( const TVecId< vtype2, vaccess2 > &  v) const
inlineconstexpr

Related details

◆ operator<<

template<VecAccess vaccess>
std::ostream& operator<< ( std::ostream &  out,
const TVecId< V_ALL, vaccess > &  v 
)
friend