Open Inventor Reference
|
Polyline shape node. More...
#include <Inventor/nodes/SoLineSet.h>
Public Types | |
enum | Binding { OVERALL, PER_LINE, PER_SEGMENT, PER_VERTEX } |
This enum is used to indicate the current material or normal binding. More... | |
typedef void(SoLineSet::* | PMLS )(SoGLRenderAction *) |
Typedef of pointer to method on IndexedLineSet; This will be used to simplify declaration and initialization. | |
Public Member Functions | |
SoLineSet () | |
Creates a line set node with default settings. | |
virtual void | GLRender (SoGLRenderAction *action) |
Implements actions. | |
virtual void | getBoundingBox (SoGetBoundingBoxAction *action) |
Redefine this to tell open caches that they contain lines. | |
Static Public Member Functions | |
static void | initClass () |
Initializes base node class. | |
Public Attributes | |
Fields | |
SoMFInt32 | numVertices |
Number of vertices per polyline. | |
SoSFBool | sendAdjacency |
flag that defines if the GL_LINE_STRIP_ADJACENCY draw mode is used (MeVis Only) | |
Protected Member Functions | |
virtual void | generatePrimitives (SoAction *action) |
Generates line segments representing line set. | |
virtual void | computeBBox (SoAction *action, SbBox3f &box, SbVec3f ¢er) |
Computes bounding box of line set. | |
virtual SoDetail * | createLineSegmentDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, SoPickedPoint *pp) |
Overrides standard method to create an SoLineDetail instance. | |
virtual | ~SoLineSet () |
This node represents a 3D shape formed by constructing polylines from vertices located at the coordinates specified in the vertexProperty field (from SoVertexShape), or the current inherited coordinates. For optimal performance, the vertexProperty field is recommended.
SoLineSet uses the coordinates in order, starting with the first one. Each line has a number of vertices specified by a value in the numVertices field. For example, an SoLineSet with a numVertices of [3,4,2] would use coordinates 1, 2, and 3 for the first line, coordinates 4, 5, 6, and 7 for the second line, and coordinates 8 and 9 for the third.
The number of values in the numVertices field indicates the number of polylines in the set.
The coordinates of the line set are transformed by the current cumulative transformation. The lines are drawn with the current light model and drawing style (drawing style FILLED
is treated as LINES
).
Treatment of the current material and normal binding is as follows: The PER_PART
binding specifies a material or normal for each segment of the line. The PER_FACE
binding specifies a material or normal for each polyline. The _INDEXED
bindings are equivalent to their non-indexed counterparts. The default material binding is OVERALL
. The default normal binding is PER_VERTEX
.
The current complexity value has no effect on the rendering of line sets.
LineSet { startIndex 0 numVertices -1 }
Definition at line 145 of file SoLineSet.h.
typedef void(SoLineSet::* SoLineSet::PMLS)(SoGLRenderAction *) |
Definition at line 179 of file SoLineSet.h.
enum SoLineSet::Binding |
Definition at line 173 of file SoLineSet.h.
SoLineSet::SoLineSet | ( | ) |
virtual SoLineSet::~SoLineSet | ( | ) | [protected, virtual] |
virtual void SoLineSet::computeBBox | ( | SoAction * | action, |
SbBox3f & | box, | ||
SbVec3f & | center | ||
) | [protected, virtual] |
Implements SoShape.
virtual SoDetail* SoLineSet::createLineSegmentDetail | ( | SoRayPickAction * | action, |
const SoPrimitiveVertex * | v1, | ||
const SoPrimitiveVertex * | v2, | ||
SoPickedPoint * | pp | ||
) | [protected, virtual] |
Reimplemented from SoShape.
virtual void SoLineSet::generatePrimitives | ( | SoAction * | action | ) | [protected, virtual] |
Implements SoShape.
virtual void SoLineSet::getBoundingBox | ( | SoGetBoundingBoxAction * | action | ) | [virtual] |
Reimplemented from SoShape.
virtual void SoLineSet::GLRender | ( | SoGLRenderAction * | action | ) | [virtual] |
Reimplemented from SoShape.
static void SoLineSet::initClass | ( | ) | [static] |
Reimplemented from SoNonIndexedShape.
Definition at line 153 of file SoLineSet.h.
Definition at line 156 of file SoLineSet.h.