Coin: SoBBoxModelMatrixElement Class Reference

| Coin3D is Free Software, published under the BSD 3-clause license. | https://coin3d.github.io https://www.kongsberg.com/en/kogt/

Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
SoBBoxModelMatrixElement Class Reference
Element Classes

The SoBBoxModelMatrixElement class keeps track of the current model matrix during a scene graph traversal. It is used by amongst others the SoGetBoundingBoxAction class. More...

`#include <Inventor/elements/SoBBoxModelMatrixElement.h>`

Inheritance diagram for SoBBoxModelMatrixElement:

## Public Member Functions
virtual void | init (SoState *state)
| FIXME: write doc.
virtual void | push (SoState *state)
| FIXME: write doc.
Public Member Functions inherited from SoModelMatrixElement
virtual SbBool | matches (const SoElement *element) const
const SbMatrix & | getModelMatrix (void) const
Public Member Functions inherited from SoAccumulatedElement
Public Member Functions inherited from SoElement
const SoType | getTypeId (void) const
int | getStackIndex (void) const
virtual void | pop (SoState *state, const SoElement *prevTopElement)
void | setDepth (const int depth)
int | getDepth (void) const
virtual void | print (FILE *file=stdout) const
virtual | ~SoElement ()

## Static Public Member Functions
static SoType | getClassTypeId (void)
static int | getClassStackIndex (void)
static void * | createInstance (void)
static void | initClass (void)
static void | reset (SoState *const state, SoNode *const node)
static void | pushMatrix (SoState *const state, SbMatrix &matrix, SbMatrix &localmatrix)
static void | popMatrix (SoState *const state, const SbMatrix &matrix, const SbMatrix &localmatrix)
Static Public Member Functions inherited from SoModelMatrixElement
static SoType | getClassTypeId (void)
static int | getClassStackIndex (void)
static void * | createInstance (void)
static void | initClass (void)
static void | makeIdentity (SoState *const state, SoNode *const node)
static void | set (SoState *const state, SoNode *const node, const SbMatrix &matrix)
static void | setCullMatrix (SoState *state, SoNode *node, const SbMatrix &matrix)
static void | mult (SoState *const state, SoNode *const node, const SbMatrix &matrix)
static void | translateBy (SoState *const state, SoNode *const node, const SbVec3f &translation)
static void | rotateBy (SoState *const state, SoNode *const node, const SbRotation &rotation)
static void | scaleBy (SoState *const state, SoNode *const node, const SbVec3f &scaleFactor)
static SbMatrix | pushMatrix (SoState *const state)
static void | popMatrix (SoState *const state, const SbMatrix &matrix)
static const SbMatrix & | getCombinedCullMatrix (SoState *const state)
static const SbMatrix & | get (SoState *const state)
static const SbMatrix & | get (SoState *const state, SbBool &isIdentity)
Static Public Member Functions inherited from SoAccumulatedElement
static SoType | getClassTypeId (void)
static int | getClassStackIndex (void)
static void | initClass (void)
Static Public Member Functions inherited from SoElement
static void | initClass (void)
static SoType | getClassTypeId (void)
static int | getClassStackIndex (void)
static void | initElements (void)
static int | getNumStackIndices (void)
static SoType | getIdFromStackIndex (const int stackIndex)

## Protected Member Functions
virtual | ~SoBBoxModelMatrixElement ()
virtual void | makeEltIdentity (void)
| FIXME: write doc.
virtual void | setElt (const SbMatrix &matrix)
| FIXME: write doc.
virtual void | multElt (const SbMatrix &matrix)
| FIXME: write doc.
virtual void | translateEltBy (const SbVec3f &translation)
| FIXME: write doc.
virtual void | rotateEltBy (const SbRotation &translation)
| FIXME: write doc.
virtual void | scaleEltBy (const SbVec3f &scaleFactor)
| FIXME: write doc.
virtual SbMatrix | pushMatrixElt ()
virtual void | popMatrixElt (const SbMatrix &matrix)
Protected Member Functions inherited from SoModelMatrixElement
virtual | ~SoModelMatrixElement ()
Protected Member Functions inherited from SoAccumulatedElement
virtual | ~SoAccumulatedElement ()
void | clearNodeIds (void)
void | addNodeId (const SoNode *const node)
void | setNodeId (const SoNode *const node)
void | copyNodeIds (const SoAccumulatedElement *copyfrom)
virtual SoElement * | copyMatchInfo (void) const
virtual void | captureThis (SoState *state) const
Protected Member Functions inherited from SoElement
| SoElement (void)
void | capture (SoState *const state) const
void | setTypeId (const SoType typeId)
void | setStackIndex (const int index)
SoElement * | getNextInStack (void) const
SoElement * | getNextFree (void) const

