SoShuttle(3)

πŸ“¦
version 4.0.10 Β· 4 versions
, in fedora 43, fedora 44

πŸ’– NAME πŸ’–

SoShuttle β€” okay so bestie, this class is the one that oscillates between two translations. Two spots, back and forth, forever, like your fave pendulum but make it 3D. That's it, that's the whole vibe. ✨

This is SoShuttle(3), from the Coin manual. Buckle up, it's a long one β€” we're doing part 1 today. πŸŽ€


πŸ“œ SYNOPSIS πŸ“œ

#include <Inventor/nodes/SoShuttle.h>

Inherits SoTranslation. Yes she has a whole ancestry, we'll get into it. πŸ’…


🌸 Public Member Functions 🌸

πŸ¦‹ SoShuttle's own, the main characters

  • virtual SoType getTypeId (void) const β€” the standard "what even am I" type-id call, virtual edition.
  • SoShuttle (void) β€” the constructor, aka the birth of your shuttle. 🫢
  • virtual void write (SoWriteAction *action) β€” writes the node out via the given action.

πŸ’œ Public Member Functions inherited from SoTranslation

  • SoTranslation (void) β€” constructor.
  • virtual void doAction (SoAction *action) β€” no cap, it just does the action.
  • virtual void callback (SoCallbackAction *action) β€” routes a callback action through.
  • virtual void GLRender (SoGLRenderAction *action) β€” the render pass, iconic.
  • virtual void getBoundingBox (SoGetBoundingBoxAction *action) β€” fills in the bounding box.
  • virtual void getMatrix (SoGetMatrixAction *action) β€” hands over the matrix.
  • virtual void pick (SoPickAction *action) β€” picking, for when you click on stuff.
  • virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action) β€” counts primitives, lowkey a nerd but we love her.

🧚 Public Member Functions inherited from SoNode

  • void setOverride (const SbBool state) β€” flip override mode on/off.
  • SbBool isOverride (void) const β€” are we overriding? yes or no.
  • void setNodeType (const NodeType type) β€” set the node type.
  • NodeType getNodeType (void) const β€” get the node type.
  • virtual SbBool affectsState (void) const β€” does this node mess with the state?
  • virtual void GLRenderBelowPath (SoGLRenderAction *action) β€” render below path, the sequel.
  • virtual void GLRenderInPath (SoGLRenderAction *action) β€” render in path.
  • virtual void GLRenderOffPath (SoGLRenderAction *action) β€” render off path, the third one, she's consistent.
  • virtual void handleEvent (SoHandleEventAction *action) β€” events get handled here.
  • virtual void rayPick (SoRayPickAction *action) β€” ray picking, the fancy kind of picking.
  • virtual void search (SoSearchAction *action) β€” search action goes brrr.
  • virtual void audioRender (SoAudioRenderAction *action) β€” yes there's audio, she does it all.
  • virtual void grabEventsSetup (void) β€” set up event grabbing.
  • virtual void grabEventsCleanup (void) β€” and clean it up after.
  • virtual void startNotify (void) β€” kicks off notification.
  • virtual void notify (SoNotList *l) β€” the notification itself, with the list.
  • SbUniqueId getNodeId (void) const β€” every node has a unique id, her little passport. πŸͺͺ
  • virtual SoChildList * getChildren (void) const β€” get the kids (children list).
  • virtual void writeInstance (SoOutput *out) β€” write this instance out.
  • virtual SoNode * addToCopyDict (void) const β€” adds itself to the copy dictionary.
  • virtual void copyContents (const SoFieldContainer *from, SbBool copyconnections) β€” copies the contents over.
  • virtual SoFieldContainer * copyThroughConnection (void) const β€” copy through a connection, returns the container.

🫢 Public Member Functions inherited from SoFieldContainer

  • void setToDefaults (void) β€” reset everything to defaults, a clean slate moment.
  • SbBool hasDefaultValues (void) const β€” still on defaults? check.
  • SbBool fieldsAreEqual (const SoFieldContainer *container) const β€” are the fields equal to that other container's?
  • void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE) β€” copy field values, with copyconnections defaulting to FALSE.
  • SbBool set (const char *const fielddata) β€” set from a field-data string.
  • void get (SbString &fielddata) β€” get the field data as a string.
  • virtual int getFields (SoFieldList &l) const β€” grab the fields into a list.
  • virtual int getAllFields (SoFieldList &l) const β€” grab all the fields, no filter.
  • virtual SoField * getField (const SbName &name) const β€” find a field by name.
  • virtual SoField * getEventIn (const SbName &name) const β€” get an event-in by name.
  • virtual SoField * getEventOut (const SbName &name) const β€” get an event-out by name.
  • SbBool getFieldName (const SoField *const field, SbName &name) const β€” reverse lookup, field to name.
  • SbBool enableNotify (const SbBool flag) β€” turn notifications on or off.
  • SbBool isNotifyEnabled (void) const β€” are notifications on?
  • SbBool set (const char *fielddata, SoInput *input) β€” the set variant that takes an input too.
  • void get (SbString &fielddata, SoOutput *out) β€” the get variant that takes an output too.
  • virtual SbBool validateNewFieldValue (SoField *field, void *newval) β€” validate a new field value before it lands.
  • virtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE) β€” add a write reference, isfromfield defaults to FALSE.
  • SbBool getIsBuiltIn (void) const β€” is it built in?
  • virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) const β€” reports the memory sizes of fields, split into managed and unmanaged.
  • void setUserData (void *userdata) const β€” attach your own user data pointer.
  • void * getUserData (void) const β€” and get it back.

