#include <BaseElement.h>
Classes | |
class | child_iterator |
Protected Attributes | |
std::map< std::string, std::string > | replaceAttribute |
Protected Attributes inherited from sofa::core::objectmodel::BaseObjectDescription | |
AttributeMap | attributes |
std::vector< std::string > | errors |
Public Member Functions | |
BaseElement (const std::string &name, const std::string &type, BaseElement *newParent=nullptr) | |
~BaseElement () override | |
virtual const char * | getClass () const =0 |
Get the node class (Scene, Mapping, ...) More... | |
sofa::core::objectmodel::Base * | getObject () override=0 |
Get the associated object. 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::BaseObjectDescription * | getParent () const override |
Get the parent node. More... | |
BaseElement * | getParentElement () 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 BaseElement * | findNode (const char *nodeName, bool absolute=false) |
Find a node given its name. More... | |
BaseObjectDescription * | find (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< Node > | begin () |
child_iterator< BaseElement > | begin () |
template<class Node > | |
child_iterator< Node > | end () |
child_iterator< BaseElement > | end () |
Public Member Functions inherited from sofa::core::objectmodel::BaseObjectDescription | |
BaseObjectDescription (const char *name=nullptr, const char *type=nullptr) | |
virtual | ~BaseObjectDescription () |
virtual const AttributeMap & | getAttributeMap () const |
template<class T > | |
void | getAttributeList (T &container) const |
virtual Base * | findObject (const char *nodeName) |
Find an object given its name (relative to this object) More... | |
virtual const char * | getAttribute (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 () |
Static Public Member Functions | |
static BaseElement * | Create (const std::string &nodeClass, const std::string &name, const std::string &type) |
template<class Node > | |
static Node * | create (Node *, std::pair< std::string, std::string > arg) |
Protected Member Functions | |
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... | |
|
protected |
sofa::simulation::xml::BaseElement::BaseElement | ( | const std::string & | name, |
const std::string & | type, | ||
BaseElement * | newParent = nullptr |
||
) |
|
override |
|
virtual |
|
virtual |
List of parameters to be replaced.
|
inline |
|
inline |
|
static |
|
inlinestatic |
|
inline |
|
inline |
|
inlineoverridevirtual |
Find a node given its name.
Reimplemented from sofa::core::objectmodel::BaseObjectDescription.
|
virtual |
Find a node given its name.
|
overridevirtual |
Get the file where this description was read from. Useful to resolve relative file paths.
Reimplemented from sofa::core::objectmodel::BaseObjectDescription.
|
pure virtual |
Get the node class (Scene, Mapping, ...)
Implemented in sofa::simulation::xml::ObjectElement, sofa::simulation::xml::NodeElement, sofa::simulation::xml::DataElement, and sofa::simulation::xml::AttributeElement.
|
inline |
Return if the current element ifsa special group node from an included file.
|
inlineoverridevirtual |
Get the node instance name.
Reimplemented from sofa::core::objectmodel::BaseObjectDescription.
|
overridepure virtual |
Get the associated object.
Reimplemented from sofa::core::objectmodel::BaseObjectDescription.
Implemented in sofa::simulation::xml::Element< Object >, sofa::simulation::xml::Element< sofa::core::objectmodel::BaseNode >, sofa::simulation::xml::Element< core::objectmodel::BaseObject >, and sofa::simulation::xml::Element< sofa::core::objectmodel::BaseObject >.
|
inlineoverridevirtual |
Get the parent node.
Reimplemented from sofa::core::objectmodel::BaseObjectDescription.
|
inline |
Get the parent node.
const std::string & sofa::simulation::xml::BaseElement::getSrcFile | ( | ) | const |
int sofa::simulation::xml::BaseElement::getSrcLine | ( | ) | const |
|
inline |
Get the node instance type (MassObject, IdentityMapping, ...)
|
virtual |
|
pure virtual |
bool sofa::simulation::xml::BaseElement::isFileRoot | ( | ) |
Return true if this element was the root of the file.
|
virtual |
Verify the presence of an attribute.
|
inline |
Get all objects of a given type.
|
inline |
Get all objects of a given type.
|
overridevirtual |
Remove an attribute. Fails if this attribute is "name" or "type".
Reimplemented from sofa::core::objectmodel::BaseObjectDescription.
|
virtual |
|
virtual |
|
inline |
Specify that the current element is a special group node from an included file.
|
inlineoverridevirtual |
Set the object instance name.
Reimplemented from sofa::core::objectmodel::BaseObjectDescription.
|
inlineprotectedvirtual |
Change this node's parent. Note that this method is protected as it should be called by the parent's addChild/removeChild methods.
Reimplemented in sofa::simulation::xml::NodeElement.
|
virtual |
|
virtual |
|
inlinevirtual |