Vertex property node. More...
#include <Inventor/nodes/SoVertexProperty.h>
Classes | |
class | ValidityBits |
Helper structure used to return status of various vertex properties A bit set to true mean the attribute is valid. | |
Public Types | |
enum | Binding { OVERALL = SbVertexAttributeBinding::OVERALL, PER_PART = SbVertexAttributeBinding::PER_PART, PER_PART_INDEXED = SbVertexAttributeBinding::PER_PART_INDEXED, PER_FACE = SbVertexAttributeBinding::PER_FACE, PER_FACE_INDEXED = SbVertexAttributeBinding::PER_FACE_INDEXED, PER_VERTEX = SbVertexAttributeBinding::PER_VERTEX, PER_VERTEX_INDEXED = SbVertexAttributeBinding::PER_VERTEX_INDEXED } |
Public Member Functions | |
virtual SoType | getTypeId () const |
SoVertexProperty () | |
virtual void | setOverride (const SbBool state) |
virtual SbBool | isOverride () const |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Public Attributes | |
SoMFVec3f | vertex |
SoMFVec2f | texCoord |
SoMFVec3f | texCoord3 |
SoSFBool | forceSending |
SoMFVec3f | normal |
SoMFVec3f | tangent |
SoSFEnum | normalBinding |
SoSFEnum | tangentBinding |
SoMFUInt32 | orderedRGBA |
SoSFEnum | materialBinding |
Vertex property node.
This property node is be used to efficiently specify coordinates, normals, tangents, texture coordinates, colors, transparency values, material binding, normal and tangent binding for vertex-based shapes, i.e., shapes derived from SoVertexShape.
An SoVertexProperty node can be used as a child of a group node in a scene graph, in which case the properties it specifies are inherited by subsequent shape nodes in the graph. It can also be directly referenced using the vertexProperty field of a vertex-based shape, bypassing scene graph inheritance. Direct referencing is the recommended practice.
When directly referenced by a VertexProperty field of a vertex-based shape, the SoVertexProperty node is the most efficient way of specifying vertex-based shapes. Use of the directly referenced SoVertexProperty node results in significantly faster scene rendering than scene graph inheritance of vertex properties, provided all required vertex properties are specified in the SoVertexProperty node.
Because the class SoVertexProperty is derived from SoNode, a vertex property node can be inserted as a child node in a scene graph. When inserted as a node in a scene graph, the SoVertexProperty node is traversed as any other property node and the properties it specifies are inherited by subsequent shape nodes in the scene graph. It specifies the current material, normal and tangent bindings, and can be used to specify the current 3D coordinates, the current normals, the current tangents, the current texture coordinates, the current diffuse colors, and the current transparencies.
All multiple-valued fields in the SoVertexProperty node are optional. If a field is not present (i.e. if it has 0 values), then shapes that require the missing information are required to obtain it from the current traversal state. However, developers are cautioned that, for optimal performance, the vertex property node should be referenced as the VertexProperty field of an SoVertexShape, and should specify in its fields all values required to render that shape.
Fields:
Color:
Transparency:
Material binding:
Normal binding:
Tangent binding:
vertex | [ ] |
normal | [ ] |
tangent | [ ] |
texCoord | [ ] |
texCoord3 | [ ] |
orderedRGBA | [ ] |
materialBinding | OVERALL |
normalBinding | PER_VERTEX_INDEXED |
tangentBinding | PER_VERTEX_INDEXED |
forceSending | FALSE |
SoGetBoundingBoxAction
When traversed in a scene graph, sets coordinates in current traversal state. If not traversed, has no effect on current traversal state associated with action. Sets: SoCoordinateElement
SoIndexedTriangleStripSet, SoIndexedFaceSet, SoIndexedLineSet, SoTriangleStripSet, SoLineSet, SoFaceSet, SoPointSet, SoQuadMesh, SoVertexShape, SoIndexedShape, SoNonIndexedShape
PointCloud, MedicalGetDataPolyLine, MedicalDTI, GetDataPolyLine, SegY2D
Binding.
Note: The meaning of some binding values depends on the shape class. For example, PER_FACE and PER_PART are the same for some shapes.
SoVertexProperty::SoVertexProperty | ( | ) |
Creates an SoVertexProperty node with default settings.
static SoType SoVertexProperty::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoNode.
virtual SoType SoVertexProperty::getTypeId | ( | ) | const [virtual] |
Returns the type identifier for this specific instance.
Reimplemented from SoNode.
virtual SbBool SoVertexProperty::isOverride | ( | ) | const [inline, virtual] |
Returns the state of the override field.
Reimplemented from SoNode.
virtual void SoVertexProperty::setOverride | ( | const SbBool | state | ) | [inline, virtual] |
Forces the texture coordinates to be sent to the GPU even if no texture is bound.
Material binding.
Use enum Binding. Default is OVERALL.
Normal vector(s).
Default is empty.
Normal binding.
Use enum Binding. Default is PER_VERTEX_INDEXED.
Packed color(s), including transparencies.
Default is empty.
Tangent vector(s).
Default is empty. NOTE: field available since Open Inventor 10.2
Tangent binding.
Use enum Binding. Default is PER_VERTEX_INDEXED. NOTE: field available since Open Inventor 10.2
2D texture coordinate(s).
Default is empty.
3D texture coordinate(s).
Default is empty.
Vertex coordinate(s).
Default is empty.