54#include <Inventor/fields/SoFieldContainer.h>
55#include <Inventor/nodes/SoSubNode.h>
56#include <Inventor/SoLists.h>
57#include <Inventor/SbString.h>
58#include <Inventor/SoType.h>
59#include <Inventor/sensors/SoDataSensor.h>
60#include <Inventor/STL/vector>
61#include <Inventor/SbPImpl.h>
66#pragma warning(disable:4251)
86class SoComputeRenderUnitIDAction;
95class SoCachedGroupImpl;
104SO_PIMPL_BASE_PUBLIC_DECLARATION(
SoNode)
148 SO_PIMPL_BASE_PUBLIC_HEADER(
SoNode)
199 inline virtual void setOverride(
const SbBool state);
204 inline virtual SbBool isOverride()
const;
268 inline virtual SbBool isBoundingBoxIgnoring()
const;
272 virtual void doAction(
SoAction *action);
298 virtual void grabEventsSetup();
299 virtual void grabEventsCleanup();
314 virtual int32_t getRenderUnitID()
const;
321 SoNode * copyForPROTO(
SbBool copyConnections = FALSE)
const;
329 static void initClass();
330 static void exitClass();
333 static void initClasses();
334 static void exitClasses();
337 virtual void startNotify();
340 virtual void notify(SoNotList *list);
343 uint64_t getNodeId()
const {
return m_uniqueId; }
346 static uint64_t getNextNodeId();
349 virtual SoChildList *getChildren()
const;
350 virtual bool isSynchronizingContentOnly() {
return FALSE; }
351 virtual SoChildList *internalGetChildren()
const;
353 virtual void internalRemoveChild(
int);
354 virtual void internalRemoveChild(
SoNode *);
355 virtual void internalRemoveAllChildren();
359 virtual void internalAddChild(
SoNode *);
360 virtual int internalFindChild(
const SoNode *)
const;
361 virtual void internalInsertChild(
SoNode *,
int);
362 virtual SoNode *internalGetChild(
int )
const;
363 virtual void internalReplaceChild(
int,
SoNode *);
365 virtual int internalGetNumChildren();
368 SoNode* getChangedChild()
const;
369 int getChangedIndex()
const;
373 virtual void writeInstance(
SoOutput *out);
377 static int getActionMethodIndex(
SoType t);
381 virtual SoNode * addToCopyDict()
const;
400 virtual bool affectsPath()
const;
407 static void setNextActionMethodIndex(
int index);
408 static int getNextActionMethodIndex();
409 static void incNextActionMethodIndex();
420 static int nextActionMethodIndex;
437 void commonConstructor();
440 template <
class SPEC_ACTION >
445 SoNode* m_cachedAlternateRep;
454 m_projCoords = projCoords;
464 static bool s_catchGLError;
467 friend class SoTraversalPassImpl;
468 friend class SoLdmValuationAction;
470 friend class SoLightPath;
472 friend class StringConcatCallback;
473 friend class SoChildList;
475 friend class inventor::impl::SoCachedGroupImpl;
476 friend class inventor::node::SoConstNode;
487SoNode::isBoundingBoxIgnoring()
const
Character string stored in a hash table.
Cache projected coordinates.
Abstract base class for all actions.
Stores the most recently opened cache.
Performs a generic traversal of a scene graph or path.
static void postWarning(const char *methodName, const char *formatString ...)
Posts a warning.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Computes a distr...
Abstract base class for objects that contain fields.
Renders a scene graph using Open Inventor's Render Engine.
Computes bounding box of a scene.
Computes transformation matrix for a subgraph.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Counts number of...
Allows nodes in a graph to receive input events.
Abstract base class for all database nodes.
static int getByName(const SbName &name, SoNodeList &list)
A node's name can be set using SoBase::setName().
virtual void setOverride(const SbBool state)
Turns the override flag on or off.
virtual SbBool affectsState() const
Returns TRUE if a node has an effect on the state during traversal.
static SoNode * getByName(const SbName &name)
A node's name can be set using SoBase::setName().
virtual void touch()
Marks an instance as modified, simulating a change to it.
virtual SoNode * copy(SbBool copyConnections=FALSE) const
Creates and returns an exact copy of the node.
virtual SbBool isOverride() const
Returns the state of the override flag.
Maintains a list of pointers to nodes.
Used to write Open Inventor data files.
Path that points to a list of hierarchical nodes.
Abstract base class for picking objects in a scene.
Intersects objects with a ray cast into scene.
Searches for nodes in a scene graph.
Stores runtime type information.
Writes a scene graph to a file.