SOCOMPOSEMATRIX(3iv)

πŸ’– SoComposeMatrix(3IV) πŸ’–

okay so bestie, this is the manual page for SoComposeMatrix(3IV) β€” and yes, it's giving transformation-matrix realness. no cap. 🫢


πŸŽ€ NAME πŸŽ€

SoComposeMatrix β€” composes a transformation matrix

like literally, that's its whole job. iconic behavior. πŸ’…


🧬 INHERITS FROM 🧬

SoBase > SoFieldContainer > SoEngine > SoComposeMatrix

the family tree is giving legacy, periodt. πŸ‘‘


✨ SYNOPSIS ✨

#include <Inventor/engines/SoCompose.h>

Inputs from class SoComposeMatrix:

SoMFVec3f           translation
SoMFRotation        rotation
SoMFVec3f           scaleFactor
SoMFRotation        scaleOrientation
SoMFVec3f           center

Outputs from class SoComposeMatrix:

(SoMFMatrix)        matrix

Methods from class SoComposeMatrix:

                    SoComposeMatrix()

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 listen. This engine has inputs that specify values for translation, rotation, scale, and center of transformation. As output, it produces a transformation matrix that transforms objects into the space specified by the scale, rotation, and translation inputs β€” and yes bestie, in that order. scale first, then rotation, then translation. write that down. πŸ“

The input fields can have multiple values, which lets the engine compose several matrices in parallel β€” like a lil matrix factory line, we love a multitasking queen. πŸ’… Some inputs may have more values than others. In that case, the last value of the shorter inputs will be repeated as necessary. so nobody's left out, fr fr. 🫢


πŸ¦‹ INPUTS πŸ¦‹

  • SoMFVec3f translation β€” translation in x, y, and z. aka where u slidin' πŸ›
  • SoMFRotation rotation β€” rotation. the spin, the twirl, the vibe. πŸŒ€
  • SoMFVec3f scaleFactor β€” scale factors in x, y, and z. how big or smol u feeling today. πŸ“
  • SoMFRotation scaleOrientation β€” rotational space for scaling. it's the dedicated zone for scale rotation. ✨
  • SoMFVec3f center β€” center point for scaling and rotating. the main character anchor point. πŸ‘‘

⭐ OUTPUTS ⭐

  • (SoMFMatrix) matrix β€” transformation matrix that transforms from object space into the space specified by the inputs. it's giving glow-up from one space to another. πŸ’–

πŸ’… METHODS πŸ’…

  • SoComposeMatrix() β€” constructor. that's it, that's the method. short and slay. πŸŽ€

🌈 FILE FORMAT/DEFAULTS 🌈

ComposeMatrix {
   translation       0 0 0
   rotation          0 0 1  0
   scaleFactor       1 1 1
   scaleOrientation  0 0 1  0
   center            0 0 0
}

πŸ”₯ SEE ALSO πŸ”₯

SoDecomposeMatrix, SoEngineOutput β€” go check them out bestie, they're in the same friend group. 🫢


and that's the whole page, from the SoComposeMatrix(3IV)() manual. no date, just vibes and inheritance. go compose something iconic. mwah πŸ’‹βœ¨