Public Member Functions | |
Group () | |
Group (const Group &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
Copy constructor using CopyOp to manage deep vs shallow copy. | |
META_Node (osg, Group) | |
virtual Group * | asGroup () |
convert 'this' into a Group pointer if Node is a Group, otherwise return 0. | |
virtual const Group * | asGroup () const |
convert 'const this' into a const Group pointer if Node is a Group, otherwise return 0. | |
virtual void | traverse (NodeVisitor &nv) |
Traverse downwards : calls children's accept method with NodeVisitor. | |
virtual bool | addChild (Node *child) |
Add Node to Group. | |
virtual bool | insertChild (unsigned int index, Node *child) |
Insert Node to Group at specific location. | |
bool | removeChild (Node *child) |
Remove Node from Group. | |
bool | removeChild (unsigned int pos, unsigned int numChildrenToRemove=1) |
Remove Node from Group. | |
virtual bool | removeChildren (unsigned int pos, unsigned int numChildrenToRemove) |
Remove children from Group. | |
virtual bool | replaceChild (Node *origChild, Node *newChild) |
Replace specified Node with another Node. | |
unsigned int | getNumChildren () const |
Return the number of chilren nodes. | |
virtual bool | setChild (unsigned int i, Node *node) |
Set child node at position i. | |
Node * | getChild (unsigned int i) |
Return child node at position i. | |
const Node * | getChild (unsigned int i) const |
Return child node at position i. | |
bool | containsNode (const Node *node) const |
Return true if node is contained within Group. | |
unsigned int | getChildIndex (const Node *node) const |
Get the index number of child, return a value between 0 and _children.size()-1 if found, if not found then return _children.size(). | |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
Set whether to use a mutex to ensure ref() and unref() are thread safe. | |
virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
Resize any per context GLObject buffers to specified size. | |
virtual void | releaseGLObjects (osg::State *=0) const |
If State is non-zero, this function releases any associated OpenGL objects for the specified graphics context. | |
virtual BoundingSphere | computeBound () const |
Compute the bounding sphere around Node's geometry or children. | |
Protected Member Functions | |
virtual | ~Group () |
virtual void | childRemoved (unsigned int, unsigned int) |
virtual void | childInserted (unsigned int) |
Protected Attributes | |
NodeList | _children |
Children are reference counted. This allows children to be shared with memory management handled automatically via osg::Referenced.
osg::Group::Group | ( | ) |
Copy constructor using CopyOp to manage deep vs shallow copy.
virtual osg::Group::~Group | ( | ) | [protected, virtual] |
osg::Group::META_Node | ( | osg | , | |
Group | ||||
) |
virtual Group* osg::Group::asGroup | ( | ) | [inline, virtual] |
virtual const Group* osg::Group::asGroup | ( | ) | const [inline, virtual] |
virtual void osg::Group::traverse | ( | NodeVisitor & | ) | [virtual] |
Traverse downwards : calls children's accept method with NodeVisitor.
Reimplemented from osg::Node.
Reimplemented in osg::LOD, osg::PagedLOD, osg::ProxyNode, osg::Sequence, osg::Switch, osgFX::Effect, osgShadow::ShadowedScene, osgSim::DOFTransform, osgSim::Impostor, osgSim::MultiSwitch, osgSim::OverlayNode, osgSim::VisibilityGroup, and osgTerrain::Terrain.
virtual bool osg::Group::addChild | ( | Node * | child | ) | [virtual] |
If node is not NULL and is not contained in Group then increment its reference count, add it to the child list and dirty the bounding sphere to force it to recompute on next getBound() and return true for success. Otherwise return false. Scene nodes can't be added as child nodes.
Reimplemented in osg::LOD, osg::PagedLOD, osg::ProxyNode, osg::Sequence, osg::Switch, and osgSim::MultiSwitch.
virtual bool osg::Group::insertChild | ( | unsigned int | index, | |
Node * | child | |||
) | [virtual] |
Insert Node to Group at specific location.
The new child node is inserted into the child list before the node at the specified index. No nodes are removed from the group with this operation.
Reimplemented in osg::Sequence, osg::Switch, and osgSim::MultiSwitch.
bool osg::Group::removeChild | ( | Node * | child | ) | [inline] |
If Node is contained in Group then remove it from the child list, decrement its reference count, and dirty the bounding sphere to force it to recompute on next getBound() and return true for success. If Node is not found then return false and do not change the reference count of the Node. Note, do not override, only override removeChildren(,) is required.
Reimplemented in osg::Sequence, and osgSim::MultiSwitch.
bool osg::Group::removeChild | ( | unsigned int | pos, | |
unsigned int | numChildrenToRemove = 1 | |||
) | [inline] |
If Node is contained in Group then remove it from the child list, decrement its reference count, and dirty the bounding sphere to force it to recompute on next getBound() and return true for success. If Node is not found then return false and do not change the reference count of the Node. Note, do not override, only override removeChildren(,) is required.
virtual bool osg::Group::removeChildren | ( | unsigned int | pos, | |
unsigned int | numChildrenToRemove | |||
) | [virtual] |
Remove children from Group.
Note, must be override by subclasses of Group which add per child attributes.
Reimplemented in osg::LOD, osg::PagedLOD, osg::ProxyNode, osg::Sequence, and osg::Switch.
unsigned int osg::Group::getNumChildren | ( | ) | const [inline] |
Return the number of chilren nodes.
virtual bool osg::Group::setChild | ( | unsigned int | i, | |
Node * | node | |||
) | [virtual] |
Set child node at position i.
Return true if set correctly, false on failure (if node==NULL || i is out of range). When Set can be successful applied, the algorithm is : decrement the reference count origNode and increment the reference count of newNode, and dirty the bounding sphere to force it to recompute on next getBound() and return true. If origNode is not found then return false and do not add newNode. If newNode is NULL then return false and do not remove origNode. Also returns false if newChild is a Scene node.
Node* osg::Group::getChild | ( | unsigned int | i | ) | [inline] |
Return child node at position i.
const Node* osg::Group::getChild | ( | unsigned int | i | ) | const [inline] |
Return child node at position i.
bool osg::Group::containsNode | ( | const Node * | node | ) | const [inline] |
Return true if node is contained within Group.
unsigned int osg::Group::getChildIndex | ( | const Node * | node | ) | const [inline] |
Get the index number of child, return a value between 0 and _children.size()-1 if found, if not found then return _children.size().
virtual void osg::Group::setThreadSafeRefUnref | ( | bool | threadSafe | ) | [virtual] |
Set whether to use a mutex to ensure ref() and unref() are thread safe.
Reimplemented from osg::Node.
Reimplemented in osg::LightSource, osg::TexGenNode, and osgSim::OverlayNode.
virtual void osg::Group::resizeGLObjectBuffers | ( | unsigned int | maxSize | ) | [virtual] |
Resize any per context GLObject buffers to specified size.
Reimplemented from osg::Node.
Reimplemented in osg::Camera, and osgSim::OverlayNode.
virtual void osg::Group::releaseGLObjects | ( | osg::State * | = 0 |
) | const [virtual] |
If State is non-zero, this function releases any associated OpenGL objects for the specified graphics context.
Otherwise, releases OpenGL objexts for all graphics contexts.
Reimplemented from osg::Node.
Reimplemented in osg::Camera, and osgSim::OverlayNode.
virtual BoundingSphere osg::Group::computeBound | ( | ) | const [virtual] |
Compute the bounding sphere around Node's geometry or children.
This method is automatically called by getBound() when the bounding sphere has been marked dirty via dirtyBound().
Reimplemented from osg::Node.
Reimplemented in osg::AutoTransform, osg::ClipNode, osg::LightSource, osg::LOD, osg::OccluderNode, osg::ProxyNode, osg::Switch, osg::Transform, osgSim::Impostor, and osgTerrain::Terrain.
virtual void osg::Group::childRemoved | ( | unsigned | int, | |
unsigned | int | |||
) | [inline, protected, virtual] |
virtual void osg::Group::childInserted | ( | unsigned | int | ) | [inline, protected, virtual] |
NodeList osg::Group::_children [protected] |