1#ifndef COIN_SOCLIPPLANEELEMENT_H
2#define COIN_SOCLIPPLANEELEMENT_H
27#include <Inventor/elements/SoAccumulatedElement.h>
28#include <Inventor/lists/SbList.h>
29#include <Inventor/SbPlane.h>
31class COIN_DLL_API SoClipPlaneElement :
public SoAccumulatedElement {
32 typedef SoAccumulatedElement inherited;
34 SO_ELEMENT_HEADER(SoClipPlaneElement);
38 virtual ~SoClipPlaneElement();
41 virtual void init(SoState * state);
42 virtual void push(SoState * state);
44 static void add(SoState *
const state,
SoNode *
const node,
46 static const SoClipPlaneElement *
getInstance(SoState *
const state);
48 const SbPlane &
get(
const int index,
const SbBool inworldspace = TRUE)
const;
60 SbBool operator==(
const so_plane_data &spd)
const {
61 return spd.plane == plane && spd.wcPlane == wcPlane;
63 SbBool operator!=(
const so_plane_data &spd)
const {
64 return spd.plane != plane || spd.wcPlane != wcPlane;
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition SbMatrix.h:37
The SbPlane class represents a plane in 3D space.
Definition SbPlane.h:34
virtual void push(SoState *state)
Definition SoAccumulatedElement.cpp:74
virtual void init(SoState *state)
Definition SoAccumulatedElement.cpp:66
int getNum(void) const
Definition SoClipPlaneElement.cpp:108
static const SoClipPlaneElement * getInstance(SoState *const state)
Definition SoClipPlaneElement.cpp:96
virtual void addToElt(const SbPlane &plane, const SbMatrix &modelmatrix)
Definition SoClipPlaneElement.cpp:130
SbList< so_plane_data > planes
Definition SoClipPlaneElement.h:69
static void add(SoState *const state, SoNode *const node, const SbPlane &plane)
Definition SoClipPlaneElement.cpp:76
const SbPlane & get(const int index, const SbBool inworldspace=TRUE) const
Definition SoClipPlaneElement.cpp:117
int startIndex
Definition SoClipPlaneElement.h:70
static void initClass(void)
Definition SoElement.cpp:507
The SoNode class is the base class for nodes used in scene graphs.
Definition SoNode.h:47