General group node which maintains a list of children.
Inheritance:
Public Methods
-
Group()
-
Group(const Group&, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
- Copy constructor using CopyOp to manage deep vs shallow copy
-
META_Node(osg, Group)
-
virtual Group* asGroup()
-
virtual const Group* asGroup() const
-
virtual void traverse(NodeVisitor& nv)
-
virtual bool addChild( Node* child )
- Add Node to Group.
-
virtual bool insertChild( unsigned int index, Node* child )
- Insert Node to Group at specific location.
-
virtual bool removeChild( Node* child )
- Remove Node from Group.
-
virtual bool removeChild(unsigned int pos, unsigned int numChildrenToRemove=1)
-
virtual bool replaceChild( Node* origChild, Node* newChild )
- Replace specified Node with another Node.
-
inline unsigned int getNumChildren() const
- return the number of chilren nodes
-
virtual bool setChild( unsigned int i, Node* node )
- set child node at position i.
-
inline Node* getChild( unsigned int i )
- return child node at position i
-
inline const Node* getChild( unsigned int i ) const
- return child node at position i
-
inline bool containsNode( const Node* node ) const
- return true if node is contained within Group
-
inline unsigned int getChildIndex( const Node* node ) const
- Get the index number of child, return a value between 0 and _childrensize()-1 if found, if not found then return _childrensize()
Protected Fields
-
NodeList _children
Protected Methods
-
virtual ~Group()
-
virtual bool computeBound() const
Inherited from Node:
Public Methods
-
virtual Object* cloneType() const
-
virtual Object* clone(const CopyOp& copyop) const
-
virtual bool isSameKindAs(const Object* obj) const
-
virtual const char* libraryName() const
-
virtual const char* className() const
-
virtual Transform* asTransform()
-
virtual const Transform* asTransform() const
-
virtual void accept(NodeVisitor& nv)
-
virtual void ascend(NodeVisitor& nv)
-
inline void setName( const std::string& name )
-
inline void setName( const char* name )
-
inline const std::string& getName() const
-
inline const ParentList& getParents() const
-
inline ParentList getParents()
-
inline Group* getParent(unsigned int i)
-
inline const Group* getParent(unsigned int i) const
-
inline unsigned int getNumParents() const
-
void setUpdateCallback(NodeCallback* nc)
-
inline NodeCallback* getUpdateCallback()
-
inline const NodeCallback* getUpdateCallback() const
-
inline unsigned int getNumChildrenRequiringUpdateTraversal() const
-
void setCullCallback(NodeCallback* nc)
-
inline NodeCallback* getCullCallback()
-
inline const NodeCallback* getCullCallback() const
-
void setCullingActive(bool active)
-
inline bool getCullingActive() const
-
inline unsigned int getNumChildrenWithCullingDisabled() const
-
inline bool isCullingActive() const
-
inline unsigned int getNumChildrenWithOccluderNodes() const
-
bool containsOccluderNodes() const
-
inline void setNodeMask(NodeMask nm)
-
inline NodeMask getNodeMask() const
-
inline const DescriptionList& getDescriptions() const
-
inline DescriptionList& getDescriptions()
-
inline const std::string& getDescription(unsigned int i) const
-
inline std::string& getDescription(unsigned int i)
-
inline unsigned int getNumDescriptions() const
-
void addDescription(const std::string& desc)
-
inline void setStateSet(osg::StateSet* dstate)
-
osg::StateSet* getOrCreateStateSet()
-
inline osg::StateSet* getStateSet()
-
inline const osg::StateSet* getStateSet() const
-
inline const BoundingSphere& getBound() const
-
void dirtyBound()
Public Members
-
typedef std::vector<Group*> ParentList
-
typedef unsigned int NodeMask
-
typedef std::vector<std::string> DescriptionList
Protected Fields
-
mutable BoundingSphere _bsphere
-
mutable bool _bsphere_computed
-
std::string _name
-
ParentList _parents
-
ref_ptr<NodeCallback> _updateCallback
-
unsigned int _numChildrenRequiringUpdateTraversal
-
ref_ptr<NodeCallback> _cullCallback
-
bool _cullingActive
-
unsigned int _numChildrenWithCullingDisabled
-
unsigned int _numChildrenWithOccluderNodes
-
NodeMask _nodeMask
-
DescriptionList _descriptions
-
ref_ptr<StateSet> _stateset
Protected Methods
-
void addParent(osg::Group* node)
-
void removeParent(osg::Group* node)
-
void setNumChildrenRequiringUpdateTraversal(unsigned int num)
-
void setNumChildrenWithCullingDisabled(unsigned int num)
-
void setNumChildrenWithOccluderNodes(unsigned int num)
Inherited from Object:
Public Methods
-
inline void setDataVariance(DataVariance dv)
-
inline DataVariance getDataVariance() const
-
inline void setUserData(Referenced* obj)
-
inline Referenced* getUserData()
-
inline const Referenced* getUserData() const
Public Members
-
enum DataVariance
Protected Fields
-
DataVariance _dataVariance
-
ref_ptr<Referenced> _userData
Public Methods
-
inline Referenced& operator = (Referenced&)
-
static void setDeleteHandler(DeleteHandler* handler)
-
static DeleteHandler* getDeleteHandler()
-
inline void ref() const
-
inline void unref_nodelete() const
-
inline int referenceCount() const
-
inline void unref() const
Protected Fields
-
mutable int _refCount
Documentation
General group node which maintains a list of children.
Children are reference counted. This allows children to be shared
with memory management handled automatically via osg::Referenced.
- Group()
- Group(const Group&, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
- Copy constructor using CopyOp to manage deep vs shallow copy
- META_Node(osg, Group)
- virtual Group* asGroup()
- virtual const Group* asGroup() const
- virtual void traverse(NodeVisitor& nv)
- virtual bool addChild( Node* child )
- Add Node to Group.
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.
- virtual bool insertChild( unsigned int index, Node* child )
- 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.
- virtual bool removeChild( Node* child )
- Remove Node from Group.
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.
- virtual bool removeChild(unsigned int pos, unsigned int numChildrenToRemove=1)
- virtual bool replaceChild( Node* origChild, Node* newChild )
- Replace specified Node with another Node.
Equivalent to setChild(getChildIndex(orignChild),node),
see docs for setChild for futher details on implementation.
- inline unsigned int getNumChildren() const
- return the number of chilren nodes
- virtual bool setChild( unsigned int i, Node* node )
- 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 increments the
reference count of newNode, and dirty the bounding sphere
to force it to recompute on next getBound() and returns 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.
- inline Node* getChild( unsigned int i )
- return child node at position i
- inline const Node* getChild( unsigned int i ) const
- return child node at position i
- inline bool containsNode( const Node* node ) const
- return true if node is contained within Group
- inline unsigned int getChildIndex( const Node* node ) const
- Get the index number of child, return a value between
0 and _childrensize()-1 if found, if not found then
return _childrensize()
- virtual ~Group()
- virtual bool computeBound() const
- NodeList _children
- Direct child classes:
- Transform
Switch
Sequence
Projection
OccluderNode
LightSource
LOD
ClipNode
ClearNode
Alphabetic index HTML hierarchy of classes or Java
This page was generated with the help of DOC++.