table of contents
nodes(3) | Library Functions Manual | nodes(3) |
NAME¶
nodes - Node Classes
SYNOPSIS¶
Classes¶
class SoGeoCoordinate
The SoGeoCoordinate class is used to specify a list of geographical
coordinates. class SoGeoLocation
The SoGeoLocation class is used to georeference the following nodes.
class SoGeoOrigin
The SoGeoOrigin class is used to specify an absolute geographic
location against which geometry is referenced. class SoGeoSeparator
The SoGeoSeparator class is used to georeference a scene graph. class
SoAnnotation
The SoAnnotation node draws all its child geometry on top of other
geometry. class SoAntiSquish
The SoAntiSquish class is used to reset to uniform scaling. class
SoArray
The SoArray class is a group node for setting up regular arrays of
subgraphs. class SoBaseColor
The SoBaseColor class provides a node type for convenient setting of
the base material color. class SoBlinker
The SoBlinker class is a cycling switch node. class SoBumpMap
The SoBumpMap class is used to map a bump map onto subsequent shapes.
class SoBumpMapCoordinate
The SoBumpMapCoordinate class is a node for providing bump map
coordinates to shape nodes. class SoBumpMapTransform
The SoBumpMapTransform class is used to define 2D bump map
transformations. class SoCacheHint
The SoCacheHint class is a node containing hints about how to cache
geometry. class SoCallback
The SoCallback class is a node type which provides a means of setting
callback hooks in the scene graph. class SoCamera
The SoCamera class is the abstract base class for camera definition
nodes. class SoClipPlane
The SoClipPlane class is a node type for specifying clipping planes.
class SoColorIndex
The SoColorIndex class is used to specify color indices for subsequent
shapes. class SoComplexity
The SoComplexity class is a node type which is used to set the tradeoff
between quality and performance. class SoCoordinate3
The SoCoordinate3 class is a node for providing coordinates to shape
nodes. class SoCoordinate4
The SoCoordinate4 class is a node for providing coordinates to shape
nodes. class SoDepthBuffer
The SoDepthBuffer class is a node used to control the GL depth buffer.
class SoDirectionalLight
The SoDirectionalLight class is a node type for specifying directional
light sources. class SoDrawStyle
The SoDrawStyle class specificies common rendering properties for
shapes. class SoEnvironment
The SoEnvironment class is a node for specifying global rendering
parameters. class SoEventCallback
The SoEventCallback class provides functionality for catching events.
class SoExtSelection
The SoExtSelection class can be used for extended selection
functionality. class SoFile
The SoFile class is node container for another model file. class
SoFont
The SoFont class is an appearance node for setting fonts. class
SoFontStyle
The SoFontStyle class changes the appearance of fonts for text
rendering nodes. class SoFrustumCamera
The SoFrustumCamera class defines a camera with a generic frustum..
class SoGroup
The SoGroup class is a node which managed other node instances. class
SoInfo
The SoInfo class is a node for holding text information. class
SoLOD
The SoLOD class is used to choose a child based distance between viewer
and object. class SoLabel
The SoLabel class is a node for holding label information in a scene
graph. class SoLevelOfDetail
The SoLevelOfDetail class is used to choose a child based on projected
size. class SoLight
The SoLight class is the base class for light emitting nodes. class
SoLightModel
The SoLightModel class is a node for specifying the model for geometry
lighting. class SoLinearProfile
The SoLinearProfile class is a node for specifying linear profile
curves. class SoListener
The SoListener class defines listener attributes used when rendering
sound. class SoLocateHighlight
The SoLocateHighlight class highlights geometry under the cursor. class
SoMaterial
The SoMaterial class is a node type for setting up material values for
scene geometry. class SoMaterialBinding
The SoMaterialBinding class is a node for setting up how materials are
mapped to shapes. class SoMatrixTransform
The SoMatrixTransform class is a transformation node. class
SoMultipleCopy
The SoMultipleCopy class redraws it's children multiple times at
different transformations. class SoNode
The SoNode class is the base class for nodes used in scene graphs.
class SoNormal
The SoNormal class is a node for providing normals to the state. class
SoNormalBinding
The SoNormalBinding class is a node for specifying normal vector
bindings. class SoNurbsProfile
The SoNurbsProfile class is a node for specifying smooth profile
curves. class SoOrthographicCamera
The SoOrthographicCamera class defines a camera node with orthographic
rendering. class SoPackedColor
The SoPackedColor class is a node for setting diffuse and transparency
material values. class SoPathSwitch
The SoPathSwitch class traverses only when current path matches a
configurable path. class SoPendulum
The SoPendulum class is used to create oscillating rotations. class
SoPerspectiveCamera
The SoPerspectiveCamera class defines a camera node with perspective
rendering. class SoPickStyle
The SoPickStyle class is a node for setting up how to do picking. class
SoPointLight
The SoPointLight class is a node type for light sources. class
SoPolygonOffset
The SoPolygonOffset class is a node type for 'layering' rendering
primitives. class SoProfile
The SoProfile class is the abstract superclass for profile definitions.
class SoProfileCoordinate2
The SoProfileCoordinate2 class is a node specifying a set of 2D
coordinates for profiles. class SoProfileCoordinate3
The SoProfileCoordinate3 class is a node specifying a set of 3D
coordinates for profiles. class SoResetTransform
The SoResetTransform class is a node type which makes it possible to
'nullify' state during traversal. class SoRotation
The SoRotation class specifies a rotation transformation. class
SoRotationXYZ
The SoRotationXYZ class is a node type for specifying rotation around a
particular axis. class SoRotor
The SoRotor class is a node used to animate rotations. class
SoScale
The SoScale class is a node type for scaling scene graph geometry.
class SoSceneTexture2
The SoSceneTexture2 class is used to create a 2D texture from a Coin
scene graph. class SoSceneTextureCubeMap
Renders a scene into a texture cube map. class SoSelection
The SoSelection class manages a list of selected nodes. class
SoSeparator
The SoSeparator class is a state-preserving group node. class
SoShapeHints
The SoShapeHints class is a node containing hints about how to render
geometry. class SoShuttle
The SoShuttle class is used to oscillate between two translations.
class SoSpotLight
The SoSpotLight class is a node type for light sources with a cone
shaped lightvolume. class SoSurroundScale
The SoSurroundScale class is used to automatically scale geometry to
surround other geometry. class SoSwitch
The SoSwitch class is a group node which selects one child subgraph for
traversal. class SoTexture2
The SoTexture2 class is used to map a 2D texture onto subsequent
geometry in the scenegraph. class SoTexture2Transform
The SoTexture2Transform class is used to define 2D texture
transformations. class SoTexture3
The SoTexture3 class is used to map a 3D texture onto geometry. class
SoTexture3Transform
The SoTexture3Transform class is used to define 3D texture
transformations. class SoTextureCombine
The SoTextureCombine class is a node for setting texture combine
functions. class SoTextureCoordinate2
The SoTextureCoordinate2 class contains a set of coordinates for the
mapping of 2D textures. class SoTextureCoordinate3
The SoTextureCoordinate3 class contains a set of coordinates for the
mapping of 2D textures. class SoTextureCoordinateBinding
The SoTextureCoordinateBinding class says how texture coordinates
should be bound to shapes. class SoTextureCoordinateCube
The SoTextureCoordinateCube class autogenerates cubemapped texture
coordinated for shapes. class SoTextureCoordinateCylinder
The SoTextureCoordinateCylinder class autogenerates cylinder mapped
texture coordinated for shapes. class SoTextureCoordinateDefault
The SoTextureCoordinateDefault class removes texture coordinates from
the state. class SoTextureCoordinateEnvironment
The SoTextureCoordinateEnvironment class generates texture coordinates
by projecting onto a surrounding texture. class
SoTextureCoordinateFunction
The SoTextureCoordinateFunction class is an abstract base class for
texture coordinate generating nodes. class
SoTextureCoordinateNormalMap
The SoTextureCoordinateNormalMap class generates texture coordinates by
projecting onto a surrounding texture. class
SoTextureCoordinateObject
The SoTextureCoordinateObject class generates texture coordinates by...
class SoTextureCoordinatePlane
The SoTextureCoordinatePlane class generates texture coordinates by
projecting onto a plane. class SoTextureCoordinateReflectionMap
The SoTextureCoordinateReflectionMap class generates 3D reflection
texture coordinates. class SoTextureCoordinateSphere
The SoTextureCoordinateSphere class autogenerates spheremapped texture
coordinated for shapes. class SoTextureCubeMap
The SoTextureCubeMap class is used to map a cube map onto subsequent
shape nodes. class SoTextureMatrixTransform
The SoTextureMatrixTransform class is used to define a texture matrix
transformation. class SoTextureScalePolicy
The SoTextureScalePolicy class is a node for controlling the texture
scale policy. class SoTextureUnit
The SoTextureUnit class is a node for setting the active texture unit.
class SoTransform
The SoTransform class is the 'all-purpose' transformation node type.
class SoTransformSeparator
The SoTransformSeparator class is a group node preserving the current
transformations. class SoTransformation
The SoTransformation class is the abstract base class for
transformation nodes. class SoTranslation
The SoTranslation class is a node type for specifying geometry
translations. class SoTransparencyType
The SoTransparencyType class is a node for setting the transparency
type for shapes. class SoUnits
The SoUnits class is a node for setting unit types. class
SoVertexProperty
The SoVertexProperty class collects the functionality of various
appearance nodes. class SoWWWAnchor
The SoWWWAnchor class adds URL callbacks to the highlighted geometry.
class SoWWWInline
The SoWWWInline class is a node used to include data from an URL. class
SoFragmentShader
The SoFragmentShader class is used for setting up fragment shader
programs. class SoGeometryShader
The SoGeometryShader class is used for loading geometry shader
programs. class SoVertexShader
The SoVertexShader class is used for setting up vertex shader programs.
class SoShadowCulling
The SoShadowCulling class is a node for setting the shadow style on
nodes. class SoShadowSpotLight
The SoShadowSpotLight class is a node for setting up a spot light which
casts shadows. class SoShadowStyle
The SoShadowStyle class is a node for setting the shadow style on
nodes. class SoAsciiText
The SoAsciiText class renders flat 3D text. class SoCone
The SoCone class is for rendering cone shapes. class SoCube
The SoCube class is for rendering cubes. class SoCylinder
The SoCylinder class is for rendering cylinder shapes. class
SoFaceSet
The SoFaceSet class is used to render and organize non-indexed
polygonal face data. class SoImage
The SoImage class draws a 2D image on the viewport. class
SoIndexedFaceSet
The SoIndexedFaceSet class is used to handle generic indexed facesets.
class SoIndexedLineSet
The SoIndexedLineSet class is used to render and otherwise represent
indexed lines. class SoIndexedMarkerSet
The SoIndexedMarkerSet class is used to display a set of bitmap markers
at 3D positions. class SoIndexedNurbsCurve
The SoIndexedNurbsCurve class is a node for representing smooth curves.
class SoIndexedNurbsSurface
The SoIndexedNurbsSurface class can be used to render NURBS surfaces.
class SoIndexedPointSet
The SoIndexedPointSet class is used to display a set of 3D points.
class SoIndexedShape
The SoIndexedShape class is the superclass for all indexed vertex
shapes. class SoIndexedTriangleStripSet
The SoIndexedTriangleStripSet class keeps data for rendering and
otherwise representing triangle strips. class SoLineSet
The SoLineSet class is used to render and organize non-indexed
polylines. class SoMarkerSet
The SoMarkerSet class displays a set of 2D bitmap markers in 3D. class
SoNonIndexedShape
The SoNonIndexedShape class is the superclass for all non-indexed
vertex based shapes. class SoNurbsCurve
The SoNurbsCurve class is a node for representing smooth curves. class
SoNurbsSurface
The SoNurbsSurface class is used to render smooth surfaces. class
SoPointSet
The SoPointSet class is used to display a set of 3D points. class
SoQuadMesh
The SoQuadMesh class is used to render and optimize a quadrilateral
mesh. class SoShape
The SoShape class is the superclass for geometry shapes. class
SoSphere
The SoSphere class is for rendering sphere shapes. class SoText2
The SoText2 class is a node type for visualizing 2D text aligned with
the camera plane. class SoText3
The SoText3 class renders extruded 3D text. class
SoTriangleStripSet
The SoTriangleStripSet class is used to render and control non-indexed
triangle strips. class SoVertexShape
The SoVertexShape class is the superclass for all vertex based shapes.
Macros¶
#define SO_NODE_HEADER(classname)
#define SO_NODE_ABSTRACT_HEADER(classname)
#define SO_NODE_INIT_CLASS(classname, parentclass,
parentname)
#define SO_NODE_INIT_ABSTRACT_CLASS(classname,
parentclass, parentname)
#define SO_NODE_SOURCE(classname)
#define SO_NODE_ABSTRACT_SOURCE(classname)
#define SO_NODE_CONSTRUCTOR(classname)
#define SO_NODE_IS_FIRST_INSTANCE()
#define SO_NODE_ADD_FIELD(field, defaultvalue)
#define SO_NODE_DEFINE_ENUM_VALUE(enumname,
enumvalue)
Functions¶
static SoType SoTexture::getClassTypeId
(void)
Common base class for texture nodes.
Detailed Description¶
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 VRML97 Classes page.
The VRML1.0 specification is at http://www.web3d.org/x3d/specifications/vrml/VRML1.0/index.html Dynamic Loading of Extension Nodes
When Coin tries to get hold of a node type object (SoType) for a class based on the name string of the node type, it will - if no such node type has been initialized yet - scan the file system for a dynamically loadable extension node with that given name. This can be completely disabled by setting the environment variable COIN_NO_SOTYPE_DYNLOAD to a positive integer value, new from Coin v2.5.0.
On UNIX, extensions nodes are regular .so files. On Win32, extension nodes are built as DLLs. On Mac OS X systems, extension nodes are built as .dylib files. (Note: The extension nodes have to be built using the flag '-dynamiclib', not '-bundle'.)
Whether the dynamically loadable objects should be named with or without the 'lib' prefix is optional. Both schemes will work.
People don't usually program in a way so that they instantiate new nodes through the node class' SoType object, but that is the way nodes are created when model files are loaded. This means that for all Coin applications that load model files, the custom extension nodes will automatically be supported for the model files without you having to modify their source code and rebuild the applications.
See ftp://ftp.coin3d.org/pub/coin/src/dynloadsample.tar.gz for an example using two dynamically loadable extension nodes. You only use an examiner viewer to view the two extension nodes in action.
Only a limited set of C++ compilers are supported as of yet. This is because, to initialize the extension node, it is necessary to know something about how the C++ compiler mangles the initClass symbol. If we don't know that, there is no way to locate the initClass method in the library, which means the extension node can not make itself known to the type system.
If your C++ compiler is not supported, the source file to add support for a new compiler in is src/misc/cppmangle.icc. It is fairly trivial to add support for new compilers, but if you don't understand how, just ask us about it. Patches with support for new compilers are of course very welcome.
See also
Since
Macro Definition Documentation¶
#define SO_NODE_HEADER(classname)¶
This macro adds standard declarations needed in Coin nodes for object creation and type identification.
See also
#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
#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
#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
#define SO_NODE_SOURCE(classname)¶
This macro sets up the impementation of the declarations in SO_NODE_HEADER. It chould be placed in the implementation file for extension nodes.
See also
#define SO_NODE_ABSTRACT_SOURCE(classname)¶
This macro sets up the impementation of the declarations in SO_NODE_ABSTRACT_HEADER. It chould be placed in the implementation file for abstract extension nodes.
See also
#define SO_NODE_CONSTRUCTOR(classname)¶
Place this in the node constructor. It sets up the fielddata object for the node class.
#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.
#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.
#define SO_NODE_DEFINE_ENUM_VALUE(enumname, enumvalue)¶
This macro associates enum names with values, used for file input/output.
Function Documentation¶
SoType SoTexture::getClassTypeId (void) [static]¶
Common base class for texture nodes. SoTexture SoTexture.h Inventor/nodes/SoTexture.h
Be aware that this class is an extension for Coin, and it is not
available in the original SGI Open Inventor v2.1 API.
Since
Author¶
Generated automatically by Doxygen for Coin from the source code.
Version 3.1.3 | Coin |