55#ifndef _SO_INTERACTION_KIT_
56#define _SO_INTERACTION_KIT_
187 const SbName &newNodeName,
bool onlyIfAlready =
TRUE);
199 SbName &surrogateNameInOwner,
200 SoPath *&surrogatePathInOwner,
201 bool fillArgs =
TRUE );
215 bool copyConnections);
220 bool leafCheck =
FALSE,
bool publicCheck =
FALSE );
223 bool leafCheck =
FALSE,
bool publicCheck =
FALSE,
224 const SoPath *pathToExtend = NULL );
226 bool anyPart =
TRUE );
233 bool leafCheck =
FALSE,
234 bool publicCheck =
FALSE );
241 const char defaultBuffer[],
248 bool onlyIfAlready =
TRUE );
250 const SbName &newNodeName,
bool anyPart =
TRUE,
251 bool onlyIfAlready =
TRUE );
254 bool leafCheck =
FALSE,
bool publicCheck =
FALSE );
307 SbPList *surrogatePartNameList;
309 void setMySurrogatePath(
const SbName &name,
SoPath *newPath );
310 int indexOfSurrogateInMyList(
const SoPath *pathToCheck);
313 static SoGroup *readFromFile(
const char *fileName);
314 static SoGroup *readFromBuffer(
const char defaultBuffer[],
int defBufSize);
#define SoEXTENDER
Provide inline template functions for abs, swap, min, max, and clamp.
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
#define SO_KIT_CATALOG_ENTRY_HEADER(partName)
This defines an SoSFNode field for the catalog part given.
#define SO_KIT_HEADER(className)
Character string stored in a hash table.
List of generic (void *) pointers.
Base class for all node kits.
Abstract base class for objects that contain fields.
Sensor class that can be attached to Inventor fields.
Base class for all group nodes.
Base class for all interaction nodekit classes.
virtual bool setAnyPart(const SbName &partName, SoNode *from, bool anyPart=TRUE)
SoSFEnum renderCaching
Set render caching mode. Default is AUTO.
static void initClass()
initialize the class
virtual SoNode * getAnyPart(const SbName &partName, bool makeIfNeeded, bool leafCheck=FALSE, bool publicCheck=FALSE)
These are overloaded to set the surrogate path to NULL after completing their work.
static void setSwitchValue(SoNode *n, int newVal)
virtual bool setPartAsDefault(const SbName &partName, SoNode *newNode, bool onlyIfAlready=TRUE)
Sets the part, then sets the field for that part to default using partField.setDefault(TRUE).
virtual bool readInstance(SoInput *in, unsigned short flags)
Reads in from file.
virtual SoNodeKitPath * createPathToAnyPart(const SbName &partName, bool makeIfNeeded, bool leafCheck=FALSE, bool publicCheck=FALSE, const SoPath *pathToExtend=NULL)
virtual bool setAnyPartAsPath(const SbName &partName, SoPath *surrogatePath, bool leafCheck=FALSE, bool publicCheck=FALSE)
This allows you to set any part in the nodekit as a surrogate path.
virtual bool setPartAsDefault(const SbName &partName, const SbName &newNodeName, bool onlyIfAlready=TRUE)
SoFieldSensor * fieldSensor
This sensor will watch the topSeparator part.
virtual void setDefaultOnNonWritingFields()
Called by the SoBaseKit::write() method.
bool isPathSurrogateInMySubgraph(const SoPath *pathToCheck)
Is the 'inPath' valid as a surrogate path anywhere in this node's subgraph? Examines the surrogate pa...
CacheEnabled
Possible values for caching.
@ OFF
Never build or use a cache.
@ ON
Always try to build a cache.
static void readDefaultParts(const char *fileName, const char defaultBuffer[], int defBufSize)
read from buffer
bool isPathSurrogateInMySubgraph(const SoPath *pathToCheck, SoPath *&pathToOwner, SbName &surrogateNameInOwner, SoPath *&surrogatePathInOwner, bool fillArgs=TRUE)
static void fieldSensorCB(void *, SoSensor *)
void connectSeparatorFields(SoSeparator *dest, bool onOff)
SoSFEnum boundingBoxCaching
Set bounding box caching mode.
SoSFEnum renderCulling
Set render culling mode.
virtual bool affectsState() const
Override the default behavior of SoNode.
virtual void copyContents(const SoFieldContainer *fromFC, bool copyConnections)
Copies the contents of the given instance into this instance This copies the surrogatePartPathList an...
bool setAnySurrogatePath(const SbName &inName, SoPath *inPath, bool leafCheck=FALSE, bool publicCheck=FALSE)
SoSFEnum pickCulling
Set pick caching mode. Default is AUTO.
virtual bool setAnyPartAsDefault(const SbName &partName, const SbName &newNodeName, bool anyPart=TRUE, bool onlyIfAlready=TRUE)
virtual bool setAnyPartAsDefault(const SbName &partName, SoNode *newNode, bool anyPart=TRUE, bool onlyIfAlready=TRUE)
Protected versions of these methods that allow you to set non-leaf and/or private parts.
virtual bool setPartAsPath(const SbName &partName, SoPath *surrogatePath)
Sets any public part in the interaction kit as a "surrogate" path instead.
virtual bool setUpConnections(bool onOff, bool doItAlways=FALSE)
detach/attach any sensors, callbacks, and/or field connections.
Path that points to a list of hierarchical nodekits.
Abstract base class for all database nodes.
Maintains a list of pointers to paths.
Path that points to a list of hierarchical nodes.
Field containing an enumerated value.
Abstract base class for Inventor sensors.
Group node that saves and restores traversal state.