SOMULTITEXTUREMATRIXELEMENT(3coin3)

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

πŸ’– SoMultiTextureMatrixElement β€” the SoMultiTextureMatrixElement page, bestie edition πŸ’–

okay so this is SoMultiTextureMatrixElement(3), a library functions manual page, and honestly? she's giving stack manager for texture units above zero and I'm obsessed. Let's get into it. πŸ¦‹


✨ NAME ✨

SoMultiTextureMatrixElement β€” the class that's out here managing the texture matrix stack for texture units > 0. she runs the whole tower, no cap. πŸ‘‘


🌸 SYNOPSIS 🌸

#include <Inherited by SoGLMultiTextureMatrixElement.h>

wait no hold on, let me not do that, that's not it, let me be normal for one second:

#include <Inventor/elements/SoMultiTextureMatrixElement.h>

Inherits SoAccumulatedElement.

Inherited by SoGLMultiTextureMatrixElement. (so the GL one is her daughter, the way that genetics works here is chef's kiss)

πŸŽ€ 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)

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 ()
  • 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

  • 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< 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 SoMultiTextureMatrixElement class is used to manage the texture matrix stack for texture units > 0. yes, only the units above zero, she does not do unit zero, that's somebody else's job, we respect the boundaries. πŸ’…

The texture matrix is used to transform texture coordinates before being used to map textures onto polygons. so like β€” coords go in, matrix does its little dance, then the texture gets mapped. iconic behavior honestly. ✨

Since: Coin 2.2 ⭐


πŸ’– Constructor & Destructor Documentation πŸ’–

SoMultiTextureMatrixElement::SoMultiTextureMatrixElement (void ) [protected]

The constructor. she's born. πŸŽ€

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

The destructor. she's leaving, and we're all emotional about it. 😭


πŸ‘‘ Member Function Documentation πŸ‘‘

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. so like, if you're an app dev, this one is not for you bestie, look away, nothing to see here. πŸ™ˆ

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. this happens 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 it's a depth check situation, very stack-core. πŸ”₯

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.

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. math but make it fashion. ✨

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

Returns current texture matrix. that's it, that's the function, she gives you the matrix. πŸ’œ

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

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

Reimplemented in SoGLMultiTextureMatrixElement.

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

virtual method which is called from set(). Sets matrix intp element matrix. (yes it says intp, I'm not fixing the library's typo, I'm just the messenger 🫢)

Reimplemented in SoGLMultiTextureMatrixElement.

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

Returns element matrix. Called from get().


πŸ“ Author πŸ“

Generated automatically by Doxygen for Coin from the source code. no human wrote this, a robot did, and honestly? the robot ate. πŸ’…


and that's the whole page, bestie!! πŸ’– this was SoMultiTex...trixElement(3) from Coin, Version 3.1.3 β€” go forth and manage those texture matrix stacks for texture units > 0, you absolute main character. slay, stay hydrated, and remember: unit zero is not your problem. πŸ¦‹πŸŒΈβœ¨ periodt.

πŸ“¦ where this page comes from