SoMultipleCopy(3IV)
SoMultipleCopy (SoMultCopy) - group node that traverses multiple times, applying matrices
Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.22.
NAME SoMultipleCopy (SoMultCopy) - group node that traverses multiple times, applying matrices INHERITS FROM SoBase > SoFieldContainer > SoNode > SoGroup > SoMultipleCopy SYNOPSIS #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: 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. FUNCTIONS SoMultipleCopy * SoMultCopyCreate() Creates a multiple copy node with default settings. 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