Coin  4.0.3
Coin3D core library
Loading...
Searching...
No Matches
Node Classes

Nodes are scene based objects performs various actions such as rendering. More...

Classes

class  SoAlphaTest
 The SoAlphaTest class is a node used to control the GL alpha test function. More...
 
class  SoAnnotation
 The SoAnnotation node draws all its child geometry on top of other geometry. More...
 
class  SoAntiSquish
 The SoAntiSquish class is used to reset to uniform scaling. More...
 
class  SoArray
 The SoArray class is a group node for setting up regular arrays of subgraphs. More...
 
class  SoAsciiText
 The SoAsciiText class renders flat 3D text. More...
 
class  SoBaseColor
 The SoBaseColor class provides a node type for convenient setting of the base material color. More...
 
class  SoBlinker
 The SoBlinker class is a cycling switch node. More...
 
class  SoBumpMap
 The SoBumpMap class is used to map a bump map onto subsequent shapes. More...
 
class  SoBumpMapCoordinate
 The SoBumpMapCoordinate class is a node for providing bump map coordinates to shape nodes. More...
 
class  SoBumpMapTransform
 The SoBumpMapTransform class is used to define 2D bump map transformations. More...
 
class  SoCacheHint
 The SoCacheHint class is a node containing hints about how to cache geometry. More...
 
class  SoCallback
 The SoCallback class is a node type which provides a means of setting callback hooks in the scene graph. More...
 
class  SoCamera
 The SoCamera class is the abstract base class for camera definition nodes. More...
 
class  SoClipPlane
 The SoClipPlane class is a node type for specifying clipping planes. More...
 
class  SoColorIndex
 The SoColorIndex class is used to specify color indices for subsequent shapes. More...
 
class  SoComplexity
 The SoComplexity class is a node type which is used to set the trade-off between quality and performance. More...
 
class  SoCone
 The SoCone class is for rendering cone shapes. More...
 
class  SoCoordinate3
 The SoCoordinate3 class is a node for providing coordinates to shape nodes. More...
 
class  SoCoordinate4
 The SoCoordinate4 class is a node for providing coordinates to shape nodes. More...
 
class  SoCube
 The SoCube class is for rendering cubes. More...
 
class  SoCylinder
 The SoCylinder class is for rendering cylinder shapes. More...
 
class  SoDepthBuffer
 The SoDepthBuffer class is a node used to control the GL depth buffer. More...
 
class  SoDirectionalLight
 The SoDirectionalLight class is a node type for specifying directional light sources. More...
 
class  SoDrawStyle
 The SoDrawStyle class specifies common rendering properties for shapes. More...
 
class  SoEnvironment
 The SoEnvironment class is a node for specifying global rendering parameters. More...
 
class  SoEventCallback
 The SoEventCallback class provides functionality for catching events. More...
 
class  SoExtSelection
 The SoExtSelection class can be used for extended selection functionality. More...
 
class  SoFaceSet
 The SoFaceSet class is used to render and organize non-indexed polygonal face data. More...
 
class  SoFile
 The SoFile class is node container for another model file. More...
 
class  SoFont
 The SoFont class is an appearance node for setting fonts. More...
 
class  SoFontStyle
 The SoFontStyle class changes the appearance of fonts for text rendering nodes. More...
 
class  SoFrustumCamera
 The SoFrustumCamera class defines a camera with a generic frustum.. More...
 
class  SoGeoCoordinate
 The SoGeoCoordinate class is used to specify a list of geographical coordinates. More...
 
class  SoGeoLocation
 The SoGeoLocation class is used to georeference the following nodes. More...
 
class  SoGeoOrigin
 The SoGeoOrigin class is used to specify an absolute geographic location against which geometry is referenced. More...
 
class  SoGeoSeparator
 The SoGeoSeparator class is used to georeference a scene graph. More...
 
class  SoGroup
 The SoGroup class is a node which managed other node instances. More...
 
class  SoImage
 The SoImage class draws a 2D image on the viewport. More...
 
class  SoIndexedFaceSet
 The SoIndexedFaceSet class is used to handle generic indexed facesets. More...
 
class  SoIndexedLineSet
 The SoIndexedLineSet class is used to render and otherwise represent indexed lines. More...
 
class  SoIndexedMarkerSet
 The SoIndexedMarkerSet class is used to display a set of bitmap markers at 3D positions. More...
 
class  SoIndexedNurbsCurve
 The SoIndexedNurbsCurve class is a node for representing smooth curves. More...
 
class  SoIndexedNurbsSurface
 The SoIndexedNurbsSurface class can be used to render NURBS surfaces. More...
 
class  SoIndexedPointSet
 The SoIndexedPointSet class is used to display a set of 3D points. More...
 
class  SoIndexedShape
 The SoIndexedShape class is the superclass for all indexed vertex shapes. More...
 
class  SoIndexedTriangleStripSet
 The SoIndexedTriangleStripSet class keeps data for rendering and otherwise representing triangle strips. More...
 
class  SoInfo
 The SoInfo class is a node for holding text information. More...
 
class  SoLabel
 The SoLabel class is a node for holding label information in a scene graph. More...
 
class  SoLevelOfDetail
 The SoLevelOfDetail class is used to choose a child based on projected size. More...
 
class  SoLight
 The SoLight class is the base class for light emitting nodes. More...
 
class  SoLightModel
 The SoLightModel class is a node for specifying the model for geometry lighting. More...
 
class  SoLinearProfile
 The SoLinearProfile class is a node for specifying linear profile curves. More...
 
class  SoLineSet
 The SoLineSet class is used to render and organize non-indexed polylines. More...
 
class  SoListener
 The SoListener class defines listener attributes used when rendering sound. More...
 
class  SoLocateHighlight
 The SoLocateHighlight class highlights geometry under the cursor. More...
 
class  SoLOD
 The SoLOD class is used to choose a child based distance between viewer and object. More...
 
class  SoMarkerSet
 The SoMarkerSet class displays a set of 2D bitmap markers in 3D. More...
 
class  SoMaterial
 The SoMaterial class is a node type for setting up material values for scene geometry. More...
 
class  SoMaterialBinding
 The SoMaterialBinding class is a node for setting up how materials are mapped to shapes. More...
 
class  SoMatrixTransform
 The SoMatrixTransform class is a transformation node. More...
 
class  SoMultipleCopy
 The SoMultipleCopy class redraws its children multiple times at different transformations. More...
 
class  SoNode
 The SoNode class is the base class for nodes used in scene graphs. More...
 
class  SoNonIndexedShape
 The SoNonIndexedShape class is the superclass for all non-indexed vertex based shapes. More...
 
class  SoNormal
 The SoNormal class is a node for providing normals to the state. More...
 
class  SoNormalBinding
 The SoNormalBinding class is a node for specifying normal vector bindings. More...
 
class  SoNurbsCurve
 The SoNurbsCurve class is a node for representing smooth curves. More...
 
class  SoNurbsProfile
 The SoNurbsProfile class is a node for specifying smooth profile curves. More...
 
class  SoNurbsSurface
 The SoNurbsSurface class is used to render smooth surfaces. More...
 
class  SoOrthographicCamera
 The SoOrthographicCamera class defines a camera node with orthographic rendering. More...
 
class  SoPackedColor
 The SoPackedColor class is a node for setting diffuse and transparency material values. More...
 
class  SoPathSwitch
 The SoPathSwitch class traverses only when current path matches a configurable path. More...
 
class  SoPendulum
 The SoPendulum class is used to create oscillating rotations. More...
 
class  SoPerspectiveCamera
 The SoPerspectiveCamera class defines a camera node with perspective rendering. More...
 
class  SoPickStyle
 The SoPickStyle class is a node for setting up how to do picking. More...
 
class  SoPointLight
 The SoPointLight class is a node type for light sources. More...
 
class  SoPointSet
 The SoPointSet class is used to display a set of 3D points. More...
 
class  SoPolygonOffset
 The SoPolygonOffset class is a node type for "layering" rendering primitives. More...
 
class  SoProfile
 The SoProfile class is the abstract superclass for profile definitions. More...
 
class  SoProfileCoordinate2
 The SoProfileCoordinate2 class is a node specifying a set of 2D coordinates for profiles. More...
 
class  SoProfileCoordinate3
 The SoProfileCoordinate3 class is a node specifying a set of 3D coordinates for profiles. More...
 
class  SoQuadMesh
 The SoQuadMesh class is used to render and optimize a quadrilateral mesh. More...
 
class  SoResetTransform
 The SoResetTransform class is a node type which makes it possible to "nullify" state during traversal. More...
 
class  SoReversePerspectiveCamera
 The SoReversePerspectiveCamera class defines a camera node with reverse perspective rendering. More...
 
class  SoRotation
 The SoRotation class specifies a rotation transformation. More...
 
class  SoRotationXYZ
 The SoRotationXYZ class is a node type for specifying rotation around a particular axis. More...
 
class  SoRotor
 The SoRotor class is a node used to animate rotations. More...
 
class  SoScale
 The SoScale class is a node type for scaling scene graph geometry. More...
 
class  SoSceneTexture2
 The SoSceneTexture2 class is used to create a 2D texture from a Coin scene graph. More...
 
class  SoSceneTextureCubeMap
 Renders a scene into a texture cube map. More...
 
