SoInteractionKit(3IV)

SoInteractionKit (SoInteractKit) - base class for all interaction nodekit classes

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.22.

NAME
     SoInteractionKit (SoInteractKit) - base class for all interaction nodekit
     classes

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit

SYNOPSIS
     #include <Inventor_c/nodekits/SoInteractionKit.h>

     typedef SoInteractionKit  SoInteractKit

     enum SoInteractionKitCacheEnabled {
          SO_INTERACT_KIT_OFF   Never build or use a cache
          SO_INTERACT_KIT_ON    Always try to build a cache
          SO_INTERACT_KIT_AUTO  Automatic caching
     }

          Fields from class SoInteractionKit:

     SoSFEnum            renderCaching
     SoSFEnum            boundingBoxCaching
     SoSFEnum            renderCulling
     SoSFEnum            pickCulling

          Parts from class SoBaseKit:

     (SoNodeKitListPart)  callbackList

          Functions from class SoInteractionKit:

     SoInteractionKit *        SoInteractKitCreate()
     SbBool                    SoInteractKitSetPartAsPath(SoInteractKit *this,
                                    const char *partName, SoPath
                                    *surrogatePath )
     const SoNodekitCatalog *  SoInteractKitGetClassNkitCat()
     SoType                    SoInteractKitGetClassTypeId()

          Functions from class SoBaseKit:

     const SoNodekitCatalog *  SoInteractKitGetCat(const SoInteractKit *this)
     SoNode *                  SoInteractKitGetPart(SoInteractKit *this, const
                                    char *partName, SbBool makeIfNeeded)
     SbString                  SoInteractKitGetPartString(SoInteractKit *this,
                                    const SoBase *part)
     SoNodeKitPath *           SoInteractKitCreatePathToPart(SoInteractKit
                                    *this, const char *partName, SbBool
                                    makeIfNeeded, const SoPath *pathToExtend =
                                    NULL)
     SbBool                    SoInteractKitSetPart(SoInteractKit *this, const
                                    char *partName, SoNode *newPart)

     SbBool                    SoInteractKitSet(SoInteractKit *this, char
                                    *partName, char *parameters)
     SbBool                    SoInteractKitSet2(SoInteractKit *this, char
                                    *nameValuePairs)
     SbBool                    SoInteractKitIsSearchingChildren()
     void                      SoInteractKitSetSearchingChildren(SbBool
                                    newVal)

          Functions from class SoNode:

     void                SoInteractKitSetOverride(SoInteractKit *this, SbBool
                              state)
     SbBool              SoInteractKitIsOverride(const SoInteractKit *this)
     SoNode *            SoInteractKitCopy(const SoInteractKit *this, SbBool
                              copyConnections = FALSE)
     SbBool              SoInteractKitAffectsState(const SoInteractKit *this)
     SoNode *            SoInteractKitGetByName(const char *name)
     int                 SoInteractKitGetByNameList(const char *name,
                              SoNodeList *list)

          Functions from class SoFieldContainer:

     void                SoInteractKitSetToDflts(SoInteractKit *this)
     SbBool              SoInteractKitHasDfltVals(const SoInteractKit *this)
     SbBool              SoInteractKitFldsAreEq(const SoInteractKit *this,
                              const SoFieldContainer *fc)
     void                SoInteractKitCopyFieldVals(SoInteractKit *this, const
                              SoFieldContainer *fc, SbBool copyConnections =
                              FALSE)
     void                SoInteractKitGet(SoInteractKit *this, SbString
                              *fieldDataString)
     int                 SoInteractKitGetFields(const SoInteractKit *this,
                              SoFieldList *resultList)
     SoField *           SoInteractKitGetField(const SoInteractKit *this,
                              const char *fieldName)
     SbBool              SoInteractKitGetFieldName(const SoInteractKit *this,
                              const SoField *field, SbName *fieldName)
     SbBool              SoInteractKitIsNotifyEnabled(const SoInteractKit
                              *this)
     SbBool              SoInteractKitEnableNotify(SoInteractKit *this, SbBool
                              flag)

          Functions from class SoBase:

     void                SoInteractKitRef(SoInteractKit *this)
     void                SoInteractKitUnref(const SoInteractKit *this)
     void                SoInteractKitUnrefNoDelete(const SoInteractKit *this)
     void                SoInteractKitTouch(SoInteractKit *this)
     SoType              SoInteractKitGetTypeId(const SoInteractKit *this)
     SbBool              SoInteractKitIsOfType(const SoInteractKit *this,
                              SoType type)

     void                SoInteractKitSetName(SoInteractKit *this, const char
                              *name)
     SbName              SoInteractKitGetName(const SoInteractKit *this)