🌈 Public Member Functions inherited from SoBase

  • void ref (void) const β€” bump the ref count.
  • void unref (void) const β€” drop the ref count.
  • void unrefNoDelete (void) const β€” drop the ref count but don't delete. sneaky but valid.
  • int32_t getRefCount (void) const β€” how many refs we got?
  • void touch (void) β€” touch it so everything downstream knows something changed.
  • SbBool isOfType (SoType type) const β€” returns TRUE if the type of this object is either of the same type or inherited from type.
  • virtual SbName getName (void) const β€” get the name.
  • virtual void setName (const SbName &newname) β€” set a new name.
  • void addAuditor (void *const auditor, const SoNotRec::Type type) β€” add an auditor of the given type.
  • void removeAuditor (void *const auditor, const SoNotRec::Type type) β€” remove that auditor.
  • const SoAuditorList & getAuditors (void) const β€” get the whole auditor list.
  • SbBool shouldWrite (void) β€” should this be written?
  • void assertAlive (void) const β€” assert that the object is still alive. πŸ’€ (dramatic but useful)

⭐ Static Public Member Functions ⭐

✨ SoShuttle's own

  • static SoType getClassTypeId (void) β€” the class-level type id.
  • static void initClass (void) β€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.

πŸ’œ Static Public Member Functions inherited from SoTranslation

  • static SoType getClassTypeId (void) β€” class type id, inherited edition.
  • static void initClass (void) β€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.

🌸 Static Public Member Functions inherited from SoTransformation

  • static SoType getClassTypeId (void) β€” class type id, yes again, it's a family trait.
  • static void initClass (void) β€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.

🧚 Static Public Member Functions inherited from SoNode

  • static uint32_t getCompatibilityTypes (const SoType &nodetype) β€” get the compatibility type bitmask for a node type.
  • static SoType getClassTypeId (void) β€” class type id.
  • static SoNode * getByName (const SbName &name) β€” find a node by name.
  • static int getByName (const SbName &name, SoNodeList &l) β€” find by name and stuff the results into a list.
  • static void initClass (void) β€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
  • static void initClasses (void) β€” plural, init all the classes.
  • static SbUniqueId getNextNodeId (void) β€” grab the next unique node id.
  • static int getActionMethodIndex (const SoType type) β€” the action method index for a type.
  • static void getBoundingBoxS (SoAction *action, SoNode *node) β€” static bounding box helper.
  • static void GLRenderS (SoAction *action, SoNode *node) β€” static render helper.
  • static void callbackS (SoAction *action, SoNode *node) β€” static callback helper.
  • static void getMatrixS (SoAction *action, SoNode *node) β€” static matrix helper.
  • static void handleEventS (SoAction *action, SoNode *node) β€” static event helper.
  • static void pickS (SoAction *action, SoNode *node) β€” static pick helper.
  • static void rayPickS (SoAction *action, SoNode *node) β€” static ray pick helper.
  • static void searchS (SoAction *action, SoNode *node) β€” static search helper.
  • static void writeS (SoAction *action, SoNode *node) β€” static write helper.
  • static void audioRenderS (SoAction *action, SoNode *node) β€” static audio render helper.
  • static void getPrimitiveCountS (SoAction *action, SoNode *node) β€” static primitive count helper. that's the whole set bestie, she's thorough. πŸ‘‘

🫢 Static Public Member Functions inherited from SoFieldContainer

  • static void initClass (void) β€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
  • static SoType getClassTypeId (void) β€” this static method returns the SoType object associated with objects of this class.
  • static void cleanupClass (void) β€” clean up after the class.
  • static void initCopyDict (void) β€” initialize the copy dictionary.
  • static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) β€” register an original/copy pair.
  • static SoFieldContainer * checkCopy (const SoFieldContainer *orig) β€” check for the copy of an original.
  • static SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections) β€” find a copy, with a copyconnections flag.
  • static void copyDone (void) β€” copying's done, wrap it up. 🎬

🌈 Static Public Member Functions inherited from SoBase

  • static void initClass (void) β€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
  • static SoType getClassTypeId (void) β€” this static method returns the SoType object associated with objects of this class.
  • static void addName (SoBase *const base, const char *const name) β€” give a base object a name.
  • static void removeName (SoBase *const base, const char *const name) β€” take that name away.
  • static void incrementCurrentWriteCounter (void) β€” bump the current write counter.
  • static void decrementCurrentWriteCounter (void) β€” drop the current write counter.
  • static SoBase * getNamedBase (const SbName &name, SoType type) β€” fetch a named base of a given type.
  • static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) β€” fetch all matching named bases into a list.
  • static SbBool read (SoInput *input, SoBase *&base, SoType expectedtype) β€” read a base from input.
  • static void setInstancePrefix (const SbString &c) β€” set the instance prefix string.
  • static void setTraceRefs (SbBool trace) β€” toggle ref tracing.
  • static SbBool getTraceRefs (void) β€” is ref tracing on?
  • static SbBool connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) β€” wire up a route between a from node/field and a to node/field.
  • static SbBool readRoute (SoInput *input) β€” read a route in from input.

πŸŽ€ Public Attributes πŸŽ€

  • SoSFVec3f translation0 β€” first translation stop. πŸ…°οΈ
  • SoSFVec3f translation1 β€” second translation stop. πŸ…±οΈ
  • SoSFFloat speed β€” how fast she shuttles.
  • SoSFBool on β€” the on/off switch, the main character toggle.

πŸ’œ Public Attributes inherited from SoTranslation

  • SoSFVec3f translation β€” the plain old translation field, inherited.

πŸ›‘οΈ Protected Member Functions πŸ›‘οΈ

πŸ¦‹ SoShuttle's own

  • virtual const SoFieldData * getFieldData (void) const β€” get the field data.
  • virtual ~SoShuttle () β€” the destructor. rest in peace queen. πŸ’€

πŸ’œ Protected Member Functions inherited from SoTranslation

  • virtual ~SoTranslation () β€” destructor.

🌸 Protected Member Functions inherited from SoTransformation

  • SoTransformation (void) β€” constructor.
  • virtual ~SoTransformation () β€” destructor.

🧚 Protected Member Functions inherited from SoNode

  • SoNode (void) β€” constructor.
  • virtual ~SoNode () β€” destructor.
  • virtual SbBool readInstance (SoInput *in, unsigned short flags) β€” read an instance from input with flags.

🫢 Protected Member Functions inherited from SoFieldContainer

  • SoFieldContainer (void) β€” constructor.
  • virtual ~SoFieldContainer () β€” destructor.

🌈 Protected Member Functions inherited from SoBase

  • SoBase (void) β€” constructor.
  • virtual ~SoBase () β€” destructor.
  • virtual void destroy (void) β€” destroy, the internal way.
  • SbBool hasMultipleWriteRefs (void) const β€” got multiple write refs?
  • SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const β€” write the header, with group/engine flags.
  • void writeFooter (SoOutput *out) const β€” write the footer, matching the header obviously.
  • virtual const char * getFileFormatName (void) const β€” the file format name as a C string.
  • virtual SoNotRec createNotRec (void) β€” create a notification record.

πŸ” Static Protected Member Functions πŸ”

✨ SoShuttle's own

  • static const SoFieldData ** getFieldDataPtr (void) β€” the static pointer to the field data.

πŸ’œ Static Protected Member Functions inherited from SoTranslation

  • static const SoFieldData ** getFieldDataPtr (void) β€” static field data pointer.

🌸 Static Protected Member Functions inherited from SoTransformation

  • static const SoFieldData ** getFieldDataPtr (void) β€” static field data pointer.

🧚 Static Protected Member Functions inherited from SoNode

  • static const SoFieldData ** getFieldDataPtr (void) β€” static field data pointer.
  • static void setNextActionMethodIndex (int index) β€” set the next action method index.
  • static int getNextActionMethodIndex (void) β€” get the next action method index.
  • static void incNextActionMethodIndex (void) β€” increment the next action method index.
  • static void setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask) β€” set compatibility types for a node type with a bitmask.

🌈 Static Protected Member Functions inherited from SoBase

  • static uint32_t getCurrentWriteCounter (void) β€” get the current write counter.
  • static void staticDataLock (void) β€” lock the static data.
  • static void staticDataUnlock (void) β€” unlock it, we're done. πŸ”“

🌟 Additional Inherited Members 🌟

πŸ’… Public Types inherited from SoNode

The NodeType enum, in all her glory:

enum NodeType { INVENTOR = 0x0000, VRML1 = 0x0001, VRML2 = 0x0002,
    INVENTOR_1 = 0x0004, INVENTOR_2_0 = 0x0008, INVENTOR_2_1 = 0x0010,
    INVENTOR_2_5 = 0x0020, INVENTOR_2_6 = 0x0040, COIN_1_0 = 0x0080,
    COIN_2_0 = 0x0100, EXTENSION = 0x0200, COIN_2_2 = 0x0400, COIN_2_3 =
    0x0800, COIN_2_4 = 0x1000, INVENTOR_5_0 = 0x2000, COIN_2_5 = 0x4000,
    COIN_3_0 = 0x8000, INVENTOR_6_0 = 0x10000, COIN_4_0 = 0x20000 }

πŸ›‘οΈ Protected Types inherited from SoBase

enum BaseFlags { IS_ENGINE = 0x01, IS_GROUP = 0x02 }

🧬 Protected Attributes inherited from SoNode

  • SbUniqueId uniqueId β€” her unique id, living as a protected attribute.

🧬 Protected Attributes inherited from SoFieldContainer

  • SbBool isBuiltIn β€” the built-in flag.

🧬 Static Protected Attributes inherited from SoNode

  • static SbUniqueId nextUniqueId = 1 β€” the running counter, starts at 1.
  • static int nextActionMethodIndex = 0 β€” starts at 0.

okay bestie that's the whole SYNOPSIS, every single inherited member accounted for, not a crumb left behind. πŸ“ this is only part 1 though β€” there's more of this page coming, so don't go anywhere. πŸ’–

✨ Detailed Description ✨

okay so the SoShuttle class is literally just here to oscillate between two translations. That's the whole vibe. Two spots, back and forth, forever. πŸ¦‹

The glow-up between translation0 and translation1 is smooth because it's built on a cosine function β€” no jump cuts, no awkward transitions, just a gorgeous little curve. Here's the timeline bestie:

  • At the very beginning of the cycle, we're at translation0.
  • Halfway through the cycle, the resulting translation equals translation1.
  • And at the end of the cycle? We're back at translation0 again. full circle, literally. πŸ”

πŸ“„ FILE FORMAT/DEFAULTS πŸŽ€

Shuttle {
    translation 0 0 0
    translation0 0 0 0
    translation1 0 0 0
    speed 1
    on TRUE
}

πŸŽ€ Constructor & Destructor Documentation πŸŽ€

🌸 SoShuttle::SoShuttle (void )

Constructor. She's born. πŸ’–

🌸 SoShuttle::~SoShuttle () [protected], [virtual]

Destructor. She's gone. 😭 (protected AND virtual, for the record β€” iykyk.)


πŸ”₯ Member Function Documentation πŸ”₯

⭐ SoType SoShuttle::getClassTypeId (void ) [static]

This static method returns the SoType object associated with objects of this class. It's giving class identity, periodt. πŸ‘‘

⭐ SoType SoShuttle::getTypeId (void ) const [virtual]

Returns the type identification of an object derived from a class inheriting SoBase. This is used for runtime type checking and "downward" casting.

Reimplemented from SoTranslation.

⭐ const SoFieldData ** SoShuttle::getFieldDataPtr (void ) [static], [protected]

ngl this API member is considered internal to the library, since it is not likely to be of interest to the application programmer. not your business bestie, no offense. πŸ™ˆ

Returns the SoFieldData class which holds information about fields in this node.

⭐ const SoFieldData * SoShuttle::getFieldData (void ) const [protected], [virtual]

Returns a pointer to the class-wide field data storage object for this instance. If no fields are present, returns NULL.

Reimplemented from SoTranslation.

⭐ void SoShuttle::write (SoWriteAction * action) [virtual]

Action method for SoWriteAction.

Writes out a node object, and any connected nodes, engines etc, if necessary. basically it spills the tea onto disk. ✍️

Reimplemented from SoNode.


πŸ’… Member Data Documentation πŸ’…

  • SoSFVec3f SoShuttle::translation0 β€” Translation at the start and end of the cycle. Default value is (0, 0, 0).
  • SoSFVec3f SoShuttle::translation1 β€” Translation at the middle of the cycle. Default value is (0, 0, 0).
  • SoSFFloat SoShuttle::speed β€” Number of cycles per second. Default value is 1.
  • SoSFBool SoShuttle::on β€” Toggles animation on or off. Defaults to TRUE.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for Coin from the source code. the robots wrote this one, not me. πŸ€–βœ¨


that's the whole page bestie, we ate and left no crumbs πŸ’– this was Coin version 4.0.10, dated Thu Jun 25 2026 00:00:00, and you were reading SoShuttle(3). slay, go make something oscillate. πŸ¦‹πŸŒΈπŸ’…
πŸ“¦ where this page comes from