table of contents
| SoMultipleCopy(3IV)() | SoMultipleCopy(3IV)() | 
NAME¶
SoMultipleCopy — group node that traverses multiple times, applying matrices
INHERITS FROM¶
SoBase > SoFieldContainer > SoNode > SoGroup > SoMultipleCopy
SYNOPSIS¶
#include <Inventor/nodes/SoMultipleCopy.h>
  
  Fields from class SoMultipleCopy:
  
  
  SoMFMatrix	matrix
  
  Methods from class SoMultipleCopy:
  
  
  	SoMultipleCopy()
  
  
  static SoType	getClassTypeId()
  
  Methods from class SoGroup:
  
  
  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)
  
  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 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.
  
METHODS¶
	SoMultipleCopy()
  
  
  Creates a multiple copy node with default settings.
  
  
  static SoType	getClassTypeId()
  
  
  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