SOTEXTURE2TRANSFORM(3iv)
π SoTexture2Transform β 2D texture transformation node β¨
Okay bestie, pull up a chair π«Ά because this is the SoTexture2Transform node from the Open Inventor crew β this one lives in the 3IV manual and it's lowkey the glow-up artist for your textures. No cap. π
π INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoTexture2Transform
So she's down at the bottom of the family tree, but she carries main character energy the whole way. π
β¨ SYNOPSIS
#include <Inventor/nodes/SoTexture2Transform.h>
Fields from class SoTexture2Transform:
SoSFVec2f translation
SoSFFloat rotation
SoSFVec2f scaleFactor
SoSFVec2f center
Methods from class SoTexture2Transform:
SoTexture2Transform()
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 picture this: this node defines a 2D transformation that gets applied to your texture coordinates. π¦ It changes the way textures land on the surfaces of every shape that comes after it β so it's giving "I set the vibe for everyone downstream," fr fr.
The transformation is made of three things, in this order:
- a non-uniform scale about an arbitrary center point
- a rotation about that same point
- a translation
β οΈ Bestie, listen β while the transformations can be thought of as being applied in that order, the GL matrices are actually premultiplied in the opposite order. That's why the operations are listed in the reverse order throughout this reference page. Don't let it jump you. π
The whole point of all this? It lets a user change the size and position of the textures on objects. Slay. π
π FIELDS
SoSFVec2ftranslationβ Translation in S and T. Where the texture's at, basically. πSoSFFloatrotationβ Counter-clockwise rotation of the coordinate space, in radians. Heads up though: this results in a clockwise rotation of the texture on the object. So the coordinate space spins one way and your texture spins the other β it's giving opposite day. πSoSFVec2fscaleFactorβ Scaling factors in S and T. Bigger, smaller, whatever, she contains multitudes. β¨SoSFVec2fcenterβ Center point used for scaling and rotation. The literal center of the whole situation. π―
π¦ METHODS
SoTexture2Transform()β Creates a texture transformation node with default settings. Brand new, fresh out the box, defaults intact. πstatic SoType getClassTypeId()β Returns type identifier for this class. It's the "who am I" of the class, and she knows exactly who she is. π
π₯ ACTION BEHAVIOR
SoGLRenderAction,SoCallbackActionβ Concatenates transformation with the current texture transformation. She just stacks onto whatever's already there β teamwork makes the dream work, periodt. π«Ά
πΈ FILE FORMAT/DEFAULTS
Texture2Transform {
translation 0 0
rotation 0
scaleFactor 1 1
center 0 0
}
Look at those defaults being all chill and neutral. So demure. So mindful. π§
β SEE ALSO
SoTexture2SoTextureCoordinate2SoTextureCoordinateFunction
Go read those next, iykyk. ππ
Bye bestie!! π This was the SoTexture2Transform page from the 3IV manual β no version stamp or date came with it, so we're just vibing with the name and the manual number. Take care of your texture coordinates out there. π¦β¨π
π¦ 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