SoTextureMatrixElement(3)
β¨ 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) constint getStackIndex (void) constvirtual void pop (SoState *state, const SoElement *prevTopElement)void setDepth (const int depth)int getDepth (void) constvirtual void print (FILE *file=stdout) constvirtual ~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) constvirtual void captureThis (SoState *state) const
π Protected Member Functions inherited from SoElement
SoElement (void)void capture (SoState *const state) constvoid setTypeId (const SoType typeId)void setStackIndex (const int index)SoElement * getNextInStack (void) constSoElement * getNextFree (void) const
π Protected Attributes
SbMatrix textureMatrix
π Protected Attributes inherited from SoAccumulatedElement
SbList< uint32_t > nodeIds
π Protected Attributes inherited from SoElement
SoType typeIdint stackIndexint 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 classStackIndexstatic 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
- fedora 43: Coin3-devel 3.1.3-40.fc43 Β· GPL-2.0-only
- fedora 43: Coin3-devel 3.1.3-40.fc43 Β· GPL-2.0-only
- fedora 44: Coin3-devel 3.1.3-42.fc44 Β· GPL-2.0-only
- fedora 44: Coin3-devel 3.1.3-42.fc44 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms