SoVRMLPositionInterpolator(3)

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

✨ SoVRMLPositionInterpolator(3) ✨

okay bestie, welcome to the Coin corner of manual-section 3 πŸŽ€ this is the whole vibe on SoVRMLPositionInterpolator, and no cap it is a lot, so grab a strawberry drink πŸ“ and let's go. (part 1, we're not done yet πŸ’…)


🌸 NAME 🌸

SoVRMLPositionInterpolator β€” the class that interpolates 3D points. it's giving "make this point glide smoothly between other points," and honestly? iconic. πŸ‘‘


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <Inventor/VRMLnodes/SoVRMLPositionInterpolator.h>

Inherits SoVRMLInterpolator. so it's part of the interpolator family tree, periodt.


πŸ’– Public Member Functions πŸ’–

  • virtual SoType getTypeId (void) const β€” grabs the runtime type id, the little name tag this thing wears.
  • virtual const SoEngineOutputData * getOutputData (void) const β€” hands you the table of engine outputs this node spits out.
  • SoVRMLPositionInterpolator (void) β€” the constructor, the glow-up moment where a fresh instance is born. ✨

πŸ”₯ Public Member Functions inherited from SoNodeEngine πŸ”₯

  • void evaluateWrapper (void) β€” the wrapper that kicks off evaluation, like the bouncer at the door of the math.
  • virtual int getOutputs (SoEngineOutputList &l) const β€” fills l with the outputs, returns a count.
  • SoEngineOutput * getOutput (const SbName &outputname) const β€” look up one output by its outputname.
  • SbBool getOutputName (const SoEngineOutput *output, SbName &outputname) const β€” reverse lookup: output β†’ name.
  • SbBool isNotifying (void) const β€” is it currently notifying? yes/no, no drama.
  • virtual void notify (SoNotList *nl) β€” sends the notification around, the group chat ping πŸ“².
  • virtual void writeInstance (SoOutput *out) β€” writes this instance out to out.

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

  • void setOverride (const SbBool state) β€” flips override mode on/off with state.
  • SbBool isOverride (void) const β€” is it in override mode rn?
  • void setNodeType (const NodeType type) β€” sets the node type.
  • NodeType getNodeType (void) const β€” reads back the node type.
  • virtual SoNode * copy (SbBool copyconnections=FALSE) const β€” makes a copy; copyconnections defaults to FALSE.
  • virtual SbBool affectsState (void) const β€” does this node mess with traversal state?
  • virtual void doAction (SoAction *action) β€” the main action dispatcher.
  • virtual void GLRender (SoGLRenderAction *action) β€” render it, glow it, serve it. 🌈
  • virtual void GLRenderBelowPath (SoGLRenderAction *action) β€” render below-path.
  • virtual void GLRenderInPath (SoGLRenderAction *action) β€” render in-path.
  • virtual void GLRenderOffPath (SoGLRenderAction *action) β€” render off-path.
  • virtual void callback (SoCallbackAction *action) β€” run the callback action.
  • virtual void getBoundingBox (SoGetBoundingBoxAction *action) β€” compute the bounding box.
  • virtual void getMatrix (SoGetMatrixAction *action) β€” grab the matrix.
  • virtual void handleEvent (SoHandleEventAction *action) β€” handle an event.
  • virtual void pick (SoPickAction *action) β€” picking time.
  • virtual void rayPick (SoRayPickAction *action) β€” ray-picking specifically.
  • virtual void search (SoSearchAction *action) β€” search action.
  • virtual void write (SoWriteAction *action) β€” write action.
  • virtual void audioRender (SoAudioRenderAction *action) β€” audio render, for the sound girlies πŸ”Š.
  • virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action) β€” count the primitives.
  • virtual void grabEventsSetup (void) β€” set up event grabbing.
  • virtual void grabEventsCleanup (void) β€” tear the event grabbing back down.
  • virtual void startNotify (void) β€” start the notification chain.
  • SbUniqueId getNodeId (void) const β€” this node's unique id, its little social security number.
  • virtual SoChildList * getChildren (void) const β€” returns the children list.
  • virtual SoNode * addToCopyDict (void) const β€” adds itself to the copy dictionary.
  • virtual void copyContents (const SoFieldContainer *from, SbBool copyconnections) β€” copies field contents over from from.
  • virtual SoFieldContainer * copyThroughConnection (void) const β€” copies through a connection.

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

  • void setToDefaults (void) β€” resets everything to defaults.
  • SbBool hasDefaultValues (void) const β€” are all the fields at their defaults?
  • SbBool fieldsAreEqual (const SoFieldContainer *container) const β€” do the fields match container's?
  • void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE) β€” copies field values from container; copyconnections defaults to FALSE.
  • SbBool set (const char *const fielddata) β€” set fields from fielddata.
  • void get (SbString &fielddata) β€” dump fields into fielddata.
  • virtual int getFields (SoFieldList &l) const β€” collect the fields into l, return the count.
  • virtual int getAllFields (SoFieldList &l) const β€” collect all the fields, count returned.
  • virtual SoField * getField (const SbName &name) const β€” find a field by name.
  • virtual SoField * getEventIn (const SbName &name) const β€” find an event-in by name.
  • virtual SoField * getEventOut (const SbName &name) const β€” find an event-out by name.
  • SbBool getFieldName (const SoField *const field, SbName &name) const β€” reverse lookup: field β†’ name.
  • SbBool enableNotify (const SbBool flag) β€” turns notification on/off with flag.
  • SbBool isNotifyEnabled (void) const β€” is notification even on?
  • SbBool set (const char *fielddata, SoInput *input) β€” set from fielddata, reading via input.
  • void get (SbString &fielddata, SoOutput *out) β€” get into fielddata, writing via out.
  • virtual SbBool validateNewFieldValue (SoField *field, void *newval) β€” validate a new value before it lands.
  • virtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE) β€” add a write reference; isfromfield defaults to FALSE.
  • SbBool getIsBuiltIn (void) const β€” is this a built-in type?
  • virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) const β€” reports memory usage into managed and unmanaged.
  • void setUserData (void *userdata) const β€” attach your own userdata blob.
  • void * getUserData (void) const β€” get that blob back.