class  SoSelection
 The SoSelection class manages a list of selected nodes. More...
 
class  SoSeparator
 The SoSeparator class is a state-preserving group node. More...
 
class  SoShadowCulling
 The SoShadowCulling class is a node for setting the shadow style on nodes. More...
 
class  SoShadowSpotLight
 The SoShadowSpotLight class is a node for setting up a spot light which casts shadows. More...
 
class  SoShadowStyle
 The SoShadowStyle class is a node for setting the shadow style on nodes. More...
 
class  SoShape
 The SoShape class is the superclass for geometry shapes. More...
 
class  SoShapeHints
 The SoShapeHints class is a node containing hints about how to render geometry. More...
 
class  SoShuttle
 The SoShuttle class is used to oscillate between two translations. More...
 
class  SoSphere
 The SoSphere class is for rendering sphere shapes. More...
 
class  SoSpotLight
 The SoSpotLight class is a node type for light sources with a cone shaped light volume. More...
 
class  SoSurroundScale
 The SoSurroundScale class is used to automatically scale geometry to surround other geometry. More...
 
class  SoSwitch
 The SoSwitch class is a group node which selects one child subgraph for traversal. More...
 
class  SoText2
 The SoText2 class is a node type for visualizing 2D text aligned with the camera plane. More...
 
class  SoText3
 The SoText3 class renders extruded 3D text. More...
 
class  SoTexture
 Common base class for texture nodes. More...
 
class  SoTexture2
 The SoTexture2 class is used to map a 2D texture onto subsequent geometry in the scene graph. More...
 
class  SoTexture2Transform
 The SoTexture2Transform class is used to define 2D texture transformations. More...
 
class  SoTexture3
 The SoTexture3 class is used to map a 3D texture onto geometry. More...
 
class  SoTexture3Transform
 The SoTexture3Transform class is used to define 3D texture transformations. More...
 
class  SoTextureCombine
 The SoTextureCombine class is a node for setting texture combine functions. More...
 
class  SoTextureCoordinate2
 The SoTextureCoordinate2 class contains a set of coordinates for the mapping of 2D textures. More...
 
class  SoTextureCoordinate3
 The SoTextureCoordinate3 class contains a set of coordinates for the mapping of 2D textures. More...
 
class  SoTextureCoordinateBinding
 The SoTextureCoordinateBinding class says how texture coordinates should be bound to shapes. More...
 
class  SoTextureCoordinateCube
 The SoTextureCoordinateCube class generates cube mapped texture coordinates for shapes. More...
 
class  SoTextureCoordinateCylinder
 The SoTextureCoordinateCylinder class generates cylinder mapped texture coordinates for shapes. More...
 
class  SoTextureCoordinateDefault
 The SoTextureCoordinateDefault class removes texture coordinates from the state. More...
 
class  SoTextureCoordinateEnvironment
 The SoTextureCoordinateEnvironment class generates texture coordinates by projecting onto a surrounding texture. More...
 
class  SoTextureCoordinateFunction
 The SoTextureCoordinateFunction class is an abstract base class for texture coordinate generating nodes. More...
 
class  SoTextureCoordinateNormalMap
 The SoTextureCoordinateNormalMap class generates texture coordinates by projecting onto a surrounding texture. More...
 
class  SoTextureCoordinateObject
 The SoTextureCoordinateObject class generates texture coordinates by... More...
 
class  SoTextureCoordinatePlane
 The SoTextureCoordinatePlane class generates texture coordinates by projecting onto a plane. More...
 
class  SoTextureCoordinateReflectionMap
 The SoTextureCoordinateReflectionMap class generates 3D reflection texture coordinates. More...
 
class  SoTextureCoordinateSphere
 The SoTextureCoordinateSphere class generates sphere mapped texture coordinates for shapes. More...
 
class  SoTextureCubeMap
 The SoTextureCubeMap class is used to map a cube map onto subsequent shape nodes. More...
 
class  SoTextureMatrixTransform
 The SoTextureMatrixTransform class is used to define a texture matrix transformation. More...
 
class  SoTextureScalePolicy
 The SoTextureScalePolicy class is a node for controlling the texture scale policy. More...
 
class  SoTextureUnit
 The SoTextureUnit class is a node for setting the active texture unit. More...
 
class  SoTransform
 The SoTransform class is the "all-purpose" transformation node type. More...
 
class  SoTransformation
 The SoTransformation class is the abstract base class for transformation nodes. More...
 
class  SoTransformSeparator
 The SoTransformSeparator class is a group node preserving the current transformations. More...
 
class  SoTranslation
 The SoTranslation class is a node type for specifying geometry translations. More...
 
class  SoTransparencyType
 The SoTransparencyType class is a node for setting the transparency type for shapes. More...
 
