SoPathSwitch(3IV)

SoPathSwitch (SoPathSwitch) - group node that traverses only when traversed along a given path

As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.

NAME
     SoPathSwitch (SoPathSwitch) - group node that traverses only when
     traversed along a given path

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoGroup > SoPathSwitch

SYNOPSIS
     #include <Inventor_c/nodes/SoPathSwitch.h>

          Fields from class SoPathSwitch:

     SoSFPath            path

          Functions from class SoPathSwitch:

     SoPathSwitch *      SoPathSwitchCreate()
     SoPathSwitch *      SoPathSwitchCreateN(int nChildren)
     SoType              SoPathSwitchGetClassTypeId()

          Functions from class SoGroup:

     void                SoPathSwitchAddChild(SoPathSwitch *this, SoNode
                              *child)
     void                SoPathSwitchInsertChild(SoPathSwitch *this, SoNode
                              *child, int newChildIndex)
     SoNode *            SoPathSwitchGetChild(const SoPathSwitch *this, int
                              index)
     int                 SoPathSwitchFindChild(const SoPathSwitch *this, const
                              SoNode *child)
     int                 SoPathSwitchGetNumChildren(const SoPathSwitch *this)
     void                SoPathSwitchRemoveChild(SoPathSwitch *this, int
                              index)
     void                SoPathSwitchRemoveChildNode(SoPathSwitch *this,
                              SoNode *child)
     void                SoPathSwitchRemoveAllChildren(SoPathSwitch *this)
     void                SoPathSwitchReplaceChild(SoPathSwitch *this, int
                              index, SoNode *newChild)
     void                SoPathSwitchReplaceChildNode(SoPathSwitch *this,
                              SoNode *oldChild, SoNode *newChild)

          Functions from class SoNode:

     void                SoPathSwitchSetOverride(SoPathSwitch *this, SbBool
                              state)
     SbBool              SoPathSwitchIsOverride(const SoPathSwitch *this)
     SoNode *            SoPathSwitchCopy(const SoPathSwitch *this, SbBool
                              copyConnections = FALSE)
     SbBool              SoPathSwitchAffectsState(const SoPathSwitch *this)
     SoNode *            SoPathSwitchGetByName(const char *name)
     int                 SoPathSwitchGetByNameList(const char *name,
                              SoNodeList *list)
          Functions from class SoFieldContainer:

     void                SoPathSwitchSetToDflts(SoPathSwitch *this)
     SbBool              SoPathSwitchHasDfltVals(const SoPathSwitch *this)
     SbBool              SoPathSwitchFldsAreEq(const SoPathSwitch *this, const
                              SoFieldContainer *fc)
     void                SoPathSwitchCopyFieldVals(SoPathSwitch *this, const
                              SoFieldContainer *fc, SbBool copyConnections =
                              FALSE)
     SbBool              SoPathSwitchSet(SoPathSwitch *this, const char
                              *fieldDataString)
     void                SoPathSwitchGet(SoPathSwitch *this, SbString
                              *fieldDataString)
     int                 SoPathSwitchGetFields(const SoPathSwitch *this,
                              SoFieldList *resultList)
     SoField *           SoPathSwitchGetField(const SoPathSwitch *this, const
                              char *fieldName)
     SbBool              SoPathSwitchGetFieldName(const SoPathSwitch *this,
                              const SoField *field, SbName *fieldName)
     SbBool              SoPathSwitchIsNotifyEnabled(const SoPathSwitch *this)
     SbBool              SoPathSwitchEnableNotify(SoPathSwitch *this, SbBool
                              flag)

          Functions from class SoBase:

     void                SoPathSwitchRef(SoPathSwitch *this)
     void                SoPathSwitchUnref(const SoPathSwitch *this)
     void                SoPathSwitchUnrefNoDelete(const SoPathSwitch *this)
     void                SoPathSwitchTouch(SoPathSwitch *this)
     SoType              SoPathSwitchGetTypeId(const SoPathSwitch *this)
     SbBool              SoPathSwitchIsOfType(const SoPathSwitch *this, SoType
                              type)
     void                SoPathSwitchSetName(SoPathSwitch *this, const char
                              *name)
     SbName              SoPathSwitchGetName(const SoPathSwitch *this)


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
     SoSFPath            path
          The path that must match the current traversal path.

FUNCTIONS
     SoPathSwitch *      SoPathSwitchCreate()
          Creates a path switch node with default settings.

     SoPathSwitch *      SoPathSwitchCreateN(int nChildren)
          Constructor that takes approximate number of children.

     SoType              SoPathSwitchGetClassTypeId()
          Returns type identifier for this class.


ACTION BEHAVIOR
     SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction,
     SoRayPickAction, SoHandleEventAction
          Traverses the children if the paths match.


FILE FORMAT/DEFAULTS
     PathSwitch {
          path  NULL
     }

SEE ALSO
     SoPath, SoSwitch