SOINTERPOLATEVEC4F(3iv)

πŸ’– SoInterpolateVec4f β€” the 3IV manual, but make it cute πŸ’–

okay bestie, sit down, hydrate, because today we're learning about SoInterpolateVec4f β€” she's a whole engine and she interpolates 4D floating-point vectors. yes. four of them. and she's from the (3IV) manual, so you know she's vintage-coded and iconic. πŸŽ€


✨ NAME ✨

SoInterpolateVec4f β€” interpolates 4D floating-point vectors πŸ’…


🌸 INHERITS FROM 🌸

the family tree is giving royal lineage, no cap:

SoBase > SoFieldContainer > SoEngine > SoInterpolate >
SoInterpolateVec4f

πŸ¦‹ SYNOPSIS πŸ¦‹

start with the include, always:

#include <Inventor/engines/SoInterpolate.h>

🌈 Inputs from class SoInterpolateVec4f

SoMFVec4f           input0
SoMFVec4f           input1

🌈 Inputs from class SoInterpolate

SoSFFloat           alpha

🌈 Outputs from class SoInterpolate

(SoMFVec4f)         output

🌈 Methods from class SoInterpolateVec4f

                    SoInterpolateVec4f()

🌈 Methods from class SoEngine

static SoType       getClassTypeId()
virtual int         getOutputs(SoEngineOutputList &list) const
SoEngineOutput *    getOutput(const SbName &outputName) const
SbBool              getOutputName(const SoEngineOutput *output, SbName
                         &outputName) const
SoEngine *          copy() const
static SoEngine *   getByName(const SbName &name)
static int          getByName(const SbName &name, SoEngineList &list)

🌈 Methods from class SoFieldContainer

void                setToDefaults()
SbBool              hasDefaultValues() const
SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
void                copyFieldValues(const SoFieldContainer *fc, SbBool
                         copyConnections = FALSE)
SbBool              set(const char *fieldDataString)
void                get(SbString &fieldDataString)
virtual int         getFields(SoFieldList &resultList) const
virtual SoField *   getField(const SbName &fieldName) const
SbBool              getFieldName(const SoField *field, SbName &fieldName)
                         const
SbBool              isNotifyEnabled() const
SbBool              enableNotify(SbBool flag)

🌈 Methods from class SoBase

void                ref()
void                unref() const
void                unrefNoDelete() const
void                touch()
virtual SoType      getTypeId() const
SbBool              isOfType(SoType type) const
virtual void        setName(const SbName &name)
virtual SbName      getName() const

πŸ’œ DESCRIPTION πŸ’œ

so like, the whole point of this engine is that she linearly interpolates between two 4D vectors, and she does it based on the alpha input value. that's the assignment. that's the job. 🫢

and the alpha value? bestie, she should be between 0.0 and 1.0. that's the range. respect the range. 😀

here's the slay part: the input fields can hold multiple vectors, which means this engine can interpolate several objects in parallel. multitasking queen behavior honestly πŸ‘‘

one little thing though β€” one of the inputs may have more values than the other. and when that happens? the last value of the shorter input gets repeated as necessary. so nobody's left hanging, the short one just copies the long one's energy. fr fr. ✨


πŸ“ INPUTS πŸ“

  • SoMFVec4f input0
  • SoMFVec4f input1

the engine linearly interpolates from input0 to input1. that's it, that's the journey, she goes from point A to point B πŸ’«


πŸŽ€ METHODS πŸŽ€

  • SoInterpolateVec4f() β€” Constructor. she's born. πŸ‘Άβœ¨

🧚 FILE FORMAT/DEFAULTS 🧚

this is what she looks like when you write her out, defaults and all:

InterpolateVec4f {
    alpha   0
    input0  0 0 0 0
    input1  0 0 0 0
}
note that alpha defaults to 0, and both input0 and input1 default to 0 0 0 0. four zeros. zero drama. (okay maybe a little drama.) πŸ’€

πŸ”₯ SEE ALSO πŸ”₯

go read these next, they're the friend group:

  • SoEngineOutput
  • SoInterpolateFloat
  • SoInterpolateRotation
  • SoInterpolateVec2f
  • SoInterpolateVec3f

and that's the whole page, bestie!! this was SoInterpolateVec4f(3IV)() β€” source and version 3IV, straight from the manual, mwah πŸ’‹ she ate and left no crumbs. go interpolate something. periodt. πŸ’…βœ¨πŸ¦‹