SoMultipleCopy(3IV)NAMESoMultipleCopy (SoMultCopy) - group node that traverses multiple times,
applying matrices
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoGroup > SoMultipleCopySYNOPSIS
#include <Inventor_c/nodes/SoMultipleCopy.h>
typedef SoMultipleCopy SoMultCopy
Fields from class SoMultipleCopy:
SoMFMatrix matrix
Functions from class SoMultipleCopy:
SoMultipleCopy * SoMultCopyCreate()
SoType SoMultCopyGetClassTypeId()
Functions from class SoGroup:
void SoMultCopyAddChild(SoMultCopy *this, SoNode *child)
void SoMultCopyInsertChild(SoMultCopy *this, SoNode
*child, int newChildIndex)
SoNode * SoMultCopyGetChild(const SoMultCopy *this, int index)
int SoMultCopyFindChild(const SoMultCopy *this, const
SoNode *child)
int SoMultCopyGetNumChildren(const SoMultCopy *this)
void SoMultCopyRemoveChild(SoMultCopy *this, int index)
void SoMultCopyRemoveChildNode(SoMultCopy *this, SoNode
*child)
void SoMultCopyRemoveAllChildren(SoMultCopy *this)
void SoMultCopyReplaceChild(SoMultCopy *this, int index,
SoNode *newChild)
void SoMultCopyReplaceChildNode(SoMultCopy *this, SoNode
*oldChild, SoNode *newChild)
Functions from class SoNode:
void SoMultCopySetOverride(SoMultCopy *this, SbBool state)
SbBool SoMultCopyIsOverride(const SoMultCopy *this)
SoNode * SoMultCopyCopy(const SoMultCopy *this, SbBool
copyConnections = FALSE)
SbBool SoMultCopyAffectsState(const SoMultCopy *this)
SoNode * SoMultCopyGetByName(const char *name)
int SoMultCopyGetByNameList(const char *name, SoNodeList
*list)
Functions from class SoFieldContainer:
Page 1SoMultipleCopy(3IV)
void SoMultCopySetToDflts(SoMultCopy *this)
SbBool SoMultCopyHasDfltVals(const SoMultCopy *this)
SbBool SoMultCopyFldsAreEq(const SoMultCopy *this, const
SoFieldContainer *fc)
void SoMultCopyCopyFieldVals(SoMultCopy *this, const
SoFieldContainer *fc, SbBool copyConnections =
FALSE)
SbBool SoMultCopySet(SoMultCopy *this, const char
*fieldDataString)
void SoMultCopyGet(SoMultCopy *this, SbString
*fieldDataString)
int SoMultCopyGetFields(const SoMultCopy *this,
SoFieldList *resultList)
SoField * SoMultCopyGetField(const SoMultCopy *this, const char
*fieldName)
SbBool SoMultCopyGetFieldName(const SoMultCopy *this, const
SoField *field, SbName *fieldName)
SbBool SoMultCopyIsNotifyEnabled(const SoMultCopy *this)
SbBool SoMultCopyEnableNotify(SoMultCopy *this, SbBool flag)
Functions from class SoBase:
void SoMultCopyRef(SoMultCopy *this)
void SoMultCopyUnref(const SoMultCopy *this)
void SoMultCopyUnrefNoDelete(const SoMultCopy *this)
void SoMultCopyTouch(SoMultCopy *this)
SoType SoMultCopyGetTypeId(const SoMultCopy *this)
SbBool SoMultCopyIsOfType(const SoMultCopy *this, SoType
type)
void SoMultCopySetName(SoMultCopy *this, const char *name)
SbName SoMultCopyGetName(const SoMultCopy *this)
DESCRIPTION
This group node traverses its children, in order, several times, applying
a different matrix each time. The matrices are stored in the multiple-
value matrix field. Each matrix is concatenated to the current
transformation matrix, and all of the children are traversed. This allows
the user to put multiple copies of the same data in different locations
easily and efficiently.
Traversing the Nth child sets the current switch value to N, for use with
inherited switch values (see SoSwitch).
FIELDS
SoMFMatrix matrix
Set of matrices to apply to children.
FUNCTIONSSoMultipleCopy * SoMultCopyCreate()
Creates a multiple copy node with default settings.
Page 2SoMultipleCopy(3IV)
SoType SoMultCopyGetClassTypeId()
Returns type identifier for this class.
ACTION BEHAVIOR
SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction,
SoRayPickAction
Traverses all children for each matrix, saving and restoring state
before and after each traversal.
SoSearchAction
Traverses all children once, setting the inherited switch value to
SO_SWITCH_ALL first.
FILE FORMAT/DEFAULTS
MultipleCopy {
matrix 1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
}
SEE ALSO
SoArray, SoSwitch
Page 3