SOMATRIXTRANSFORM(3iv)
πΈ NAME πΈ
SoMatrixTransform β a node that specifies a 3D geometric transformation as a matrix π
And yeah bestie, this entire page is SoMatrixTransform(3IV), so you're literally in the right place π no wrong tab, no vibe mismatch, we're good.
π INHERITS FROM π
Okay so the whole family tree, and she did NOT skip generations:
SoBase > SoFieldContainer > SoNode > SoTransformation > SoMatrixTransform
β¨ SYNOPSIS β¨
#include <Inventor/nodes/SoMatrixTransform.h>
π Fields from class SoMatrixTransform:
SoSFMatrix matrix
π Methods from class SoMatrixTransform:
SoMatrixTransform()
static SoType getClassTypeId()
π Methods from class SoNode:
void setOverride(SbBool state)
SbBool isOverride() const
SoNode * copy(SbBool copyConnections = FALSE) const
virtual SbBool affectsState() const
static SoNode * getByName(const SbName &name)
static int getByName(const SbName &name, SoNodeList &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 this node defines a geometric 3D transformation using a single SbMatrix β¨ like, one matrix, that's the whole personality, and honestly? iconic.
β οΈ But listen, bestie, real talk for a sec: some matrices (such as singular ones) may result in errors in bounding boxes, picking, and lighting. So don't be out here feeding her a singular matrix and then acting surprised, okay? π«Ά
π FIELDS π
SoSFMatrixmatrixβ the transformation matrix. That's it. That's the field. She's simple, she's powerful π
π METHODS π
SoMatrixTransform()β creates a matrix transformation node with default settings. Fresh out the box, all defaults, ready to go β¨static SoType getClassTypeId()β returns the type identifier for this class. iykyk π₯
π ACTION BEHAVIOR π
SoGLRenderAction,SoCallbackAction,SoGetBoundingBoxAction,SoRayPickActionβ concatenates the matrix given in thematrixfield with the current transformation matrix. She's stacking on top of whatever's already happening, no cap π§SoGetMatrixActionβ returns the transformation matrix specified in thematrixfield. Just hands it right back to you, no drama π
π FILE FORMAT/DEFAULTS π
Look at her, the default identity matrix, the main character of "do nothing, beautifully":
MatrixTransform {
matrix 1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
}
π SEE ALSO π
Go give these two a follow, they run in the same circles:
SoTransformSoMultipleCopy
okay that's the whole SoMatrixTransform(3IV)() page, straight out of the 3IV manual β go transform something, you absolute legend π«Άβ¨π
π¦ 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