50#ifndef _SO_NORMAL_BINDING_ELEMENT
51#define _SO_NORMAL_BINDING_ELEMENT
53#include <Inventor/SbVertexAttributeBinding.h>
55#include <Inventor/elements/SoInt32Element.h>
119 { SoInt32Element::set(
getClassTypeId(), classStackIndex, state, (int32_t)binding); }
125 {
set(state, binding); }
146 virtual void init(
SoState *state);
150 static void initClass();
151 static void exitClass();
@ PER_FACE
One attribute for each face of object.
@ PER_FACE_INDEXED
One attribute for each face, indexed.
@ PER_PART_INDEXED
One attribute for each part, indexed.
@ PER_VERTEX_INDEXED
One attribute for each vertex, indexed.
@ OVERALL
Whole object has same attribute.
@ PER_PART
One attribute for each part of object.
@ PER_VERTEX
One attribute for each vertex.
Stores a single int32_t, int, or enum value.
Abstract base class for all database nodes.
Stores current normal binding.
static SoType getClassTypeId()
Returns the type identifier for this class.
static void set(SoState *state, SoNode *, Binding binding)
Sets the current normal binding in the state.
Binding
The choice of values is for compatibility with Open Inventor 2.0 binary format files:
@ PER_VERTEX
One normal for each vertex.
@ OVERALL
Whole object has same normal.
@ PER_PART_INDEXED
One normal for each part, indexed.
@ PER_PART
One normal for each part of object.
@ PER_FACE_INDEXED
One normal for each face, indexed.
@ PER_FACE
One normal for each face of object.
@ PER_VERTEX_INDEXED
One normal for each vertex, indexed.
virtual void print(FILE *fp) const
Prints element (for debugging).
static void set(SoState *state, Binding binding)
Sets the current normal binding in the state.
static Binding getDefault()
Returns the default normal binding.
static Binding get(SoState *state)
Returns current normal binding from the state.