SOFA API  38ecbea1
Open source framework for multi-physics simuation
sofa::core::objectmodel::BaseContext Class Reference

#include <BaseContext.h>

Base class for Context classes, storing shared variables and parameters. More...

Inheritance diagram for sofa::core::objectmodel::BaseContext:

Detailed Description

Base class for Context classes, storing shared variables and parameters.

A Context contains values or pointers to variables and parameters shared by a group of objects, typically refering to the same simulated body. Derived classes can defined simple isolated contexts or more powerful hierarchical representations (scene-graphs), in which case the context also implements the BaseNode interface.

Author
Jeremie Allard

Classes

class  GetObjectsCallBack
 
class  GetObjectsCallBackT
 Helper functor allowing to insert an object into a container. More...
 

Protected Attributes

ComponentNameHelper m_nameHelper
 
- Protected Attributes inherited from sofa::core::objectmodel::Base
std::map< std::string, sofa::core::DataTrackerCallbackm_internalEngine
 
VecData m_vecData
 List of fields (Data instances) More...
 
MapData m_aliasData
 name -> Data multi-map (includes names and aliases) More...
 
VecLink m_vecLink
 List of links. More...
 
MapLink m_aliasLink
 name -> Link multi-map (includes names and aliases) More...
 

Public Member Functions

 SOFA_CLASS (BaseContext, Base)
 
virtual const Vec3getGravity () const
 Gravity in local coordinates. More...
 
virtual void setGravity (const Vec3 &)
 Gravity in local coordinates. More...
 
virtual BaseContextgetRootContext () const
 Get the root context of the graph. More...
 
virtual bool hasAncestor (const BaseContext *) const
 
ComponentNameHelpergetNameHelper ()
 Returns utilitary object to uniquely name objects in the context. More...
 
Parameters
virtual bool isActive () const
 The Context is active. More...
 
virtual void setActive (bool)
 State of the context. More...
 
virtual bool isSleeping () const
 Sleeping state of the context. More...
 
virtual bool canChangeSleepingState () const
 Whether the context can change its sleeping state or not. More...
 
virtual SReal getTime () const
 Simulation time. More...
 
virtual SReal getDt () const
 Simulation timestep. More...
 
virtual bool getAnimate () const
 Animation flag. More...
 
Containers
virtual core::BaseStategetState () const
 Mechanical Degrees-of-Freedom. More...
 
virtual behavior::BaseMechanicalStategetMechanicalState () const
 Mechanical Degrees-of-Freedom. More...
 
virtual core::topology::TopologygetTopology () const
 Topology. More...
 
virtual core::topology::BaseMeshTopologygetMeshTopology (SearchDirection dir=SearchUp) const
 Mesh Topology (unified interface for both static and dynamic topologies) More...
 
virtual core::topology::BaseMeshTopologygetMeshTopologyLink (SearchDirection dir=SearchUp) const
 Mesh Topology (unified interface for both static and dynamic topologies) More...
 
virtual core::behavior::BaseMassgetMass () const
 Mass. More...
 
virtual core::visual::ShadergetShader () const
 Global Shader. More...
 
virtual void * getObject (const ClassInfo &class_info, SearchDirection dir=SearchUp) const
 
virtual void * getObject (const ClassInfo &class_info, const TagSet &tags, SearchDirection dir=SearchUp) const
 
virtual void * getObject (const ClassInfo &class_info, const std::string &path) const
 
virtual void getObjects (const ClassInfo &class_info, GetObjectsCallBack &container, SearchDirection dir=SearchUp) const
 
virtual void getObjects (const ClassInfo &class_info, GetObjectsCallBack &container, const TagSet &tags, SearchDirection dir=SearchUp) const
 
template<class Object , class Container >
void getObjects (Container *list, SearchDirection dir=SearchUp)
 List all objects of this node deriving from a given class. More...
 
