55#ifndef _SO_CLIP_PLANE_ELEMENT
56#define _SO_CLIP_PLANE_ELEMENT
#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.
List of generic (void *) pointers.
This is the abstract base class for each state element whose value may be accumulated when it is set.
Element that stores the current set of clipping planes, specified as SbPlanes.
int getNum() const
Returns the number of planes in an instance.
virtual void init(SoState *state)
Initializes element.
virtual void addToElt(const SbPlane &plane, const SbMatrix &modelMatrix)
Adds the clipping plane to an instance.
virtual ~SoClipPlaneElement()
static void initClass()
Initializes the SoClipPlaneElement class.
virtual void print(FILE *fp) const
Prints element (for debugging)
SbPList planes
List of plane structures.
const SbPlane & get(int index, bool inWorldSpace=TRUE) const
Returns the indexed plane an element as an SbPlane.
static const SoClipPlaneElement * getInstance(SoState *state)
Returns the top (current) instance of the element in the state.
int startIndex
Index of 1st plane created in this instance.
virtual void push(SoState *state)
Overrides push() method to copy values from next instance in the stack.
static void add(SoState *state, SoNode *node, const SbPlane &plane)
Adds a clip plane to the current set in the state.
virtual void pop(SoState *state, const SoElement *prevTopElement)
Overrides pop() method to free up planes that were added.
This is the abstract base class for all state elements.
Abstract base class for all database nodes.
An SoState collects and holds state while traversing a scene graph.