Class SoMultiPathSwitch
- All Implemented Interfaces:
SafeDisposable
SoMultiPathSwitch
is a group node that traverses its children only if the current traversal path matches one of the SoPath
specified in the paths
field.
This can be used, for example, to affect only specific instances of a subgraph. The paths
field contains a list of paths up to (but not including) the SoMultiPathsSwitch. The paths need not go all the way back to the root; if they do not, then only the number of ancestors that are in the path are compared to see if the children should be traversed.
An empty paths
(the default) means that no children are traversed.
Effectively this is an extended version of SoPathSwitch
.
Note: This node disables the bounding box cache for all SoSeparator
nodes above it in the scene graph. This may reduce performance when moving the camera and the viewer's auto clip plane adjustment is enabled (the default). (It does not affect render caching.)
File format/default:
MultiPathSwitch {
paths | NULL |
Action behavior:
SoGetBoundingBoxAction
Traverses the children if the paths match. Disables bounding box caches.
SoGLRenderAction
, SoCallbackAction
, SoGetBoundingBoxAction
, SoRayPickAction
, SoHandleEventAction
Traverses the children if the paths match.
- See Also:
-
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
FieldsModifier and TypeFieldDescriptionfinal SoMFPath
The list of paths that can match the current traversal path.Fields inherited from class com.openinventor.inventor.nodes.SoGroup
boundingBoxIgnoring
Fields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle
-
Constructor Summary
ConstructorsConstructorDescriptionCreate a multi-path switch node with default settings.SoMultiPathSwitch
(int nChildren) Constructor that takes approximate number of children. -
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
-
paths
The list of paths that can match the current traversal path. Default is empty (no children will be traversed).
-
-
Constructor Details
-
SoMultiPathSwitch
public SoMultiPathSwitch(int nChildren) Constructor that takes approximate number of children. -
SoMultiPathSwitch
public SoMultiPathSwitch()Create a multi-path switch node with default settings.
-