template<class Container >
Container * getObjects (Container *result, SearchDirection dir=SearchUp)
 Returns a list of object of type passed as a parameter. More...
 
template<class Container >
Container & getObjects (Container &result, SearchDirection dir=SearchUp)
 
template<class Object = sofa::core::objectmodel::BaseObject>
std::vector< Object * > getObjects (SearchDirection dir=SearchUp)
 
template<class T >
T * get (SearchDirection dir=SearchUp) const
 Generic object access template wrapper, possibly searching up or down from the current context. More...
 
template<class T >
void get (T *&ptr, SearchDirection dir=SearchUp) const
 Generic object access template wrapper, possibly searching up or down from the current context. More...
 
template<class T >
void get (sptr< T > &ptr, SearchDirection dir=SearchUp) const
 Generic object access template wrapper, possibly searching up or down from the current context. More...
 
template<class T >
T * get (const Tag &tag, SearchDirection dir=SearchUp) const
 Generic object access template wrapper, given a required tag, possibly searching up or down from the current context. More...
 
template<class T >
void get (T *&ptr, const Tag &tag, SearchDirection dir=SearchUp) const
 Generic object access template wrapper, given a required tag, possibly searching up or down from the current context. More...
 
template<class T >
void get (sptr< T > &ptr, const Tag &tag, SearchDirection dir=SearchUp) const
 Generic object access template wrapper, given a required tag, possibly searching up or down from the current context. More...
 
template<class T >
T * get (const TagSet &tags, SearchDirection dir=SearchUp) const
 Generic object access template wrapper, given a set of required tags, possibly searching up or down from the current context. More...
 
template<class T >
void get (T *&ptr, const TagSet &tags, SearchDirection dir=SearchUp) const
 Generic object access template wrapper, given a set of required tags, possibly searching up or down from the current context. More...
 
template<class T >
void get (sptr< T > &ptr, const TagSet &tags, SearchDirection dir=SearchUp) const
 Generic object access template wrapper, given a set of required tags, possibly searching up or down from the current context. More...
 
template<class T >
T * get (const std::string &path) const
 Generic object access template wrapper, given a path from the current context. More...
 
template<class T >
void get (T *&ptr, const std::string &path) const
 Generic object access template wrapper, given a path from the current context. More...
 
template<class T >
void get (sptr< T > &ptr, const std::string &path) const
 Generic object access template wrapper, given a path from the current context. More...
 
template<class T , class Container >
void get (Container *list, SearchDirection dir=SearchUp) const
 Generic list of objects access template wrapper, possibly searching up or down from the current context. More...
 
template<class T , class Container >
void get (Container *list, const Tag &tag, SearchDirection dir=SearchUp) const
 Generic list of objects access template wrapper, given a required tag, possibly searching up or down from the current context. More...
 
template<class T , class Container >
void get (Container *list, const TagSet &tags, SearchDirection dir=SearchUp) const
 Generic list of objects access template wrapper, given a set of required tags, possibly searching up or down from the current context. More...
 
Parameters Setters
virtual void setDt (SReal)
 Simulation timestep. More...
 
virtual void setAnimate (bool)
 Animation flag. More...
 
virtual void setSleeping (bool)
 Sleeping state of the context. More...
 
virtual void setChangeSleepingState (bool)
 Sleeping state change of the context. More...
 
Variables Setters
virtual void setMechanicalState (BaseObject *)
 Mechanical Degrees-of-Freedom. More...
 
virtual void setTopology (BaseObject *)
 Topology. More...
 
Adding/Removing objects. Note that these methods can fail if the context doesn't support attached objects
virtual bool addObject (sptr< BaseObject >, TypeOfInsertion=TypeOfInsertion::AtEnd)
 Add an object, or return false if not supported. More...
 
virtual bool removeObject (sptr< BaseObject >)
 Remove an object, or return false if not supported. More...
 
Visitors.
virtual void executeVisitor (simulation::Visitor *, bool precomputedOrder=false)
 apply an action More...
 
virtual void propagateEvent (const core::ExecParams *params, Event *)
 Propagate an event. More...
 
Notifications for graph change listeners
virtual void notifyAddSlave (core::objectmodel::BaseObject *master, core::objectmodel::BaseObject *slave)
 
virtual void notifyRemoveSlave (core::objectmodel::BaseObject *master, core::objectmodel::BaseObject *slave)
 
virtual void notifyMoveSlave (core::objectmodel::BaseObject *previousMaster, core::objectmodel::BaseObject *master, core::objectmodel::BaseObject *slave)
 
- Public Member Functions inherited from sofa::core::objectmodel::Base
virtual const BaseClassgetClass () const
 
void addDeprecatedAttribute (lifecycle::DeprecatedData *attribute)
 
void addUpdateCallback (const std::string &name, std::initializer_list< BaseData * > inputs, std::function< sofa::core::objectmodel::ComponentState(const DataTracker &)> function, std::initializer_list< BaseData * > outputs)
 
void addOutputsToCallback (const std::string &name, std::initializer_list< BaseData * > outputs)
 
virtual std::string getPathName () const
 
const std::string & getName () const
 Accessor to the object name. More...
 
void setName (const std::string &n)
 Set the name of this object. More...
 
void setName (const std::string &n, int counter)
 Set the name of this object, adding an integer counter. More...
 
std::string getTypeName () const
 Get the type name of this object (i.e. class and template types) More...
 
virtual std::string getClassName () const
 Get the class name of this object. More...
 
virtual std::string getTemplateName () const final
 Get the template type names (if any) used to instantiate this object. More...
 
std::string getNameSpaceName () const
 Get the template type names (if any) used to instantiate this object. More...
 
void setDefinitionSourceFileName (const std::string &sourceFileName)
 Set the source filename (where the component is implemented) More...
 
const std::string & getDefinitionSourceFileName () const
 Get the source filename (where the component is implemented) More...
 
void setDefinitionSourceFilePos (const int)
 Set the source location (where the component is implemented) More...
 
int getDefinitionSourceFilePos () const
 Get the source location (where the component is implemented) More...
 
void setInstanciationSourceFileName (const std::string &sourceFileName)
 
const std::string & getInstanciationSourceFileName () const
 
void setInstanciationSourceFilePos (const int)
 
int getInstanciationSourceFilePos () const
 
void addMessage (const sofa::helper::logging::Message &m) const
 
size_t countLoggedMessages (sofa::helper::logging::Message::TypeSet t=sofa::helper::logging::Message::AnyTypes) const
 
const std::deque< sofa::helper::logging::Message > & getLoggedMessages () const
 
const std::string getLoggedMessagesAsString (sofa::helper::logging::Message::TypeSet t=sofa::helper::logging::Message::AnyTypes) const
 
void clearLoggedMessages () const
 
bool notMuted () const
 
const sofa::core::objectmodel::TagSetgetTags () const
 Represents the subsets the object belongs to. More...
 
bool hasTag (Tag t) const
 Return true if the object belong to the given subset. More...
 
void addTag (Tag t)
 Add a subset qualification to the object. More...
 
void removeTag (Tag t)
 Remove a subset qualification to the object. More...
 
ComponentState getComponentState () const
 
bool isComponentStateValid () const
 
virtual bool parseField (const std::string &attribute, const std::string &value)
 Assign one field value (Data or Link) More...
 
virtual bool hasField (const std::string &attribute) const
 Check if a given Data field or Link exists. More...
 
virtual void parse (BaseObjectDescription *arg)
 Parse the given description to assign values to this object's fields and potentially other parameters. More...
 
void parseFields (const std::list< std::string > &str)
 Assign the field values stored in the given list of name + value pairs of strings. More...
 
virtual void parseFields (const std::map< std::string, std::string * > &str)
 Assign the field values stored in the given map of name -> value pairs. More...
 
void writeDatas (std::map< std::string, std::string * > &str)
 Write the current field values to the given map of name -> value pairs. More...
 
void writeDatas (std::ostream &out, const std::string &separator=" ")
 
BaseDatafindData (const std::string &name) const
 
std::vector< BaseData * > findGlobalField (const std::string &name) const
 Find data fields given a name: several can be found as we look into the alias map. More...
 
BaseLinkfindLink (const std::string &name) const
 
std::vector< BaseLink * > findLinks (const std::string &name) const
 Find link fields given a name: several can be found as we look into the alias map. More...
 
virtual void updateLinks (bool logErrors=true)
 Update pointers in case the pointed-to objects have appeared. More...
 
template<class T >
BaseData::BaseInitData initData (::sofa::core::objectmodel::Data< T > *field, const char *name, const char *help, ::sofa::core::objectmodel::BaseData::DataFlags dataflags)
 Helper method used to initialize a data field containing a value of type T. More...
 
template<class T >
BaseData::BaseInitData initData (Data< T > *field, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false)
 Helper method used to initialize a data field containing a value of type T. More...
 
template<class T >
Data< T >::InitData initData (Data< T > *field, const T &value, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false)
 Helper method used to initialize a data field containing a value of type T. More...
 
void addData (BaseData *f, const std::string &name)
 
void addData (BaseData *f)
 
void removeData (BaseData *f)
 Remove a data field. More...
 
void addAlias (BaseData *field, const char *alias)
 Add an alias to a Data. More...
 
void addLink (BaseLink *l)
 Add a link. More...
 
void addAlias (BaseLink *link, const char *alias)
 Add an alias to a Link. More...
 
const VecDatagetDataFields () const
 Accessor to the vector containing all the fields of this object. More...
 
const MapDatagetDataAliases () const
 Accessor to the map containing all the aliases of this object. More...
 
const VecLinkgetLinks () const
 Accessor to the vector containing all the fields of this object. More...
 
const MapLinkgetLinkAliases () const
 Accessor to the map containing all the aliases of this object. More...
 
virtual bool findDataLinkDest (BaseData *&ptr, const std::string &path, const BaseLink *link)
 
virtual BasefindLinkDestClass (const BaseClass *destType, const std::string &path, const BaseLink *link)
 
template<class T >
bool findLinkDest (T *&ptr, const std::string &path, const BaseLink *link)
 

Static Public Member Functions

static BaseContextgetDefault ()
 
- Static Public Member Functions inherited from sofa::core::objectmodel::Base
static const BaseClassGetClass ()
 
template<class T >
static std::string shortName (const T *ptr=nullptr, BaseObjectDescription *=nullptr)
 

Protected Member Functions

 BaseContext ()
 
 ~BaseContext () override
 
- Protected Member Functions inherited from sofa::core::objectmodel::Base
 Base ()
 
virtual ~Base ()
 
void initData0 (BaseData *field, BaseData::BaseInitData &res, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false)
 Helper method used by initData() More...
 
void initData0 (BaseData *field, BaseData::BaseInitData &res, const char *name, const char *help, BaseData::DataFlags dataFlags)
 Helper method used by initData() More...
 
template<class T >
void initData0 (Data< T > *field, typename Data< T >::InitData &res, const T &value, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false)
 Helper method used by initData() More...
 

Friends

std::ostream SOFA_CORE_API & operator<< (std::ostream &out, const BaseContext &c)
 

Additional Inherited Members

- Public Attributes inherited from sofa::core::objectmodel::Base
std::vector< lifecycle::DeprecatedData * > m_oldAttributes
 
Data< int > d_messageLogCount
 
Data< std::string > name
 Name of the object. More...
 
Data< boolf_printLog
 if true, emits extra messages at runtime. More...
 
Data< sofa::core::objectmodel::TagSetf_tags
 list of the subsets the objet belongs to More...
 
Data< sofa::type::BoundingBoxf_bbox
 this object bounding box More...
 
