SoTextureMatrixElement(3)

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

✨ SoTextureMatrixElement(3) ✨

okay bestie, welcome to the Coin manual, section 3, and today's main character is SoTextureMatrixElement πŸ’… she lives in the library functions and she is obsessed with one thing: managing the texture matrix stack. like that's her whole job. no cap.


🌸 NAME 🌸

SoTextureMatrixElement β€” the class that manages the texture matrix stack. yes. that's it. that's the vibe. πŸ‘‘


✨ SYNOPSIS ✨

#include <Inventor/elements/SoTextureMatrixElement.h>

Inherits SoAccumulatedElement.

Inherited by SoGLTextureMatrixElement.

πŸŽ€ Public Member Functions

  • virtual void init (SoState *state)
  • virtual void push (SoState *state)

πŸ’– Public Member Functions inherited from SoAccumulatedElement

  • virtual SbBool matches (const SoElement *element) 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 makeIdentity (SoState *const state, SoNode *const node)
  • static void set (SoState *const state, SoNode *const 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 const SbMatrix & get (SoState *const state)
  • static void emptyMatrix (SoState *const state)

πŸ’– 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 ~SoTextureMatrixElement ()
  • virtual void makeEltIdentity (void)
  • virtual void setElt (const SbMatrix &matrix)
  • virtual void multElt (const SbMatrix &matrix)
  • virtual void translateEltBy (const SbVec3f &translation)
  • virtual void rotateEltBy (const SbRotation &rotation)
  • virtual void scaleEltBy (const SbVec3f &scaleFactor)
  • virtual const SbMatrix & getElt (void) const

πŸ’– 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

🌈 Protected Attributes

  • SbMatrix textureMatrix

πŸ’– Protected Attributes inherited from SoAccumulatedElement

  • SbList< uint32_t > nodeIds

πŸ’– Protected Attributes inherited from SoElement

  • SoType typeId
  • int stackIndex
  • int depth

🧚 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)

πŸ’– Static Protected Attributes inherited from SoElement

  • static int classStackIndex
  • static SoTypeList * stackToType

🌟 Detailed Description 🌟

The SoTextureMatrixElement class is used to manage the texture matrix stack. that's her. that's the whole girlboss job description fr fr.

so what does a texture matrix even do, bestie? it transforms texture coordinates before they get used to map textures onto polygons. like the glow-up happens first, then the texture lands on the polygon. slay. ✨


πŸŽ€ Constructor & Destructor Documentation πŸŽ€

SoTextureMatrixElement::~SoTextureMatrixElement (void ) [protected], [virtual]

the destructor. she's leaving, say bye πŸ‘‹πŸ’œ


πŸ’… Member Function Documentation πŸ’…

void * SoTextureMatrixElement::createInstance (void ) [static]

so this API member is considered internal to the library, because it's not likely to be of any interest to the application programmer. iykyk. you probably don't need her, and that's okay 🫢

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

this function initializes the element type in the given SoState. it gets called for the first element of each enabled element type in SoState objects. like the opening number. iconic.

Reimplemented from SoAccumulatedElement.

Reimplemented in SoGLTextureMatrixElement.

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

this method is called every single time a new element is required in one of the stacks. when does that happen? when a writable element is requested, using SoState::getElement() or indirectly SoElement::getElement(), and the depth of the current element is less than the state depth. so basically whenever the stack needs a fresh one πŸ’…

override this method if your element needs to copy data from the previous top of stack. the push() method is called on the new element, and the previous element can be found using SoElement::getNextInStack().

Reimplemented from SoAccumulatedElement.

void SoTextureMatrixElement::makeIdentity (SoState *const state, SoNode *const node) [static]

sets the current texture matrix to identity. that's the reset button, bestie ✨

void SoTextureMatrixElement::set (SoState *const state, SoNode *const node, const SbMatrix & matrix) [static]

sets the current texture matrix to matrix.

this method is an extension versus the Open Inventor API. so like, she's extra. not in the original. noted πŸ“

void SoTextureMatrixElement::mult (SoState *const state, SoNode *const node, const SbMatrix & matrix) [static]

multiplies matrix into the current texture matrix.

void SoTextureMatrixElement::translateBy (SoState *const state, SoNode *const node, const SbVec3f & translation) [static]

appends translation to the current texture matrix. scoot scoot πŸ¦‹

void SoTextureMatrixElement::rotateBy (SoState *const state, SoNode *const node, const SbRotation & rotation) [static]

appends rotation to the current texture matrix. spin, bestie, spin πŸŒͺ️

void SoTextureMatrixElement::scaleBy (SoState *const state, SoNode *const node, const SbVec3f & scaleFactor) [static]

appends scaleFactor to the current texture matrix. glow-up unlocked πŸ“ˆ

const SbMatrix & SoTextureMatrixElement::get (SoState *const state) [static]

returns the current texture matrix. she's giving what you asked for πŸ’–

void SoTextureMatrixElement::emptyMatrix (SoState *const state) [static]

provided for API compatibility only. does nothing for the moment. so she's literally just standing there. existing. not doing a thing. queen behavior honestly πŸ’€

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

virtual method which is called from makeIdentity(). sets the element matrix to identity.

Reimplemented in SoGLTextureMatrixElement.

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

virtual method which is called from set(). sets the texture matrix to matrix.

this method is an extension versus the Open Inventor API. again! she's extra, twice 🌟

Reimplemented in SoGLTextureMatrixElement.

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

virtual method which is called from mult(). multiplies matrix into the element matrix.

Reimplemented in SoGLTextureMatrixElement.

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

virtual method which is called from translateBy(). appends translation to the element matrix.

Reimplemented in SoGLTextureMatrixElement.

void SoTextureMatrixElement::rotateEltBy (const SbRotation & rotation) [protected], [virtual]

virtual method which is called from rotateBy(). appends rotation to the element matrix.

Reimplemented in SoGLTextureMatrixElement.

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

virtual method which is called from scaleBy(). appends scaleFactor to the element matrix.

Reimplemented in SoGLTextureMatrixElement.

const SbMatrix & SoTextureMatrixElement::getElt (void ) const [protected], [virtual]

returns the element matrix. called from get().


πŸ’œ Member Data Documentation πŸ’œ

SbMatrix SoTextureMatrixElement::textureMatrix [protected]

the matrix. that's the whole description. the matrix. she said what she said 😌


🌈 Author 🌈

generated automatically by Doxygen for Coin from the source code. so like, a robot wrote this and i'm just translating it into feelings 🫢


so yeah, this whole page is from Coin, Version 3.1.3, and that's the whole manual page for SoTextureMatrixElement(3) β€” take care of her, she manages a whole stack for you and she asks for nothing in return πŸ’–βœ¨πŸŽ€ bye bestie!!

πŸ“¦ where this page comes from