Class SoPathSwitch

  • All Implemented Interfaces:
    SafeDisposable

    public class SoPathSwitch
    extends SoGroup
    Group node that traverses only when traversed along a given path. 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:
    SoPath, SoMultiPathSwitch, SoMultiSwitch, SoSwitch
    • Field Detail

      • path

        public final SoSFPath path
        The path that must match the current traversal path. Default is empty.
    • Constructor Detail

      • SoPathSwitch

        public SoPathSwitch​(int nChildren)
        Constructor that takes approximate number of children.
      • SoPathSwitch

        public SoPathSwitch()
        Creates a path switch node with default settings.