SoPathSwitch — group node that traverses only when traversed along a given path
Contents
Action Behavior
SoGLRenderAction,SoCallbackAction,SoGetBoundingBoxAction,SoRayPickAction,SoHandleEventAction
Traverses the children if the paths match.
Description
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. A NULL path means that the children are never traversed.
Fields
SoSFPathpath
The path that must match the current traversal path.
File Format/Defaults
PathSwitch{pathNULL}Inherits From
SoBase > SoFieldContainer > SoNode > SoGroup > SoPathSwitch
Methods
SoPathSwitch()
Creates a path switch node with default settings.
SoPathSwitch(intnChildren)
Constructor that takes approximate number of children.
staticSoTypegetClassTypeId()
Returns type identifier for this class.
Name
SoPathSwitch — group node that traverses only when traversed along a given path
See Also
SoPath,SoSwitchSoPathSwitch(3IV)()
Synopsis
#include<Inventor/nodes/SoPathSwitch.h>
Fields from class SoPathSwitch:
SoSFPathpath
Methods from class SoPathSwitch:
SoPathSwitch()SoPathSwitch(intnChildren)staticSoTypegetClassTypeId()
Methods from class SoGroup:
voidaddChild(SoNode*child)voidinsertChild(SoNode*child,intnewChildIndex)SoNode*getChild(intindex)constintfindChild(constSoNode*child)constintgetNumChildren()constvoidremoveChild(intindex)voidremoveChild(SoNode*child)voidremoveAllChildren()voidreplaceChild(intindex,SoNode*newChild)voidreplaceChild(SoNode*oldChild,SoNode*newChild)
Methods from class SoNode:
voidsetOverride(SbBoolstate)SbBoolisOverride()constSoNode*copy(SbBoolcopyConnections=FALSE)constvirtualSbBoolaffectsState()conststaticSoNode*getByName(constSbName&name)staticintgetByName(constSbName&name,SoNodeList&list)
Methods from class SoFieldContainer:
voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)SbBoolset(constchar*fieldDataString)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)
Methods from class SoBase:
voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const