## Additional Inherited Members
Static Protected Member Functions inherited from SoElement
static SoElement * | getElement (SoState *const state, const int stackIndex)
static const SoElement * | getConstElement (SoState *const state, const int stackIndex)
static int | createStackIndex (const SoType id)
Protected Attributes inherited from SoModelMatrixElement
SbMatrix | modelMatrix
SbMatrix | cullMatrix
SbMatrix | combinedMatrix
uint32_t | flags
Protected Attributes inherited from SoAccumulatedElement
SbList< SbUniqueId > | nodeIds
Protected Attributes inherited from SoElement
SoType | typeId
int | stackIndex
int | depth
Static Protected Attributes inherited from SoElement
static int | classStackIndex
static SoTypeList * | stackToType

## Detailed Description

The SoBBoxModelMatrixElement class keeps track of the current model matrix during a scene graph traversal. It is used by amongst others the SoGetBoundingBoxAction class.

## Constructor & Destructor Documentation

## ◆ ~SoBBoxModelMatrixElement()

SoBBoxModelMatrixElement::~SoBBoxModelMatrixElement | ( |  | ) |
| protectedvirtual

Destructor.

## Member Function Documentation

## ◆ getClassTypeId()

SoType SoBBoxModelMatrixElement::getClassTypeId | ( | void |  | ) |
| static

This static method returns the SoType object associated with objects of this class.

## ◆ getClassStackIndex()

int SoBBoxModelMatrixElement::getClassStackIndex | ( | void |  | ) |
| static

This static method returns the state stack index for the class.

## ◆ createInstance()

void * SoBBoxModelMatrixElement::createInstance | ( | void |  | ) |
| static

This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.
Creates a new instance of the class type corresponding to the SoType object.

## ◆ initClass()

void SoBBoxModelMatrixElement::initClass | ( | void |  | ) |
| static

Initialize relevant common data for all instances, like the type system.

## ◆ init()

void SoBBoxModelMatrixElement::init | ( | SoState * | state | ) |
| virtual

FIXME: write doc.

Reimplemented from SoModelMatrixElement.

## ◆ push()

void SoBBoxModelMatrixElement::push | ( | SoState * | state | ) |
| virtual

FIXME: write doc.

Reimplemented from SoModelMatrixElement.

## ◆ reset()

void SoBBoxModelMatrixElement::reset | ( | SoState *const | state,
|  | SoNode *const | node )
| static

This method is for the SoGetBoundingBoxAction class so it can reset the current model matrix and all local matrices to identity.

## ◆ pushMatrix()

void SoBBoxModelMatrixElement::pushMatrix | ( | SoState *const | state,
|  | SbMatrix & | matrix,
|  | SbMatrix & | localmatrix )
| static

This method keeps two matrices up-to-date as opposed to the method it replaces.

## ◆ popMatrix()

void SoBBoxModelMatrixElement::popMatrix | ( | SoState *const | state,
|  | const SbMatrix & | matrix,
|  | const SbMatrix & | localmatrix )
| static

This method keeps two matrices up-to-date as opposed to the method it replaces.

## ◆ makeEltIdentity()

void SoBBoxModelMatrixElement::makeEltIdentity | ( | void |  | ) |
| protectedvirtual

FIXME: write doc.

Reimplemented from SoModelMatrixElement.

## ◆ setElt()

void SoBBoxModelMatrixElement::setElt | ( | const SbMatrix & | matrix | ) |
| protectedvirtual

FIXME: write doc.

Reimplemented from SoModelMatrixElement.

## ◆ multElt()

void SoBBoxModelMatrixElement::multElt | ( | const SbMatrix & | matrix | ) |
| protectedvirtual

FIXME: write doc.

Reimplemented from SoModelMatrixElement.

## ◆ translateEltBy()

void SoBBoxModelMatrixElement::translateEltBy | ( | const SbVec3f & | translation | ) |
| protectedvirtual

FIXME: write doc.

Reimplemented from SoModelMatrixElement.

## ◆ rotateEltBy()

void SoBBoxModelMatrixElement::rotateEltBy | ( | const SbRotation & | translation | ) |
| protectedvirtual

FIXME: write doc.

Reimplemented from SoModelMatrixElement.

## ◆ scaleEltBy()

void SoBBoxModelMatrixElement::scaleEltBy | ( | const SbVec3f & | scaleFactor | ) |
| protectedvirtual

FIXME: write doc.

Reimplemented from SoModelMatrixElement.

## ◆ pushMatrixElt()

SbMatrix SoBBoxModelMatrixElement::pushMatrixElt | ( | void |  | ) |
| protectedvirtual

This method is for debug use only.

Reimplemented from SoModelMatrixElement.

## ◆ popMatrixElt()

void SoBBoxModelMatrixElement::popMatrixElt | ( | const SbMatrix & | m | ) |
| protectedvirtual

This method is for debug use only.

Reimplemented from SoModelMatrixElement.

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

- SoBBoxModelMatrixElement.h
- SoBBoxModelMatrixElement.cpp