Open Inventor Reference
SoShapeHintsElement Class Reference

Element that stores current shape hints. More...

#include <Inventor/elements/SoShapeHintsElement.h>

Inheritance diagram for SoShapeHintsElement:
SoElement SoGLShapeHintsElement

Public Types

enum  VertexOrdering { UNKNOWN_ORDERING , CLOCKWISE , COUNTERCLOCKWISE , ORDERING_AS_IS }
 Hints about ordering of face vertices: More...
 
enum  ShapeType { UNKNOWN_SHAPE_TYPE , SOLID , SHAPE_TYPE_AS_IS }
 Hints about entire shape: More...
 
enum  FaceType { UNKNOWN_FACE_TYPE , CONVEX , FACE_TYPE_AS_IS }
 Hints about faces of shape: More...
 

Public Member Functions

virtual void init (SoState *state)
 Initializes element.
 
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_IS.
 
virtual bool matches (const SoElement *elt) const
 Returns TRUE if the hints match in both elements.
 
virtual SoElementcopyMatchInfo () const
 Create and return a copy of this element.
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
- Public Member Functions inherited from SoElement
virtual void init (SoState *state)
 Initializes element.
 
virtual void push (SoState *state)
 Pushes/pops element.
 
virtual void pop (SoState *state, const SoElement *prevTopElement)
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
virtual bool matches (const SoElement *elt) const =0
 Returns TRUE if the element matches another element (of the same class, presumably) with respect to cache validity.
 
virtual SoElementcopyMatchInfo () const =0
 Create a copy that we can put in a cache used list and call matches() on later.
 
SoType getTypeId () const
 Returns type identifier for element instance.
 
int getStackIndex () const
 Returns the stack index for an element instance.
 
void setDepth (int dpth)
 Sets stuff in an element instance.
 
void setNext (SoElement *nxt)
 
void setNextInStack (SoElement *nxt)
 
void setNextFree (SoElement *nxt)
 
int getDepth () const
 Returns stuff from element instance.
 
SoElementgetNext () const
 
virtual ~SoElement ()
 Destructor.
 

Static Public Member Functions

static void set (SoState *state, VertexOrdering vertexOrdering, ShapeType shapeType, FaceType faceType)
 Sets the current shape hints in the state.
 
static void set (SoState *state, bool useVBO)
 Sets the VBO usage in the state.
 
static void set (SoState *state, SoNode *, VertexOrdering vertexOrdering, ShapeType shapeType, FaceType faceType)
 
static void get (SoState *state, VertexOrdering &vertexOrdering, ShapeType &shapeType, FaceType &faceType)
 Returns current shape hints from the state.
 
static bool isVBOUsed (SoState *state)
 
static VertexOrdering getDefaultVertexOrdering ()
 Returns each default hint.
 
static ShapeType getDefaultShapeType ()
 
static FaceType getDefaultFaceType ()
 
static bool getDefaultVBOUsage ()
 
static void initClass ()
 Initializes the SoShapeHintsElement class.
 
- Static Public Member Functions inherited from SoElement
static SoType getClassTypeId ()
 Returns type identifier for SoElement class.
 
static void initElements ()
 Initialize ALL Inventor element classes.
 
static void initClass ()
 Initializes the SoElement class.
 
static int getNumStackIndices ()
 Returns the number of stack indices allocated.
 
static SoType getIdFromStackIndex (int stackIndex)
 Returns the id for the element with the given stack index.
 

Protected Member Functions

virtual void setElt (VertexOrdering vertexOrdering, ShapeType shapeType, FaceType faceType)
 Virtual set methods that subclasses can override.
 
virtual ~SoShapeHintsElement ()
 
- Protected Member Functions inherited from SoElement
 SoElement ()
 Constructor; use typeId.createInstance to create elements.
 
void capture (SoState *state) const
 Does whatever is necessary in state to capture this element for caching purposes.
 
virtual void captureThis (SoState *state) const
 Really captures this element, once it has been determined that a cache is open to capture it.
 
void setTypeId (SoType id)
 Sets typeId in instance.
 
void setStackIndex (int index)
 Sets stackIndex in instance.
 
SoElementgetNextInStack () const
 Returns next instance in specific element stack.
 
SoElementgetNextFree () const
 Returns next free element in a specific element stack.
 

Protected Attributes

VertexOrdering vertexOrdering
 
ShapeType shapeType
 
FaceType faceType
 
bool useVBO
 

Additional Inherited Members

- Static Protected Member Functions inherited from SoElement
static SoElementgetElement (SoState *state, int stackIndex)
 Returns an instance of an element from the stack with the given index in the given state.
 
static const SoElementgetConstElement (SoState *state, int stackIndex)
 Returns a read-only pointer to the top instance in the given element stack.
 
static int createStackIndex (SoType id)
 Creates and returns a new stack index.
 
