- All Implemented Interfaces:
public class SoArray extends SoGroupGroup node that creates a regular IxJxK array of copies of its children. 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
SoArraynode 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
Copies are traversed so that the first dimension cycles most quickly, followed by the second, and then the third. This order is important because
SoArraysets the current switch value to N before traversing the children for the Nth time (for use with inherited switch values - see
numElements1 1 numElements2 1 numElements3 1 separation1 1 0 0 separation2 0 1 0 separation3 0 0 1 origin FIRST
Traverses all children for each array element, saving and restoring state before and after each traversal. Sets:
Traverses all children once, setting the inherited switch value to SO_SWITCH_ALL first.
Nested Class Summary
Nested Classes Modifier and Type Class Description
Nested classes/interfaces inherited from class com.openinventor.inventor.nodes.SoNode
Fields Modifier and Type Field Description
numElements1Number of elements in the 1st dimension.
numElements2Number of elements in the 2nd dimension.
numElements3Number of elements in the 3rd dimension.
originDefines the base point from which copies are distributed.
separation1Separation vector in the 1st dimension.
separation2Separation vector in the 2nd dimension.
separation3Separation vector in the 3rd dimension.
Constructors Constructor Description
SoArray()Creates an array node with default settings.
Methods inherited from class com.openinventor.inventor.nodes.SoGroup
addChild, findChild, getChild, getNumChildren, insertChild, removeAllChildren, removeChild, removeChild, replaceChild, replaceChild
Methods inherited from class com.openinventor.inventor.nodes.SoNode
affectsState, callback, copy, copy, distribute, doAction, getAlternateRep, getBoundingBox, getByName, getMatrix, getPrimitiveCount, getRenderEngineMode, getRenderUnitID, GLRender, GLRenderBelowPath, GLRenderInPath, GLRenderOffPath, grabEventsCleanup, grabEventsSetup, handleEvent, isBoundingBoxIgnoring, isOverride, pick, rayPick, search, setOverride, touch, write
Methods inherited from class com.openinventor.inventor.fields.SoFieldContainer
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaults
Methods inherited from class com.openinventor.inventor.misc.SoBase
dispose, getName, isDisposable, isSynchronizable, setName, setSynchronizable
public final SoSFShort numElements1Number of elements in the 1st dimension.
public final SoSFShort numElements2Number of elements in the 2nd dimension.
public final SoSFShort numElements3Number of elements in the 3rd dimension.
public final SoSFVec3f separation1Separation vector in the 1st dimension.
public final SoSFVec3f separation2Separation vector in the 2nd dimension.
public final SoSFVec3f separation3Separation vector in the 3rd dimension.