58 #define BASEOBJECTDATA_C
73 template<
typename NodeT >
77 std::cerr <<
"Trying to inserted additional node twice in " << _pluginName.toStdString()
78 <<
" with Name " << _nodeName.toStdString() <<
" and id " << _id << std::endl;
82 QString
name = _pluginName+
"#"+_nodeName+
"#"+QString::number(_id);
84 std::pair <BaseNode*,QString> newNode(dynamic_cast<BaseNode*>(_node) , name);
90 template<
typename NodeT >
93 QString searchname = _pluginName +
"#" + _nodeName +
"#" + QString::number(_id);
98 return ( _node != NULL);
105 template<
typename NodeT >
108 QString searchname = _pluginName +
"#" + _nodeName +
"#" + QString::number(_id);
121 std::stack<BaseNode *> children;
122 children.push(_node);
123 while(!children.empty())
136 _node->delete_subtree();
bool removeAdditionalNode(NodeT *&_node, QString _pluginName, QString _nodeName, int _id=0)
remove an additional node from the object
QString name() const
return the name of the object. The name defaults to NONAME if unset.
bool getAdditionalNode(NodeT *&_node, QString _pluginName, QString _nodeName, int _id=0)
get an addition node from the object
ChildIter childrenBegin()
Returns: begin-iterator of children.
bool hasAdditionalNode(QString _pluginName, QString _nodeName, int _id=0)
check if an object has the additional node
std::list< BaseNode * >::iterator ChildIter
allows to iterate over children
std::vector< std::pair< BaseNode *, QString > > additionalNodes_
bool addAdditionalNode(NodeT *_node, QString _pluginName, QString _nodeName, int _id=0)
add an additional node to the object
ChildIter childrenEnd()
Returns: end-iterator of children.