- Static Protected Attributes inherited from SoElement
static int classStackIndex
 Stack index for SoElement class.
 

Detailed Description

All three hints must be set at the same time; to leave any hint as is, use the "AS_IS" enum value.

Definition at line 71 of file SoShapeHintsElement.h.

Member Enumeration Documentation

◆ FaceType

Enumerator
UNKNOWN_FACE_TYPE 

Nothing is known about faces.

CONVEX 

Faces are all convex.

FACE_TYPE_AS_IS 

Indicates to set() to leave as is.

Definition at line 92 of file SoShapeHintsElement.h.

◆ ShapeType

Enumerator
UNKNOWN_SHAPE_TYPE 

Nothing is known about shape.

SOLID 

Shape is known to be solid.

SHAPE_TYPE_AS_IS 

Indicates to set() to leave as is.

Definition at line 85 of file SoShapeHintsElement.h.

◆ VertexOrdering

Enumerator
UNKNOWN_ORDERING 

No ordering info is known.

CLOCKWISE 

Vertices are ordered CW around faces.

COUNTERCLOCKWISE 

Vertices are ordered CCW around faces.

ORDERING_AS_IS 

Indicates to set() to leave as is.

Definition at line 77 of file SoShapeHintsElement.h.

Constructor & Destructor Documentation

◆ ~SoShapeHintsElement()

virtual SoShapeHintsElement::~SoShapeHintsElement ( )
protectedvirtual

Member Function Documentation

◆ copyMatchInfo()

virtual SoElement * SoShapeHintsElement::copyMatchInfo ( ) const
virtual

Implements SoElement.

◆ get()

static void SoShapeHintsElement::get ( SoState state,
VertexOrdering vertexOrdering,
ShapeType shapeType,
FaceType faceType 
)
static

◆ getDefaultFaceType()

static FaceType SoShapeHintsElement::getDefaultFaceType ( )
inlinestatic

Definition at line 126 of file SoShapeHintsElement.h.

◆ getDefaultShapeType()

static ShapeType SoShapeHintsElement::getDefaultShapeType ( )
inlinestatic

Definition at line 125 of file SoShapeHintsElement.h.

◆ getDefaultVBOUsage()

static bool SoShapeHintsElement::getDefaultVBOUsage ( )
inlinestatic

Definition at line 127 of file SoShapeHintsElement.h.

References TRUE.

◆ getDefaultVertexOrdering()

static VertexOrdering SoShapeHintsElement::getDefaultVertexOrdering ( )
inlinestatic

Definition at line 124 of file SoShapeHintsElement.h.

◆ init()

virtual void SoShapeHintsElement::init ( SoState state)
virtual

Reimplemented from SoElement.

Reimplemented in SoGLShapeHintsElement.

◆ initClass()

static void SoShapeHintsElement::initClass ( )
static

◆ isVBOUsed()

static bool SoShapeHintsElement::isVBOUsed ( SoState state)
static

◆ matches()

virtual bool SoShapeHintsElement::matches ( const SoElement elt) const
virtual

Implements SoElement.

◆ print()

virtual void SoShapeHintsElement::print ( FILE *  fp) const
virtual

Reimplemented from SoElement.

◆ push()

virtual void SoShapeHintsElement::push ( SoState state)
virtual

Reimplemented from SoElement.

Reimplemented in SoGLShapeHintsElement.

◆ set() [1/3]

static void SoShapeHintsElement::set ( SoState state,
bool  useVBO 
)
static

◆ set() [2/3]

static void SoShapeHintsElement::set ( SoState state,
SoNode ,
VertexOrdering  vertexOrdering,
ShapeType  shapeType,
FaceType  faceType 
)
inlinestatic

Definition at line 110 of file SoShapeHintsElement.h.

◆ set() [3/3]

static void SoShapeHintsElement::set ( SoState state,
VertexOrdering  vertexOrdering,
ShapeType  shapeType,
FaceType  faceType 
)
static

Calls virtual method that subclasses can override.

◆ setElt()

virtual void SoShapeHintsElement::setElt ( VertexOrdering  vertexOrdering,
ShapeType  shapeType,
FaceType  faceType 
)
protectedvirtual

Reimplemented in SoGLShapeHintsElement.

Member Data Documentation

◆ faceType

FaceType SoShapeHintsElement::faceType
protected

Definition at line 153 of file SoShapeHintsElement.h.

◆ shapeType

ShapeType SoShapeHintsElement::shapeType
protected

Definition at line 152 of file SoShapeHintsElement.h.

◆ useVBO

bool SoShapeHintsElement::useVBO
protected

Definition at line 154 of file SoShapeHintsElement.h.

◆ vertexOrdering

VertexOrdering SoShapeHintsElement::vertexOrdering
protected

Definition at line 151 of file SoShapeHintsElement.h.


The documentation for this class was generated from the following file: