SOFA API  1c8b807d
Open source framework for multi-physics simuation
sofa::core::objectmodel Namespace Reference

Namespaces

 base
 
 basecontext
 
 lifecycle
 

Classes

class  SingleLink
 Container of single links in the scenegraph, from a given type of object (Owner) to another (Dest) More...
 
class  AbstractDataLink
 AbstractDataLink is the base class for every link between two data fields The targeted BaseData is called the "target", The base object owning the current "child" object is the "owner" it is possible to store a path in a DataLink, in that case, at each DataLink access the path is resolved to search for a corresponding Data until one is found. Once a Data is set, the path is discarded. More...
 
class  Aspect
 
class  AspectPool
 
class  AspectBuffer
 
class  Base
 Base class for everything. More...
 
class  BaseClass
 Class hierarchy reflection base class. More...
 
class  DeprecatedBaseClass
 
struct  Parents
 
struct  TClassParents
 
struct  TClassParents< void >
 
struct  TClassParents< Parents< Types... > >
 
class  TClass
 
class  HasGetCustomTemplateName
 
class  HasGetCustomClassName
 
class  HasName
 
class  HasDataTypeInfo
 
class  HasGetDefaultTemplateName
 
class  HasDeprecatedTemplateName
 
class  HasDeprecatedShortName
 
class  HasDeprecatedClassName
 
class  BaseClassNameHelper
 
class  BaseContext
 Base class for Context classes, storing shared variables and parameters. More...
 
class  BaseData
 Abstract base class for Data. More...
 
class  WriteAccessWithRawPtr
 
class  BaseLink
 Abstract base class for all links in the scene grapn, independently of their type. More...
 
class  BaseNode
 Base class for simulation nodes. More...
 
class  BaseObject
 Base class for simulation components. More...
 
class  BaseObjectDescription
 Base Interface for classes containing the description of an object, used to construct it. More...
 
class  ClassInfo
 Meta information class. More...
 
class  TClassInfo
 
class  ConfigurationSetting
 Base class for all the configuration settings of SOFA. More...
 
class  Context
 Implementation of BaseContext, storing all shared parameters in Datas. More...
 
class  ContextObject
 Base class for simulation objects that modify the shared context (such as gravity, local coordinate system, ...). More...
 
class  Data
 Container that holds a variable for a component. More...
 
class  EmptyData
 
class  DataContentValue
 
class  DataContentValue< T, false >
 
class  DataContentValue< T, true >
 
class  DataFileName
 Data specialized to store filenames, potentially relative to the current directory at the time it was specified. More...
 
class  DataFileNameVector
 
class  DataLink
 DataLink stores a connection between two object of type Data<XXX> The class is templated by the Data type to connect. The class implements the AbstractDataLink interface. More...
 
class  DDGNode
 A DDGNode is a vertex in the data dependencies graph. The data dependency graph is used to update the data when some of other changes and it is at the root of the implementation of the data update mecanisme as well as DataEngines. More...
 
class  DetachNodeEvent
 
class  Event
 Base class for all events received by the objects. More...
 
class  GUIEvent
 This event notifies about GUI interaction. More...
 
class  HapticDeviceEvent
 This event notifies about haptic device interaction. More...
 
class  IdleEvent
 This event is propagated along the objects hierarchy at regular interval. More...
 
class  JoystickEvent
 JoystickEvent Class. More...
 
class  KeypressedEvent
 This event is propagated along the objects when a key on the keyboard is pressed. More...
 
class  KeyreleasedEvent
 This event is propagated along the objects when a key on the keyboard is released. More...
 
class  LinkTraitsDestPtr
 
class  LinkTraitsDestPtr< TDestType, false >
 
class  LinkTraitsDestPtr< TDestType, true >
 
class  LinkTraitsValueType
 
class  LinkTraitsValueType< TDestType, TDestPtr, strongLink, false >
 
class  LinkTraitsValueType< TDestType, TDestPtr, strongLink, true >
 
class  LinkTraitsContainer
 
class  SinglePtr
 Class to hold 0-or-1 pointer. The interface is similar to std::vector (size/[]/begin/end), plus an automatic conversion to one pointer. More...
 
class  LinkTraitsContainer< TDestType, TDestPtr, TValueType, false >
 
class  LinkTraitsContainer< TDestType, TDestPtr, TValueType, true >
 
class  TLink
 Container of all links in the scenegraph, from a given type of object (Owner) to another (Dest) More...
 
class  MultiLink
 Container of vectors of links in the scenegraph, from a given type of object (Owner) to another (Dest) More...
 
class  MouseEvent
 MouseEvent Class. More...
 
class  RenamedData
 
class  ScriptEvent
 Generic Event class to send a message through the simulation graph. More...
 
class  New
 new operator for classes with smart pointers (such as all components deriving from Base) More...
 
class  SPtr_dynamic_cast
 dynamic_cast operator for SPtr More...
 
class  SPtr_static_cast
 static_cast operator for SPtr More...
 
class  SPtr_const_cast
 const_cast operator for SPtr More...
 
class  Tag
 A Tag is a string (internally converted to an integer), attached to objects in order to define subsets to process by specific visitors. More...
 
class  TagSet
 
class  vectorData
 
class  VectorLinks
 

Typedefs

using AspectRef = sptr< Aspect >
 

Enumerations

enum class  ComponentState {
  Undefined , Loading , Valid , Dirty ,
  Busy , Invalid
}
 
enum class  PathType { FILE , DIRECTORY , BOTH }
 
enum class  TypeOfInsertion { AtEnd , AtBegin }
 Enum proposing two alternatives on where to add a new object in a node. More...
 
enum class  DataEngineDataType { DataEngineNothing , DataEngineInput , DataEngineOutput }
 

Functions

SOFA_CORE_API std::ostream & operator<< (std::ostream &o, const Tag &t)
 
SOFA_CORE_API std::istream & operator>> (std::istream &i, Tag &t)
 
void to_json (nlohmann::json &json, const objectmodel::BaseClass &baseClass)
 
void to_json (nlohmann::json &json, const objectmodel::BaseData *data)
 
void to_json (nlohmann::json &json, const objectmodel::BaseLink *link)
 
void to_json (nlohmann::json &json, const objectmodel::BaseObject::SPtr &object)
 
void intrusive_ptr_add_ref (Aspect *a)
 
void intrusive_ptr_release (Aspect *a)
 
template<typename T >
std::string GetSofaTypeTemplateName (const std::string prefix="")
 
template<typename T1 , typename T2 , typename ... Ts>
std::string GetSofaTypeTemplateName (const std::string prefix="")
 
std::ostream & operator<< (std::ostream &out, const BaseContext &)
 
std::ostream & operator<< (std::ostream &out, const sofa::core::objectmodel::BaseData &df)
 
template<class T >
const ClassInfoclassidT ()
 
std::ostream & operator<< (std::ostream &o, const ComponentState &s)
 Defining the in/ou operator for use of component status with Data<> More...
 
std::istream & operator>> (std::istream &i, ComponentState &s)
 
std::ostream & operator<< (std::ostream &o, const sofa::core::objectmodel::TagSet &tagSet)
 
std::istream & operator>> (std::istream &in, sofa::core::objectmodel::TagSet &tagSet)
 

Variables

template class SOFA_CORE_API Data< bool >
 

Typedef Documentation

◆ AspectRef

Enumeration Type Documentation

◆ ComponentState

enum class is a C++ x11 feature (http://en.cppreference.com/w/cpp/language/enum), Indicate the state of a sofa object.

Enumerator
Undefined 

component that does not make use of this field have this one

Loading 

the component is loading but never passed successfully its init() function

Valid 

the component has passed successfully its init function

Dirty 

the component is ready to be used but requires a call to reinit

Busy 

the component is doing "something", don't trust its values for doing your computation

Invalid 

the component reached an error and is thus unable to behave normally.

◆ DataEngineDataType

Enumerator
DataEngineNothing 
DataEngineInput 
DataEngineOutput 

◆ PathType

Enumerator
FILE 
DIRECTORY 
BOTH 

◆ TypeOfInsertion

Enum proposing two alternatives on where to add a new object in a node.

Enumerator
AtEnd 
AtBegin 

Function Documentation

◆ classidT()

template<class T >
const ClassInfo& sofa::core::objectmodel::classidT ( )

◆ GetSofaTypeTemplateName() [1/2]

template<typename T >
std::string sofa::core::objectmodel::GetSofaTypeTemplateName ( const std::string  prefix = "")

◆ GetSofaTypeTemplateName() [2/2]

template<typename T1 , typename T2 , typename ... Ts>
std::string sofa::core::objectmodel::GetSofaTypeTemplateName ( const std::string  prefix = "")

◆ intrusive_ptr_add_ref()

SOFA_CORE_API void sofa::core::objectmodel::intrusive_ptr_add_ref ( Aspect a)

◆ intrusive_ptr_release()

SOFA_CORE_API void sofa::core::objectmodel::intrusive_ptr_release ( Aspect a)

◆ operator<<() [1/5]

SOFA_CORE_API std::ostream & sofa::core::objectmodel::operator<< ( std::ostream &  o,
const ComponentState s 
)

Defining the in/ou operator for use of component status with Data<>

◆ operator<<() [2/5]

SOFA_CORE_API std::ostream & sofa::core::objectmodel::operator<< ( std::ostream &  o,
const sofa::core::objectmodel::TagSet tagSet 
)

◆ operator<<() [3/5]

std::ostream & sofa::core::objectmodel::operator<< ( std::ostream &  o,
const Tag t 
)

◆ operator<<() [4/5]

std::ostream& sofa::core::objectmodel::operator<< ( std::ostream &  out,
const BaseContext  
)

◆ operator<<() [5/5]

SOFA_CORE_API std::ostream & sofa::core::objectmodel::operator<< ( std::ostream &  out,
const sofa::core::objectmodel::BaseData df 
)

◆ operator>>() [1/3]

SOFA_CORE_API std::istream & sofa::core::objectmodel::operator>> ( std::istream &  i,
ComponentState s 
)

◆ operator>>() [2/3]

std::istream & sofa::core::objectmodel::operator>> ( std::istream &  i,
Tag t 
)

◆ operator>>() [3/3]

SOFA_CORE_API std::istream & sofa::core::objectmodel::operator>> ( std::istream &  in,
sofa::core::objectmodel::TagSet tagSet 
)

◆ to_json() [1/4]

void sofa::core::objectmodel::to_json ( nlohmann::json &  json,
const objectmodel::BaseClass baseClass 
)
inline

◆ to_json() [2/4]

void sofa::core::objectmodel::to_json ( nlohmann::json &  json,
const objectmodel::BaseData data 
)
inline

◆ to_json() [3/4]

void sofa::core::objectmodel::to_json ( nlohmann::json &  json,
const objectmodel::BaseLink link 
)
inline

◆ to_json() [4/4]

void sofa::core::objectmodel::to_json ( nlohmann::json &  json,
const objectmodel::BaseObject::SPtr object 
)
inline

Variable Documentation

◆ Data< bool >

template class SOFA_CORE_API sofa::core::objectmodel::Data< bool >