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.
Sensor class that can be attached to Inventor fields.
Base class for all group nodes.
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?
CacheEnabled
Possible values for caching.
@ AUTO
Decide based on some heuristic.
@ 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.
SoNode()
Constructor, destructor.
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.