Data< sofa::core::objectmodel::ComponentStated_componentState
 The state of the component among (Dirty, Valid, Undefined, Loading, Invalid). More...
 
std::string m_definitionSourceFileName {""}
 
int m_definitionSourceFilePos {-1}
 
std::string m_instanciationSourceFileName {""}
 
int m_instanciationSourceFilePos {-1}
 

Attribute details

◆ m_nameHelper

ComponentNameHelper sofa::core::objectmodel::BaseContext::m_nameHelper
protected

Constructor details

◆ BaseContext()

sofa::core::objectmodel::BaseContext::BaseContext ( )
protected

◆ ~BaseContext()

sofa::core::objectmodel::BaseContext::~BaseContext ( )
overrideprotected

Function details

◆ addObject()

virtual bool sofa::core::objectmodel::BaseContext::addObject ( sptr< BaseObject ,
TypeOfInsertion  = TypeOfInsertion::AtEnd 
)
inlinevirtual

Add an object, or return false if not supported.

◆ canChangeSleepingState()

bool sofa::core::objectmodel::BaseContext::canChangeSleepingState ( ) const
virtual

Whether the context can change its sleeping state or not.

The Context can not change its sleeping state by default.

Reimplemented in sofa::core::objectmodel::Context.

◆ executeVisitor()

void sofa::core::objectmodel::BaseContext::executeVisitor ( simulation::Visitor ,
bool  precomputedOrder = false 
)
virtual

apply an action

Reimplemented in sofa::simulation::Node.

◆ get() [1/15]

template<class T >
T* sofa::core::objectmodel::BaseContext::get ( const std::string &  path) const
inline

Generic object access template wrapper, given a path from the current context.

◆ get() [2/15]

template<class T >
T* sofa::core::objectmodel::BaseContext::get ( const Tag tag,
SearchDirection  dir = SearchUp 
) const
inline

Generic object access template wrapper, given a required tag, possibly searching up or down from the current context.

◆ get() [3/15]

template<class T >
T* sofa::core::objectmodel::BaseContext::get ( const TagSet tags,
SearchDirection  dir = SearchUp 
) const
inline

Generic object access template wrapper, given a set of required tags, possibly searching up or down from the current context.

◆ get() [4/15]

template<class T , class Container >
void sofa::core::objectmodel::BaseContext::get ( Container *  list,
const Tag tag,
SearchDirection  dir = SearchUp 
) const
inline

Generic list of objects access template wrapper, given a required tag, possibly searching up or down from the current context.

◆ get() [5/15]

template<class T , class Container >
void sofa::core::objectmodel::BaseContext::get ( Container *  list,
const TagSet tags,
SearchDirection  dir = SearchUp 
) const
inline

Generic list of objects access template wrapper, given a set of required tags, possibly searching up or down from the current context.

◆ get() [6/15]

template<class T , class Container >
void sofa::core::objectmodel::BaseContext::get ( Container *  list,
SearchDirection  dir = SearchUp 
) const
inline

Generic list of objects access template wrapper, possibly searching up or down from the current context.

◆ get() [7/15]

template<class T >
T* sofa::core::objectmodel::BaseContext::get ( SearchDirection  dir = SearchUp) const
inline

Generic object access template wrapper, possibly searching up or down from the current context.

◆ get() [8/15]

template<class T >
void sofa::core::objectmodel::BaseContext::get ( sptr< T > &  ptr,
const std::string &  path 
) const
inline

Generic object access template wrapper, given a path from the current context.

◆ get() [9/15]

template<class T >
void sofa::core::objectmodel::BaseContext::get ( sptr< T > &  ptr,
const Tag tag,
SearchDirection  dir = SearchUp 
) const
inline

Generic object access template wrapper, given a required tag, possibly searching up or down from the current context.

◆ get() [10/15]

