Class SoPathSwitch
- All Implemented Interfaces:
SafeDisposable
SoPathSwitch
is a group node that traverses its children only if the current traversal path matches the SoPath
in the path
field.
This can be used, for example, to affect only one instance of a subgraph. The path
field contains the path up to (but not including) the SoPathSwitch
. The path need not go all the way back to the root; if it does not, then only the number of ancestors that are in the path are compared to see if the children should be traversed.
An empty path (the default) means that no children are traversed.
There is an extended version of this node, SoMultiPathSwitch
, that traverses its children if the current path matches any of the paths in a list of paths.
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:
PathSwitch {
path | 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 SoSFPath
The path that must 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
ConstructorsConstructorDescriptionCreates a path switch node with default settings.SoPathSwitch
(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
-
path
The path that must match the current traversal path. Default is empty.
-
-
Constructor Details
-
SoPathSwitch
public SoPathSwitch(int nChildren) Constructor that takes approximate number of children. -
SoPathSwitch
public SoPathSwitch()Creates a path switch node with default settings.
-