SoInteractionKit(3IV)
SoInteractionKit (SoInteractKit) - base class for all interaction nodekit classes
As shipped in IRIX 6.5.22. 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