⭐ Public Member Functions inherited from SoBase ⭐

  • void ref (void) const β€” bump the reference count, keep it alive bestie 🫢.
  • void unref (void) const β€” drop the reference count.
  • void unrefNoDelete (void) const β€” drop a ref but don't delete.
  • int32_t getRefCount (void) const β€” how many refs are we holding?
  • void touch (void) β€” touch it, poke it, make it notify.
  • SbBool isOfType (SoType type) const β€” Returns TRUE if the type of this object is either of the same type or inherited from type.
  • virtual SbName getName (void) const β€” get the name.
  • virtual void setName (const SbName &newname) β€” set the name to newname.
  • void addAuditor (void *const auditor, const SoNotRec::Type type) β€” add an auditor of type.
  • void removeAuditor (void *const auditor, const SoNotRec::Type type) β€” remove that auditor.
  • const SoAuditorList & getAuditors (void) const β€” get the whole auditor list.
  • SbBool shouldWrite (void) β€” should this be written out?
  • void assertAlive (void) const β€” assert that it's alive (yes, really).

πŸ‘‘ Static Public Member Functions πŸ‘‘

  • static SoType getClassTypeId (void) β€” the class's type id.
  • static void * createInstance (void) β€” makes a fresh instance for the type system.
  • static void initClass (void) β€” sets up the class.

🌈 Static Public Member Functions inherited from SoVRMLInterpolator 🌈

  • static SoType getClassTypeId (void)
  • static void initClass (void)

πŸ’… Static Public Member Functions inherited from SoNodeEngine πŸ’…

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

🧚 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 keyValue β€” the multi-field of 3D points we're interpolating between, the star of the show ✨.
  • SoEngineOutput value_changed β€” the engine output that fires when the interpolated value changes, the "it's giving updates" signal.

πŸ’– Public Attributes inherited from SoVRMLInterpolator πŸ’–

  • SoMFFloat key β€” the float keys.
  • SoSFFloat set_fraction β€” the single fraction input that drives the interpolation, lowkey the whole reason it moves.

πŸ¦‹ Protected Member Functions πŸ¦‹

  • virtual const SoFieldData * getFieldData (void) const β€” returns the field data table.
  • virtual ~SoVRMLPositionInterpolator () β€” the destructor. say bye bestie πŸ‘‹.

πŸ’œ Protected Member Functions inherited from SoVRMLInterpolator πŸ’œ

  • int getKeyValueIndex (float &interp, int numvalues) β€” figures out which key/value index we're on, writing the interp fraction into interp, with numvalues values to choose from.

πŸ”₯ Protected Member Functions inherited from SoNodeEngine πŸ”₯

  • SoNodeEngine (void)
  • virtual ~SoNodeEngine (void)
  • virtual SbBool readInstance (SoInput *in, unsigned short flags)
  • virtual void inputChanged (SoField *which)
  • void writeOutputTypes (SoOutput *out)

🌈 Protected Member Functions inherited from SoNode 🌈

  • SoNode (void)
  • virtual ~SoNode ()

πŸ’… Protected Member Functions inherited from SoFieldContainer πŸ’…

  • SoFieldContainer (void)
  • virtual ~SoFieldContainer ()

🧚 Protected Member Functions inherited from SoBase 🧚

  • SoBase (void)
  • virtual ~SoBase ()
  • 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 const SoEngineOutputData ** getOutputDataPtr (void)

πŸ“ Static Protected Member Functions inherited from SoVRMLInterpolator πŸ“

  • static const SoFieldData ** getFieldDataPtr (void)
  • static const SoEngineOutputData ** getOutputDataPtr (void)

πŸ’€ Static Protected Member Functions inherited from SoNodeEngine πŸ’€

  • static const SoFieldData ** getFieldDataPtr (void)
  • static const SoEngineOutputData ** getOutputDataPtr (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

the enum era πŸ‘‘:

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 }

ngl bestie that was a LOT of inherited functions, and we're only at part 1 πŸ™ˆ hold onto your butterfly clips, more is coming πŸ’œ

✨ Protected Attributes inherited from SoNode ✨

  • SbUniqueId uniqueId β€” the unique id every node carries around, lowkey its birth certificate πŸ’–

🫢 Protected Attributes inherited from SoFieldContainer

  • SbBool isBuiltIn β€” tells you whether this thing is built in or not, bestie πŸŽ€

πŸ¦‹ Static Protected Attributes inherited from SoNode

  • static SbUniqueId nextUniqueId = 1 β€” the counter that hands out those ids, starts at 1 ✨
  • static int nextActionMethodIndex = 0 β€” index tracker for action methods, starts at 0 πŸ’…

πŸ’– Detailed Description πŸ’–

The SoVRMLPositionInterpolator class is used to interpolate 3D points. That's the whole job. She takes points, she interpolates between them, she serves. πŸ‘‘

The detailed class documentation is taken verbatim from the VRML97 standard (ISO/IEC 14772-1:1997). It is copyright The Web3D Consortium, and is used by permission of the Consortium:

PositionInterpolator {
  eventIn      SFFloat set_fraction        # (-,)
  exposedField MFFloat key           []    # (-,)
  exposedField MFVec3f keyValue      []    # (-,)
  eventOut     SFVec3f value_changed
}

The PositionInterpolator node linearly interpolates among a list of 3D vectors. The keyValue field shall contain exactly as many values as in the key field. 4.6.8, Interpolator nodes β€” http://www.web3d.org/documents/specifications/14772/V2.0/part1/concepts.html#4.6.8 β€” contains a more detailed discussion of interpolators, if you wanna go deeper 🌈


πŸŽ€ Constructor & Destructor Documentation πŸŽ€

SoVRMLPositionInterpolator::SoVRMLPositionInterpolator (void )

Constructor. She's born. Iconic entrance, no notes. ✨

SoVRMLPositionInterpolator::~SoVRMLPositionInterpolator () [protected], [virtual]

Destructor. She leaves the chat, protected and virtual, so the cleanup is done right πŸ’…


πŸ‘‘ Member Function Documentation πŸ‘‘

SoType SoVRMLPositionInterpolator::getClassTypeId (void ) [static]

This static method returns the SoType object associated with objects of this class. It's giving "who am I, class-wise" 🌸

SoType SoVRMLPositionInterpolator::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.

Reimplemented from SoVRMLInterpolator. πŸ”₯

const SoFieldData ** SoVRMLPositionInterpolator::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. Internals only, bestie β€” not your problem, but it's there 🫢

const SoFieldData * SoVRMLPositionInterpolator::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.

Reimplemented from SoVRMLInterpolator. πŸ’–

const SoEngineOutputData * SoVRMLPositionInterpolator::getOutputData (void ) const [virtual]

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

Reimplemented from SoVRMLInterpolator. ⭐

void SoVRMLPositionInterpolator::initClass (void ) [static]

Initializes the class. The static magic that makes her exist in the type system β€” no cap 🌟


🌸 Member Data Documentation 🌸

SoMFVec3f SoVRMLPositionInterpolator::keyValue

The keyValue vector. It holds the actual points being interpolated between, so yeah, she's kind of the main character here πŸ‘‘

SoEngineOutput SoVRMLPositionInterpolator::value_changed

The eventOut which is sent every time the interpolator has calculated a new value. Every. Single. Time. She's consistent like that πŸ’œ


🌈 Author 🌈

Generated automatically by Doxygen for Coin from the source code. Not a human, just vibes and a parser 🧚


And that's a wrap on the whole page, bestie! This one's from Coin version 4.0.10, dated Thu Jun 25 2026 β€” page SoVRMLPositionInterpolator(3), signing off. Obsessed with her, fr fr. πŸ’…βœ¨πŸ¦‹
πŸ“¦ where this page comes from