SoTextureC...ateBinding(3)

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

πŸ¦‹ SoTextureCoordinateBinding(3) πŸ¦‹

okay bestie, this is the manual page for SoTextureCoordinateBinding(3), and it's giving texture-coordinate binding realness. No cap, every inherited enum, every function signature, every default, and every little note is still here β€” we're just making it cute. πŸ’–


πŸ’– NAME πŸ’–

SoTextureCoordinateBinding β€” The SoTextureCoordinateBinding class says how texture coordinates should be bound to shapes. periodt.


✨ SYNOPSIS ✨

#include <Inventor/nodes/SoTextureCoordinateBinding.h>

Inherits SoNode. slay.

πŸŽ€ Public Types πŸŽ€

enum Binding { PER_VERTEX =
    SoTextureCoordinateBindingElement::PER_VERTEX, PER_VERTEX_INDEXED =
    SoTextureCoordinateBindingElement::PER_VERTEX_INDEXED, DEFAULT =
    PER_VERTEX_INDEXED }

🌸 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
    }

πŸ’… Public Member Functions πŸ’…

  • virtual SoType getTypeId (void) const
  • SoTextureCoordinateBinding (void)
  • virtual void doAction (SoAction *action)
  • virtual void callback (SoCallbackAction *action)
  • virtual void GLRender (SoGLRenderAction *action)
  • virtual void pick (SoPickAction *action)

πŸ’œ Public Member Functions inherited from SoNode πŸ’œ

bestie, here's the whole roster β€” exact names, no edits, no skips:

  • void setOverride (const SbBool state)
  • SbBool isOverride (void) const
  • void setNodeType (const NodeType type)
  • NodeType getNodeType (void) const
  • virtual SoNode * copy (SbBool copyconnections=0) const
  • virtual SbBool affectsState (void) const
  • virtual void GLRenderBelowPath (SoGLRenderAction *action)
  • virtual void GLRenderInPath (SoGLRenderAction *action)
  • virtual void GLRenderOffPath (SoGLRenderAction *action)
  • virtual void getBoundingBox (SoGetBoundingBoxAction *action)
  • virtual void getMatrix (SoGetMatrixAction *action)
  • virtual void handleEvent (SoHandleEventAction *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)
  • uint32_t 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=0)
  • 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 *in)
  • void get (SbString &fielddata, SoOutput *out)
  • virtual SbBool validateNewFieldValue (SoField *field, void *newval)
  • virtual void addWriteReference (SoOutput *out, SbBool isfromfield=0)
  • SbBool getIsBuiltIn (void) 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
  • 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)
  • static void initClass (void)

✨ 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)
  • static void initClasses (void)
  • static uint32_t 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)
  • static SoType getClassTypeId (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)
  • static SoType getClassTypeId (void)
  • 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 *in, SoBase *&base, SoType expectedtype)
  • static void setInstancePrefix (const SbString &c)
  • static void setTraceRefs (SbBool trace)
  • static SbBool getTraceRefs (void)
  • static SbBool connectRoute (SoInput *in, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname)
  • static SbBool readRoute (SoInput *in)

πŸ‘‘ Public Attributes πŸ‘‘

  • SoSFEnum value

πŸŽ€ Protected Member Functions πŸŽ€

  • virtual const SoFieldData * getFieldData (void) const
  • virtual ~SoTextureCoordinateBinding ()
  • virtual SbBool readInstance (SoInput *in, unsigned short flags)

🧚 Protected Member Functions inherited from SoNode 🧚

  • SoNode (void)
  • virtual ~SoNode ()

🌸 Protected Member Functions inherited from SoFieldContainer 🌸

  • SoFieldContainer (void)
  • ~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

πŸ’… Static Protected Member Functions πŸ’…

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

πŸŽ€ Protected Types inherited from SoBase πŸŽ€

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

🌸 Protected Attributes inherited from SoNode 🌸

  • uint32_t uniqueId

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

  • SbBool isBuiltIn

✨ Static Protected Attributes inherited from SoNode ✨

  • static uint32_t nextUniqueId = 0
  • static int nextActionMethodIndex = 0

πŸ’– Detailed Description πŸ’–

The SoTextureCoordinateBinding class says how texture coordinates should be bound to shapes.

SoTextureCoordinateBinding binds current coordinates to subsequent shapes by using either per vertex or per indexed vertex binding.

FILE FORMAT/DEFAULTS:

TextureCoordinateBinding {
    value PER_VERTEX_INDEXED
}

🌸 Member Enumeration Documentation 🌸

πŸŽ€ enum SoTextureCoordinateBinding::Binding πŸŽ€

The binding types available for the SoTextureCoordinateBinding::value field. iykyk.

Enumerator

  • PER_VERTEX β€” Get a new texture coordinate from the pool of texture coordinates for each vertex of the shape.

Texture Coordinates are fetched from index 0 and onwards, incrementing the index into the texture coordinates pool by 1 for each new vertex of the shape node.

  • PER_VERTEX_INDEXED β€” Get a new texture coordinate from the pool of texture coordinates for each vertex of the shape.

Texture coordinates are fetched by the index value settings of the shape.

  • DEFAULT β€” Obsolete value, please don't use.
bestie, DEFAULT is literally obsolete. The manual says please don't use it, so don't. 🚩

πŸ’œ Constructor & Destructor Documentation πŸ’œ

πŸ¦‹ SoTextureCoordinateBinding::SoTextureCoordinateBinding (void ) πŸ¦‹

Constructor.

References DEFAULT, PER_VERTEX, PER_VERTEX_INDEXED, SoTextureCoordinateBinding(), and value.

Referenced by getFieldData(), and SoTextureCoordinateBinding().

🌸 SoTextureCoordinateBinding::~SoTextureCoordinateBinding () [protected], [virtual] 🌸

Destructor.

✨ Member Function Documentation ✨

SoType SoTextureCoordinateBinding::getTypeId (void ) const [virtual]

Okay bestie, this one is THE moment where a class tells you what it is πŸ’… It hands back the type identification for any object derived from a class that inherits SoBase, and it's what powers run-time type checking plus "downward" casting. iykyk.

Usage example, and yes you're gonna want to screenshot this:

void foo(SoNode * node)
{
  if (node->getTypeId() == SoFile::getClassTypeId()) {
    SoFile * filenode = (SoFile *)node;  // safe downward cast, knows the type
  }
  else if (node->getTypeId().isOfType(SoGroup::getClassTypeId())) {
    SoGroup * group = (SoGroup *)node;  // safe downward cast, knows the type
  }
}

Now if you're an application programmer wanting to extend the library with new nodes, engines, nodekits, draggers or others β€” listen up 🫢 β€” this method needs to be overridden in all subclasses. No skipping. You typically do that as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through, for instance, Inventor/nodes/SoSubNode.h (that's SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine.h (for engine classes) and so on.

Want more info on writing Coin extensions? Go read the class documentation of the toplevel superclasses for the various class groups. Iconic behaviour, fr fr.

Implements SoBase.

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

Gives you a pointer to the class-wide field data storage object for this instance. If there are no fields present, it returns NULL. That's the whole vibe, no notes.

Reimplemented from SoFieldContainer.

References: SoTextureCoordinateBinding().


void SoTextureCoordinateBinding::doAction (SoAction * action) [virtual]

This function performs the typical operation of a node for any action. Main character energy β€” it handles the general case so everything else can just vibe off it. 🌈

Reimplemented from SoNode.

References: SoAction::getState(), and value.

Referenced by: callback(), GLRender(), and pick().


void SoTextureCoordinateBinding::callback (SoCallbackAction * action) [virtual]

Action method for SoCallbackAction.

It simply updates the state according to how the node behaves for the render action, so the application programmer can use the SoCallbackAction for extracting information about the scene graph. Very "I'm just here to tell you what's going on" of it. ✨

Reimplemented from SoNode.

References: doAction().


void SoTextureCoordinateBinding::GLRender (SoGLRenderAction * action) [virtual]

Action method for the SoGLRenderAction.

This is called during rendering traversals. Nodes influencing the rendering state in any way β€” or who just want to throw geometry primitives at OpenGL β€” override this method. Slay, go off. πŸ”₯

Reimplemented from SoNode.

References: doAction().


void SoTextureCoordinateBinding::pick (SoPickAction * action) [virtual]

Action method for SoPickAction.

It does common processing for SoPickAction action instances. Lowkey the most chill of the bunch. πŸŽ€

Reimplemented from SoNode.

References: doAction().


SbBool SoTextureCoordinateBinding::readInstance (SoInput * in, unsigned short flags) [protected], [virtual]

This method is mainly intended for internal use during file import operations. Like, that's its whole job, no cap.

It reads a definition of an instance from the input stream in. The input stream state points to the start of a serialized / persistant representation of an instance of this class type.

TRUE or FALSE is returned, depending on if the instantiation and configuration of the new object of this class type went ok or not. And here's the important bit, bestie: the import process should be robust and handle corrupted input streams by returning FALSE. Don't let a messy input take down the whole operation πŸ’€

flags is used internally during binary import when reading user extension nodes, group nodes or engines.

Reimplemented from SoNode.

References: PER_VERTEX_INDEXED, SoNode::readInstance(), and value.


🫢 Member Data Documentation 🫢

SoSFEnum SoTextureCoordinateBinding::value

Type of texturemap binding for subsequent shape nodes in the scenegraph. The default field value is SoTextureCoordinateBinding::PER_VERTEX_INDEXED. Periodt. πŸ‘‘

Referenced by: doAction(), readInstance(), and SoTextureCoordinateBinding().


πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for Coin from the source code.


And that's a wrap, gorgeous πŸ¦‹ this whole page was cooked up by Doxygen from the Coin source code, chilling under Coin Version 2.5.0 β€” go forth and bind those texture coordinates, bestie πŸ’…πŸŒΈ

πŸ“¦ where this page comes from