SoGroup(3IV)

SoGroup (SoGroup) - base class for all group nodes

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.22.

NAME
     SoGroup (SoGroup) - base class for all group nodes

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoGroup

SYNOPSIS
     #include <Inventor_c/nodes/SoGroup.h>

          Functions from class SoGroup:

     SoGroup *           SoGroupCreate()
     SoGroup *           SoGroupCreateN(int nChildren)
     void                SoGroupAddChild(SoGroup *this, SoNode *child)
     void                SoGroupInsertChild(SoGroup *this, SoNode *child, int
                              newChildIndex)
     SoNode *            SoGroupGetChild(const SoGroup *this, int index)
     int                 SoGroupFindChild(const SoGroup *this, const SoNode
                              *child)
     int                 SoGroupGetNumChildren(const SoGroup *this)
     void                SoGroupRemoveChild(SoGroup *this, int index)
     void                SoGroupRemoveChildNode(SoGroup *this, SoNode *child)
     void                SoGroupRemoveAllChildren(SoGroup *this)
     void                SoGroupReplaceChild(SoGroup *this, int index, SoNode
                              *newChild)
     void                SoGroupReplaceChildNode(SoGroup *this, SoNode
                              *oldChild, SoNode *newChild)
     SoType              SoGroupGetClassTypeId()

          Functions from class SoNode:

     void                SoGroupSetOverride(SoGroup *this, SbBool state)
     SbBool              SoGroupIsOverride(const SoGroup *this)
     SoNode *            SoGroupCopy(const SoGroup *this, SbBool
                              copyConnections = FALSE)
     SbBool              SoGroupAffectsState(const SoGroup *this)
     SoNode *            SoGroupGetByName(const char *name)
     int                 SoGroupGetByNameList(const char *name, SoNodeList
                              *list)

          Functions from class SoFieldContainer:

     void                SoGroupSetToDflts(SoGroup *this)
     SbBool              SoGroupHasDfltVals(const SoGroup *this)
     SbBool              SoGroupFldsAreEq(const SoGroup *this, const
                              SoFieldContainer *fc)
     void                SoGroupCopyFieldVals(SoGroup *this, const
                              SoFieldContainer *fc, SbBool copyConnections =
                              FALSE)
     SbBool              SoGroupSet(SoGroup *this, const char
                              *fieldDataString)
     void                SoGroupGet(SoGroup *this, SbString *fieldDataString)
     int                 SoGroupGetFields(const SoGroup *this, SoFieldList
                              *resultList)
     SoField *           SoGroupGetField(const SoGroup *this, const char
                              *fieldName)
     SbBool              SoGroupGetFieldName(const SoGroup *this, const
                              SoField *field, SbName *fieldName)
     SbBool              SoGroupIsNotifyEnabled(const SoGroup *this)
     SbBool              SoGroupEnableNotify(SoGroup *this, SbBool flag)

          Functions from class SoBase:

     void                SoGroupRef(SoGroup *this)
     void                SoGroupUnref(const SoGroup *this)
     void                SoGroupUnrefNoDelete(const SoGroup *this)
     void                SoGroupTouch(SoGroup *this)
     SoType              SoGroupGetTypeId(const SoGroup *this)
     SbBool              SoGroupIsOfType(const SoGroup *this, SoType type)
     void                SoGroupSetName(SoGroup *this, const char *name)
     SbName              SoGroupGetName(const SoGroup *this)


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).

FUNCTIONS
     SoGroup *           SoGroupCreate()
          Creates an empty group node.

     SoGroup *           SoGroupCreateN(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                SoGroupAddChild(SoGroup *this, SoNode *child)
          Adds a child as last one in group.

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

     SoNode *            SoGroupGetChild(const SoGroup *this, int index)
          Returns pointer to child node with the given index.

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

     int                 SoGroupGetNumChildren(const SoGroup *this)
          Returns number of children.

     void                SoGroupRemoveChild(SoGroup *this, int index)
          Removes child with given index from group.

     void                SoGroupRemoveChildNode(SoGroup *this, SoNode *child)
          Removes first instance of given child from group.

     void                SoGroupRemoveAllChildren(SoGroup *this)
          Removes all children from group.

     void                SoGroupReplaceChild(SoGroup *this, int index, SoNode
                              *newChild)
          Replaces child with given index with new child.

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

     SoType              SoGroupGetClassTypeId()
          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