Class SoArray
- All Implemented Interfaces:
SafeDisposable
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
).
File format/default:
Array {
numElements1 | 1 |
numElements2 | 1 |
numElements3 | 1 |
separation1 | 1 0 0 |
separation2 | 0 1 0 |
separation3 | 0 0 1 |
origin | FIRST |
Action behavior:
SoGLRenderAction
, SoCallbackAction
, SoGetBoundingBoxAction
, SoRayPickAction
Traverses all children for each array element, saving and restoring state before and after each traversal. Sets: SoSwitchElement
SoSearchAction
Traverses all children once, setting the inherited switch value to SO_SWITCH_ALL first.
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class com.openinventor.inventor.nodes.SoNode
SoNode.RenderModes
Nested classes/interfaces inherited from class com.openinventor.inventor.Inventor
Inventor.ConstructorCommand
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal SoSFShort
Number of elements in the 1st dimension.final SoSFShort
Number of elements in the 2nd dimension.final SoSFShort
Number of elements in the 3rd dimension.final SoSFEnum
<SoArray.Origins> Defines the base point from which copies are distributed.final SoSFVec3f
Separation vector in the 1st dimension.final SoSFVec3f
Separation vector in the 2nd dimension.final SoSFVec3f
Separation vector in the 3rd dimension.Fields inherited from class com.openinventor.inventor.nodes.SoGroup
boundingBoxIgnoring
Fields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle
-
Constructor Summary
Constructors -
Method Summary
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
Methods inherited from class com.openinventor.inventor.Inventor
getNativeResourceHandle
-
Field Details
-
numElements1
Number of elements in the 1st dimension. -
numElements2
Number of elements in the 2nd dimension. -
numElements3
Number of elements in the 3rd dimension. -
separation1
Separation vector in the 1st dimension. -
separation2
Separation vector in the 2nd dimension. -
separation3
Separation vector in the 3rd dimension. -
origin
Defines the base point from which copies are distributed. . Default is FIRST.
-
-
Constructor Details
-
SoArray
public SoArray()Creates an array node with default settings.
-