NAME¶
Node Classes -
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Macro Definition Documentation¶
This macro adds standard declarations needed in Coin nodes for object creation
and type identification.
See also:
SO_NODE_SOURCE
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
#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
#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
#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:
SO_NODE_HEADER
#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:
SO_NODE_ABSTRACT_HEADER
#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:
Coin 3.0
Author¶
Generated automatically by Doxygen for Coin from the source code.