SoVRMLPositionInterpolator(3)
β¨ 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β fillslwith the outputs, returns a count.SoEngineOutput * getOutput (const SbName &outputname) constβ look up one output by itsoutputname.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 toout.
π Public Member Functions inherited from SoNode π
void setOverride (const SbBool state)β flips override mode on/off withstate.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;copyconnectionsdefaults toFALSE.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 fromfrom.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 matchcontainer's?void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE)β copies field values fromcontainer;copyconnectionsdefaults toFALSE.SbBool set (const char *const fielddata)β set fields fromfielddata.void get (SbString &fielddata)β dump fields intofielddata.virtual int getFields (SoFieldList &l) constβ collect the fields intol, 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 byname.virtual SoField * getEventIn (const SbName &name) constβ find an event-in byname.virtual SoField * getEventOut (const SbName &name) constβ find an event-out byname.SbBool getFieldName (const SoField *const field, SbName &name) constβ reverse lookup: field β name.SbBool enableNotify (const SbBool flag)β turns notification on/off withflag.SbBool isNotifyEnabled (void) constβ is notification even on?SbBool set (const char *fielddata, SoInput *input)β set fromfielddata, reading viainput.void get (SbString &fielddata, SoOutput *out)β get intofielddata, writing viaout.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;isfromfielddefaults toFALSE.SbBool getIsBuiltIn (void) constβ is this a built-in type?virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) constβ reports memory usage intomanagedandunmanaged.void setUserData (void *userdata) constβ attach your ownuserdatablob.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β ReturnsTRUEif the type of this object is either of the same type or inherited fromtype.virtual SbName getName (void) constβ get the name.virtual void setName (const SbName &newname)β set the name tonewname.void addAuditor (void *const auditor, const SoNotRec::Type type)β add an auditor oftype.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 theSoTypeobject 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 theSoTypeobject 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 intointerp, withnumvaluesvalues 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) constSbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) constvoid writeFooter (SoOutput *out) constvirtual const char * getFileFormatName (void) constvirtual 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 at1β¨static int nextActionMethodIndex = 0β index tracker for action methods, starts at0π
π 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
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms