SOFA API  ca665544
Open source framework for multi-physics simuation
sofa::simulation::xml::Element< Object > Class Template Reference

#include <Element.h>

Inheritance diagram for sofa::simulation::xml::Element< Object >:

Public Member Functions

 Element (const std::string &name, const std::string &type, BaseElement *newParent=nullptr)
 
 ~Element () override
 
Object * getTypedObject ()
 
virtual void setObject (typename Object::SPtr newObject)
 
sofa::core::objectmodel::BasegetObject () override
 Get the associated object. More...
 
- Public Member Functions inherited from sofa::simulation::xml::BaseElement
 BaseElement (const std::string &name, const std::string &type, BaseElement *newParent=nullptr)
 
 ~BaseElement () override
 
virtual const chargetClass () const =0
 Get the node class (Scene, Mapping, ...) More...
 
std::string getName () override
 Get the node instance name. More...
 
virtual void setName (const std::string &newName) override
 Set the object instance name. More...
 
std::string getType ()
 Get the node instance type (MassObject, IdentityMapping, ...) More...
 
virtual void setType (const std::string &newType)
 
sofa::core::objectmodel::BaseObjectDescriptiongetParent () const override
 Get the parent node. More...
 
BaseElementgetParentElement () const
 Get the parent node. More...
 
std::string getBaseFile () override
 Get the file where this description was read from. Useful to resolve relative file paths. More...
 
virtual void setBaseFile (const std::string &newBaseFile)
 
const std::string & getSrcFile () const
 
virtual void setSrcFile (const std::string &newSrcFile)
 
int getSrcLine () const
 
virtual void setSrcLine (const int l)
 
bool isFileRoot ()
 Return true if this element was the root of the file. More...
 
IncludeNodeType getIncludeNodeType () const
 Return if the current element ifsa special group node from an included file. More...
 
void setIncludeNodeType (IncludeNodeType t)
 Specify that the current element is a special group node from an included file. More...
 
virtual bool presenceAttribute (const std::string &s)
 Verify the presence of an attribute. More...
 
virtual bool removeAttribute (const std::string &attr) override
 Remove an attribute. Fails if this attribute is "name" or "type". More...
 
virtual void addReplaceAttribute (const std::string &attr, const char *val)
 List of parameters to be replaced. More...
 
virtual BaseElementfindNode (const char *nodeName, bool absolute=false)
 Find a node given its name. More...
 
BaseObjectDescriptionfind (const char *nodeName, bool absolute=false) override
 Find a node given its name. More...
 
template<class Sequence >
void pushObjects (Sequence &result)
 Get all objects of a given type. More...
 
template<class Map >
void pushNamedObjects (Map &result)
 Get all objects of a given type. More...
 
virtual bool addChild (BaseElement *child)
 
virtual bool removeChild (BaseElement *child)
 
virtual bool initNode ()=0
 
virtual bool init ()
 
template<class Node >
child_iterator< Nodebegin ()
 
child_iterator< BaseElementbegin ()
 
template<class Node >
child_iterator< Nodeend ()
 
child_iterator< BaseElementend ()
 
- Public Member Functions inherited from sofa::core::objectmodel::BaseObjectDescription
 BaseObjectDescription (const char *name=nullptr, const char *type=nullptr)
 
virtual ~BaseObjectDescription ()
 
virtual const AttributeMapgetAttributeMap () const
 
template<class T >
void getAttributeList (T &container) const
 
virtual BasefindObject (const char *nodeName)
 Find an object given its name (relative to this object) More...
 
virtual const chargetAttribute (const std::string &attr, const char *defaultVal=nullptr)
 Get an attribute given its name (return defaultVal if not present) More...
 
virtual float getAttributeAsFloat (const std::string &attr, const float defaultVal=0.0)
 Docs is in .h. More...
 
virtual int getAttributeAsInt (const std::string &attr, const int defaultVal=0.0)
 Docs is in .h. More...
 
virtual void setAttribute (const std::string &attr, const std::string &val)
 Set an attribute. Override any existing value. More...
 
virtual std::string getFullName ()
 Get the full name of this object (i.e. concatenation if all the names of its ancestors and itself) More...
 
virtual void logError (const std::string &s)
 
virtual void logErrors (const std::vector< std::string > &e)
 
std::vector< std::string > const & getErrors () const
 
virtual void clearErrors ()
 

Additional Inherited Members

- Protected Attributes inherited from sofa::simulation::xml::BaseElement
std::map< std::string, std::string > replaceAttribute
 
- Protected Attributes inherited from sofa::core::objectmodel::BaseObjectDescription
AttributeMap attributes
 
std::vector< std::string > errors
 
- Static Public Member Functions inherited from sofa::simulation::xml::BaseElement
static BaseElementCreate (const std::string &nodeClass, const std::string &name, const std::string &type)
 
template<class Node >
static Nodecreate (Node *, std::pair< std::string, std::string > arg)
 
- Protected Member Functions inherited from sofa::simulation::xml::BaseElement
virtual bool setParent (BaseElement *newParent)
 Change this node's parent. Note that this method is protected as it should be called by the parent's addChild/removeChild methods. More...
 

Constructor details

◆ Element()

template<class Object >
sofa::simulation::xml::Element< Object >::Element ( const std::string &  name,
const std::string &  type,
BaseElement< Object > *  newParent = nullptr 
)

◆ ~Element()

template<class Object >
sofa::simulation::xml::Element< Object >::~Element
override

Function details

◆ getObject()

template<class Object >
sofa::core::objectmodel::Base * sofa::simulation::xml::Element< Object >::getObject
overridevirtual

Get the associated object.

Implements sofa::simulation::xml::BaseElement.

◆ getTypedObject()

template<class Object >
Object * sofa::simulation::xml::Element< Object >::getTypedObject

◆ setObject()

template<class Object >
void sofa::simulation::xml::Element< Object >::setObject ( typename Object::SPtr  newObject)
virtual