49 #define BASEOBJECTDATA_C 56 #include <ACG/Scenegraph/BaseNode.hh> 66 template<
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);
83 template<
typename NodeT >
86 QString searchname = _pluginName +
"#" + _nodeName +
"#" + QString::number(_id);
91 return ( _node != NULL);
98 template<
typename NodeT >
101 QString searchname = _pluginName +
"#" + _nodeName +
"#" + QString::number(_id);
114 std::stack<BaseNode *> children;
115 children.push(_node);
116 while(!children.empty())
129 _node->delete_subtree();
bool hasAdditionalNode(QString _pluginName, QString _nodeName, int _id=0)
check if an object has the additional node
bool getAdditionalNode(NodeT *&_node, QString _pluginName, QString _nodeName, int _id=0)
get an addition node from the object
bool removeAdditionalNode(NodeT *&_node, QString _pluginName, QString _nodeName, int _id=0)
remove an additional node from the object
ChildIter childrenBegin()
Returns: begin-iterator of children.
QString name() const
return the name of the object. The name defaults to NONAME if unset.
std::vector< BaseNode * >::iterator ChildIter
allows to iterate over children
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.
std::vector< std::pair< BaseNode *, QString > > additionalNodes_