class  SoTriangleStripSet
 The SoTriangleStripSet class is used to render and control non-indexed triangle strips. More...
 
class  SoUnits
 The SoUnits class is a node for setting unit types. More...
 
class  SoVertexProperty
 The SoVertexProperty class collects the functionality of various appearance nodes. More...
 
class  SoVertexShape
 The SoVertexShape class is the superclass for all vertex based shapes. More...
 
class  SoWWWAnchor
 The SoWWWAnchor class adds URL callbacks to the highlighted geometry. More...
 
class  SoWWWInline
 The SoWWWInline class is a node used to include data from an URL. More...
 

Macros

#define SO_NODE_ABSTRACT_HEADER(classname)
 
#define SO_NODE_ABSTRACT_SOURCE(classname)
 
#define SO_NODE_ADD_FIELD(field, defaultvalue)
 
#define SO_NODE_CONSTRUCTOR(classname)
 
#define SO_NODE_DEFINE_ENUM_VALUE(enumname, enumvalue)
 
#define SO_NODE_HEADER(classname)
 
#define SO_NODE_INIT_ABSTRACT_CLASS(classname, parentclass, parentname)
 
#define SO_NODE_INIT_CLASS(classname, parentclass, parentname)
 
#define SO_NODE_IS_FIRST_INSTANCE()
 
#define SO_NODE_SOURCE(classname)
 

Detailed Description

Nodes are scene based objects performs various actions such as rendering.

This is the set of nodes Coin implements using the original Open Inventor pattern, meaning they read and write to and from files using the Inventor/VRML1 format, and produce side-effects for subsequent siblings under the same SoSeparator node during action traversal.

A subset of these nodes constitute the VRML1 format, and a bigger subset constitutes the Inventor format. The rest of the nodes are extensions that are not part of any standardized format.

For VRML97 nodes, see the VRMLnodes page.

The VRML1.0 specification is at http://www.web3d.org/x3d/specifications/vrml/VRML1.0/index.html

Macro Definition Documentation

◆ SO_NODE_ABSTRACT_HEADER

#define SO_NODE_ABSTRACT_HEADER ( classname)

This macro adds standard declarations needed in Coin nodes for type identification. It differs from SO_NODE_HEADER in that the object creation part is omitted.

See also
SO_NODE_ABSTRACT_SOURCE

◆ SO_NODE_ABSTRACT_SOURCE

#define SO_NODE_ABSTRACT_SOURCE ( classname)

This macro sets up the implementation of the declarations in SO_NODE_ABSTRACT_HEADER. It should be placed in the implementation file for abstract extension nodes.

See also
SO_NODE_ABSTRACT_HEADER

◆ SO_NODE_ADD_FIELD

#define SO_NODE_ADD_FIELD ( field,
defaultvalue )

This registers a field for a node, and sets its value to the default value. For use in the constructor, below the SO_NODE_CONSTRUCTOR macro.

◆ SO_NODE_CONSTRUCTOR

#define SO_NODE_CONSTRUCTOR ( classname)

Place this in the node constructor. It sets up the field data object for the node class.

◆ SO_NODE_DEFINE_ENUM_VALUE

#define SO_NODE_DEFINE_ENUM_VALUE ( enumname,
enumvalue )

This macro associates enum names with values, used for file input/output.

◆ SO_NODE_HEADER

#define SO_NODE_HEADER ( classname)

This macro adds standard declarations needed in Coin nodes for object creation and type identification.

See also
SO_NODE_SOURCE

◆ SO_NODE_INIT_ABSTRACT_CLASS

#define SO_NODE_INIT_ABSTRACT_CLASS ( classname,
parentclass,
parentname )

This macro is used in the initClass-function in abstract node classes. It registers the class by name (by creating a new SoType for the class) for type identification purposes.

See also
SO_NODE_INIT_CLASS

◆ SO_NODE_INIT_CLASS

#define SO_NODE_INIT_CLASS ( classname,
parentclass,
parentname )

This macro is used in the initClass-function in a node class. It registers the class by name (by creating a new SoType for the class), so file reading will be able to create a node of this type and fill it with its field values.

See also
SO_NODE_INIT_ABSTRACT_CLASS

◆ SO_NODE_IS_FIRST_INSTANCE

#define SO_NODE_IS_FIRST_INSTANCE ( )

This macro can be used as a predicate to test if the constructed node is the first constructed instance of a node class, in case some extra initialization needs to be done that can't be done in the initClass() function.

◆ SO_NODE_SOURCE

#define SO_NODE_SOURCE ( classname)

This macro sets up the implementation of the declarations in SO_NODE_HEADER. It should be placed in the implementation file for extension nodes.

See also
SO_NODE_HEADER