man SoInteractionKit () - base class for all interaction nodekit classes
NAME
SoInteractionKit - base class for all interaction nodekit classes
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit
SYNOPSIS
#include <Inventor/nodekits/SoInteractionKit.h>
enum CacheEnabled {
c
}
c
}
Never build or use a cache
c
}
c
}
Always try to build a cache
c
}
c
}
Automatic caching
}
Fields from class SoInteractionKit:
c
}
c
}
renderCaching
c
}
c
}
boundingBoxCaching
c
}
c
}
renderCulling
c
}
c
}
pickCulling
Parts from class SoBaseKit:
c
}
c
}
callbackList
Methods from class SoInteractionKit:
c
}
c
}
SoInteractionKit()
c
}
c
}
setPartAsPath(const SbName &partName, SoPath *surrogatePath )
c
}
c
}
getClassNodekitCatalog() const
c
}
c
}
getClassTypeId()
Methods from class SoBaseKit:
c
}
c
}
getNodekitCatalog() const
c
}
c
}
getPart(const SbName &partName, SbBool makeIfNeeded)
c
}
c
}
getPartString(const SoBase *part)
c
}
c
}
createPathToPart(const SbName &partName, SbBool makeIfNeeded, const SoPath *pathToExtend = NULL)
c
}
c
}
setPart(const SbName &partName, SoNode *newPart)
c
}
c
}
set(char *partName, char *parameters)
c
}
c
}
set(char *nameValuePairs)
c
}
c
}
isSearchingChildren()
c
}
c
}
setSearchingChildren(SbBool newVal)
Methods from class SoNode:
c
}
c
}
setOverride(SbBool state)
c
}
c
}
isOverride() const
c
}
c
}
copy(SbBool copyConnections = FALSE) const
c
}
c
}
affectsState() const
c
}
c
}
getByName(const SbName &name)
c
}
c
}
getByName(const SbName &name, SoNodeList &list)
Methods from class SoFieldContainer:
c
}
c
}
setToDefaults()
c
}
c
}
hasDefaultValues() const
c
}
c
}
fieldsAreEqual(const SoFieldContainer *fc) const
c
}
c
}
copyFieldValues(const SoFieldContainer *fc, SbBool copyConnections = FALSE)
c
}
c
}
get(SbString &fieldDataString)
c
}
c
}
getFields(SoFieldList &resultList) const
c
}
c
}
getField(const SbName &fieldName) const
c
}
c
}
getFieldName(const SoField *field, SbName &fieldName) const
c
}
c
}
isNotifyEnabled() const
c
}
c
}
enableNotify(SbBool flag)
Methods from class SoBase:
c
}
c
}
ref()
c
}
c
}
unref() const
c
}
c
}
unrefNoDelete() const
c
}
c
}
touch()
c
}
c
}
getTypeId() const
c
}
c
}
isOfType(SoType type) const
c
}
c
}
setName(const SbName &name)
c
}
c
}
getName() const
Macros from class SoBaseKit:
SO_GET_PART(kit, partName, partClass)
SO_CHECK_PART(kit, partName, partClass)
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 setPartAsPath() method 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
c
}
c
}
renderCaching
Set render caching mode. Default is AUTO.
c
}
c
}
boundingBoxCaching
Set bounding box caching mode. Default is ON. Setting this value to AUTO is equivalent to ON - automatic culling is not implemented.
c
}
c
}
renderCulling
Set render culling mode. Default is OFF. Setting this value to AUTO is equivalent to ON - automatic culling is not implemented.
c
}
c
}
pickCulling
Set pick caching mode. Default is AUTO.
METHODS
c
}
c
}
SoInteractionKit()
Constructor.
c
}
c
}
setPartAsPath(const SbName &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 setPart(), 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 getPart() method
in the SoBaseKit reference page for a complete description.)
c
}
c
}
getClassNodekitCatalog() const
Returns an SoNodekitCatalog for the class SoInteractionKit.
c
}
c
}
getClassTypeId()
Returns type identifier for this class.
CATALOG PARTS
box, tab(!); cb s s s lb lb lb lb lb lb lb lb l l l c. All parts !!!NULL by Part Name!Part Type!Default Type!Default
callbackList!NodeKitListPart!--!yes
box, tab(!); cb s s lb lb lbw(3) l l l. Extra information for list parts from above table Part Name!Container Type!Permissible Types
callbackList!Separator!T{ Callback, EventCallback T}
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