DESCRIPTION
     This is the base class for all classes of interaction nodekits.
     Currently, the only subclass is SoDragger, which reacts to click-drag-
     release events from the mouse.

     This node has four fields corresponding to those of an SoSeparator: They
     are renderCaching, boundingBoxCaching, renderCulling, and pickCulling.
     They behave the same here as they do for an SoSeparator

     The SoInteractKitSetPartAsPath() function provides support for creating
     "stand-in" objects for parts in the interaction kit. The "stand-in", or
     "surrogate" part, is a path to an object that lies somewhere else in the
     scene graph.

FIELDS
     SoSFEnum            renderCaching
          Set render caching mode. Default is AUTO.

     SoSFEnum            boundingBoxCaching
          Set bounding box caching mode. Default is ON. Setting this value to
          AUTO is equivalent to ON - automatic culling is not implemented.

     SoSFEnum            renderCulling
          Set render culling mode. Default is OFF. Setting this value to AUTO
          is equivalent to ON - automatic culling is not implemented.

     SoSFEnum            pickCulling
          Set pick caching mode. Default is AUTO.


FUNCTIONS
     SoInteractionKit *        SoInteractKitCreate()
          Constructor.

     SbBool                    SoInteractKitSetPartAsPath(SoInteractKit *this,
                                    const char *partName, SoPath
                                    *surrogatePath )
          Sets any public part in the interaction kit as a "surrogate" path
          instead. The object at the end of the path serves as a stand-in when
          a pick occurs, and can thus initiate interaction.

          Instead of the usual SoInteractKitSetPart(), which replaces partName
          with a new node, this will remove the node being used for partName
          from the scene and remember the surrogatePath you give it. Later,
          any pick on surrogatePath will be regarded as a pick on partName.

          For example, set the XRotator part of an SoTrackballDragger to be
          the path to an object in the scene. The rest of the trackball will
          look the same, but the XRotator stripe will disappear. However,
          click the mouse on the object at the end of surrogatePath and the
          ball will start to drag in rotation around its X axis.

          Note that this is different from setting the part to be the node at
          the end of the path. When you set the part as a node, a second
          instance will be drawn in the local space of the interaction kit.
          When you set it as a path, the object itself is used, not a copy.

          The partName may be any part name that follows the nodekit syntax
          for parts, such as childList[0].shape or rotator.rotatorActive. (See
          the SoKitGetPart() function in the SoBaseKit reference page for a
          complete description.)

     const SoNodekitCatalog *  SoInteractKitGetClassNkitCat()
          Returns an SoNodekitCatalog for the class SoInteractionKit.

     SoType                    SoInteractKitGetClassTypeId()
          Returns type identifier for this class.


CATALOG PARTS
     _________________________________________________________
                             All parts
                                                      NULL by
      Part Name      Part Type         Default Type   Default

      callbackList   NodeKitListPart   --               yes

     _________________________________________________________
     |




                                                              |





     ________________________________________________________________
            Extra information for list parts from above table

      Part Name      Container Type   Permissible Types

                                      Callback, EventCallback
      callbackList   Separator

     ________________________________________________________________
     |




                                                                     |






FILE FORMAT/DEFAULTS
     InteractionKit {
          renderCaching       AUTO
          boundingBoxCaching  AUTO
          renderCulling       AUTO
          pickCulling         AUTO
          callbackList        NULL
     }

SEE ALSO
     SoBaseKit, SoInteraction, SoNodeKitDetail, SoNodeKitPath,
     SoNodekitCatalog, SoDragger, SoCenterballDragger,
     SoDirectionalLightDragger, SoDragPointDragger, SoHandleBoxDragger,
     SoJackDragger, SoPointLightDragger, SoRotateCylindricalDragger,
     SoRotateDiscDragger, SoRotateSphericalDragger, SoScale1Dragger,
     SoScale2Dragger, SoScale2UniformDragger, SoScaleUniformDragger,
     SoSpotLightDragger, SoTabBoxDragger, SoTabPlaneDragger,
     SoTrackballDragger, SoTransformBoxDragger, SoTranslate1Dragger,
     SoTranslate2Dragger