SOTRANSFORMVEC3F(3iv)

πŸ’… SoTransformVec3f β€” the manual page, but make it cute

okay bestie, welcome to SoTransformVec3f(3IV) β€” yes that's the whole manual name, she's got the full government title and she's serving it. Sit down, grab a strawberry πŸ“, we're doing matrix math but make it fashion.


✨ NAME ✨

SoTransformVec3f β€” transforms a 3D vector by a 4x4 matrix

like literally that's her whole job and she does it flawlessly, no cap πŸ‘‘


🧬 INHERITS FROM 🧬

SoBase > SoFieldContainer > SoEngine > SoTransformVec3f

she's got ancestors, she's got lineage, she's giving legacy royalty energy πŸ‘‘ the whole bloodline is iconic


πŸ“œ SYNOPSIS πŸ“œ

#include <Inventor/engines/SoTransformVec3f.h>

Inputs from class SoTransformVec3f:

SoMFVec3f           vector
SoMFMatrix          matrix

Outputs from class SoTransformVec3f:

(SoMFVec3f)         point
(SoMFVec3f)         direction
(SoMFVec3f)         normalDirection

Methods from class SoTransformVec3f:

                    SoTransformVec3f()

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 πŸ’–

okay so here's the tea β˜• β€” this engine takes as input a three dimensional floating-point vector and a transformation matrix. and the vector? she's assumed to be a row vector. periodt.

The engine multiplies the vector by the matrix and returns the result in the output point. The output direction contains the result when the matrix multiplication assumes the vector is a direction, and therefore ignores the translation part of the matrix (she said "no thank you to moving, I'm just a vibe, I'm a direction ✨"). The output normalDirection contains the normalized direction πŸ¦‹

so basically: same vector, three different glow-ups. it's giving three outfit changes in one TikTok πŸ’…


🌸 INPUTS 🌸

  • SoMFVec3f vector β€” Input row vector. she comes in as a row, she's horizontal, she's laying down, she's that girl 😌
  • SoMFMatrix matrix β€” Input transformation matrix. the 4x4 that does the actual transforming, the main character fr fr πŸ”₯

πŸŽ€ OUTPUTS πŸŽ€

  • (SoMFVec3f) point β€” Vector transformed by matrix. the full transformation, translation included, nothing skipped πŸ’–
  • (SoMFVec3f) direction β€” Vector transformed by matrix, ignoring translation. she's a direction bestie, she doesn't do moving πŸ¦‹
  • (SoMFVec3f) normalDirection β€” Normalized direction. same direction but normalized, so she's neat, she's tidy, she's got her life together ✨

🧚 METHODS 🧚

  • SoTransformVec3f() β€” Constructor. the birth. the origin story. the "hello world" moment 🌈

πŸ“ FILE FORMAT/DEFAULTS πŸ“

TransformVec3f {
    vector  0 0 0
    matrix  1 0 0 0
            0 1 0 0
            0 0 1 0
            0 0 0 1
}

default vector is 0 0 0 and default matrix is the identity β€” she starts out neutral, unbothered, moisturised, in her lane πŸ§–β€β™€οΈ


πŸ‘€ SEE ALSO πŸ‘€

SoEngineOutput

go read that one too, she's the friend of a friend, the extended universe iykyk πŸ’œ


no warnings, no bugs, no deprecated anything in this one β€” she's just a good clean engine and we love that for her 🫢

and that's the whole thing bestie!! this was SoTransformVec3f(3IV)() β€” the (3IV) manual, version/date baked right into that footer, so you know exactly which girl you're talking to. now go transform something, you've got this πŸ’…βœ¨πŸŽ€