SoTimeCounter(3)
π 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) constvirtual const SoFieldData * getFieldData (void) constvirtual const SoEngineOutputData * getOutputData (void) constSoTimeCounter ()
π« Public Member Functions inherited from SoEngine
void evaluateWrapper (void)virtual int getOutputs (SoEngineOutputList &l) constSoEngineOutput * getOutput (const SbName &outputname) constSbBool getOutputName (const SoEngineOutput *output, SbName &outputname) constSbBool isNotifying (void) constvirtual void notify (SoNotList *nl)SoEngine * copy (void) constvirtual SoFieldContainer * copyThroughConnection (void) constSbBool shouldCopy (void) const
π« Public Member Functions inherited from SoFieldContainer
void setToDefaults (void)SbBool hasDefaultValues (void) constSbBool fieldsAreEqual (const SoFieldContainer *container) constvoid copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE)SbBool set (const char *const fielddata)void get (SbString &fielddata)virtual int getFields (SoFieldList &l) constvirtual int getAllFields (SoFieldList &l) constvirtual SoField * getField (const SbName &name) constvirtual SoField * getEventIn (const SbName &name) constvirtual SoField * getEventOut (const SbName &name) constSbBool getFieldName (const SoField *const field, SbName &name) constSbBool enableNotify (const SbBool flag)SbBool isNotifyEnabled (void) constSbBool 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) constvirtual void copyContents (const SoFieldContainer *from, SbBool copyconnections)virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) constvoid setUserData (void *userdata) constvoid * getUserData (void) const
π« Public Member Functions inherited from SoBase
void ref (void) constvoid unref (void) constvoid unrefNoDelete (void) constint32_t getRefCount (void) constvoid touch (void)SbBool isOfType (SoType type) constβ ReturnsTRUEif 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) constvirtual 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) constSbBool 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 theSoTypeobject 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 theSoTypeobject 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 theSoTypeobject 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 timeInSoSFShort minSoSFShort maxSoSFShort stepSoSFBool onSoSFFloat frequencySoMFFloat dutySoSFShort resetSoSFTrigger syncInSoEngineOutput outputSoEngineOutput 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) constSbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) constvoid writeFooter (SoOutput *out) constvirtual const char * getFileFormatName (void) constvirtual 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
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms