SoGroup(3IV)

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