SoInt32Element(3)

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

✨ NAME ✨

SoInt32Element β€” bestie, it's the base class for elements that literally just store a 32-bit integer. That's it. That's the whole job. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

#include <Inventor/elements/SoInt32Element.h>

Inherits SoElement. Yeah, it's giving legacy inheritance energy. πŸ‘‘

Inherited by SoAnnoText3CharOrientElement, SoAnnoText3FontSizeHintElement, SoAnnoText3RenderPrintElement, SoComplexityTypeElement, SoDecimationTypeElement, SoDrawStyleElement, SoGLLightIdElement, SoGLShadowCullingElement, SoLightModelElement, SoLinePatternElement, SoMaterialBindingElement, SoNormalBindingElement, SoPickStyleElement, SoShadowStyleElement, SoSwitchElement, SoTextOutlineEnabledElement, , SoTextureCoordinateBindingElement, SoTextureEnabledElement, SoTextureUnitElement, and SoUnitsElement. (yes there's a stray double comma in there, we're not going to talk about it, the source code said it and we're keeping it fr fr 🫢)

🌸 Public Member Functions 🌸

  • virtual void init (SoState *state) β€” FIXME: write doc.
  • virtual SbBool matches (const SoElement *element) const
  • virtual SoElement * copyMatchInfo (void) const
  • virtual void print (FILE *file) const
  • virtual void setElt (int32_t value) β€” FIXME: write doc.

πŸ’– Public Member Functions inherited from SoElement πŸ’–

  • const SoType getTypeId (void) const
  • int getStackIndex (void) const
  • virtual void push (SoState *state)
  • virtual void pop (SoState *state, const SoElement *prevTopElement)
  • void setDepth (const int depth)
  • int getDepth (void) const
  • virtual ~SoElement ()

⭐ Static Public Member Functions ⭐

  • static SoType getClassTypeId (void)
  • static int getClassStackIndex (void)
  • static void initClass (void)
  • static void set (const int index, SoState *const state, SoNode *const node, const int32_t value)
  • static void set (const int index, SoState *const state, const int32_t value)
  • static int32_t get (const int index, SoState *const state) β€” FIXME: write doc.

πŸ¦‹ 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 Attributes 🌈

  • int32_t data

πŸ’œ Protected Attributes inherited from SoElement πŸ’œ

  • SoType typeId
  • int stackIndex
  • int depth

🧚 Additional Inherited Members 🧚

Protected Member Functions inherited from SoElement

  • SoElement (void)
  • void capture (SoState *const state) const
  • virtual void captureThis (SoState *state) const
  • void setTypeId (const SoType typeId)
  • void setStackIndex (const int index)
  • SoElement * getNextInStack (void) const
  • SoElement * getNextFree (void) const

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 SoInt32Element class is the base class for elements that simply store a 32-bit integer. So simple. So elegant. So iconic. ✨

It's the superclass of elements where the new element data replaces the old data, and where the data the element stores is a simple 32-bit integer value. Out with the old, in with the new, no notes. πŸ’…

Basically it's like a convenient light-weight version of the SoReplacedElement. The way it differs from SoReplacedElement? The set() and get() methods are already implemented for you, because the code knows subclasses will still contain just a single 32-bit integer value. You literally don't have to lift a finger bestie, it's already done. 🫢

See also: SoReplacedElement, SoFloatElement, SoAccumulatedElement


πŸ’– Member Function Documentation πŸ’–

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

FIXME: write doc.

Reimplemented from SoElement.

Reimplemented in SoAnnoText3CharOrientElement, SoAnnoText3FontSizeHintElement, SoAnnoText3RenderPrintElement, SoComplexityTypeElement, SoDecimationTypeElement, SoDrawStyleElement, SoGLDrawStyleElement, SoGLLightIdElement, SoGLLinePatternElement, SoGLShadowCullingElement, SoGLTexture3EnabledElement, SoGLTextureEnabledElement, SoLightModelElement, SoLinePatternElement, SoMaterialBindingElement, SoNormalBindingElement, SoPickStyleElement, SoShadowStyleElement, SoSwitchElement, SoTextOutlineEnabledElement, SoTextureCoordinateBindingElement, SoTextureEnabledElement, SoTextureUnitElement, SoUnitsElement, and SoVertexAttributeBindingElement.

SbBool SoInt32Element::matches (const SoElement * element) const [virtual]

This function returns TRUE is the element matches another element (of the same class), with respect to cache validity. (yes it says "is" not "if", we're keeping it, no cap 😭)

If the application programmer's extension element has a matches() function, it should also have a copyMatchInfo() function. They're a package deal, a duo, a two-for-one. πŸŽ€

Implements SoElement.

SoElement * SoInt32Element::copyMatchInfo (void ) const [virtual]

This function creates a copy of the element that contains enough information to enable the matches() function to work. ✨

Used to help with scenegraph traversal caching operations. She's doing the behind-the-scenes work, lowkey carrying the whole cache. πŸ‘‘

Implements SoElement.

void SoInt32Element::print (FILE * file) const [virtual]

This function is for printing element information, and is used mostly for debugging purposes. It's giving "print it and pray" energy, but make it official. πŸ›

Reimplemented from SoElement.

void SoInt32Element::set (const int index, SoState *const state, const int32_t value) [static]

FIXME: write doc.

void SoInt32Element::setElt (int32_t value) [virtual]

FIXME: write doc.

Reimplemented in SoGLDrawStyleElement, SoGLLinePatternElement, SoGLShadowCullingElement, SoGLTexture3EnabledElement, SoGLTextureEnabledElement, and SoTextureEnabledElement.


πŸ“ Member Data Documentation πŸ“

int32_t SoInt32Element::data [protected]

The 32-bit integer value of the element. That's the whole personality. One integer. Thirty-two bits. Living her best life. πŸ’…


🌸 Author 🌸

Generated automatically by Doxygen for Coin from the source code. (the machines wrote this one, not me, we respect the pipeline 🫢)


okay bestie that's the whole page, mwah πŸ’‹ this manual page is for Coin Version 3.1.3, and it came straight from the SoInt32Element(3) page in the Library Functions Manual β€” go forth and store your 32-bit integers responsibly, ily, bye βœ¨πŸŽ€πŸ’–

πŸ“¦ where this page comes from