Open Inventor Reference
|
Abstract base class for all database nodes. More...
#include <Inventor/nodes/SoNode.h>
Public Types | |
enum | Stage { FIRST_INSTANCE, PROTO_INSTANCE, OTHER_INSTANCE } |
Public Member Functions | |
void | setOverride (SbBool state) |
Turns override flag on or off. | |
SbBool | isOverride () const |
Returns the state of the override flag. | |
SoNode * | copy (SbBool copyConnections=FALSE) const |
Creates and returns an exact copy of the node. | |
virtual SbBool | affectsState () const |
Returns TRUE if a node has an effect on the state during traversal. | |
virtual void | doAction (SoAction *action) |
This method performs the "typical" operation of a node for any action. | |
virtual void | GLRender (SoGLRenderAction *action) |
These virtual functions implement all of the actions for nodes, Most of the default implementations do nothing. | |
virtual void | callback (SoCallbackAction *action) |
virtual void | getBoundingBox (SoGetBoundingBoxAction *action) |
virtual void | getMatrix (SoGetMatrixAction *action) |
virtual void | handleEvent (SoHandleEventAction *action) |
virtual void | pick (SoPickAction *action) |
virtual void | rayPick (SoRayPickAction *action) |
virtual void | search (SoSearchAction *action) |
virtual void | write (SoWriteAction *action) |
virtual void | GLRenderBelowPath (SoGLRenderAction *action) |
These methods make render traversal faster by implementing different rendering paths corresponding to different action path codes. | |
virtual void | GLRenderInPath (SoGLRenderAction *action) |
virtual void | GLRenderOffPath (SoGLRenderAction *action) |
virtual void | grabEventsSetup () |
These virtual functions are called when a node gains or loses status as "grabber" of events (see HandleEventAction::setGrabber()). | |
virtual void | grabEventsCleanup () |
virtual void | startNotify () |
Initiates notification from an instance. | |
virtual void | notify (SoNotList *list) |
Propagates modification notification through an instance. | |
uint32_t | getNodeId () const |
Returns the unique id for a node. | |
virtual SoChildList * | getChildren () const |
Returns pointer to children, or NULL if none. | |
virtual void | writeInstance (SoOutput *out) |
Writes instance to SoOutput. (Used for either stage of writing.) | |
virtual SoNode * | addToCopyDict () const |
Recursively adds this node and all nodes under it to the copy dictionary. | |
virtual void | copyContents (const SoFieldContainer *fromFC, SbBool copyConnections) |
Copies the contents of the given node into this instance. | |
virtual SoFieldContainer * | copyThroughConnection () const |
Copies an instance that is encountered through a field connection. | |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Returns type identifier for the SoNode class. | |
static SoNode * | getByName (const SbName &name) |
Returns the last node given the specified name. | |
static int | getByName (const SbName &name, SoNodeList &list) |
Returns the number of nodes with the given name, and adds to list pointers to those nodes. | |
static void | initClass () |
Initializes base node class. | |
static void | initClasses () |
Initialize ALL Inventor node classes. | |
static uint32_t | getNextNodeId () |
Returns the next available unique id. | |
static int | getActionMethodIndex (SoType t) |
Returns the index of this node in the action/method table, given its type. | |
Protected Member Functions | |
SoNode () | |
Constructor, destructor. | |
virtual | ~SoNode () |
Static Protected Member Functions | |
static const SoFieldData ** | getFieldDataPtr () |
This is used by the field-inheritence mechanism, hidden in the SoSubNode macros. | |
Protected Attributes | |
uint32_t | uniqueId |
Unique id for this node. | |
Static Protected Attributes | |
static uint32_t | nextUniqueId |
Next available unique id. | |
static int | nextActionMethodIndex |
Next index into the action method table. |
This is the abstract base class from which all scene graph node classes are derived.
enum SoNode::Stage |
SoNode::SoNode | ( | ) | [protected] |
virtual SoNode::~SoNode | ( | ) | [protected, virtual] |
virtual SoNode* SoNode::addToCopyDict | ( | ) | const [virtual] |
Returns the copy of this node.
Reimplemented in SoUnknownNode, and SoBaseKit.
virtual SbBool SoNode::affectsState | ( | ) | const [virtual] |
The default method returns TRUE. Node classes (such as SoSeparator) that isolate their effects from the rest of the graph override this method to return FALSE.
Reimplemented in SoArray, SoMultipleCopy, SoSeparator, SoShape, SoSwitch, SoInteractionKit, SoNodeKitListPart, SoSceneKit, and SoSeparatorKit.
virtual void SoNode::callback | ( | SoCallbackAction * | action | ) | [virtual] |
Reimplemented in SoArray, SoBaseColor, SoCallback, SoCamera, SoClipPlane, SoComplexity, SoCoordinate3, SoCoordinate4, SoDrawStyle, SoEnvironment, SoFile, SoFont, SoFontStyle, SoGroup, SoLevelOfDetail, SoLightModel, SoLOD, SoMaterial, SoMaterialBinding, SoMatrixTransform, SoMultipleCopy, SoNormal, SoNormalBinding, SoPackedColor, SoPickStyle, SoProfile, SoProfileCoordinate2, SoProfileCoordinate3, SoResetTransform, SoRotation, SoRotationXYZ, SoScale, SoSeparator, SoShape, SoShapeHints, SoSwitch, SoTexture2, SoTexture2Transform, SoTextureCoordinate2, SoTextureCoordinateBinding, SoTextureCoordinateDefault, SoTextureCoordinateEnvironment, SoTextureCoordinatePlane, SoTransform, SoTransformSeparator, SoTranslation, SoUnits, SoVertexProperty, SoWWWInline, SoDirectionalLightManip, SoPointLightManip, SoSpotLightManip, SoTransformManip, SoAntiSquish, SoSurroundScale, SoPolygonOffset, SoBaseKit, and SoNodeKitListPart.
If the node is a group, it copies the children as well. If copyConnections
is TRUE (it is FALSE by default), any connections to (but not from) fields of the node are copied, as well. Note that multiple references to a node under the node to be copied will result in multiple references to the copy of that node.
virtual void SoNode::copyContents | ( | const SoFieldContainer * | fromFC, |
SbBool | copyConnections | ||
) | [virtual] |
The default implementation copies just field values and the name.
Reimplemented from SoFieldContainer.
Reimplemented in SoCallback, SoFile, SoGroup, SoWWWInline, SoUnknownNode, SoRotateCylindricalDragger, SoRotateSphericalDragger, SoDirectionalLightManip, SoPointLightManip, SoSpotLightManip, SoTransformManip, SoInteractionKit, SoBaseKit, and SoNodeKitListPart.
virtual SoFieldContainer* SoNode::copyThroughConnection | ( | ) | const [virtual] |
Reimplemented from SoFieldContainer.
virtual void SoNode::doAction | ( | SoAction * | action | ) | [virtual] |
The default implementation does nothing.
Reimplemented in SoArray, SoBaseColor, SoCallback, SoCamera, SoClipPlane, SoComplexity, SoCoordinate3, SoCoordinate4, SoDrawStyle, SoFile, SoFont, SoFontStyle, SoGroup, SoLevelOfDetail, SoLightModel, SoLOD, SoMaterial, SoMaterialBinding, SoMatrixTransform, SoMultipleCopy, SoNormal, SoNormalBinding, SoPackedColor, SoPathSwitch, SoPickStyle, SoProfile, SoProfileCoordinate2, SoProfileCoordinate3, SoResetTransform, SoRotation, SoRotationXYZ, SoScale, SoSeparator, SoShapeHints, SoSwitch, SoTexture2, SoTexture2Transform, SoTextureCoordinate2, SoTextureCoordinateBinding, SoTextureCoordinateDefault, SoTextureCoordinateEnvironment, SoTextureCoordinatePlane, SoTransform, SoTransformSeparator, SoTranslation, SoUnits, SoVertexProperty, SoWWWInline, SoDirectionalLightManip, SoPointLightManip, SoSpotLightManip, SoTransformManip, SoAntiSquish, SoSurroundScale, SoPolygonOffset, SoBaseKit, and SoNodeKitListPart.
static int SoNode::getActionMethodIndex | ( | SoType | t | ) | [inline, static] |
Definition at line 206 of file SoNode.h.
References SoType::getData().
virtual void SoNode::getBoundingBox | ( | SoGetBoundingBoxAction * | action | ) | [virtual] |
Reimplemented in SoArray, SoBlinker, SoCallback, SoCamera, SoComplexity, SoCoordinate3, SoCoordinate4, SoFile, SoFont, SoFontStyle, SoGroup, SoIndexedLineSet, SoIndexedNurbsCurve, SoLineSet, SoLOD, SoMatrixTransform, SoMultipleCopy, SoNurbsCurve, SoPathSwitch, SoPointSet, SoProfile, SoProfileCoordinate2, SoResetTransform, SoRotation, SoRotationXYZ, SoScale, SoSeparator, SoShape, SoShapeHints, SoSwitch, SoTransform, SoTransformSeparator, SoTranslation, SoUnits, SoVertexProperty, SoWWWInline, SoCenterballDragger, SoDragger, SoDirectionalLightManip, SoPointLightManip, SoSpotLightManip, SoTransformManip, SoAntiSquish, SoSurroundScale, SoBaseKit, and SoNodeKitListPart.
A node's name can be set using SoBase::setName(). Returns the number of nodes with the given name, and adds to list
pointers to those nodes.
static int SoNode::getByName | ( | const SbName & | name, |
SoNodeList & | list | ||
) | [static] |
A node's name can be set using SoBase::setName().
virtual SoChildList* SoNode::getChildren | ( | ) | const [virtual] |
Reimplemented in SoFile, SoGroup, SoWWWInline, SoDirectionalLightManip, SoPointLightManip, SoSpotLightManip, SoTransformManip, SoBaseKit, and SoNodeKitListPart.
static SoType SoNode::getClassTypeId | ( | ) | [inline, static] |
Reimplemented from SoFieldContainer.
static const SoFieldData** SoNode::getFieldDataPtr | ( | ) | [inline, static, protected] |
virtual void SoNode::getMatrix | ( | SoGetMatrixAction * | action | ) | [virtual] |
Reimplemented in SoArray, SoCallback, SoFile, SoGroup, SoMatrixTransform, SoMultipleCopy, SoPathSwitch, SoResetTransform, SoRotation, SoRotationXYZ, SoScale, SoSeparator, SoSwitch, SoTexture2Transform, SoTransform, SoTransformSeparator, SoTranslation, SoUnits, SoWWWInline, SoCenterballDragger, SoDirectionalLightManip, SoPointLightManip, SoSpotLightManip, SoTransformManip, SoAntiSquish, SoSurroundScale, SoBaseKit, and SoNodeKitListPart.
virtual void SoNode::GLRender | ( | SoGLRenderAction * | action | ) | [virtual] |
Reimplemented in SoArray, SoAsciiText, SoBaseColor, SoCallback, SoCamera, SoClipPlane, SoColorIndex, SoComplexity, SoCone, SoCoordinate3, SoCoordinate4, SoCube, SoCylinder, SoDirectionalLight, SoDrawStyle, SoEnvironment, SoFaceSet, SoFile, SoFont, SoFontStyle, SoGroup, SoIndexedFaceSet, SoIndexedLineSet, SoIndexedNurbsCurve, SoIndexedNurbsSurface, SoIndexedTriangleSet, SoIndexedTriangleStripSet, SoLevelOfDetail, SoLightModel, SoLineSet, SoLOD, SoMaterial, SoMaterialBinding, SoMatrixTransform, SoMultipleCopy, SoNormal, SoNormalBinding, SoNurbsCurve, SoNurbsSurface, SoPackedColor, SoPathSwitch, SoPointLight, SoPointSet, SoProfile, SoProfileCoordinate2, SoProfileCoordinate3, SoQuadMesh, SoResetTransform, SoRotation, SoRotationXYZ, SoScale, SoSeparator, SoShape, SoShapeHints, SoSphere, SoSpotLight, SoSwitch, SoText2, SoText3, SoTexture2, SoTexture2Transform, SoTextureCoordinate2, SoTextureCoordinateBinding, SoTextureCoordinateDefault, SoTextureCoordinateEnvironment, SoTextureCoordinatePlane, SoTransform, SoTransformSeparator, SoTranslation, SoTriangleStripSet, SoUnits, SoVertexProperty, SoWWWInline, SoTabPlaneDragger, SoDirectionalLightManip, SoPointLightManip, SoSpotLightManip, SoTransformManip, SoAntiSquish, SoSurroundScale, SoPolygonOffset, SoBaseKit, and SoNodeKitListPart.
virtual void SoNode::GLRenderBelowPath | ( | SoGLRenderAction * | action | ) | [virtual] |
The SoNode methods just call GLRender.
Reimplemented in SoAnnotation, SoLocateHighlight, SoLOD, and SoSeparator.
virtual void SoNode::GLRenderInPath | ( | SoGLRenderAction * | action | ) | [virtual] |
Reimplemented in SoAnnotation, SoLocateHighlight, SoLOD, and SoSeparator.
virtual void SoNode::GLRenderOffPath | ( | SoGLRenderAction * | action | ) | [virtual] |
Reimplemented in SoLOD, and SoSeparator.
virtual void SoNode::grabEventsCleanup | ( | ) | [virtual] |
Reimplemented in SoDragger.
virtual void SoNode::grabEventsSetup | ( | ) | [virtual] |
The default methods do nothing.
Reimplemented in SoDragger.
virtual void SoNode::handleEvent | ( | SoHandleEventAction * | action | ) | [virtual] |
Reimplemented in SoArray, SoCallback, SoCamera, SoEventCallback, SoFile, SoGroup, SoLocateHighlight, SoMultipleCopy, SoPathSwitch, SoSeparator, SoSwitch, SoWWWAnchor, SoWWWInline, SoDragger, SoDirectionalLightManip, SoPointLightManip, SoSpotLightManip, SoTransformManip, SoSelection, SoBaseKit, and SoNodeKitListPart.
static void SoNode::initClass | ( | ) | [static] |
Reimplemented from SoFieldContainer.
Reimplemented in SoUpgrader, SoV1CustomNode, SoAnnotation, SoArray, SoAsciiText, SoBaseColor, SoBlinker, SoCallback, SoCamera, SoClipPlane, SoColorIndex, SoComplexity, SoCone, SoCoordinate3, SoCoordinate4, SoCube, SoCylinder, SoDirectionalLight, SoDrawStyle, SoEnvironment, SoEventCallback, SoFaceSet, SoFile, SoFont, SoFontStyle, SoGroup, SoIndexedFaceSet, SoIndexedLineSet, SoIndexedNurbsCurve, SoIndexedNurbsSurface, SoIndexedShape, SoIndexedTriangleSet, SoIndexedTriangleStripSet, SoInfo, SoLabel, SoLevelOfDetail, SoLight, SoLightModel, SoLinearProfile, SoLineSet, SoLocateHighlight, SoLOD, SoMaterial, SoMaterialBinding, SoMatrixTransform, SoMultipleCopy, SoNonIndexedShape, SoNormal, SoNormalBinding, SoNurbsCurve, SoNurbsProfile, SoNurbsSurface, SoOrthographicCamera, SoPackedColor, SoPathSwitch, SoPendulum, SoPerspectiveCamera, SoPickStyle, SoPointLight, SoPointSet, SoProfile, SoProfileCoordinate2, SoProfileCoordinate3, SoQuadMesh, SoResetTransform, SoRotation, SoRotationXYZ, SoRotor, SoScale, SoSeparator, SoShape, SoShapeHints, SoShuttle, SoSphere, SoSpotLight, SoSwitch, SoText2, SoText3, SoTexture2, SoTexture2Transform, SoTextureCoordinate2, SoTextureCoordinateBinding, SoTextureCoordinateDefault, SoTextureCoordinateEnvironment, SoTextureCoordinateFunction, SoTextureCoordinatePlane, SoTransform, SoTransformation, SoTransformSeparator, SoTranslation, SoTriangleStripSet, SoUnits, SoVertexProperty, SoVertexShape, SoWWWAnchor, SoWWWInline, SoUnknownNode, SoCenterballDragger, SoDirectionalLightDragger, SoDragger, SoDragPointDragger, SoHandleBoxDragger, SoJackDragger, SoPointLightDragger, SoRotateCylindricalDragger, SoRotateDiscDragger, SoRotateSphericalDragger, SoScale1Dragger, SoScale2Dragger, SoScale2UniformDragger, SoScaleUniformDragger, SoSpotLightDragger, SoTabBoxDragger, SoTabPlaneDragger, SoTrackballDragger, SoTransformBoxDragger, SoTransformerDragger, SoTranslate1Dragger, SoTranslate2Dragger, SoCenterballManip, SoDirectionalLightManip, SoHandleBoxManip, SoJackManip, SoPointLightManip, SoSpotLightManip, SoTabBoxManip, SoTrackballManip, SoTransformBoxManip, SoTransformerManip, SoTransformManip, SoInteractionKit, SoAntiSquish, SoSelection, SoSurroundScale, SoPolygonOffset, SoAppearanceKit, SoBaseKit, SoCameraKit, SoLightKit, SoNodeKitListPart, SoSceneKit, SoSeparatorKit, SoShapeKit, and SoWrapperKit.
static void SoNode::initClasses | ( | ) | [static] |
Reimplemented in SoUpgrader, and SoDragger.
virtual void SoNode::notify | ( | SoNotList * | list | ) | [virtual] |
Reimplemented from SoFieldContainer.
Reimplemented in SoBlinker, SoIndexedShape, SoSeparator, and SoVertexShape.
virtual void SoNode::pick | ( | SoPickAction * | action | ) | [virtual] |
Reimplemented in SoArray, SoCallback, SoClipPlane, SoComplexity, SoCoordinate3, SoCoordinate4, SoFile, SoFont, SoFontStyle, SoGroup, SoMaterialBinding, SoMatrixTransform, SoMultipleCopy, SoNormal, SoNormalBinding, SoPathSwitch, SoPickStyle, SoProfile, SoProfileCoordinate2, SoProfileCoordinate3, SoResetTransform, SoRotation, SoRotationXYZ, SoScale, SoShapeHints, SoSwitch, SoTexture2Transform, SoTextureCoordinate2, SoTextureCoordinateBinding, SoTextureCoordinateDefault, SoTextureCoordinateEnvironment, SoTextureCoordinatePlane, SoTransform, SoTransformSeparator, SoTranslation, SoUnits, SoVertexProperty, SoWWWInline, SoDirectionalLightManip, SoPointLightManip, SoSpotLightManip, SoTransformManip, SoAntiSquish, SoSurroundScale, and SoNodeKitListPart.
virtual void SoNode::rayPick | ( | SoRayPickAction * | action | ) | [virtual] |
Reimplemented in SoAsciiText, SoCamera, SoCone, SoCube, SoCylinder, SoIndexedNurbsCurve, SoIndexedNurbsSurface, SoLevelOfDetail, SoLOD, SoNurbsCurve, SoNurbsSurface, SoSeparator, SoShape, SoSphere, SoText2, SoText3, and SoBaseKit.
virtual void SoNode::search | ( | SoSearchAction * | action | ) | [virtual] |
Reimplemented in SoArray, SoCallback, SoGroup, SoMultipleCopy, SoPathSwitch, SoSeparator, SoSwitch, SoWWWInline, SoUnknownNode, SoDirectionalLightManip, SoPointLightManip, SoSpotLightManip, SoTransformManip, SoBaseKit, and SoNodeKitListPart.
void SoNode::setOverride | ( | SbBool | state | ) |
virtual void SoNode::startNotify | ( | ) | [virtual] |
Reimplemented from SoBase.
virtual void SoNode::write | ( | SoWriteAction * | action | ) | [virtual] |
Reimplemented in SoBlinker, SoCallback, SoGroup, SoSwitch, SoUnknownNode, and SoBaseKit.
virtual void SoNode::writeInstance | ( | SoOutput * | out | ) | [virtual] |
Reimplemented from SoFieldContainer.
int SoNode::nextActionMethodIndex [static, protected] |
uint32_t SoNode::nextUniqueId [static, protected] |
uint32_t SoNode::uniqueId [protected] |