SoInteractionKit(3IV)NAMESoInteractionKit (SoInteractKit) - base class for all interaction nodekit
classes
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKitSYNOPSIS
#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)
Page 1SoInteractionKit(3IV)
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)
Page 2SoInteractionKit(3IV)
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.
FUNCTIONSSoInteractionKit * 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
Page 3SoInteractionKit(3IV)
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,
Page 4SoInteractionKit(3IV)
SoRotateDiscDragger, SoRotateSphericalDragger, SoScale1Dragger,
SoScale2Dragger, SoScale2UniformDragger, SoScaleUniformDragger,
SoSpotLightDragger, SoTabBoxDragger, SoTabPlaneDragger,
SoTrackballDragger, SoTransformBoxDragger, SoTranslate1Dragger,
SoTranslate2Dragger
Page 5