55#ifndef _SO_SHAPE_HINTS_ELEMENT
56#define _SO_SHAPE_HINTS_ELEMENT
113 { set(state, vertexOrdering, shapeType, faceType); }
#define SoEXTENDER
Provide inline template functions for abs, swap, min, max, and clamp.
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
#define SO_ELEMENT_HEADER(className)
This one is for non-abstract element classes.
This is the abstract base class for all state elements.
Abstract base class for all database nodes.
Element that stores current shape hints.
static void set(SoState *state, bool useVBO)
Sets the VBO usage in the state.
virtual ~SoShapeHintsElement()
static VertexOrdering getDefaultVertexOrdering()
Returns each default hint.
virtual bool matches(const SoElement *elt) const
Returns TRUE if the hints match in both elements.
ShapeType
Hints about entire shape:
@ SOLID
Shape is known to be solid.
@ UNKNOWN_SHAPE_TYPE
Nothing is known about shape.
static void get(SoState *state, VertexOrdering &vertexOrdering, ShapeType &shapeType, FaceType &faceType)
Returns current shape hints from the state.
FaceType
Hints about faces of shape:
@ CONVEX
Faces are all convex.
@ UNKNOWN_FACE_TYPE
Nothing is known about faces.
virtual void push(SoState *state)
Push copies the values from the previous element, so set doesn't have to set them if they are set AS_...
VertexOrdering
Hints about ordering of face vertices:
@ UNKNOWN_ORDERING
No ordering info is known.
@ COUNTERCLOCKWISE
Vertices are ordered CCW around faces.
@ CLOCKWISE
Vertices are ordered CW around faces.
virtual void print(FILE *fp) const
Prints element (for debugging)
virtual void init(SoState *state)
Initializes element.
static void set(SoState *state, SoNode *, VertexOrdering vertexOrdering, ShapeType shapeType, FaceType faceType)
VertexOrdering vertexOrdering
static void initClass()
Initializes the SoShapeHintsElement class.
static void set(SoState *state, VertexOrdering vertexOrdering, ShapeType shapeType, FaceType faceType)
Sets the current shape hints in the state.
static ShapeType getDefaultShapeType()
virtual void setElt(VertexOrdering vertexOrdering, ShapeType shapeType, FaceType faceType)
Virtual set methods that subclasses can override.
static bool isVBOUsed(SoState *state)
static bool getDefaultVBOUsage()
virtual SoElement * copyMatchInfo() const
Create and return a copy of this element.
static FaceType getDefaultFaceType()
An SoState collects and holds state while traversing a scene graph.