18 #include <osg/NodeVisitor>
51 virtual bool addChild(
Node *child );
58 virtual bool insertChild(
unsigned int index,
Node *child );
68 virtual bool removeChild(
Node *child );
78 inline bool removeChild(
unsigned int pos,
unsigned int numChildrenToRemove=1 )
80 if (pos<_children.size())
return removeChildren(pos,numChildrenToRemove);
86 virtual bool removeChildren(
unsigned int pos,
unsigned int numChildrenToRemove);
92 virtual bool replaceChild(
Node *origChild,
Node* newChild );
95 virtual unsigned int getNumChildren()
const;
106 virtual bool setChild(
unsigned int i,
Node* node );
112 inline const Node*
getChild(
unsigned int i )
const {
return _children[i].get(); }
118 for (NodeList::const_iterator itr=_children.begin();
119 itr!=_children.end();
122 if (itr->get()==node)
return true;
133 for (
unsigned int childNum=0;childNum<_children.size();++childNum)
135 if (_children[childNum]==node)
return childNum;
137 return static_cast<unsigned int>(_children.size());
141 virtual void setThreadSafeRefUnref(
bool threadSafe);
144 virtual void resizeGLObjectBuffers(
unsigned int maxSize);
149 virtual void releaseGLObjects(
osg::State* = 0)
const;
bool removeChild(unsigned int pos, unsigned int numChildrenToRemove=1)
#define META_Node(library, name)
Node * getChild(unsigned int i)
virtual void childInserted(unsigned int)
virtual const Group * asGroup() const
unsigned int getChildIndex(const Node *node) const
virtual Group * asGroup()
virtual void childRemoved(unsigned int, unsigned int)
const Node * getChild(unsigned int i) const
std::vector< ref_ptr< Node > > NodeList
bool containsNode(const Node *node) const