SoMultiTextureMatrixElement(3)

πŸ“¦
version 4.0.10 Β· 4 versions
, in fedora 43, fedora 44

πŸ’– SoMultiTextureMatrixElement πŸ’–

okay bestie, buckle up, because this one is from the Coin manual, section 3 (that's the library-functions section, iykyk). It's giving "deep internals but make it fashion". Let's go. ✨


🌸 NAME 🌸

SoMultiTextureMatrixElement β€” the class that runs the texture matrix stack for texture units > 0. That's it, that's the job. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <Inventor/elements/SoMultiTextureMatrixElement.h>
  • Inherits SoAccumulatedElement.
  • Inherited by SoGLMultiTextureMatrixElement.

πŸŽ€ Classes

  • class UnitData

πŸŽ€ 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 set (SoState *const state, SoNode *const node, const int unit, const SbMatrix &matrix)
  • static void mult (SoState *const state, SoNode *const node, const int unit, const SbMatrix &matrix)
  • static const SbMatrix & get (SoState *const state, const int unit=0)
  • static void makeIdentity (SoState *const state, SoNode *const node, const int unit=0)
  • 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 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

  • SoMultiTextureMatrixElement (void)
  • virtual ~SoMultiTextureMatrixElement ()
  • int getNumUnits () const
  • UnitData & getUnitData (const int unit)
  • const UnitData & getUnitData (const int unit) const
  • virtual void multElt (const int unit, const SbMatrix &matrix)
  • virtual void setElt (const int unit, const SbMatrix &matrix)
  • virtual const SbMatrix & getElt (const int unit) const

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

SoMultiTextureMatrixElement is the class that manages the texture matrix stack for texture units > 0. Not unit 0's problem, bestie β€” that's someone else's whole storyline. 🫢

And the texture matrix? It's what transforms texture coordinates before they get used to map textures onto polygons. Basically it's the glow-up filter that happens to your texcoords before the polygons see them. πŸ”₯

Since

  • Coin 2.2

πŸ’€ Constructor & Destructor Documentation πŸ’€

SoMultiTextureMatrixElement::SoMultiTextureMatrixElement (void ) [protected]

Constructor. Just the constructor. It constructs. ✨

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

Destructor. It destructs. Saying goodbye is also a slay, lowkey. 😭


πŸ‘‘ Member Function Documentation πŸ‘‘

SoType SoMultiTextureMatrixElement::getClassTypeId (void ) [static]

This static method returns the SoType object associated with objects of this class. That's the whole vibe check right there. πŸŽ€

int SoMultiTextureMatrixElement::getClassStackIndex (void ) [static]

This static method returns the state stack index for the class. One number, one destiny. πŸ’…

void * SoMultiTextureMatrixElement::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. (not me reading internal-only docs anyway πŸ™ˆ)

Creates a new instance of the class type corresponding to the SoType object.

void SoMultiTextureMatrixElement::initClass (void ) [static]

Initialize relevant common data for all instances, like the type system. Group project, but the good kind. 🫢

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

This function initializes the element type in the given SoState. It is called for the first element of each enabled element type in SoState objects.

  • Reimplemented from SoAccumulatedElement.
  • Reimplemented in SoGLMultiTextureMatrixElement.

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

This method is called every single time a new element is required in one of the stacks. That happens when a writable element is requested β€” either via SoState::getElement() or, indirectly, SoElement::getElement() β€” and the depth of the current element is less than the state depth. It's giving "new stack level, who dis". ✨

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(). Pass the aux cord, bestie. 🎧

  • Reimplemented from SoAccumulatedElement.
  • Reimplemented in SoGLMultiTextureMatrixElement.

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

Multiplies matrix into the current texture matrix. Stacked. Layered. Cute. πŸ’…

const SbMatrix & SoMultiTextureMatrixElement::get (SoState *const state, const int unit = 0) [static]

Returns current texture matrix. Just hands it to you, no drama. 🎁

void SoMultiTextureMatrixElement::multElt (const int unit, const SbMatrix & matrix) [protected], [virtual]

Virtual method which is called from mult(). Multiplies matrix into the element matrix. Yes it's the understudy, and yes it eats every time. πŸ‘‘

  • Reimplemented in SoGLMultiTextureMatrixElement.

void SoMultiTextureMatrixElement::setElt (const int unit, const SbMatrix & matrix) [protected], [virtual]

Virtual method which is called from set(). Sets matrix into the element matrix. No multiplying here, just a straight-up assignment. Periodt. πŸ’…

  • Reimplemented in SoGLMultiTextureMatrixElement.

const SbMatrix & SoMultiTextureMatrixElement::getElt (const int unit) const [protected], [virtual]

Returns element matrix. Called from get(). The middle-man that actually gets the goods. πŸ“


🌈 Author 🌈

Generated automatically by Doxygen for Coin from the source code. (Doxygen said "I did it, not the humans" and honestly? Iconic of it. πŸŽ€)


okay and for the little sign-off at the very bottom: this was Version 4.0.10, dated Thu Jun 25 2026 00:00, and the page you're reading is SoMultiTextureMatrixElement(3). that's the whole manual page, no notes, bye bestie, drink water πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from