public class SoArray extends SoGroup
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:
Modifier and Type | Class and Description |
---|---|
static class |
SoArray.Origins
Array origin.
|
SoNode.RenderModes
Inventor.ConstructorCommand
Modifier and Type | Field and Description |
---|---|
SoSFShort |
numElements1
Number of elements in the 1st dimension.
|
SoSFShort |
numElements2
Number of elements in the 2nd dimension.
|
SoSFShort |
numElements3
Number of elements in the 3rd dimension.
|
SoSFEnum<SoArray.Origins> |
origin
Defines the base point from which copies are distributed.
|
SoSFVec3f |
separation1
Separation vector in the 1st dimension.
|
SoSFVec3f |
separation2
Separation vector in the 2nd dimension.
|
SoSFVec3f |
separation3
Separation vector in the 3rd dimension.
|
boundingBoxIgnoring
VERBOSE_LEVEL, ZeroHandle
Constructor and Description |
---|
SoArray()
Creates an array node with default settings.
|
addChild, findChild, getChild, getNumChildren, insertChild, removeAllChildren, removeChild, removeChild, replaceChild, replaceChild
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
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaults
dispose, getName, isDisposable, isSynchronizable, setName, setSynchronizable
getNativeResourceHandle
public final SoSFShort numElements1
public final SoSFShort numElements2
public final SoSFShort numElements3
public final SoSFVec3f separation1
public final SoSFVec3f separation2
public final SoSFVec3f separation3
public final SoSFEnum<SoArray.Origins> origin
Generated on July 31, 2019, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com