man SoArray () - group node that creates a regular IxJxK array of copies of its children

NAME

SoArray - group node that creates a regular IxJxK array of copies of its children

INHERITS FROM

SoBase > SoFieldContainer > SoNode > SoGroup > SoArray

SYNOPSIS

#include <Inventor/nodes/SoArray.h> enum Origin { c } c } First copy is rendered at the current local origin; all other copies are distributed relative to it

c } c } Copies are distributed relative to the center of the array

c } c } Last copy is rendered at the current local origin; all other copies are distributed relative to it

} Fields from class SoArray: c } c } numElements1

c } c } numElements2

c } c } numElements3

c } c } separation1

c } c } separation2

c } c } separation3

c } c } origin Methods from class SoArray: c } c } SoArray()

c } c } getClassTypeId() Methods from class SoGroup: c } c } addChild(SoNode *child)

c } c } insertChild(SoNode *child, int newChildIndex)

c } c } getChild(int index) const

c } c } findChild(const SoNode *child) const

c } c } getNumChildren() const

c } c } removeChild(int index)

c } c } removeChild(SoNode *child)

c } c } removeAllChildren()

c } c } replaceChild(int index, SoNode *newChild)

c } c } replaceChild(SoNode *oldChild, SoNode *newChild) Methods from class SoNode: c } c } setOverride(SbBool state)

c } c } isOverride() const

c } c } copy(SbBool copyConnections = FALSE) const

c } c } affectsState() const

c } c } getByName(const SbName &name)

c } c } getByName(const SbName &name, SoNodeList &list) Methods from class SoFieldContainer: c } c } setToDefaults()

c } c } hasDefaultValues() const

c } c } fieldsAreEqual(const SoFieldContainer *fc) const

c } c } copyFieldValues(const SoFieldContainer *fc, SbBool copyConnections = FALSE)

c } c } set(const char *fieldDataString)

c } c } get(SbString &fieldDataString)

c } c } getFields(SoFieldList &resultList) const

c } c } getField(const SbName &fieldName) const

c } c } getFieldName(const SoField *field, SbName &fieldName) const

c } c } isNotifyEnabled() const

c } c } enableNotify(SbBool flag) Methods from class SoBase: c } c } ref()

c } c } unref() const

c } c } unrefNoDelete() const

c } c } touch()

c } c } getTypeId() const

c } c } isOfType(SoType type) const

c } c } setName(const SbName &name)

c } c } getName() const

DESCRIPTION

This group node traverses its children, in order, several times, creating a regular 3D array of copies of them. The number of copies in each of the three directions is specified by fields, as are the vectors used to separate the copies in each of the three dimensions. For example, an SoArray node can be used to create a 2x3x4 array of copies of its children, where the separation vectors between adjacent copies in the three array dimensions are (1,2,3), (-4,-5,-6), and (7,8,9), respectively. The base point of the array can be set to one of several values, as described in the origin field. Copies are traversed so that the first dimension cycles most quickly, followed by the second, and then the third. This order is important because SoArray sets the current switch value to N before traversing the children for the Nth time (for use with inherited switch values - see SoSwitch).

FIELDS

c } c } numElements1

c } c } numElements2

c } c } numElements3

Number of elements in each of the three array dimensions. c } c } separation1

c } c } separation2

c } c } separation3

Separation vector in each of the three array dimensions. c } c } origin

Defines the base point from which copies are distributed.

METHODS

c } c } SoArray()

Creates an array node with default settings. c } c } getClassTypeId()

Returns type identifier for this class.

ACTION BEHAVIOR

SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction, SoRayPickAction

Traverses all children for each array element, 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

Array {
numElements1	1
numElements2	1
numElements3	1
separation1	1 0 0
separation2	0 1 0
separation3	0 0 1
origin	FIRST
}

SEE ALSO

SoMultipleCopy, SoSwitch