Open Inventor Reference
SoClipPlaneElement Class Reference

Element that stores the current set of clipping planes, specified as SbPlanes. More...

#include <Inventor/elements/SoClipPlaneElement.h>

Inheritance diagram for SoClipPlaneElement:
SoAccumulatedElement SoElement SoGLClipPlaneElement

Public Member Functions

virtual void init (SoState *state)
 Initializes element.
 
virtual void push (SoState *state)
 Overrides push() method to copy values from next instance in the stack.
 
virtual void pop (SoState *state, const SoElement *prevTopElement)
 Overrides pop() method to free up planes that were added.
 
int getNum () const
 Returns the number of planes in an instance.
 
const SbPlaneget (int index, bool inWorldSpace=TRUE) const
 Returns the indexed plane an element as an SbPlane.
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
- Public Member Functions inherited from SoAccumulatedElement
virtual bool matches (const SoElement *elt) const
 Returns TRUE if the element matches another element, based on node-id's.
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
- Public Member Functions inherited from SoElement
virtual void init (SoState *state)
 Initializes element.
 
virtual void push (SoState *state)
 Pushes/pops element.
 
virtual void pop (SoState *state, const SoElement *prevTopElement)
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
virtual bool matches (const SoElement *elt) const =0
 Returns TRUE if the element matches another element (of the same class, presumably) with respect to cache validity.
 
virtual SoElementcopyMatchInfo () const =0
 Create a copy that we can put in a cache used list and call matches() on later.
 
SoType getTypeId () const
 Returns type identifier for element instance.
 
int getStackIndex () const
 Returns the stack index for an element instance.
 
void setDepth (int dpth)
 Sets stuff in an element instance.
 
void setNext (SoElement *nxt)
 
void setNextInStack (SoElement *nxt)
 
void setNextFree (SoElement *nxt)
 
int getDepth () const
 Returns stuff from element instance.
 
SoElementgetNext () const
 
virtual ~SoElement ()
 Destructor.
 

Static Public Member Functions

static void add (SoState *state, SoNode *node, const SbPlane &plane)
 Adds a clip plane to the current set in the state.
 
static const SoClipPlaneElementgetInstance (SoState *state)
 Returns the top (current) instance of the element in the state.
 
static void initClass ()
 Initializes the SoClipPlaneElement class.
 
- Static Public Member Functions inherited from SoAccumulatedElement
static void initClass ()
 Initializes the SoAccumulatedElement class.
 
- Static Public Member Functions inherited from SoElement
static SoType getClassTypeId ()
 Returns type identifier for SoElement class.
 
static void initElements ()
 Initialize ALL Inventor element classes.
 
static void initClass ()
 Initializes the SoElement class.
 
static int getNumStackIndices ()
 Returns the number of stack indices allocated.
 
static SoType getIdFromStackIndex (int stackIndex)
 Returns the id for the element with the given stack index.
 

Protected Member Functions

virtual void addToElt (const SbPlane &plane, const SbMatrix &modelMatrix)
 Adds the clipping plane to an instance.
 
virtual ~SoClipPlaneElement ()
 
- Protected Member Functions inherited from SoAccumulatedElement
void clearNodeIds ()
 Clears out the list of node id's.
 
void addNodeId (const SoNode *node)
 Adds the id of the given node to the current list.
 
void setNodeId (const SoNode *node)
 Sets the node id list to JUST the id of the given node.
 
virtual SoElementcopyMatchInfo () const
 Create and return a copy of this element; this will copy the nodeId list properly.
 
virtual void captureThis (SoState *state) const
 Override normal capture method to capture elements at other depths that we are accumulating with.
 
virtual ~SoAccumulatedElement ()
 Destructor.
 
- Protected Member Functions inherited from SoElement
 SoElement ()
 Constructor; use typeId.createInstance to create elements.
 
void capture (SoState *state) const
 Does whatever is necessary in state to capture this element for caching purposes.
 
virtual void captureThis (SoState *state) const
 Really captures this element, once it has been determined that a cache is open to capture it.
 
void setTypeId (SoType id)
 Sets typeId in instance.
 
void setStackIndex (int index)
 Sets stackIndex in instance.
 
SoElementgetNextInStack () const
 Returns next instance in specific element stack.
 
SoElementgetNextFree () const
 Returns next free element in a specific element stack.
 

Protected Attributes

SbPList planes
 List of plane structures.
 
int startIndex
 Index of 1st plane created in this instance.
 
- Protected Attributes inherited from SoAccumulatedElement
SbPList nodeIds
 This stores the list of node id's as pointers, since they should be the same length as int32_ts.
 

Additional Inherited Members

- Static Protected Member Functions inherited from SoElement
static SoElementgetElement (SoState *state, int stackIndex)
 Returns an instance of an element from the stack with the given index in the given state.
 
static const SoElementgetConstElement (SoState *state, int stackIndex)
 Returns a read-only pointer to the top instance in the given element stack.
 
static int createStackIndex (SoType id)
 Creates and returns a new stack index.
 
- Static Protected Attributes inherited from SoElement
static int classStackIndex
 Stack index for SoElement class.
 

Detailed Description

When a plane is added, this element gets the current model matrix from the state and stores it in the instance. This allows the get() method to return the clip plane in object space (the plane as originally defined) or world space (after being transformed by the model matrix).

Definition at line 77 of file SoClipPlaneElement.h.

Constructor & Destructor Documentation

◆ ~SoClipPlaneElement()

virtual SoClipPlaneElement::~SoClipPlaneElement ( )
protectedvirtual

Member Function Documentation

◆ add()

static void SoClipPlaneElement::add ( SoState state,
SoNode node,
const SbPlane plane 
)
static

◆ addToElt()

virtual void SoClipPlaneElement::addToElt ( const SbPlane plane,
const SbMatrix modelMatrix 
)
protectedvirtual

Takes the new plane and the current model matrix

Reimplemented in SoGLClipPlaneElement.

◆ get()

const SbPlane & SoClipPlaneElement::get ( int  index,
bool  inWorldSpace = TRUE 
) const

The plane can be returned in object or world space.

◆ getInstance()

static const SoClipPlaneElement * SoClipPlaneElement::getInstance ( SoState state)
static

◆ getNum()

int SoClipPlaneElement::getNum ( ) const

◆ init()

virtual void SoClipPlaneElement::init ( SoState state)
virtual

Reimplemented from SoElement.

◆ initClass()

static void SoClipPlaneElement::initClass ( )
static

◆ pop()

virtual void SoClipPlaneElement::pop ( SoState state,
const SoElement prevTopElement 
)
virtual

Reimplemented from SoElement.

Reimplemented in SoGLClipPlaneElement.

◆ print()

virtual void SoClipPlaneElement::print ( FILE *  fp) const
virtual

Reimplemented from SoAccumulatedElement.

◆ push()

virtual void SoClipPlaneElement::push ( SoState state)
virtual

Reimplemented from SoElement.

Member Data Documentation

◆ planes

SbPList SoClipPlaneElement::planes
protected

Definition at line 113 of file SoClipPlaneElement.h.

◆ startIndex

int SoClipPlaneElement::startIndex
protected

Definition at line 114 of file SoClipPlaneElement.h.


The documentation for this class was generated from the following file: