Provided by: inventor-doc_2.1.5-10-18_all bug

NAME

       SoGroup — base class for all group nodes

INHERITS FROM

       SoBase > SoFieldContainer > SoNode > SoGroup

SYNOPSIS

       #include <Inventor/nodes/SoGroup.h>

          Methods from class SoGroup:

                         SoGroup()
                         SoGroup(int nChildren)
     void                addChild(SoNode *child)
     void                insertChild(SoNode *child, int newChildIndex)
     SoNode *            getChild(int index) const
     int                 findChild(const SoNode *child) const
     int                 getNumChildren() const
     void                removeChild(int index)
     void                removeChild(SoNode *child)
     void                removeAllChildren()
     void                replaceChild(int index, SoNode *newChild)
     void                replaceChild(SoNode *oldChild, SoNode *newChild)
     static SoType       getClassTypeId()

          Methods from class SoNode:

     void                setOverride(SbBool state)
     SbBool              isOverride() const
     SoNode *            copy(SbBool copyConnections = FALSE) const
     virtual SbBool      affectsState() const
     static SoNode *     getByName(const SbName &name)
     static int          getByName(const SbName &name, SoNodeList &list)

          Methods from class SoFieldContainer:

     void                setToDefaults()
     SbBool              hasDefaultValues() const
     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
     void                copyFieldValues(const  SoFieldContainer  *fc,  SbBool  copyConnections =
                              FALSE)
     SbBool              set(const char *fieldDataString)
     void                get(SbString &fieldDataString)
     virtual int         getFields(SoFieldList &resultList) const
     virtual SoField *   getField(const SbName &fieldName) const
     SbBool              getFieldName(const SoField *field, SbName &fieldName) const
     SbBool              isNotifyEnabled() const
     SbBool              enableNotify(SbBool flag)

          Methods from class SoBase:

     void                ref()
     void                unref() const
     void                unrefNoDelete() const
     void                touch()
     virtual SoType      getTypeId() const
     SbBool              isOfType(SoType type) const
     virtual void        setName(const SbName &name)
     virtual SbName      getName() const

DESCRIPTION

       This node defines the base class for all group nodes. SoGroup is a node that  contains  an
       ordered  list  of  child  nodes.  The ordering of the child nodes represents the traversal
       order for all operations (for example, rendering, picking, and so on). This node is simply
       a  container for the child nodes and does not alter the traversal state in any way. During
       traversal, state accumulated for a child is passed on to each successive child and then to
       the  parents  of  the  group  (SoGroup does not push or pop traversal state as SoSeparator
       does).

METHODS

                         SoGroup()
          Creates an empty group node.

                         SoGroup(int nChildren)
          Constructor that takes approximate number of children. Space is allocated for  pointers
          to the children, but the group does not contain any actual child nodes.

     void                addChild(SoNode *child)
          Adds a child as last one in group.

     void                insertChild(SoNode *child, int newChildIndex)
          Adds a child so that it becomes the one with the given index.

     SoNode *            getChild(int index) const
          Returns pointer to child node with the given index.

     int                 findChild(const SoNode *child) const
          Finds index of given child within group. Returns -1 if not found.

     int                 getNumChildren() const
          Returns number of children.

     void                removeChild(int index)
          Removes child with given index from group.

     void                removeChild(SoNode *child)
          Removes first instance of given child from group.

     void                removeAllChildren()
          Removes all children from group.

     void                replaceChild(int index, SoNode *newChild)
          Replaces child with given index with new child.

     void                replaceChild(SoNode *oldChild, SoNode *newChild)
          Replaces first instance of given child with new child.

     static SoType       getClassTypeId()
          Returns type identifier for this class.

ACTION BEHAVIOR

       SoGLRenderAction,     SoCallbackAction,    SoGetBoundingBoxAction,    SoHandleEventAction,
       SoRayPickAction
          Traverses each child in order.

     SoGetMatrixAction
          Does nothing unless the group is in the middle of the path chain the  action  is  being
          applied  to.  If  so,  the  children up to and including the next node in the chain are
          traversed.

     SoSearchAction
          If searching for group nodes, compares with this group. Otherwise, continues to  search
          children.

     SoWriteAction
          Writes  out  the group node. This method also deals with any field data associated with
          the group node. As a result, this method is used for  most  subclasses  of  SoGroup  as
          well.

FILE FORMAT/DEFAULTS

       Group {
       }

SEE ALSO

       SoArray, SoLevelOfDetail, SoMultipleCopy, SoPathSwitch, SoSeparator, SoSwitch

                                                                                   SoGroup(3IV)()