SOFA API  9e8e531f
Open source framework for multi-physics simuation
sofa::core::objectmodel::MultiLink< TOwnerType, TDestType, TFlags > Class Template Reference

#include <Link.h>

Container of vectors of links in the scenegraph, from a given type of object (Owner) to another (Dest) More...

Inheritance diagram for sofa::core::objectmodel::MultiLink< TOwnerType, TDestType, TFlags >:

Detailed Description

template<class TOwnerType, class TDestType, unsigned TFlags>
class sofa::core::objectmodel::MultiLink< TOwnerType, TDestType, TFlags >

Container of vectors of links in the scenegraph, from a given type of object (Owner) to another (Dest)

Protected Attributes

ValidatorFn m_validator
 

Public Member Functions

 MultiLink ()
 
 MultiLink (const BaseLink::InitLink< OwnerType > &init)
 
 MultiLink (const BaseLink::InitLink< OwnerType > &init, DestPtr val)
 
virtual ~MultiLink ()
 
void setValidator (ValidatorFn fn)
 
DestTypeget (std::size_t index) const
 
DestTypeoperator[] (std::size_t index) const
 

Protected Member Functions

void added (DestPtr val, std::size_t index)
 
void removed (DestPtr val, std::size_t index)
 

Additional Inherited Members

Attribute details

◆ m_validator

template<class TOwnerType , class TDestType , unsigned TFlags>
ValidatorFn sofa::core::objectmodel::MultiLink< TOwnerType, TDestType, TFlags >::m_validator
protected

Constructor details

◆ MultiLink() [1/3]

template<class TOwnerType , class TDestType , unsigned TFlags>
sofa::core::objectmodel::MultiLink< TOwnerType, TDestType, TFlags >::MultiLink ( )
inline

◆ MultiLink() [2/3]

template<class TOwnerType , class TDestType , unsigned TFlags>
sofa::core::objectmodel::MultiLink< TOwnerType, TDestType, TFlags >::MultiLink ( const BaseLink::InitLink< OwnerType > &  init)
inline

◆ MultiLink() [3/3]

template<class TOwnerType , class TDestType , unsigned TFlags>
sofa::core::objectmodel::MultiLink< TOwnerType, TDestType, TFlags >::MultiLink ( const BaseLink::InitLink< OwnerType > &  init,
DestPtr  val 
)
inline

◆ ~MultiLink()

template<class TOwnerType , class TDestType , unsigned TFlags>
virtual sofa::core::objectmodel::MultiLink< TOwnerType, TDestType, TFlags >::~MultiLink ( )
inlinevirtual

Function details

◆ added()

template<class TOwnerType , class TDestType , unsigned TFlags>
void sofa::core::objectmodel::MultiLink< TOwnerType, TDestType, TFlags >::added ( DestPtr  val,
std::size_t  index 
)
inlineprotectedvirtual

◆ get()

template<class TOwnerType , class TDestType , unsigned TFlags>
DestType* sofa::core::objectmodel::MultiLink< TOwnerType, TDestType, TFlags >::get ( std::size_t  index) const
inline

◆ operator[]()

template<class TOwnerType , class TDestType , unsigned TFlags>
DestType* sofa::core::objectmodel::MultiLink< TOwnerType, TDestType, TFlags >::operator[] ( std::size_t  index) const
inline

◆ removed()

template<class TOwnerType , class TDestType , unsigned TFlags>
void sofa::core::objectmodel::MultiLink< TOwnerType, TDestType, TFlags >::removed ( DestPtr  val,
std::size_t  index 
)
inlineprotectedvirtual

◆ setValidator()

template<class TOwnerType , class TDestType , unsigned TFlags>
void sofa::core::objectmodel::MultiLink< TOwnerType, TDestType, TFlags >::setValidator ( ValidatorFn  fn)
inline