table of contents
| nodes(3) | Coin | nodes(3) |
NAME¶
nodes
SYNOPSIS¶
Classes¶
class SoGeoCoordinate
The SoGeoCoordinate class is used to specify a list of geographical
coordinates.
FILE FORMAT/DEFAULTS: " class SoGeoLocation
The SoGeoLocation class is used to georeference the following
nodes.
FILE FORMAT/DEFAULTS: " class SoGeoOrigin
The SoGeoOrigin class is used to specify an absolute geographic
location against which geometry is referenced.
FILE FORMAT/DEFAULTS: " class SoGeoSeparator
The SoGeoSeparator class is used to georeference a scene graph.
FILE FORMAT/DEFAULTS: " class SoAnnotation
The SoAnnotation node draws all its child geometry on top of other
geometry.
This group-type node uses delayed rendering in combination with
Z-buffer disabling to let its children transparently render their geometry
on top of the other geometry in the scene. " class SoAntiSquish
The SoAntiSquish class is used to reset to uniform scaling.
When traversed, this node replaces the scale vector of the matrix
with uniform values, based on one of the SoAntiSquish::Sizing
strategies. " class SoArray
The SoArray class is a group node for setting up regular arrays of
subgraphs.
SoArray presents a convenient way of duplicating a node
(typically a shape node) or a complete subgraph in 1 to 3 dimensions. "
class SoBaseColor
The SoBaseColor class provides a node type for convenient setting of
the base material color.
If you want to just set the diffuse color of the following
geometry, you can use this node for simplicity. " class
SoBlinker
The SoBlinker class is a cycling switch node.
This switch node cycles its children SoBlinker::speed
number of times per second. If the node has only one child, it will be
cycled on and off. Cycling can be turned off using the SoBlinker::on
field, and the node then behaves like a normal SoSwitch node. "
class SoBumpMap
The SoBumpMap class is used to map a bump map onto subsequent
shapes.
SoBumpMap has support for two types of maps. If the image
is a three component (RGB) image, it will be treated as a normal map, where
the red image component equals the X normal component, green equals Y, and
blue is Z. See
http://www.paulsprojects.net/tutorials/simplebump/simplebump.html for a nice
introduction about bump mapping and normal maps. " class
SoBumpMapCoordinate
The SoBumpMapCoordinate class is a node for providing bump map
coordinates to shape nodes.
When encountering nodes of this type during traversal, the
coordinates it contains will be put on the state stack for later use by
shape nodes. The bump map coordinates can be used to specify explicit
coordinates for a bump map. The SoBumpMap node is used to specify a
bump map for the shape nodes. " class SoBumpMapTransform
The SoBumpMapTransform class is used to define 2D bump map
transformations.
Bump maps applied to shapes in the scene can be transformed by
'prefixing' in the state with instances of this node type. Translations,
rotations and scaling in 2D can all be done. " class SoCacheHint
The SoCacheHint class is a node containing hints about how to cache
geometry.
The SoCacheHint node is used to set up clues to the
rendering subsystem about how Coin should cache vertex data. " class
SoCallback
The SoCallback class is a node type which provides a means of setting
callback hooks in the scene graph.
By inserting SoCallback nodes in a scene graph, the
application programmer can set up functions to be executed at certain points
in the traversal. " class SoCamera
The SoCamera class is the abstract base class for camera definition
nodes.
To be able to view a scene, one needs to have a camera in the
scene graph. A camera node will set up the projection and viewing matrices
for rendering of the geometry in the scene. " class SoClipPlane
The SoClipPlane class is a node type for specifying clipping
planes.
A scene graph without any SoClipPlane nodes uses six
clipping planes to define the viewing frustum: top, bottom, left, right,
near and far. If you want extra clipping planes for 'slicing' the visible
geometry, you can do that by using nodes of this type. Geometry on the back
side of the clipping plane is clipped away. " class SoColorIndex
The SoColorIndex class is used to specify color indices for subsequent
shapes.
This node should only be used in OpenGL color-index mode, and only
when the current light model is set to SoLightModel::BASE_COLOR.
" class SoComplexity
The SoComplexity class is a node type which is used to set the tradeoff
between quality and performance.
By inserting SoComplexity nodes in the scene graph, you can
control the accuracy by which complex shapes are rendered and the quality of
the texture mapping used for geometry in the scene. " class
SoCoordinate3
The SoCoordinate3 class is a node for providing coordinates to shape
nodes.
When encountering nodes of this type during traversal, the
coordinates it contains will be put on the state stack for later use by
shape nodes of types which needs coordinate sets (like SoFaceSet
nodes or SoPointSet nodes). " class SoCoordinate4
The SoCoordinate4 class is a node for providing coordinates to shape
nodes.
When encountering nodes of this type during traversal, the
coordinates it contains will be put on the statestack for later use by shape
nodes of types which needs coordinate sets (like SoFaceSet nodes or
SoPointSet 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.
A directional light source provides a model of light sources which
are at infinite distance from the geometry it illuminates, thereby having no
set position and consisting of an infinite volume of parallel rays. "
class SoDrawStyle
The SoDrawStyle class specificies common rendering properties for
shapes.
Use SoDrawStyle nodes to influence how shape nodes
following them in the scenegraph will be rendered. This node type have
fields to help decide how certain aspects of point-based shapes, line-based
shapes and filled shape primitives are rendered. " class
SoEnvironment
The SoEnvironment class is a node for specifying global rendering
parameters.
This node type provides the application programmer with the
ability to set global parameters influencing lighting and fog. " class
SoEventCallback
The SoEventCallback class provides functionality for catching
events.
Use SoEventCallback nodes in the scenegraph for catching
user interaction events with the scenegraph's render canvas. " class
SoExtSelection
The SoExtSelection class can be used for extended selection
functionality.
This class enables you to select geometry by specifying a lasso (a
polygon) or a rectangle on screen. When objects are selected, you'll receive
the same callbacks as for the SoSelection node. " class
SoFile
The SoFile class is node container for another model file.
This node provides a way to split your models into a set of
'component' models to include into larger 'master' files. " class
SoFont
The SoFont class is an appearance node for setting fonts.
Successive text rendering nodes (like SoText2,
SoText3, SoAsciiText, etc) will use the font specified from an
SoFont node when visualizing text. " class SoFontStyle
The SoFontStyle class changes the appearance of fonts for text
rendering nodes.
Successive text rendering nodes will use fonts with the style
settings of this node, if a font with the given settings can be found and
loaded from the system. " 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.
The internal scene data structures in Coin are managed as directed
graphs. The graphs are built by setting up a hierarchy through the use of
group nodes (either of this type, or from subclasses like
SoSeparator) which is then traversed when applying actions (like
SoGLRenderAction) to it. " class SoInfo
The SoInfo class is a node for holding text information.
This is simply a placeholder for textual information about a
scene. Typically used for specifying author and copyright information in
Inventor format files, but can also be used for other purposes, of course.
" class SoLOD
The SoLOD class is used to choose a child based distance between viewer
and object.
The class documentation for the SoLOD node class would be
similar enough to that of SoLevelOfDetail that we will refer you to
look at that one first. It will explain the general principles of what a
level-of-detail mechanism is, and why and how to use it. " class
SoLabel
The SoLabel class is a node for holding label information in a scene
graph.
Use this node as a convenient way of labeling nodes or subgraphs
within a scene graph. " class SoLevelOfDetail
The SoLevelOfDetail class is used to choose a child based on projected
size.
A level-of-detail mechanism is typically used by application
programmers to assist the library in speeding up the rendering. " class
SoLight
The SoLight class is the base class for light emitting nodes.
This node type is abstract and does not in itself provide any
light sources to the scene, you need to use one of its subclasses. "
class SoLightModel
The SoLightModel class is a node for specifying the model for geometry
lighting.
Use nodes of this type to set up how lighting should affect
subsequent geometry in the scene. " class SoLinearProfile
The SoLinearProfile class is a node for specifying linear profile
curves.
Use nodes of this type if you want to set up profiles that are
simply straight lines connected by control points. " class
SoListener
The SoListener class defines listener attributes used when rendering
sound.
When rendering geometry, one needs to have a camera defining
certain attributes related to vieweing. The SoListener plays a
similar role when it comes to rendering audio. " class
SoLocateHighlight
The SoLocateHighlight class highlights geometry under the cursor.
Note: this node is supposed to draw to the front buffer. However,
in Coin we always draw to the back buffer, forcing a scene redraw whenever a
highlight state changes. " class SoMaterial
The SoMaterial class is a node type for setting up material values for
scene geometry.
After traversing an SoMaterial node, subsequent shape nodes
with geometry in the scene graph will use values from the material 'pool' of
the traversal state set up from nodes of this type. " class
SoMaterialBinding
The SoMaterialBinding class is a node for setting up how materials are
mapped to shapes.
The material binding specified in nodes of this type decides how
the material values of SoMaterial nodes are mapped on the builtin
geometry shape nodes. " class SoMatrixTransform
The SoMatrixTransform class is a transformation node.
This class is the most flexible transformation node, as you can
use it to accumulate any kind of transformation matrix on top of the current
model transformation matrix. " class SoMultipleCopy
The SoMultipleCopy class redraws it's children multiple times at
different transformations.
The SoMultipleCopy group node duplicates it's children
nodes / subgraphs without using additional memory resources. " class
SoNode
The SoNode class is the base class for nodes used in scene graphs.
Coin is a retained mode 3D visualization library
(built on top of the immediate mode OpenGL library). 'Retained
mode' means that instead of passing commands to draw graphics primitives
directly to the renderer, you build up data structures which are rendered by
the library on demand. " class SoNormal
The SoNormal class is a node for providing normals to the state.
Coin will automatically calculate normals for you if no
SoNormal nodes are present in the scene graph, but explicitly setting
normals is useful for at least two purposes: 1) a potential increase in
performance, 2) you can calculate and use 'incorrect' normals to do various
special effects. " class SoNormalBinding
The SoNormalBinding class is a node for specifying normal vector
bindings.
Use nodes of this type to specify how to map normal vectors from
SoNormal nodes in the scene graph to shape nodes. " class
SoNurbsProfile
The SoNurbsProfile class is a node for specifying smooth profile
curves.
Use nodes of this type if you want to set up profiles that are
smooth curves. " class SoOrthographicCamera
The SoOrthographicCamera class defines a camera node with orthographic
rendering.
Orthographic rendering will not give a particularly realistic
impression of the scene, but non-realistic rendering is for various reasons
widely used in applications for e.g. Computer Aided Design. " class
SoPackedColor
The SoPackedColor class is a node for setting diffuse and transparency
material values.
This node provides a convenient way of setting diffuse colors and
transparency values with packed 32-bit RGBA vectors. " class
SoPathSwitch
The SoPathSwitch class traverses only when current path matches a
configurable path.
FILE FORMAT/DEFAULTS: " class SoPendulum
The SoPendulum class is used to create oscillating rotations.
A smooth transition between rotation0 and rotation1 is created
using a cosine function. In the beginning of the cycle, rotation0 is used.
Halfway through the cycle, the resulting rotation equals rotation1, and at
the end of the cycle, we're at rotation0 again. " class
SoPerspectiveCamera
The SoPerspectiveCamera class defines a camera node with perspective
rendering.
For realistic looking 3D scene, the geometry should be rendered
with perspective calculations. Use this camera type to accomplish this.
" class SoPickStyle
The SoPickStyle class is a node for setting up how to do picking.
By default, all geometry in a scene is available for picking. Upon
writing applications with interaction possibilities, this is often
not what you want. To exclude parts of the scene graph from pick
actions, use the SoPickStyle::UNPICKABLE. " class
SoPointLight
The SoPointLight class is a node type for light sources.
Pointlights emits light equally in all directions from a specified
3D location. " class SoPolygonOffset
The SoPolygonOffset class is a node type for 'layering' rendering
primitives.
A common problem with realtime 3D rendering systems is that
rendered primitives which are at approximately the same depth with regard to
the camera viewpoint will appear to flicker. I.e.: from one angle one
primitive will appear to be closer, while at another angle, another
primitive will appear closer. When this happens, the rendered graphics at
that part of the scene will of course look a lot less visually pleasing.
" class SoProfile
The SoProfile class is the abstract superclass for profile
definitions.
Node subclasses of SoProfile specifies profiles for
extruded 3D text and nurbs surface data. " class
SoProfileCoordinate2
The SoProfileCoordinate2 class is a node specifying a set of 2D
coordinates for profiles.
Use nodes of this type to provide coordinates to profiles. "
class SoProfileCoordinate3
The SoProfileCoordinate3 class is a node specifying a set of 3D
coordinates for profiles.
Use nodes of this type to provide coordinates to profiles. "
class SoResetTransform
The SoResetTransform class is a node type which makes it possible to
'nullify' state during traversal.
SoResetTransform is useful for setting up geometry in the
scene graph which will not be influenced by the transformation nodes before
it during traversal. " class SoRotation
The SoRotation class specifies a rotation transformation.
Use nodes of this class type to re-orient geometry data within the
scene graph. " class SoRotationXYZ
The SoRotationXYZ class is a node type for specifying rotation around a
particular axis.
Application programmers can use nodes of this type instead of
SoRotation nodes for simplicity and clarity if the rotation will only
happen around one particular axis. " class SoRotor
The SoRotor class is a node used to animate rotations.
Insert this node in your hierarchy to apply a continuous rotation
to some geometry. Since this node inherits the SoRotation node,
rotation is restricted around the axis specified in the rotation field.
" class SoScale
The SoScale class is a node type for scaling scene graph geometry.
Use nodes of this type to apply scaling operations during
scenegraph traversals for e.g. rendering. Scale values are specified in a
triple-value vector, with one scale factor for each of the 3 principal axes.
" class SoSceneTexture2
The SoSceneTexture2 class is used to create a 2D texture from a Coin
scene graph.
Lets the rendering of a scene graph be specified as a texture
image to be used in another scene graph. Set up the scene graph used for a
texture in the SoSceneTexture2::scene field. " class
SoSceneTextureCubeMap
Renders a scene into a texture cube map. class SoSelection
The SoSelection class manages a list of selected nodes.
Inserting an SoSelection node in your scene graph enables
you to let the user 'pick' with the left mousebutton to select/deselect
objects below the SoSelection node. " class SoSeparator
The SoSeparator class is a state-preserving group node.
Subgraphs parented by SoSeparator nodes will not affect the
state, as they push and pop the traversal state before and after traversal
of its children. " class SoShapeHints
The SoShapeHints class is a node containing hints about how to render
geometry.
The SoShapeHints node is used to set up clues to the
rendering subsystem about how particular aspects of the subsequent geometry
in the scene graph should be drawn. " class SoShuttle
The SoShuttle class is used to oscillate between two translations.
A smooth transition between translation0 and translation1 is
created using a cosine function. In the beginning of the cycle, translation0
is used. Halfway through the cycle, the resulting translation equals
translation1, and at the end of the cycle, we're at translation0 again.
" class SoSpotLight
The SoSpotLight class is a node type for light sources with a cone
shaped lightvolume.
Spotlights are light sources with a position and a direction. They
can be thought of as a pointlight with a lampshade. " class
SoSurroundScale
The SoSurroundScale class is used to automatically scale geometry to
surround other geometry.
This node calculates a transformation (a translation and a scale)
which will, when the node is traversed, be appended to the current model
matrix, making a default cube placed directly to the right of this node in
the graph surround geometry to the right of the container branch this node
is on. The container is specified by the field
SoSurroundScale::numNodesUpToContainer. " class SoSwitch
The SoSwitch class is a group node which selects one child subgraph for
traversal.
Which child to traverse is controlled by the application
programmer by using the SoSwitch::whichChild field. In addition to
picking out a single child for traversal, it is also possible to flip all
children on or off for traversal. " class SoTexture2
The SoTexture2 class is used to map a 2D texture onto subsequent
geometry in the scenegraph.
Shape nodes within the scope of SoTexture2 nodes in the
scenegraph (ie below the same SoSeparator and to the righthand side
of the SoTexture2) will have the texture applied according to each
shape type's individual characteristics. See the documentation of the
various shape types (SoFaceSet, SoCube, SoSphere, etc
etc) for information about the specifics of how the textures will be
applied. " class SoTexture2Transform
The SoTexture2Transform class is used to define 2D texture
transformations.
Textures applied to shapes in the scene can be transformed by
'prefixing' in the state with instances of this node type. Translations,
rotations and scaling in 2D can all be done. " class SoTexture3
The SoTexture3 class is used to map a 3D texture onto geometry.
Shape nodes within the scope of SoTexture3 nodes in the
scenegraph (ie below the same SoSeparator and to the righthand side
of the SoTexture3) will have the texture applied according to each
shape type's individual characteristics. See the documentation of the
various shape types (SoFaceSet, SoCube, SoSphere, etc
etc) for information about the specifics of how the textures will be
applied. An SoTexture3 node will override any previous encountered
SoTexture2 nodes and vice versa. Mixing of SoTexture3 and
SoTextureCoordinate2 (or the other way around) is legal, but the
third texture coordinate component will be ignored (set to 0.0). "
class SoTexture3Transform
The SoTexture3Transform class is used to define 3D texture
transformations.
Textures applied to shapes in the scene can be transformed by
'prefixing' in the state with instances of this node type. Translations,
rotations and scaling in 3D can all be done. " class
SoTextureCombine
The SoTextureCombine class is a node for setting texture combine
functions.
This node is more or less an exact mapping of the OpenGL
ARB_texture_env_combine extension (included in OpenGL in OpenGL v1.3). See
http://oss.sgi.com/projects/ogl-sample/registry/ARB/texture_env_combine.txt
for more information about this extension. " class
SoTextureCoordinate2
The SoTextureCoordinate2 class contains a set of coordinates for the
mapping of 2D textures.
When encountering nodes of this type during traversal, the
coordinates it contains will be put on the state stack. Some shape nodes
(for instance SoIndexedFaceSet, among many others) can then use these
coordinates for explicit, detailed control of how textures are mapped to
it's surfaces. " class SoTextureCoordinate3
The SoTextureCoordinate3 class contains a set of coordinates for the
mapping of 2D textures.
When encountering nodes of this type during traversal, the
coordinates it contains will be put on the state stack. Some shape nodes can
then use these coordinates for explicit, detailed control of how 3D textures
are mapped. " class SoTextureCoordinateBinding
The SoTextureCoordinateBinding class says how texture coordinates
should be bound to shapes.
SoTextureCoordinateBinding binds current coordinates to
subsequent shapes by using either per vertex or per indexed vertex binding.
" class SoTextureCoordinateCube
The SoTextureCoordinateCube class autogenerates cubemapped texture
coordinated for shapes.
The cube used for reference when mapping is the boundingbox for
the shape. " class SoTextureCoordinateCylinder
The SoTextureCoordinateCylinder class autogenerates cylinder mapped
texture coordinated for shapes.
FILE FORMAT/DEFAULTS: " class
SoTextureCoordinateDefault
The SoTextureCoordinateDefault class removes texture coordinates from
the state.
Shapes below this node in the scenegraph will have to use its
default texture coordinates as SoTextureCoordinateDefault cleans out
all previously defined texture coordinates and texture coordinate functions.
" class SoTextureCoordinateEnvironment
The SoTextureCoordinateEnvironment class generates texture coordinates
by projecting onto a surrounding texture.
The texture specifying the enviroment will be mapped around the
scenegraph below this node using a sphere. The texture will be mapped onto
the scenegraph taking camera position into account. This will lead to an
object reflecting its enviroment. " class
SoTextureCoordinateFunction
The SoTextureCoordinateFunction class is an abstract base class for
texture coordinate generating nodes
Classes reimplementing SoTextureCoordinateFunction generate
texture coordinates by projecting object space surface points using some
function. " class SoTextureCoordinateNormalMap
The SoTextureCoordinateNormalMap class generates texture coordinates by
projecting onto a surrounding texture.
The texture specifying the enviroment will be mapped around the
scenegraph below this node using a sphere. The texture will be mapped onto
the scenegraph taking camera position into account. This will lead to an
object reflecting its enviroment. " class
SoTextureCoordinateObject
The SoTextureCoordinateObject class generates texture coordinates
by...
FIXME: not implemented yet. pederb, 2005-04-20. " class
SoTextureCoordinatePlane
The SoTextureCoordinatePlane class generates texture coordinates by
projecting onto a plane.
SoTextureCoordinatePlane is used for generating texture
coordinates by projecting the object onto a texture plane. The s, t and r
texture coordinates are computed as the distance from the origin to the
projected point, in the respective directions. The texture plane is
specified using two direction vectors, given as
SoTextureCoordinatePlane::directionS and
SoTextureCoordinatePlane::directionT in object space coordinates.
SoTextureCoordinatePlane::directionR is used for generating the third
coordinate, and can be used for generating texture coordinate for 3D
textures. For 2D textures you can just leave this field alone. " class
SoTextureCoordinateReflectionMap
The SoTextureCoordinateReflectionMap class generates 3D reflection
texture coordinates.
This node is usually used along with a SoCubeMapTexture node...
" class SoTextureCoordinateSphere
The SoTextureCoordinateSphere class autogenerates spheremapped texture
coordinated for shapes.
FILE FORMAT/DEFAULTS: " class SoTextureCubeMap
The SoTextureCubeMap class is used to map a cube map onto subsequent
shape nodes.
Shape nodes within the scope of SoTextureCubeMap nodes in
the scenegraph (ie below the same SoSeparator and to the righthand
side of the SoTextureCubeMap) will have the texture applied according
to each shape type's individual characteristics. See the documentation of
the various shape types (SoFaceSet, SoCube, SoSphere,
etc etc) for information about the specifics of how the textures will be
applied. " class SoTextureMatrixTransform
The SoTextureMatrixTransform class is used to define a texture matrix
transformation.
Textures applied to shapes in the scene can be transformed by
'prefixing' in the state with instances of this node type. " class
SoTextureScalePolicy
The SoTextureScalePolicy class is a node for controlling the texture
scale policy.
If a texture map is of size != 2^n, it must be scaled before
OpenGL can handle it. This node enables you to control how/if textures are
scaled before it is sent to OpenGL. " class SoTextureUnit
The SoTextureUnit class is a node for setting the active texture
unit.
When an SoTextureUnit node is inserted into the scene
graph, all subsequent texture nodes (SoTexture2,
SoTextureCoordinate2, SoTextureCoordinate3,
SoTexture2Transform, SoTexture3Transform,
SoTextureCoordinateEnvironment, SoTextureCoordinatePlane and
SoComplexity) will affect the texture unit set in the unit field.
" class SoTransform
The SoTransform class is the 'all-purpose' transformation node
type.
Like SoMatrixTransform, nodes of this type gives the
application programmer maximum flexibility when specifying geometry
transformations in a scene graph. If you want to set and keep the various
components of the transformation matrix in separate entities, this node type
is preferable, though. " class SoTransformSeparator
The SoTransformSeparator class is a group node preserving the current
transformations.
This node works like the SoSeparator group node, except
that it only stores and restores the current model matrix transformation.
Other appearance settings, like materials, textures, cameras, lights, etc,
will affect the remaining parts of the scenegraph after traversal, just like
as for the SoGroup node. " class SoTransformation
The SoTransformation class is the abstract base class for
transformation nodes.
To position and orient geometry within the 3D world space, various
node types for transformations are used. These nodes all inherit the
SoTransformation base class. " class SoTranslation
The SoTranslation class is a node type for specifying geometry
translations.
For simply translating some geometry in a scene graph, you can use
this node type. " class SoTransparencyType
The SoTransparencyType class is a node for setting the transparency
type for shapes.
In earlier versions of Coin/Open Inventor it was only possible to
set the transparency mode globally for an entire scene graph, which could be
inconvenient if different transparency types was wanted for different
shapes. " class SoUnits
The SoUnits class is a node for setting unit types.
Even though Coin doesn't care what units you are using in your
scene graph per se, there's an advantage to using
SoUnits nodes: you have a way to split your scene graph into
different 'conceptual' parts. " class SoVertexProperty
The SoVertexProperty class collects the functionality of various
appearance nodes.
Instead of reading data from the current state stack of the
scenegraph traversal, nodes inheriting SoVertexShape can be set up
with an SoVertexProperty node in the
SoVertexShape::vertexProperty field. Coordinates, normals, texture
coordinates and material / color information will then be fetched from the
vertexshape's SoVertexProperty node instead of from the state stack.
" class SoWWWAnchor
The SoWWWAnchor class adds URL callbacks to the highlighted
geometry.
In addition to highlighting geometry under the cursor, the
application programmer can set callbacks. It is possible to set one callback
for picking, the fetch callback, and one callback for highlighting. "
class SoWWWInline
The SoWWWInline class is a node used to include data from an URL.
If the URL is not a local file, the application is responsible for
supplying a callback to a function which will fetch the data of the URL.
" class SoFragmentShader
The SoFragmentShader class is used for setting up fragment shader
programs.
See Shaders in Coin for more information on how to set up
a scene graph with shaders. " class SoGeometryShader
The SoGeometryShader class is used for loading geometry shader
programs.
See Shaders in Coin for more information on how to set up
a scene graph with shaders. " class SoVertexShader
The SoVertexShader class is used for setting up vertex shader
programs.
See Shaders in Coin for more information on how to set up
a scene graph with shaders. " 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.
The text is rendered using 3D polygon geometry. " class
SoCone
The SoCone class is for rendering cone shapes.
Insert a cone shape into the scenegraph. The cone is rendered with
the current material, texture and drawstyle settings (if any, otherwise the
default settings are used). " class SoCube
The SoCube class is for rendering cubes.
Insert a cube shape into the scenegraph. The cube is rendered with
the current material, texture and drawstyle settings (if any, otherwise the
default settings are used). " class SoCylinder
The SoCylinder class is for rendering cylinder shapes.
Insert a cylinder shape into the scenegraph. The cylinder is
rendered with the current material, texture and drawstyle settings (if any,
otherwise the default settings are used). " class SoFaceSet
The SoFaceSet class is used to render and organize non-indexed
polygonal face data.
Faces are specified using the numVertices field. Coordinates,
normals, materials and texture coordinates are fetched in order from the
current state or from the vertexProperty node if set. For example, if
numVertices is set to [3, 4, 5, 3], this node would specify a triangle from
coordinates 0, 1 and 2, a quad from coordinates 3, 4, 5 and 6, a polygon
from coordinates 7, 8, 9, 10 and 11 and finally a triangle from coordinates
12, 13, 14. " class SoImage
The SoImage class draws a 2D image on the viewport.
An image can be specified either by using the image field, or by
specifying a filename. If width and or height is specified, the image will
be resized to match those values before it is displayed. " class
SoIndexedFaceSet
The SoIndexedFaceSet class is used to handle generic indexed
facesets.
Faces are specified using the coordIndex field. Each face must be
terminated by a negative (-1) index. Coordinates, normals, materials and
texture coordinates from the current state (or from the vertexProperty node
if set), can be indexed to create triangles, quads or polygons. " class
SoIndexedLineSet
The SoIndexedLineSet class is used to render and otherwise represent
indexed lines.
The indexed counterpart of SoLineSet. Lines can specified
using indices for coordinates, normals, materials and texture coordinates.
" class SoIndexedMarkerSet
The SoIndexedMarkerSet class is used to display a set of bitmap markers
at 3D positions.
This node either uses the coordinates currently on the state
(typically set up by a leading SoCoordinate3 node in the scenegraph)
or from a SoVertexProperty node attached to this node to render a set
of 3D points. " class SoIndexedNurbsCurve
The SoIndexedNurbsCurve class is a node for representing smooth
curves.
Explaining NURBS is beyond the scope of this documentation. If you
are unfamiliar with the principles of representing smooth curves and
surfaces when doing 3D visualization, we recommend finding a good book on
the subject. " class SoIndexedNurbsSurface
The SoIndexedNurbsSurface class can be used to render NURBS
surfaces.
It is very similar to the SoNurbsSurface class, but
controlpoints can be specified using indices. " class
SoIndexedPointSet
The SoIndexedPointSet class is used to display a set of 3D points.
This node either uses the coordinates currently on the state
(typically set up by a leading SoCoordinate3 node in the scenegraph)
or from a SoVertexProperty node attached to this node to render a set
of 3D points. " class SoIndexedShape
The SoIndexedShape class is the superclass for all indexed vertex
shapes.
This is an abstract class which contains storage for four fields
for indices to coordinates, normals, materials and texture coordinates for
it's subclasses. " class SoIndexedTriangleStripSet
The SoIndexedTriangleStripSet class keeps data for rendering and
otherwise representing triangle strips.
Use nodes of this type as an effective way of drawing triangles
which are strung together. " class SoLineSet
The SoLineSet class is used to render and organize non-indexed
polylines.
Polylines are specified using the numVertices field. Coordinates,
normals, materials and texture coordinates are fetched in order from the
current state or from the vertexProperty node if set. For example, if
numVertices is set to [3, 4, 2], this node would specify a line through
coordinates 0, 1 and 2, a line through coordinates 3, 4, 5 and 6, and
finally a single line segment between coordinates 7 and 8. " class
SoMarkerSet
The SoMarkerSet class displays a set of 2D bitmap markers in 3D.
This node uses the coordinates currently on the state (or in the
vertexProperty field) in order. The numPoints field specifies the number of
points in the set. " class SoNonIndexedShape
The SoNonIndexedShape class is the superclass for all non-indexed
vertex based shapes.
It contains the (now obsoleted) startIndex field and a convenience
method for calculating the bounding box. " class SoNurbsCurve
The SoNurbsCurve class is a node for representing smooth curves.
A general explanation of NURBS is beyond the scope of the Coin
documentation. For detailed information, refer to the specialized literature
on the topic (for example 'An Introduction to NURBS: With Historical
Perspective' by David F. Rogers). A basic overview of curve and surface
rendering using NURBS can be found in chapter 8 of 'The Inventor Mentor'.
" class SoNurbsSurface
The SoNurbsSurface class is used to render smooth surfaces.
A general explanation of NURBS is beyond the scope of the Coin
documentation. For detailed information, refer to the specialized literature
on the topic (for example 'An Introduction to NURBS: With Historical
Perspective' by David F. Rogers). A basic overview of curve and surface
rendering using NURBS can be found in chapter 8 of 'The Inventor Mentor'.
" class SoPointSet
The SoPointSet class is used to display a set of 3D points.
This node either uses the coordinates currently on the state
(typically set up by a leading SoCoordinate3 node in the scenegraph)
or from a SoVertexProperty node attached to this node to render a set
of 3D points. " class SoQuadMesh
The SoQuadMesh class is used to render and optimize a quadrilateral
mesh.
This node uses the coordinates in order, either from the state or
from the SoQuadMesh::vertexProperty node, to construct a
quadrilateral mesh. " class SoShape
The SoShape class is the superclass for geometry shapes.
The node types which have actual geometry to render inherits this
class. For convenience, the SoShape class contains various common
code used by the subclasses. " class SoSphere
The SoSphere class is for rendering sphere shapes.
Renders a sphere with the size given by the
SoSphere::radius field. The sphere is rendered with the current
material, texture and drawstyle settings (if any, otherwise the default
settings are used). " class SoText2
The SoText2 class is a node type for visualizing 2D text aligned with
the camera plane.
SoText2 text is not scaled according to the distance from
the camera, and is not influenced by rotation or scaling as 3D primitives
are. If these are properties that you want the text to have, you should
instead use an SoText3 or SoAsciiText node. " class
SoText3
The SoText3 class renders extruded 3D text.
Render text as 3D geometry. " class SoTriangleStripSet
The SoTriangleStripSet class is used to render and control non-indexed
triangle strips.
Triangle strips are specified using the numVertices field. "
class SoVertexShape
The SoVertexShape class is the superclass for all vertex based
shapes.
Basically, every polygon-, line- or point-based shape will inherit
this class. It contains methods for organizing the normal cache, and also
holds the SoVertexShape::vertexProperty field which can be used to
set vertex data inside the node. "
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.
| Tue Dec 15 2020 | Version 3.1.3 |