Package com.openinventor.inventor.nodes
Class SoMultipleCopy
- java.lang.Object
-
- com.openinventor.inventor.Inventor
-
- com.openinventor.inventor.misc.SoBase
-
- com.openinventor.inventor.fields.SoFieldContainer
-
- com.openinventor.inventor.nodes.SoNode
-
- com.openinventor.inventor.nodes.SoGroup
-
- com.openinventor.inventor.nodes.SoMultipleCopy
-
- All Implemented Interfaces:
SafeDisposable
public class SoMultipleCopy extends SoGroup
Group node that traverses multiple times, applying matrices. This group node traverses its children, in order, several times, applying a different matrix each time. The matrices are stored in the multiple-valuematrix
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
).File format/default:
MultipleCopy {
matrix 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 Action behavior:
SoGLRenderAction
,SoCallbackAction
,SoGetBoundingBoxAction
,SoRayPickAction
Traverses all children for each matrix, 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.
-
-
Nested Class Summary
-
Nested 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
Fields Modifier and Type Field Description SoMFMatrix
matrix
Set of matrices to apply to children.-
Fields inherited from class com.openinventor.inventor.nodes.SoGroup
boundingBoxIgnoring
-
Fields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle
-
-
Constructor Summary
Constructors Constructor Description SoMultipleCopy()
Creates a multiple copy node with default settings.
-
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 Detail
-
matrix
public final SoMFMatrix matrix
Set of matrices to apply to children.
-
-