1 #ifndef COIN_SOBASEKIT_H 2 #define COIN_SOBASEKIT_H 27 #include <Inventor/nodekits/SoSubKit.h> 28 #include <Inventor/nodes/SoNode.h> 31 #else // !COIN_INTERNAL 33 #include <Inventor/SoNodeKitPath.h> 34 #include <Inventor/misc/SoChildList.h> 35 #endif // !COIN_INTERNAL 44 #define SO_GET_PART(_kit_, _name_, _classname_) \ 45 ((_classname_ *)_kit_->getPart(_name_, TRUE)) 47 #define SO_CHECK_PART(_kit_, _name_, _classname_) \ 48 ((_classname_ *)_kit_->getPart(_name_, FALSE)) 50 #define SO_GET_ANY_PART(_kit_, _name_, _classname_) \ 51 ((_classname_ *)_kit_->getAnyPart(_name_, TRUE, FALSE, FALSE)) 53 #define SO_CHECK_ANY_PART(_kit_, _name_, _classname_) \ 54 ((_classname_ *)_kit_->getAnyPart(_name_, FALSE, FALSE, FALSE)) 62 SO_KIT_CATALOG_ENTRY_HEADER(callbackList);
65 static void initClass(
void);
71 virtual SoNode * getPart(
const SbName & partname, SbBool makeifneeded);
75 const SoPath * pathtoextend = NULL);
76 virtual SbBool setPart(
const SbName & partname,
SoNode * from);
77 SbBool
set(
const char * namevaluepairliststring);
78 SbBool
set(
const char * partnamestring,
const char * parameterstring);
93 void printDiagram(
void);
94 void printSubDiagram(
const SbName & rootname,
int level);
95 void printTable(
void);
98 SbBool forceChildDrivenWriteRefs(
SoOutput * out);
100 static SbBool isSearchingChildren(
void);
101 static void setSearchingChildren(
const SbBool newval);
113 SbBool copyconnections);
116 SbBool makeifneeded = TRUE);
117 virtual SoNode * getAnyPart(
const SbName & partname, SbBool makeifneeded,
118 SbBool leafcheck = FALSE,
119 SbBool publiccheck = FALSE);
122 SbBool leafcheck = FALSE,
123 SbBool publiccheck = FALSE,
124 const SoPath * pathtoextend = NULL);
125 virtual SbBool setAnyPart(
const SbName & partname,
SoNode * from,
126 SbBool anypart = TRUE);
127 void createNodekitPartsList(
void);
128 void createFieldList(
void);
129 virtual void createDefaultParts(
void);
130 const SoNodekitParts * getNodekitPartsList(
void)
const;
133 void catalogError(
void);
134 virtual SbBool setUpConnections(SbBool onoff, SbBool doitalways = FALSE);
136 virtual void setDefaultOnNonWritingFields(
void);
139 virtual SbBool setPart(
const int partNum,
SoNode * node);
147 int & partnum, SbBool & islist,
int & listidx,
148 const SbBool makeifneeded,
SoPath * path = NULL,
149 const SbBool recsearch = FALSE);
150 static void atexit_cleanupkit(
void);
152 SbBool makePart(
const int partnum);
153 int getRightSiblingIndex(
const int partnum);
154 int findNodeInThisKit(
SoNode *node,
const int parentnum = -1)
const;
158 static SbBool searchchildren;
160 class SoBaseKitP * pimpl;
161 friend class SoBaseKitP;
164 #endif // !COIN_SOBASEKIT_H The SoBase class is the top-level superclass for a number of class-hierarchies.SoBase provides the ba...
Definition: SoBase.h:41
virtual void copyContents(const SoFieldContainer *from, SbBool copyconnections)
Definition: SoNode.cpp:1382
The SoBaseKit class is the toplevel superclass for nodekits.Node kits are collections of nodes and ot...
Definition: SoBaseKit.h:57
The SoRayPickAction class does ray intersection with scene graphs.For interaction with the scene grap...
Definition: SoRayPickAction.h:40
virtual void getPrimitiveCount(SoGetPrimitiveCountAction *action)
Definition: SoNode.cpp:846
The SoOutput class is an abstraction of an output stream.SoOutput offers the ability to write basic t...
Definition: SoOutput.h:42
The SoGetMatrixAction class is an action for accumulating the transformation matrix of a subgraph....
Definition: SoGetMatrixAction.h:35
SoChildList * children
Definition: SoBaseKit.h:141
The SoFieldContainer class is a base class for all classes that contain fields.The classes containing...
Definition: SoFieldContainer.h:35
The SoSearchAction class provides methods for searching through scene graphs.Nodes can be searched fo...
Definition: SoSearchAction.h:32
virtual void search(SoSearchAction *action)
Definition: SoNode.cpp:1120
SbBool connectionsSetUp
Definition: SoBaseKit.h:142
The SoNodeKitPath class is a path that contains only nodekit nodes.All other nodes are hidden from th...
Definition: SoNodeKitPath.h:33
The SoNode class is the base class for nodes used in scene graphs.Coin is a retained mode 3D visualiz...
Definition: SoNode.h:47
SbBool set(const char *const fielddata)
Definition: SoFieldContainer.cpp:291
The SoInteractionKit class is a base class for draggers.This nodekit class makes it possible to set s...
Definition: SoInteractionKit.h:41
virtual void rayPick(SoRayPickAction *action)
Definition: SoNode.cpp:1087
The SoChildList class is a container for node children.This class does automatic notification on the ...
Definition: SoChildList.h:33
The SoPath class is a container class for traversal path descriptions.SoPath objects contain a list o...
Definition: SoPath.h:43
The SoNodekitCatalog class is a container for nodekit layouts.Nodekits store all their hierarchical l...
Definition: SoNodekitCatalog.h:36
virtual SbBool readInstance(SoInput *in, unsigned short flags)
Definition: SoNode.cpp:1438
virtual void getMatrix(SoGetMatrixAction *action)
Definition: SoNode.cpp:1001
The SoAction class is the base class for all traversal actions.Applying actions is the basic mechanis...
Definition: SoAction.h:67
The SoGroup class is a node which managed other node instances.The internal scene data structures in ...
Definition: SoGroup.h:31
virtual void doAction(SoAction *action)
Definition: SoNode.cpp:761
The SoHandleEventAction class distributes user events to the scene.This is the action used by the GUI...
Definition: SoHandleEventAction.h:36
The SoGetPrimitiveCountAction class counts the primitives in a scene.Apply this action to a scene if ...
Definition: SoGetPrimitiveCountAction.h:32
The SoGetBoundingBoxAction class calculates bounding boxes for nodes and subgraphs....
Definition: SoGetBoundingBoxAction.h:34
virtual void addWriteReference(SoOutput *out, SbBool isfromfield=0)
Definition: SoFieldContainer.cpp:605
The SoCallbackAction class invokes callbacks at specific nodes.This action has mechanisms for trackin...
Definition: SoCallbackAction.h:70
The SoWriteAction class writes a scene graph to file.When applied to a scene, this action writes its ...
Definition: SoWriteAction.h:31
virtual void getBoundingBox(SoGetBoundingBoxAction *action)
Definition: SoNode.cpp:817
virtual void GLRender(SoGLRenderAction *action)
Definition: SoNode.cpp:904
The SbString class is a string class with convenience functions for string operations....
Definition: SbString.h:42
The SoType class is the basis for the run-time type system in Coin.Many of the classes in the Coin li...
Definition: SoType.h:50
virtual void write(SoWriteAction *action)
Definition: SoNode.cpp:1189
virtual void callback(SoCallbackAction *action)
Definition: SoNode.cpp:974
virtual SoNode * addToCopyDict(void) const
Definition: SoNode.cpp:1334
virtual void handleEvent(SoHandleEventAction *action)
Definition: SoNode.cpp:1031
The SbName class stores strings by reference.The class is used by Coin for storing keywords,...
Definition: SbName.h:31
virtual SoChildList * getChildren(void) const
Definition: SoNode.cpp:1265
The SoGLRenderAction class renders the scene graph with OpenGL calls.Applying this method at a root n...
Definition: SoGLRenderAction.h:39