SOBBOXMODELMATRIXELEMENT(3coin3)

πŸ“¦ version 3.1.3, in fedora 43, fedora 44

✨ NAME ✨

okay bestie, meet SoBBoxModelMatrixElement πŸ’– β€” the class that keeps track of the current model matrix while you're doing a scene graph traversal. It's the one doing the heavy lifting behind the scenes for, amongst others, the SoGetBoundingBoxAction class. no cap, that's literally its whole job. 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <Inventor/elements/SoBBoxModelMatrixElement.h>

Inherits SoModelMatrixElement. it's giving nepo baby but make it matrices πŸ’…

🌸 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 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

  • 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< uint32_t > 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 () [protected], [virtual]

The destructor. say bye bestie πŸ‘‹ it's protected, so it's not for you to call directly, iykyk.


πŸ’… Member Function Documentation πŸ’…

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. πŸ™ˆ lowkey not for us, it's giving backstage pass only.

void SoBBoxModelMatrixElement::initClass (void ) [static]

This static method initializes static data for the SoBBoxModelMatrixElement class. ✨ one-time setup, iconic behavior.

void SoBBoxModelMatrixElement::init (SoState * state) [virtual]

FIXME: write doc.

Reimplemented from SoModelMatrixElement.

void SoBBoxModelMatrixElement::push (SoState * state) [virtual]

FIXME: write doc.

Reimplemented from SoModelMatrixElement.

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. πŸ’« everything back to zero, fresh start energy.

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. two at once?? multitasking queen πŸ’…

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. same vibe, popping instead of pushing, still double duty 🫢

void SoBBoxModelMatrixElement::makeEltIdentity (void ) [protected], [virtual]

FIXME: write doc.

Reimplemented from SoModelMatrixElement.

void SoBBoxModelMatrixElement::setElt (const SbMatrix & matrix) [protected], [virtual]

FIXME: write doc.

Reimplemented from SoModelMatrixElement.

void SoBBoxModelMatrixElement::multElt (const SbMatrix & matrix) [protected], [virtual]

FIXME: write doc.

Reimplemented from SoModelMatrixElement.

void SoBBoxModelMatrixElement::translateEltBy (const SbVec3f & translation) [protected], [virtual]

FIXME: write doc.

Reimplemented from SoModelMatrixElement.

void SoBBoxModelMatrixElement::rotateEltBy (const SbRotation & translation) [protected], [virtual]

FIXME: write doc.

Reimplemented from SoModelMatrixElement.

void SoBBoxModelMatrixElement::scaleEltBy (const SbVec3f & scaleFactor) [protected], [virtual]

FIXME: write doc.

Reimplemented from SoModelMatrixElement.

SbMatrix SoBBoxModelMatrixElement::pushMatrixElt (void ) [protected], [virtual]

This method is for debug use only. πŸ› no cap, debug only.

Reimplemented from SoModelMatrixElement.

void SoBBoxModelMatrixElement::popMatrixElt (const SbMatrix & m) [protected], [virtual]

This method is for debug use only. πŸ› yep, also debug only.

Reimplemented from SoModelMatrixElement.


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for Coin from the source code. not a human author, just a robot doing its thing πŸ€–βœ¨


k that's the whole page bestie, every last flag and FIXME accounted for, nothing skipped, periodt. πŸ’–

Coin Β· Version 3.1.3 Β· SoBBoxModelMatrixElement(3) β€” mwah, take care of her πŸ«ΆπŸ’…πŸŒˆ

πŸ“¦ where this page comes from