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 πΈ
SoMFVec3fvectorβ Input row vector. she comes in as a row, she's horizontal, she's laying down, she's that girl πSoMFMatrixmatrixβ 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 π
β¨π
π¦ where this page comes from
- debian bookworm: inventor-doc 2.1.5-10+dfsg-2 Β· LGPL-2.0-or-later
- debian trixie: inventor-doc 2.1.6+ds-2 Β· LGPL-2.0-or-later
- ubuntu jammy: inventor-doc 2.1.5-10-24
- ubuntu noble: inventor-doc 2.1.5-10+dfsg-2.1build2 Β· LGPL-2.0-or-later
- ubuntu questing: inventor-doc 2.1.6+ds-2
- ubuntu resolute: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- ubuntu stonking: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms