1#ifndef COIN_SOCULLELEMENT_H
2#define COIN_SOCULLELEMENT_H
36#include <Inventor/elements/SoSubElement.h>
37#include <Inventor/SbPlane.h>
42class COIN_DLL_API SoCullElement :
public SoElement {
45 SO_ELEMENT_HEADER(SoCullElement);
49 virtual ~SoCullElement();
53 virtual void init(SoState * state);
54 virtual void push(SoState * state);
58 static SbBool
cullBox(SoState * state,
const SbBox3f & box,
const SbBool transform = TRUE);
59 static SbBool
cullTest(SoState * state,
const SbBox3f & box,
const SbBool transform = TRUE);
67 enum { MAXPLANES = 32 };
69 static SbBool docull(SoState * state,
const SbBox3f & box,
const SbBool transform,
70 const SbBool updateelem);
The SbBox3f class is an abstraction for an axis aligned 3 dimensional box.
Definition SbBox3f.h:46
The SbPlane class represents a plane in 3D space.
Definition SbPlane.h:43
The SbViewVolume class is a viewing volume in 3D space.
Definition SbViewVolume.h:50
static void addPlane(SoState *state, const SbPlane &newplane)
Definition SoCullElement.cpp:194
static SbBool cullTest(SoState *state, const SbBox3f &box, const SbBool transform=TRUE)
Definition SoCullElement.cpp:233
static SbBool cullBox(SoState *state, const SbBox3f &box, const SbBool transform=TRUE)
Definition SoCullElement.cpp:220
static SbBool completelyInside(SoState *state)
Definition SoCullElement.cpp:243
static void setViewVolume(SoState *state, const SbViewVolume &vv)
Definition SoCullElement.cpp:160
SoElement(void)
Definition SoElement.cpp:534
virtual SbBool matches(const SoElement *element) const =0
Definition SoElement.cpp:609
static void initClass(void)
Definition SoElement.cpp:507
virtual SoElement * copyMatchInfo(void) const =0
virtual void init(SoState *state)
Definition SoElement.cpp:553
virtual void push(SoState *state)
Definition SoElement.cpp:570