SOCOMPOSEVEC4F(3iv)
β¨ SoComposeVec4f β¨
okay bestie, welcome to the SoComposeVec4f page π this is from section 3IV of the manual, and it's genuinely one of the cutest little engines in the Inventor universe. she takes four floaty numbers and smooshes them into one 4D vector. that's it. that's her whole job. iconic behavior honestly π
πΈ NAME πΈ
SoComposeVec4f β composes 4D vectors from floating-point values
like... she composes. she's the composer. the main character of vector assembly π«Ά
π INHERITS FROM π
SoBase > SoFieldContainer > SoEngine > SoComposeVec4f
so she's got that whole ancestry going on β everything SoBase can do, everything SoFieldContainer can do, everything SoEngine can do, and then her own lil thing on top. generational excellence fr fr π
β¨ SYNOPSIS β¨
#include <Inventor/engines/SoCompose.h>
Inputs from class SoComposeVec4f:
SoMFFloat x
SoMFFloat y
SoMFFloat z
SoMFFloat w
Outputs from class SoComposeVec4f:
(SoMFVec4f) vector
Methods from class SoComposeVec4f:
SoComposeVec4f()
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 the tea is: this engine takes four floating-point inputs and composes a 4D vector out of them. literally that's the plot. four numbers walk in, one vec4f walks out π¦
and here's the part that's lowkey the coolest β the input fields can have multiple values, which means the engine can compose several vectors in parallel. multitasking queen. β¨
but wait, what if some inputs have more values than others?? π no stress β in that case, the last value of the shorter inputs will be repeated as necessary. so she just stretches them out to match. the way that she pads the short ones without complaining... a supportive friend fr fr π
π INPUTS π
SoMFFloatxβ the x component π«SoMFFloatyβ the y component π«SoMFFloatzβ the z component π«SoMFFloatwβ the w component π«
four besties, four components, one destiny π«Ά
π OUTPUTS π
(SoMFVec4f)vectorβ vector composed ofx,y,z, andw. that's the whole girl. the final product. the moment we've all been waiting for π
π METHODS π
SoComposeVec4f()β Constructor. new girl just dropped π
π FILE FORMAT/DEFAULTS π
ComposeVec4f {
x 0
y 0
z 0
w 0
}
everything starts at 0 bestie, so she begins life as a very calm, very neutral vector at the origin. no drama. no cap. β
π₯ SEE ALSO π₯
SoDecomposeVec4fβ the reverse queen, she takes it apart again πSoEngineOutput
ngl if you're composing vectors and you're not using this, what are you even doing. vibe check passed. β
that's the whole page!! and just so we're clear, this was SoComposeVec4f(3IV)() β that's the source/version + date line from the very bottom of the original, folded into this little sign-off because we're cute like that π thanks for reading bestie, go compose something gorgeous β¨πΈπ¦
π¦ 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