SoGroup(3IV)NAMESoGroup (SoGroup) - base class for all group nodes
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoGroupSYNOPSIS
#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)
Page 1SoGroup(3IV)
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).
FUNCTIONSSoGroup * 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.
Page 2SoGroup(3IV)
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 {
}
Page 3SoGroup(3IV)SEE ALSO
SoArray, SoLevelOfDetail, SoMultipleCopy, SoPathSwitch, SoSeparator,
SoSwitch
Page 4