49#define BASEOBJECTDATA_C
56#include <ACG/Scenegraph/BaseNode.hh>
66template<
typename NodeT >
70 std::cerr <<
"Trying to inserted additional node twice in " << _pluginName.toStdString()
71 <<
" with Name " << _nodeName.toStdString() <<
" and id " << _id << std::endl;
75 QString
name = _pluginName+
"#"+_nodeName+
"#"+QString::number(_id);
77 std::pair <BaseNode*,QString> newNode(
dynamic_cast<BaseNode*
>(_node) ,
name);
83template<
typename NodeT >
86 QString searchname = _pluginName +
"#" + _nodeName +
"#" + QString::number(_id);
91 return ( _node != NULL);
98template<
typename NodeT >
101 QString searchname = _pluginName +
"#" + _nodeName +
"#" + QString::number(_id);
114 std::stack<BaseNode *> children;
115 children.push(_node);
116 while(!children.empty())
ChildIter childrenBegin()
Returns: begin-iterator of children.
void delete_subtree()
Delete the whole subtree of this node.
ChildIter childrenEnd()
Returns: end-iterator of children.
std::vector< BaseNode * >::iterator ChildIter
allows to iterate over children
bool removeAdditionalNode(NodeT *&_node, QString _pluginName, QString _nodeName, int _id=0)
remove an additional node from the object
bool getAdditionalNode(NodeT *&_node, QString _pluginName, QString _nodeName, int _id=0)
get an addition node from the object
bool hasAdditionalNode(const QString &_pluginName, const QString &_nodeName, int _id=0)
check if an object has the additional node
bool addAdditionalNode(NodeT *_node, QString _pluginName, QString _nodeName, int _id=0)
add an additional node to the object
std::vector< std::pair< BaseNode *, QString > > additionalNodes_
QString name() const
return the name of the object. The name defaults to NONAME if unset.