SOINTERACTIONKIT(3iv)
β¨ NAME β¨
hey bestie, welcome to the SoInteractionKit(3IV) manual page! SoInteractionKit β base class for all interaction nodekit classes. π
π¦ INHERITS FROM π¦
SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit
π SYNOPSIS π
okay bestie, here's the whole code situation, and yes you need every line: don't skip a single one π
#include <Inventor/nodekits/SoInteractionKit.h>
enum CacheEnabled {
SoInteractionKit::OFF Never build or use a cache
SoInteractionKit::ON Always try to build a cache
SoInteractionKit::AUTO Automatic caching
}
Fields from class SoInteractionKit:
SoSFEnum renderCaching
SoSFEnum boundingBoxCaching
SoSFEnum renderCulling
SoSFEnum pickCulling
Parts from class SoBaseKit:
(SoNodeKitListPart) callbackList
Methods from class SoInteractionKit:
SoInteractionKit()
virtual SbBool setPartAsPath(const SbName &partName, SoPath
*surrogatePath )
static const SoNodekitCatalog *
getClassNodekitCatalog() const
static SoType getClassTypeId()
Methods from class SoBaseKit:
virtual const SoNodekitCatalog *
getNodekitCatalog() const
virtual SoNode * getPart(const SbName &partName, SbBool
makeIfNeeded)
SbString getPartString(const SoBase *part)
virtual SoNodeKitPath * createPathToPart(const SbName &partName, SbBool
makeIfNeeded, const SoPath *pathToExtend =
NULL)
virtual SbBool setPart(const SbName &partName, SoNode *newPart)
SbBool set(char *partName, char *parameters)
SbBool set(char *nameValuePairs)
static SbBool isSearchingChildren()
static void setSearchingChildren(SbBool newVal)
Methods from class SoNode:
void setOverride(SbBool state)
SbBool isOverride() const
SoNode * copy(SbBool copyConnections = FALSE) const
virtual SbBool affectsState() const
static SoNode * getByName(const SbName &name)
static int getByName(const SbName &name, SoNodeList &list)
Methods from class SoFieldContainer:
void setToDefaults()
SbBool hasDefaultValues() const
SbBool fieldsAreEqual(const SoFieldContainer *fc) const
void copyFieldValues(const SoFieldContainer *fc, SbBool
copyConnections = FALSE)
void get(SbString &fieldDataString)
virtual int getFields(SoFieldList &resultList) const
virtual SoField * getField(const SbName &fieldName) const
SbBool getFieldName(const SoField *field, SbName &fieldName)
const
SbBool isNotifyEnabled() const
SbBool enableNotify(SbBool flag)
Methods from class SoBase:
void ref()
void unref() const
void unrefNoDelete() const
void touch()
virtual SoType getTypeId() const
SbBool isOfType(SoType type) const
virtual void setName(const SbName &name)
virtual SbName 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 π₯
SoSFEnum renderCachingβ Set render caching mode. Default isAUTO. πSoSFEnum boundingBoxCachingβ Set bounding box caching mode. Default isON. Setting this value toAUTOis equivalent toONβ automatic culling is not implemented. πSoSFEnum renderCullingβ Set render culling mode. Default isOFF. Setting this value toAUTOis equivalent toONβ automatic culling is not implemented. π¦SoSFEnum pickCullingβ Set pick caching mode. Default isAUTO. β¨
π METHODS π
SoInteractionKit()β Constructor. literally just builds the thing, no cap. πvirtual SbBool 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.) π
static const SoNodekitCatalog * getClassNodekitCatalog() constβ Returns anSoNodekitCatalogfor the classSoInteractionKit. ποΈstatic SoType getClassTypeId()β Returns type identifier for this class. π
π CATALOG PARTS π
All parts
- Part Name:
callbackList- Part Type:
NodeKitListPart - Default Type:
-- - NULL by Default:
yes
- Part Type:
Extra information for list parts from above table
- Part Name:
callbackList- Container Type:
Separator - Permissible Types:
Callback,EventCallback
- Container Type:
π 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
xoxo bestie, that's the whole SoInteractionKit(3IV)() footer vibe β no extra source/version/date, just the manual name and empty parens, periodt. πβ¨
π¦ where this page comes from
- debian bookworm: inventor-doc 2.1.5-10+dfsg-2 Β· LGPL-2.0-or-later
- debian trixie: inventor-doc 2.1.6+ds-2 Β· LGPL-2.0-or-later
- ubuntu jammy: inventor-doc 2.1.5-10-24
- ubuntu noble: inventor-doc 2.1.5-10+dfsg-2.1build2 Β· LGPL-2.0-or-later
- ubuntu questing: inventor-doc 2.1.6+ds-2
- ubuntu resolute: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- ubuntu stonking: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms