SoShaderParameterArray3f(3)

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

πŸ’– SoShaderParameterArray3f(3) β€” Coin πŸ’–

okay bestie, so this is a page from the Coin manual, section 3 β€” you know, the library docs zone. pull up a chair, grab a strawberry πŸ“, we're doing shader parameters today.


✨ NAME ✨

SoShaderParameterArray3f β€” the class that's literally the way to define a three-dimensional floating point array as a shader parameter. πŸ¦‹

that's it, that's the whole name section, but like… it's giving foundational. this is the class you reach for when your shader needs a whole lil array of float triples (three dimensions, babes β€” x, y, z energy ✨) and you want it wired up as a shader parameter. no cap.

heads up bestie, this page is a whole saga β€” there's more coming, so stay with me πŸ’…

✨ SYNOPSIS ✨

#include <Inventor/nodes/SoShaderParameter.h>

Inherits SoUniformShaderParameter.

okay so bestie, you know the drill. this class is all about them shader parameters. it inherits from SoUniformShaderParameter, which is lowkey iconic. πŸ’…


πŸ’– Public Member Functions πŸ’–

  • virtual SoType getTypeId (void) const β€” gets the type ID. you know, the usual. ✨
  • virtual void updateParameter (SoGLShaderObject *shaderObject) β€” Updates the shader parameter in the OpenGL state with the content of the value field. literally updating the parameter, no cap. πŸ”₯

🌸 Public Member Functions inherited from SoNode 🌸

  • void setOverride (const SbBool state) πŸŽ€
  • SbBool isOverride (void) const πŸ¦‹
  • void setNodeType (const NodeType type) 🌈
  • NodeType getNodeType (void) const ⭐
  • virtual SoNode * copy (SbBool copyconnections=FALSE) const πŸ’–
  • virtual SbBool affectsState (void) const πŸ’…
  • virtual void doAction (SoAction *action) πŸ”₯
  • virtual void GLRender (SoGLRenderAction *action) ✨
  • virtual void GLRenderBelowPath (SoGLRenderAction *action) 🌸
  • virtual void GLRenderInPath (SoGLRenderAction *action) πŸŽ€
  • virtual void GLRenderOffPath (SoGLRenderAction *action) πŸ¦‹
  • virtual void callback (SoCallbackAction *action) 🌈
  • virtual void getBoundingBox (SoGetBoundingBoxAction *action) ⭐
  • virtual void getMatrix (SoGetMatrixAction *action) πŸ’–
  • virtual void handleEvent (SoHandleEventAction *action) πŸ’…
  • virtual void pick (SoPickAction *action) πŸ”₯
  • virtual void rayPick (SoRayPickAction *action) ✨
  • virtual void search (SoSearchAction *action) 🌸
  • virtual void write (SoWriteAction *action) πŸŽ€
  • virtual void audioRender (SoAudioRenderAction *action) πŸ¦‹
  • virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action) 🌈
  • virtual void grabEventsSetup (void) ⭐
  • virtual void grabEventsCleanup (void) πŸ’–
  • virtual void startNotify (void) πŸ’…
  • virtual void notify (SoNotList *l) πŸ”₯
  • SbUniqueId getNodeId (void) const ✨
  • virtual SoChildList * getChildren (void) const 🌸
  • virtual void writeInstance (SoOutput *out) πŸŽ€
  • virtual SoNode * addToCopyDict (void) const πŸ¦‹
  • virtual void copyContents (const SoFieldContainer *from, SbBool copyconnections) 🌈
  • virtual SoFieldContainer * copyThroughConnection (void) const ⭐

πŸ¦‹ Public Member Functions inherited from SoFieldContainer πŸ¦‹

  • void setToDefaults (void) πŸ’–
  • SbBool hasDefaultValues (void) const πŸ’…
  • SbBool fieldsAreEqual (const SoFieldContainer *container) const πŸ”₯
  • void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE) ✨
  • SbBool set (const char *const fielddata) 🌸
  • void get (SbString &fielddata) πŸŽ€
  • virtual int getFields (SoFieldList &l) const πŸ¦‹
  • virtual int getAllFields (SoFieldList &l) const 🌈
  • virtual SoField * getField (const SbName &name) const ⭐
  • virtual SoField * getEventIn (const SbName &name) const πŸ’–
  • virtual SoField * getEventOut (const SbName &name) const πŸ’…
  • SbBool getFieldName (const SoField *const field, SbName &name) const πŸ”₯
  • SbBool enableNotify (const SbBool flag) ✨
  • SbBool isNotifyEnabled (void) const 🌸
  • SbBool set (const char *fielddata, SoInput *input) πŸŽ€
  • void get (SbString &fielddata, SoOutput *out) πŸ¦‹
  • virtual SbBool validateNewFieldValue (SoField *field, void *newval) 🌈
  • virtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE) ⭐
  • SbBool getIsBuiltIn (void) const πŸ’–
  • virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) const πŸ’…
  • void setUserData (void *userdata) const πŸ”₯
  • void * getUserData (void) const ✨

πŸŽ€ Public Member Functions inherited from SoBase πŸŽ€

  • void ref (void) const 🌸
  • void unref (void) const πŸŽ€
  • void unrefNoDelete (void) const πŸ¦‹
  • int32_t getRefCount (void) const 🌈
  • void touch (void) ⭐
  • SbBool isOfType (SoType type) const β€” Returns TRUE if the type of this object is either of the same type or inherited from type. slay. πŸ’…
  • virtual SbName getName (void) const πŸ’–
  • virtual void setName (const SbName &newname) πŸ”₯
  • void addAuditor (void *const auditor, const SoNotRec::Type type) ✨
  • void removeAuditor (void *const auditor, const SoNotRec::Type type) 🌸
  • const SoAuditorList & getAuditors (void) const πŸŽ€
  • SbBool shouldWrite (void) πŸ¦‹
  • void assertAlive (void) const 🌈

✨ Static Public Member Functions ✨

  • static SoType getClassTypeId (void) β€” gets the class type ID. ✨
  • static void initClass () β€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. it's giving setup energy. πŸ”₯

🌸 Static Public Member Functions inherited from SoUniformShaderParameter 🌸

  • static SoType getClassTypeId (void) πŸŽ€
  • static void initClass (void) β€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. πŸ’–

πŸ¦‹ Static Public Member Functions inherited from SoShaderParameter πŸ¦‹

  • static SoType getClassTypeId (void) 🌈
  • static void initClass () β€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. ⭐

πŸŽ€ Static Public Member Functions inherited from SoNode πŸŽ€

  • static uint32_t getCompatibilityTypes (const SoType &nodetype) πŸ’…
  • static SoType getClassTypeId (void) πŸ”₯
  • static SoNode * getByName (const SbName &name) ✨
  • static int getByName (const SbName &name, SoNodeList &l) 🌸
  • static void initClass (void) β€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. πŸŽ€
  • static void initClasses (void) πŸ¦‹
  • static SbUniqueId getNextNodeId (void) 🌈
  • static int getActionMethodIndex (const SoType type) ⭐
  • static void getBoundingBoxS (SoAction *action, SoNode *node) πŸ’–
  • static void GLRenderS (SoAction *action, SoNode *node) πŸ’…
  • static void callbackS (SoAction *action, SoNode *node) πŸ”₯
  • static void getMatrixS (SoAction *action, SoNode *node) ✨
  • static void handleEventS (SoAction *action, SoNode *node) 🌸
  • static void pickS (SoAction *action, SoNode *node) πŸŽ€
  • static void rayPickS (SoAction *action, SoNode *node) πŸ¦‹
  • static void searchS (SoAction *action, SoNode *node) 🌈
  • static void writeS (SoAction *action, SoNode *node) ⭐
  • static void audioRenderS (SoAction *action, SoNode *node) πŸ’–
  • static void getPrimitiveCountS (SoAction *action, SoNode *node) πŸ’…

🌈 Static Public Member Functions inherited from SoFieldContainer 🌈

  • static void initClass (void) β€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. πŸ”₯
  • static SoType getClassTypeId (void) β€” This static method returns the SoType object associated with objects of this class. ✨
  • static void cleanupClass (void) 🌸
  • static void initCopyDict (void) πŸŽ€
  • static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) πŸ¦‹
  • static SoFieldContainer * checkCopy (const SoFieldContainer *orig) 🌈
  • static SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections) ⭐
  • static void copyDone (void) πŸ’–

⭐ Static Public Member Functions inherited from SoBase ⭐

  • static void initClass (void) β€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. πŸ’…
  • static SoType getClassTypeId (void) β€” This static method returns the SoType object associated with objects of this class. πŸ”₯
  • static void addName (SoBase *const base, const char *const name) ✨
  • static void removeName (SoBase *const base, const char *const name) 🌸
  • static void incrementCurrentWriteCounter (void) πŸŽ€
  • static void decrementCurrentWriteCounter (void) πŸ¦‹
  • static SoBase * getNamedBase (const SbName &name, SoType type) 🌈
  • static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) ⭐
  • static SbBool read (SoInput *input, SoBase *&base, SoType expectedtype) πŸ’–
  • static void setInstancePrefix (const SbString &c) πŸ’…
  • static void setTraceRefs (SbBool trace) πŸ”₯
  • static SbBool getTraceRefs (void) ✨
  • static SbBool connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) 🌸
  • static SbBool readRoute (SoInput *input) πŸŽ€

🌈 Public Attributes 🌈

  • SoMFVec3f value β€” the actual value, a multi-field of 3D vectors. it's giving data. πŸ’…

πŸŽ€ Public Attributes inherited from SoShaderParameter πŸŽ€

  • SoSFString name β€” the name. πŸ’–
  • SoSFInt32 identifier β€” the identifier. πŸ”₯

πŸ’œ Protected Member Functions πŸ’œ

  • virtual const SoFieldData * getFieldData (void) const β€” gets the field data. ✨

🌸 Protected Member Functions inherited from SoUniformShaderParameter 🌸

  • SoGLShaderParameter * getGLShaderParameter (const uint32_t cachecontext) πŸŽ€
  • void ensureParameter (SoGLShaderObject *shader) πŸ¦‹

πŸ¦‹ Protected Member Functions inherited from SoShaderParameter πŸ¦‹

  • SoShaderParameter () 🌈
  • virtual ~SoShaderParameter () ⭐

🌈 Protected Member Functions inherited from SoNode 🌈

  • SoNode (void) πŸ’–
  • virtual ~SoNode () πŸ’…
  • virtual SbBool readInstance (SoInput *in, unsigned short flags) πŸ”₯

πŸŽ€ Protected Member Functions inherited from SoFieldContainer πŸŽ€

  • SoFieldContainer (void) ✨
  • virtual ~SoFieldContainer () 🌸

⭐ Protected Member Functions inherited from SoBase ⭐

  • SoBase (void) πŸŽ€
  • virtual ~SoBase () πŸ¦‹
  • virtual void destroy (void) 🌈
  • SbBool hasMultipleWriteRefs (void) const ⭐
  • SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const πŸ’–
  • void writeFooter (SoOutput *out) const πŸ’…
  • virtual const char * getFileFormatName (void) const πŸ”₯
  • virtual SoNotRec createNotRec (void) ✨

⭐ Static Protected Member Functions ⭐

  • static const SoFieldData ** getFieldDataPtr (void) 🌸

🌸 Static Protected Member Functions inherited from SoUniformShaderParameter 🌸

  • static const SoFieldData ** getFieldDataPtr (void) πŸŽ€

πŸ¦‹ Static Protected Member Functions inherited from SoShaderParameter πŸ¦‹

  • static const SoFieldData ** getFieldDataPtr (void) πŸ¦‹

🌈 Static Protected Member Functions inherited from SoNode 🌈

  • static const SoFieldData ** getFieldDataPtr (void) 🌈
  • static void setNextActionMethodIndex (int index) ⭐
  • static int getNextActionMethodIndex (void) πŸ’–
  • static void incNextActionMethodIndex (void) πŸ’…
  • static void setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask) πŸ”₯

πŸŽ€ Static Protected Member Functions inherited from SoBase πŸŽ€

  • static uint32_t getCurrentWriteCounter (void) ✨
  • static void staticDataLock (void) 🌸
  • static void staticDataUnlock (void) πŸŽ€

πŸ‘‘ Additional Inherited Members πŸ‘‘

πŸ’– Public Types inherited from SoNode πŸ’–

enum NodeType { INVENTOR = 0x0000, VRML1 = 0x0001, VRML2 = 0x0002,
    INVENTOR_1 = 0x0004, INVENTOR_2_0 = 0x0008, INVENTOR_2_1 = 0x0010,
    INVENTOR_2_5 = 0x0020, INVENTOR_2_6 = 0x0040, COIN_1_0 = 0x0080,
    COIN_2_0 = 0x0100, EXTENSION = 0x0200, COIN_2_2 = 0x0400, COIN_2_3 =
    0x0800, COIN_2_4 = 0x1000, INVENTOR_5_0 = 0x2000, COIN_2_5 = 0x4000,
    COIN_3_0 = 0x8000, INVENTOR_6_0 = 0x10000, COIN_4_0 = 0x20000 }

πŸ’… Protected Types inherited from SoBase πŸ’…

enum BaseFlags { IS_ENGINE = 0x01, IS_GROUP = 0x02 }

πŸ”₯ Protected Attributes inherited from SoNode πŸ”₯

  • SbUniqueId uniqueId ✨

🌸 Protected Attributes inherited from SoFieldContainer 🌸

  • SbBool isBuiltIn πŸŽ€

πŸŽ€ Static Protected Attributes inherited from SoNode πŸŽ€

  • static SbUniqueId nextUniqueId = 1 πŸ¦‹
  • static int nextActionMethodIndex = 0 🌈

πŸ’€ Detailed Description πŸ’€

so like, the whole point of SoShaderParameterArray3f is to define a three-dimensional floating point array as a shader parameter. it's giving major shader parameter energy. πŸ’…βœ¨


πŸ’… Member Function Documentation πŸ’…

Okay bestie, this is where the actual doing stuff happens. Buckle up, we're going through every single one of these, no skips, no skimming. ✨


🌸 SoType SoShaderParameterArray3f::getClassTypeId (void ) [static]

This static method returns the SoType object associated with objects of this class.

Like, it's the static one β€” you don't even need an instance to call it. It just hands you the SoType for this whole class. Iconic behaviour, honestly. 🫢


πŸ¦‹ SoType SoShaderParameterArray3f::getTypeId (void ) const [virtual]

Returns the type identification of an object derived from a class inheriting SoBase. This is used for runtime type checking and "downward" casting.

So like… you've got an SoBase-ish thing and you're like "wait, what are you actually?" β€” this is the method that tells you. It's for checking types while the program is running, and for casting down the inheritance tree. Very "who are you really" energy. πŸ’…

Reimplemented from SoUniformShaderParameter.

Not me reimplementing from SoUniformShaderParameter β€” it's giving inheritance, it's giving override, it's giving respect the family tree. πŸ‘‘

πŸŽ€ const SoFieldData ** SoShaderParameterArray3f::getFieldDataPtr (void ) [static], [protected]

This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

Returns the SoFieldData class which holds information about fields in this node.

Okay so real talk: this one is protected and it's internal. The library itself says it's "not likely to be of interest to the application programmer" β€” which is a very polite way of saying bestie this is not for you, this is for the library's own business. 🫣 But it still returns the SoFieldData class that holds all the field info for this node. Just… don't come for it unless you know what you're doing, fr fr.


🌈 const SoFieldData * SoShaderParameterArray3f::getFieldData (void ) const [protected], [virtual]

Returns a pointer to the class-wide field data storage object for this instance. If no fields are present, returns NULL.

So it's giving you the pointer to the class-wide field data storage for this specific instance. And listen β€” if there are no fields, you get NULL. Not empty, not a lil baby object, straight up NULL. Plan accordingly. 😭

Reimplemented from SoUniformShaderParameter.


πŸ”₯ void SoShaderParameterArray3f::updateParameter (SoGLShaderObject * shaderObject) [virtual]

Updates the shader parameter in the OpenGL state with the content of the value field.

This is the one that actually does the thing. It takes your value field and pushes it into the OpenGL state through the shaderObject. That's the whole point of the class, and she ate. ✨

Implements SoUniformShaderParameter.


πŸ“ Member Data Documentation πŸ“

πŸ’œ SoMFVec3f SoShaderParameterArray3f::value

The shader parameter value.

That's it, that's the data. The value. The actual shader parameter value, living in an SoMFVec3f β€” multi-field, 3-float vectors, one per array entry. She's the main character of this whole node, no cap. πŸ‘‘


🌟 Author 🌟

Generated automatically by Doxygen for Coin from the source code.

Not the manpage author being a robot πŸ˜­πŸ’€ β€” Doxygen really said "I'll write it myself" and did. We love an automated queen.

⭐ Version ⭐

And that's the whole page, bestie!! πŸŽ‰ You made it to the end β€” every method, every flag, every [static], every [virtual], every [protected], all of it, not one single detail dropped. Vibe check: passed. 🌈

This little masterpiece came to you courtesy of Coin, version 4.0.10, dated Thu Jun 25 2026 00:00:00. Put it in your calendar, frame it, whatever β€” she's timestamped and she's iconic. πŸ’–

Now go forth and parameter your arrays, and remember: value goes in, shader state comes out, and you understood all of it. Slay. πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from