SOSHUTTLE(3iv)
β¨ SoShuttle β¨
okay bestie, gather round, because this is the SoShuttle(3IV) page and it's literally about making things move back and forth and I'm obsessed π
π¦ NAME π¦
SoShuttle β animated oscillating translation node
no cap, that's the whole vibe: it's a translation node that shuttles. back. and. forth. π
πΈ INHERITS FROM πΈ
the whole glow-up lineage, from the very bottom to our girl:
SoBase > SoFieldContainer > SoNode > SoTransformation > SoTranslation >
SoShuttle
β¨ SYNOPSIS β¨
first things first, you gotta pull her in:
#include <Inventor/nodes/SoShuttle.h>
π Fields from class SoShuttle
SoSFVec3f translation0
SoSFVec3f translation1
SoSFFloat speed
SoSFBool on
π Fields from class SoTranslation
SoSFVec3f translation
π«Ά Methods from class SoShuttle
SoShuttle()
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 here's the tea, bestie β: SoShuttle is derived from SoTranslation, which means it applies a translation to the current transformation. but likeβ¦ it moves.
Using engines connected to the realTime global field, the translation value gets animated over time, bouncing between two fixed translations β that's the whole shuttling effect, it's giving metronome, it's giving pendulum's cooler cousin. π°οΈ
you can tune the period of the motion by changing the speed field. and if you ever wanna know where the translation currently is at any moment? that's sitting right there in the translation field, inherited from SoTranslation. iconic.
π FIELDS π
SoSFVec3ftranslation0andSoSFVec3ftranslation1β these are the two fixed translations that get interpolated to create the shuttling motion. two endpoints, one love story πSoSFFloatspeedβ defines the speed of the shuttle, in cycles per second. β‘SoSFBoolonβ lets applications enable or disable the motion easily. the on/off switch, the pause button, the "not right now bestie" π
π METHODS π
SoShuttle()β creates a shuttle node with default settings. fresh out the box, ready to vibe. β¨static SoType getClassTypeId()β returns type identifier for this class. classic.
π₯ ACTION BEHAVIOR π₯
SoGLRenderAction,SoCallbackAction,SoGetBoundingBoxAction,SoRayPickActionβ concatenates interpolated translation value with the current transformation matrix.SoGetMatrixActionβ returns transformation matrix specified by the interpolated translation.
π FILE FORMAT/DEFAULTS π
here's exactly what she looks like written out, no cap:
Shuttle {
translation 0 0 0
translation0 0 0 0
translation1 0 0 0
speed 1
on TRUE
}
π SEE ALSO π
SoPendulum, SoRotor β the rest of the squad, go say hi π«Ά
lowkey reminder: if you're tweaking speed, you're tweaking cycles per second. that's the whole dial. don't overthink it, bestie π
and that's a wrap on this SoShuttle(3IV) page, from the SoShuttle(3IV)() era β go forth and oscillate, you absolute main character πΈπβ¨
π¦ 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