SOELAPSEDTIME(3iv)

✨ SoElapsedTime(3IV) ✨

okay bestie, welcome to the <pink>SoElapsedTime</pink> page from the <purple>3IV</purple> manual πŸ’– this one's a lil stopwatch engine and she is so useful, no cap. buckle up πŸŽ€


🌸 NAME 🌸

SoElapsedTime β€” basic controllable time source ⏱️✨


πŸ¦‹ INHERITS FROM πŸ¦‹

SoBase > SoFieldContainer > SoEngine > SoElapsedTime

it's giving "deep family tree" energy, she's got ancestors πŸ’…


πŸ‘‘ SYNOPSIS πŸ‘‘

#include <Inventor/engines/SoElapsedTime.h>

Inputs from class SoElapsedTime:

SoSFTime            timeIn
SoSFFloat           speed
SoSFBool            on
SoSFBool            pause
SoSFTrigger         reset

Outputs from class SoElapsedTime:

(SoSFTime)          timeOut

Methods from class SoElapsedTime:

                    SoElapsedTime()

Methods from class SoEngine:

static SoType       getClassTypeId()
virtual int         getOutputs(SoEngineOutputList &list) const
SoEngineOutput *    getOutput(const SbName &outputName) const
SbBool              getOutputName(const SoEngineOutput *output, SbName
                         &outputName) const
SoEngine *          copy() const
static SoEngine *   getByName(const SbName &name)
static int          getByName(const SbName &name, SoEngineList &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 πŸ’–

okay so picture this: this engine is literally a stopwatch 🫢 she outputs the time that's elapsed since she started running. the way that works is the timeIn input, and by default it's connected to the realTime global field β€” iconic default honestly. but bestie you can also connect it to any other time source you want, she's flexible like that ✨

the output from the engine is the time that has elapsed since it started running, or since the reset input was last triggered. clock it. πŸ•°οΈ

you can affect the speed of the output time by setting the speed scale factor β€” a value greater than 1.0 will speed up the output, and a value less than 1.0 will slow it down. it's giving time warp 🌈

now the fun part: if you pause the engine by setting the pause input to TRUE, she stops updating the timeOut output. when you turn off the pause, she jumps to her current position without losing time β€” main character behavior fr fr πŸ‘‘ alternatively, if you want to stop the engine for a while and then restart it from where it left off, use the on input field instead. two different vibes, pick your fighter πŸ’…


πŸŽ€ INPUTS πŸŽ€

  • SoSFTime timeIn β€” running time.
  • SoSFFloat speed β€” scale factor for time.
  • SoSFBool on β€” TRUE to start running, FALSE to stop.
  • SoSFBool pause β€” TRUE to freeze, FALSE to continue running.
  • SoSFTrigger reset β€” reset the base time.

⭐ OUTPUTS ⭐

  • (SoSFTime) timeOut β€” time elapsed, modified by the speed factor.

🧚 METHODS 🧚

  • SoElapsedTime() β€” constructor. the origin story πŸ’œ

πŸ“ FILE FORMAT/DEFAULTS πŸ“

ElapsedTime {
    timeIn  <current time>
    speed   1
    on      TRUE
    pause   FALSE
    reset
}

πŸ”₯ SEE ALSO πŸ”₯

SoTimeCounter, SoOneShot, SoEngineOutput

go read those next bestie, they're all part of the same lil squad 🫢


and that's the whole page!! this was SoElapsedTime(3IV) β€” the source/version and date slots down at the bottom are literally blank (yes, empty, not me forgetting, that's just what the footer says 😭), so consider this your cute sign-off instead: stay hydrated, connect your time sources responsibly, and slay πŸ’…βœ¨πŸŒˆ