SoTimeCounter(3)

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

πŸ’– SoTimeCounter(3) πŸ’–

okay bestie, welcome to the Coin manual page for SoTimeCounter β€” yes, that's a section 3 page, yes we're doing this, and yes it's gonna be adorable and accurate. no cap. 🫢


✨ NAME ✨

SoTimeCounter β€” the SoTimeCounter class is an integer counter engine. that's it, that's the whole vibe. it counts. in integers. on a timer. πŸ‘‘


✨ SYNOPSIS ✨

#include <Inventor/engines/SoTimeCounter.h>

Inherits SoEngine.

🌸 Public Member Functions 🌸

  • virtual SoType getTypeId (void) const
  • virtual const SoFieldData * getFieldData (void) const
  • virtual const SoEngineOutputData * getOutputData (void) const
  • SoTimeCounter ()

πŸ’« Public Member Functions inherited from SoEngine

  • void evaluateWrapper (void)
  • virtual int getOutputs (SoEngineOutputList &l) const
  • SoEngineOutput * getOutput (const SbName &outputname) const
  • SbBool getOutputName (const SoEngineOutput *output, SbName &outputname) const
  • SbBool isNotifying (void) const
  • virtual void notify (SoNotList *nl)
  • SoEngine * copy (void) const
  • virtual SoFieldContainer * copyThroughConnection (void) const
  • SbBool shouldCopy (void) const

πŸ’« Public Member Functions inherited from SoFieldContainer

  • void setToDefaults (void)
  • SbBool hasDefaultValues (void) const
  • SbBool fieldsAreEqual (const SoFieldContainer *container) const
  • void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE)
  • SbBool set (const char *const fielddata)
  • void get (SbString &fielddata)
  • virtual int getFields (SoFieldList &l) const
  • virtual int getAllFields (SoFieldList &l) const
  • virtual SoField * getField (const SbName &name) const
  • virtual SoField * getEventIn (const SbName &name) const
  • virtual SoField * getEventOut (const SbName &name) const
  • SbBool getFieldName (const SoField *const field, SbName &name) const
  • SbBool enableNotify (const SbBool flag)
  • SbBool isNotifyEnabled (void) const
  • SbBool set (const char *fielddata, SoInput *input)
  • void get (SbString &fielddata, SoOutput *out)
  • virtual SbBool validateNewFieldValue (SoField *field, void *newval)
  • virtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE)
  • SbBool getIsBuiltIn (void) const
  • virtual void copyContents (const SoFieldContainer *from, SbBool copyconnections)
  • virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) const
  • void setUserData (void *userdata) const
  • void * getUserData (void) const

πŸ’« Public Member Functions inherited from SoBase

  • void ref (void) const
  • void unref (void) const
  • void unrefNoDelete (void) const
  • int32_t getRefCount (void) const
  • void touch (void)
  • SbBool isOfType (SoType type) const β€” Returns TRUE if the type of this object is either of the same type or inherited from type. (bestie, it's the "are you your own type or one of your ancestors" check πŸ’…)
  • virtual SbName getName (void) const
  • virtual void setName (const SbName &newname)
  • virtual void startNotify (void)
  • void addAuditor (void *const auditor, const SoNotRec::Type type)
  • void removeAuditor (void *const auditor, const SoNotRec::Type type)
  • const SoAuditorList & getAuditors (void) const
  • SbBool shouldWrite (void)
  • void assertAlive (void) const

🌈 Static Public Member Functions 🌈

  • static SoType getClassTypeId (void)
  • static void * createInstance (void)
  • static void initClass () β€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. (the class-wide glow-up ✨)

πŸ’« Static Public Member Functions inherited from SoEngine

  • 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)
  • static SoType getClassTypeId (void) β€” This static method returns the SoType object associated with objects of this class.
  • static SoEngine * getByName (const SbName &name)
  • static int getByName (const SbName &name, SoEngineList &el)

πŸ’« 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)
  • static void initCopyDict (void)
  • static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy)
  • static SoFieldContainer * checkCopy (const SoFieldContainer *orig)
  • static SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections)
  • static void copyDone (void)

πŸ’« 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)
  • static void removeName (SoBase *const base, const char *const name)
  • static void incrementCurrentWriteCounter (void)
  • static void decrementCurrentWriteCounter (void)
  • static SoBase * getNamedBase (const SbName &name, SoType type)
  • static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type)
  • static SbBool read (SoInput *input, SoBase *&base, SoType expectedtype)
  • static void setInstancePrefix (const SbString &c)
  • static void setTraceRefs (SbBool trace)
  • static SbBool getTraceRefs (void)
  • static SbBool connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname)
  • static SbBool readRoute (SoInput *input)

πŸŽ€ Public Attributes πŸŽ€

the actual knobs and dials of this whole situation, and honestly? iconic lineup:

  • SoSFTime timeIn
  • SoSFShort min
  • SoSFShort max
  • SoSFShort step
  • SoSFBool on
  • SoSFFloat frequency
  • SoMFFloat duty
  • SoSFShort reset
  • SoSFTrigger syncIn
  • SoEngineOutput output
  • SoEngineOutput syncOut

πŸ¦‹ Protected Member Functions πŸ¦‹

  • virtual ~SoTimeCounter (void)
  • virtual void inputChanged (SoField *which)
  • virtual void writeInstance (SoOutput *out)

πŸ’« Protected Member Functions inherited from SoEngine

  • SoEngine (void)
  • virtual ~SoEngine (void)
  • virtual SbBool readInstance (SoInput *in, unsigned short flags)
  • void writeOutputTypes (SoOutput *out)

πŸ’« Protected Member Functions inherited from SoFieldContainer

  • SoFieldContainer (void)
  • virtual ~SoFieldContainer ()

πŸ’« Protected Member Functions inherited from SoBase

  • SoBase (void)
  • virtual ~SoBase ()
  • SbBool hasMultipleWriteRefs (void) const
  • SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const
  • void writeFooter (SoOutput *out) const
  • virtual const char * getFileFormatName (void) const
  • virtual SoNotRec createNotRec (void)

🧚 Static Protected Member Functions 🧚

  • static const SoFieldData ** getInputDataPtr (void)
  • static const SoEngineOutputData ** getOutputDataPtr (void)

πŸ’« Static Protected Member Functions inherited from SoEngine

  • static const SoFieldData ** getInputDataPtr (void)
  • static const SoEngineOutputData ** getOutputDataPtr (void)

πŸ’« Static Protected Member Functions inherited from SoBase

  • static uint32_t getCurrentWriteCounter (void)
  • static void staticDataLock (void)
  • static void staticDataUnlock (void)

πŸ’œ Additional Inherited Members πŸ’œ

Protected Types inherited from SoBase

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

Protected Attributes inherited from SoFieldContainer

  • SbBool isBuiltIn

🌟 Detailed Description 🌟

The SoTimeCounter class is an integer counter engine. periodt. πŸ’…

The SoTimeCounter engine is by default connected to the realTime global field, and does stepwise updates on the SoTimeCounter::output field according to the field settings. so like. it's out here ticking away on its own, following the rules you gave it, no notes. πŸ”₯


🍼 Constructor & Destructor Documentation 🍼

SoTimeCounter::SoTimeCounter (void )

Default constructor. the birth of a counter, lowkey emotional πŸ₯Ή

SoTimeCounter::~SoTimeCounter (void ) [protected], [virtual]

Destructor. rip little counter, you did great 🫑


πŸ“š Member Function Documentation πŸ“š

SoType SoTimeCounter::getClassTypeId (void ) [static]

This static method returns the SoType object associated with objects of this class. iykyk. ⭐

SoType SoTimeCounter::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.

Implements SoBase.

const SoFieldData ** SoTimeCounter::getInputDataPtr (void ) [static], [protected]

Returns the SoFieldData class which holds information about inputs in this engine.

const SoEngineOutputData ** SoTimeCounter::getOutputDataPtr (void ) [static], [protected]

Returns the SoEngineOutputData class which holds information about the outputs in this engine.

const SoFieldData * SoTimeCounter::getFieldData (void ) const [virtual]

Returns the SoFieldData class which holds information about inputs in this engine.

Reimplemented from SoFieldContainer.

const SoEngineOutputData * SoTimeCounter::getOutputData (void ) const [virtual]

Returns the SoEngineOutputData class which holds information about the outputs in this engine.

Implements SoEngine.

void * SoTimeCounter::createInstance (void ) [static]

Creates a new instance of the class type corresponding to the SoType object. brand new counter, who dis 🌈

void SoTimeCounter::inputChanged (SoField * which) [protected], [virtual]

Called when an input is changed. The default method does nothing, but subclasses may override this method to do The Right Thing when a specific field is changed.

Reimplemented from SoEngine.

void SoTimeCounter::writeInstance (SoOutput * out) [protected], [virtual]

Writes all the fields contained in this instance to the output stream within out.

This method is solely called from the write methods of fields.

Either from SoField if the write is done because of a field-to-field connection, or from one of the fields which may actually write SoFieldContainer instances, i.e. SoSFNode, SoMFNode, SoSFEngine, SoMFEngine, SoSFPath and SoMFPath.

This method, in addition to the ordinary write() method of SoNode, needs to be present since the fields don't have a write action instance in their writeValue() method, and writeInstance() will create a new SoWriteAction and call continueToApply() on it.

Reimplemented from SoEngine.


okay bestie that's part one and there's MORE coming, so don't go anywhere β€” we are NOT done yet, hold that thought πŸ’–

✨ Member Data Documentation ✨

okay bestie, this is the part where we meet the actual fields β€” the little knobs and dials that make the counter go brrr. every single one of them, no skips πŸ’…


SoSFTime SoTimeCounter::timeIn

the running time, fr fr πŸ•°οΈ it's connected to the realTime field by default, so it just kinda vibes along with real time unless you tell it otherwise. main character energy.

SoSFShort SoTimeCounter::min

the minimum counter value. default is 0. this is the floor, the basement, the lowest low πŸ’œ

SoSFShort SoTimeCounter::max

the maximum counter value. default is 1. the ceiling, the tippy-top, the highest high ✨

SoSFShort SoTimeCounter::step

counter step size β€” how big a jump it makes each time it moves. default is 1. baby steps? giant leaps? your call πŸ¦‹

SoSFBool SoTimeCounter::on

set it to FALSE to pause the counter. default value is TRUE β€” so yeah, out of the box she's running, no cap πŸƒβ€β™€οΈπŸ’¨

SoSFFloat SoTimeCounter::frequency

how many complete cycles from the min value to the max value happen per second. default value is 1.0. turn it up and it's giving ✨speed✨, turn it down and it's giving slow-mo movie moment.

SoMFFloat SoTimeCounter::duty

used to weight step times β€” supply one weight value per step, bestie. the default array is a single value of 1.0. so if you want some steps to hang around longer than others, this is the field that lets you be messy on purpose πŸ’…

SoSFShort SoTimeCounter::reset

manually set the counter to some value. and listen β€” if SoTimeCounter::reset is set below the SoTimeCounter::min value or above the SoTimeCounter::max value, it will be clamped to the closest boundary value. no out-of-bounds shenanigans allowed, the boundaries said not today 🚫

SoSFTrigger SoTimeCounter::syncIn

restart the counter at the minimum value. hit it and she starts over from the bottom, fresh start, new era 🌸

SoEngineOutput SoTimeCounter::output

(SoSFShort) β€” the counter value. this is the whole point of the whole thing, the moment we've all been waiting for πŸ‘‘

SoEngineOutput SoTimeCounter::syncOut

(SoSFTrigger) β€” triggers every cycle start. every single time a new cycle kicks off, this one goes off like a little alarm πŸŽ€


πŸ‘‘ Author πŸ‘‘

generated automatically by Doxygen for Coin from the source code. (not a human, just a very diligent robot, and honestly? ate. πŸ’€)


and that's a wrap on SoTimeCounter(3) bestie 🫢 go forth and count some times, you're gonna slay it, i believe in you fr fr πŸ’–

this lil doc is from Coin version 4.0.10, dated Thu Jun 25 2026 00:00:00 β€” so if you're reading this way later, hi, hope the counter still works 🌈⭐ periodt.

πŸ“¦ where this page comes from