1#ifndef COIN_SOCLIPPLANEELEMENT_H
2#define COIN_SOCLIPPLANEELEMENT_H
36#include <Inventor/elements/SoAccumulatedElement.h>
37#include <Inventor/lists/SbList.h>
38#include <Inventor/SbPlane.h>
40class COIN_DLL_API SoClipPlaneElement :
public SoAccumulatedElement {
41 typedef SoAccumulatedElement inherited;
43 SO_ELEMENT_HEADER(SoClipPlaneElement);
47 virtual ~SoClipPlaneElement();
50 virtual void init(SoState * state);
51 virtual void push(SoState * state);
53 static void add(SoState *
const state,
SoNode *
const node,
55 static const SoClipPlaneElement *
getInstance(SoState *
const state);
57 const SbPlane &
get(
const int index,
const SbBool inworldspace = TRUE)
const;
69 SbBool operator==(
const so_plane_data &spd)
const {
70 return spd.plane == plane && spd.wcPlane == wcPlane;
72 SbBool operator!=(
const so_plane_data &spd)
const {
73 return spd.plane != plane || spd.wcPlane != wcPlane;
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition SbMatrix.h:47
The SbPlane class represents a plane in 3D space.
Definition SbPlane.h:43
static void initClass(void)
Definition SoAccumulatedElement.cpp:69
virtual void push(SoState *state)
Definition SoAccumulatedElement.cpp:92
virtual void init(SoState *state)
Definition SoAccumulatedElement.cpp:84
int getNum(void) const
Definition SoClipPlaneElement.cpp:121
static const SoClipPlaneElement * getInstance(SoState *const state)
Definition SoClipPlaneElement.cpp:109
virtual void addToElt(const SbPlane &plane, const SbMatrix &modelmatrix)
Definition SoClipPlaneElement.cpp:143
SbList< so_plane_data > planes
Definition SoClipPlaneElement.h:78
static void add(SoState *const state, SoNode *const node, const SbPlane &plane)
Definition SoClipPlaneElement.cpp:89
const SbPlane & get(const int index, const SbBool inworldspace=TRUE) const
Definition SoClipPlaneElement.cpp:130
int startIndex
Definition SoClipPlaneElement.h:79
The SoNode class is the base class for nodes used in scene graphs.
Definition SoNode.h:56