SOROTATIONXYZ(3iv)
β¨ SoRotationXYZ(3IV) β¨
okay bestie, sit down, hydrate, because today we're talking about SoRotationXYZ from the (3IV) manual β it's a node that represents a 3D rotation about the x-, y-, or z-axis and honestly? she's simple, she's elegant, she rotates. π
π¦ NAME π¦
SoRotationXYZ β a node representing a 3D rotation about the x-, y-, or z-axis. that's it, that's the whole gig, and she does it flawlessly. periodt. π
πΈ INHERITS FROM πΈ
SoBase > SoFieldContainer > SoNode > SoTransformation > SoRotationXYZ
look at that lineage. five generations of iconic behavior. she got it from her mamas. π
π SYNOPSIS π
#include <Inventor/nodes/SoRotationXYZ.h>
enum Axis {
SoRotationXYZ::X The x-axis
SoRotationXYZ::Y The y-axis
SoRotationXYZ::Z The z-axis
}
Fields from class SoRotationXYZ:
SoSFEnum axis
SoSFFloat angle
Methods from class SoRotationXYZ:
SoRotationXYZ()
SbRotation getRotation() const
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
likeβ¦ that's a LOT of inherited methods and she earned every single one. no cap. π
π DESCRIPTION π
so basically? this node defines a 3D rotation about one of the three principal axes. one of the three principal axes, bestie, not a random vibe axis.
and the way it works is: the rotation gets accumulated into the current transformation, which is then applied to all the subsequent shapes. it's giving "everything after me is gonna be rotated, and that's on periodt." β¨
π«Ά FIELDS π«Ά
SoSFEnumaxisβ the rotation axis. which way are we spinning, queen? pick your lane. πSoSFFloatangleβ the rotation angle, measured in radians, using the right-hand rule. yes, radians. not degrees. i know. i know. it's fine. right-hand rule, no arguments, that's the law. β
π METHODS π
SoRotationXYZ()β creates a rotation node with default settings. a fresh baby rotation node, unrotated, innocent, ready to be somebody. πSbRotation getRotation() constβ returns anSbRotationthat's equivalent to the rotation you specified. same rotation, different packaging, slay. π¦static SoType getClassTypeId()β returns the type identifier for this class. her little ID card. π
π₯ ACTION BEHAVIOR π₯
SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction, SoRayPickAction
- accumulates the rotation transformation into the current transformation. all four of them. same energy, same glow-up. β¨
SoGetMatrixAction
- returns the matrix corresponding to the rotation. she said "here's your matrix bestie" and handed it over. π
π FILE FORMAT/DEFAULTS π
RotationXYZ {
axis X
angle 0
}
so out of the box: axis is X, angle is 0. she's not rotating yet. she's resting. main character pre-transformation era. π
β SEE ALSO β
SoRotationSoTransform
go read those too, they're her cousins, they're also iconic, iykyk. π
bestie reminder: angle is in radians. i'm not gonna bring it up again. (i will bring it up again.)
mwah π and that's the whole page β this was SoRotationXYZ(3IV), straight from the SoRotationXYZ(3IV) manual, dated with that lil empty date field, so like, timeless, ageless, eternal. she doesn't need a timestamp. she's forever. πβ¨π
π¦ 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