template<class T >
void sofa::core::objectmodel::BaseContext::get ( sptr< T > &  ptr,
const TagSet tags,
SearchDirection  dir = SearchUp 
) const
inline

Generic object access template wrapper, given a set of required tags, possibly searching up or down from the current context.

◆ get() [11/15]

template<class T >
void sofa::core::objectmodel::BaseContext::get ( sptr< T > &  ptr,
SearchDirection  dir = SearchUp 
) const
inline

Generic object access template wrapper, possibly searching up or down from the current context.

◆ get() [12/15]

template<class T >
void sofa::core::objectmodel::BaseContext::get ( T *&  ptr,
const std::string &  path 
) const
inline

Generic object access template wrapper, given a path from the current context.

◆ get() [13/15]

template<class T >
void sofa::core::objectmodel::BaseContext::get ( T *&  ptr,
const Tag tag,
SearchDirection  dir = SearchUp 
) const
inline

Generic object access template wrapper, given a required tag, possibly searching up or down from the current context.

◆ get() [14/15]

template<class T >
void sofa::core::objectmodel::BaseContext::get ( T *&  ptr,
const TagSet tags,
SearchDirection  dir = SearchUp 
) const
inline

Generic object access template wrapper, given a set of required tags, possibly searching up or down from the current context.

◆ get() [15/15]

template<class T >
void sofa::core::objectmodel::BaseContext::get ( T *&  ptr,
SearchDirection  dir = SearchUp 
) const
inline

Generic object access template wrapper, possibly searching up or down from the current context.

◆ getAnimate()

bool sofa::core::objectmodel::BaseContext::getAnimate ( ) const
virtual

Animation flag.

Reimplemented in sofa::core::objectmodel::Context.

◆ getDefault()

BaseContext * sofa::core::objectmodel::BaseContext::getDefault ( )
static

Get the default Context object, that contains the default values for all parameters and can be used when no local context is defined.

◆ getDt()

SReal sofa::core::objectmodel::BaseContext::getDt ( ) const
virtual

Simulation timestep.

Reimplemented in sofa::core::objectmodel::Context.

◆ getGravity()

const BaseContext::Vec3 & sofa::core::objectmodel::BaseContext::getGravity ( ) const
virtual

Gravity in local coordinates.

Gravity in the world coordinate system.

Reimplemented in sofa::core::objectmodel::Context.

◆ getMass()

behavior::BaseMass * sofa::core::objectmodel::BaseContext::getMass ( ) const
virtual

Mass.

◆ getMechanicalState()

core::behavior::BaseMechanicalState * sofa::core::objectmodel::BaseContext::getMechanicalState ( ) const
virtual

Mechanical Degrees-of-Freedom.

Reimplemented in sofa::simulation::Node.

◆ getMeshTopology()

core::topology::BaseMeshTopology * sofa::core::objectmodel::BaseContext::getMeshTopology ( SearchDirection  dir = SearchUp) const
virtual

Mesh Topology (unified interface for both static and dynamic topologies)

◆ getMeshTopologyLink()

core::topology::BaseMeshTopology * sofa::core::objectmodel::BaseContext::getMeshTopologyLink ( SearchDirection  dir = SearchUp) const
virtual

Mesh Topology (unified interface for both static and dynamic topologies)

Reimplemented in sofa::simulation::graph::DAGNode, and sofa::simulation::Node.

◆ getNameHelper()

ComponentNameHelper& sofa::core::objectmodel::BaseContext::getNameHelper ( )
inline

Returns utilitary object to uniquely name objects in the context.

◆ getObject() [1/3]

void * sofa::core::objectmodel::BaseContext::getObject ( const ClassInfo class_info,
const std::string &  path 
) const
virtual

Generic object access, given a path from the current context

Note that the template wrapper method should generally be used to have the correct return type,

Reimplemented in sofa::simulation::Node, and sofa::simulation::graph::DAGNode.

◆ getObject() [2/3]

void * sofa::core::objectmodel::BaseContext::getObject ( const ClassInfo class_info,
const TagSet tags,
SearchDirection  dir = SearchUp 
) const
virtual

Generic object access, given a set of required tags, possibly searching up or down from the current context

Note that the template wrapper method should generally be used to have the correct return type,

Reimplemented in sofa::simulation::Node, and sofa::simulation::graph::DAGNode.

◆ getObject() [3/3]

void * sofa::core::objectmodel::BaseContext::getObject ( const ClassInfo class_info,
SearchDirection  dir = SearchUp 
) const
virtual

Generic object access, possibly searching up or down from the current context

Note that the template wrapper method should generally be used to have the correct return type,

Reimplemented in sofa::simulation::Node.

◆ getObjects() [1/6]

void sofa::core::objectmodel::BaseContext::getObjects ( const ClassInfo class_info,
GetObjectsCallBack container,
const TagSet tags,
SearchDirection  dir = SearchUp 
) const
virtual

Generic list of objects access, given a set of required tags, possibly searching up or down from the current context

Note that the template wrapper method should generally be used to have the correct return type,

Reimplemented in sofa::simulation::Node, and sofa::simulation::graph::DAGNode.

◆ getObjects() [2/6]

void sofa::core::objectmodel::BaseContext::getObjects ( const ClassInfo class_info,
GetObjectsCallBack container,
SearchDirection  dir = SearchUp 
) const
virtual

Generic list of objects access, possibly searching up or down from the current context

Note that the template wrapper method should generally be used to have the correct return type,

Reimplemented in sofa::simulation::Node.

◆ getObjects() [3/6]

template<class Container >
Container& sofa::core::objectmodel::BaseContext::getObjects ( Container &  result,
SearchDirection  dir = SearchUp 
)
inline

Returns a list of object of type passed as a parameter. eg: sofa::type::vector<VisualModel*> results; context->getObjects(results) ;

◆ getObjects() [4/6]

template<class Object , class Container >
void sofa::core::objectmodel::BaseContext::getObjects ( Container *  list,
SearchDirection  dir = SearchUp 
)
inline

List all objects of this node deriving from a given class.

◆ getObjects() [5/6]

template<class Container >
Container* sofa::core::objectmodel::BaseContext::getObjects ( Container *  result,
SearchDirection  dir = SearchUp 
)
inline

Returns a list of object of type passed as a parameter.

◆ getObjects() [6/6]

template<class Object = sofa::core::objectmodel::BaseObject>
std::vector<Object*> sofa::core::objectmodel::BaseContext::getObjects ( SearchDirection  dir = SearchUp)
inline

Returns a list of object of type passed as a parameter. There shoud be no Copy constructor because of Return Value Optimization. eg: for(BaseObject* o : context->getObjects() ){ ... } for(VisualModel* o : context->getObjects<VisualModel>() ){ ... }

◆ getRootContext()

BaseContext * sofa::core::objectmodel::BaseContext::getRootContext ( ) const
virtual

Get the root context of the graph.

Reimplemented in sofa::simulation::Node.

◆ getShader()

core::visual::Shader * sofa::core::objectmodel::BaseContext::getShader ( ) const
virtual

Global Shader.

Shader.

Reimplemented in sofa::simulation::Node.

◆ getState()

core::BaseState * sofa::core::objectmodel::BaseContext::getState ( ) const
virtual

Mechanical Degrees-of-Freedom.

Degrees-of-Freedom.

Reimplemented in sofa::simulation::Node.

◆ getTime()

SReal sofa::core::objectmodel::BaseContext::getTime ( ) const
virtual

Simulation time.

Reimplemented in sofa::core::objectmodel::Context.

◆ getTopology()

core::topology::Topology * sofa::core::objectmodel::BaseContext::getTopology ( ) const
virtual

Topology.

Reimplemented in sofa::simulation::Node.

◆ hasAncestor()

virtual bool sofa::core::objectmodel::BaseContext::hasAncestor ( const BaseContext ) const
inlinevirtual

Test if the given context is an ancestor of this context. An ancestor is a parent or (recursively) the parent of an ancestor.

This method is an alias to BaseNode::hasAncestor, so that dynamic casts are not required to test relationships between contexts.

Reimplemented in sofa::simulation::graph::DAGNode.

◆ isActive()

bool sofa::core::objectmodel::BaseContext::isActive ( ) const
virtual

The Context is active.

Reimplemented in sofa::core::objectmodel::Context.

◆ isSleeping()

bool sofa::core::objectmodel::BaseContext::isSleeping ( ) const
virtual

Sleeping state of the context.

The Context is not sleeping by default.

Reimplemented in sofa::core::objectmodel::Context.

◆ notifyAddSlave()

void sofa::core::objectmodel::BaseContext::notifyAddSlave ( core::objectmodel::BaseObject master,
core::objectmodel::BaseObject slave 
)
virtual

◆ notifyMoveSlave()

void sofa::core::objectmodel::BaseContext::notifyMoveSlave ( core::objectmodel::BaseObject previousMaster,
core::objectmodel::BaseObject master,
core::objectmodel::BaseObject slave 
)
virtual

◆ notifyRemoveSlave()

void sofa::core::objectmodel::BaseContext::notifyRemoveSlave ( core::objectmodel::BaseObject master,
core::objectmodel::BaseObject slave 
)
virtual

◆ propagateEvent()

void sofa::core::objectmodel::BaseContext::propagateEvent ( const core::ExecParams params,
Event  
)
virtual

Propagate an event.

Reimplemented in sofa::simulation::Node.

◆ removeObject()

virtual bool sofa::core::objectmodel::BaseContext::removeObject ( sptr< BaseObject )
inlinevirtual

Remove an object, or return false if not supported.

◆ setActive()

virtual void sofa::core::objectmodel::BaseContext::setActive ( bool  )
inlinevirtual

State of the context.

Reimplemented in sofa::core::objectmodel::Context.

◆ setAnimate()

virtual void sofa::core::objectmodel::BaseContext::setAnimate ( bool  )
inlinevirtual

Animation flag.

Reimplemented in sofa::core::objectmodel::Context.

◆ setChangeSleepingState()

virtual void sofa::core::objectmodel::BaseContext::setChangeSleepingState ( bool  )
inlinevirtual

Sleeping state change of the context.

Reimplemented in sofa::core::objectmodel::Context.

◆ setDt()

virtual void sofa::core::objectmodel::BaseContext::setDt ( SReal  )
inlinevirtual

Simulation timestep.

Reimplemented in sofa::core::objectmodel::Context.

◆ setGravity()

virtual void sofa::core::objectmodel::BaseContext::setGravity ( const Vec3 )
inlinevirtual

Gravity in local coordinates.

Reimplemented in sofa::core::objectmodel::Context.

◆ setMechanicalState()

virtual void sofa::core::objectmodel::BaseContext::setMechanicalState ( BaseObject )
inlinevirtual

Mechanical Degrees-of-Freedom.

◆ setSleeping()

virtual void sofa::core::objectmodel::BaseContext::setSleeping ( bool  )
inlinevirtual

Sleeping state of the context.

Reimplemented in sofa::simulation::Node, and sofa::core::objectmodel::Context.

◆ setTopology()

virtual void sofa::core::objectmodel::BaseContext::setTopology ( BaseObject )
inlinevirtual

Topology.

◆ SOFA_CLASS()

sofa::core::objectmodel::BaseContext::SOFA_CLASS ( BaseContext  ,
Base   
)

Enum details

◆ SearchDirection

Specification of where to search for queried objects.

Enumerator
SearchUp 
Local 
SearchDown 
SearchRoot 
SearchParents 

Related details

◆ operator<<

std::ostream SOFA_CORE_API& operator<< ( std::ostream &  out,
const BaseContext c 
)
friend