Timed integer counter. More...
#include <Inventor/engines/SoTimeCounter.h>
Public Member Functions | |
virtual SoType | getTypeId () const |
Returns the type identifier for this specific instance. | |
SoTimeCounter () | |
Constructor. | |
Public Member Functions inherited from SoEngine | |
virtual int | getOutputs (SoEngineOutputList &list) const |
Returns a list of outputs in this engine. | |
SoEngineOutput * | getOutput (const SbName &outputName) const |
Returns a reference to the engine output with the given name. | |
SbBool | getOutputName (const SoEngineOutput *output, SbName &outputName) const |
Returns (in outputName) the name of the engine output (output). | |
SoEngine * | copy () const |
Creates and returns an exact copy of the engine. | |
Public Member Functions inherited from SoFieldContainer | |
void | setToDefaults () |
Sets all fields in this object to their default values. | |
SbBool | hasDefaultValues () const |
Returns TRUE if all of the object's fields have their default values. | |
SbBool | fieldsAreEqual (const SoFieldContainer *fc) const |
Returns TRUE if this object's fields are exactly equal to fc's fields. | |
void | copyFieldValues (const SoFieldContainer *fc, SbBool copyConnections=FALSE) |
Copies the contents of fc's fields into this object's fields. | |
SoNONUNICODE SbBool | set (const char *fieldDataString) |
Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format. | |
SbBool | set (const SbString &fieldDataString) |
Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format. | |
void | get (SbString &fieldDataString) |
Returns the values of the fields of this object in the Open Inventor ASCII file format in the given string. | |
virtual int | getFields (SoFieldList &list) const |
Appends references to all of this object's fields to resultList, and returns the number of fields appended. | |
virtual int | getAllFields (SoFieldList &list) const |
Returns a list of fields, including the eventIn's and eventOut's. | |
virtual SoField * | getField (const SbName &fieldName) const |
Returns a the field of this object whose name is fieldName. | |
virtual SoField * | getEventIn (const SbName &fieldName) const |
Returns a the eventIn with the given name. | |
virtual SoField * | getEventOut (const SbName &fieldName) const |
Returns the eventOut with the given name. | |
SbBool | getFieldName (const SoField *field, SbName &fieldName) const |
Returns the name of the given field in the fieldName argument. | |
SbBool | enableNotify (SbBool flag) |
Notification at this Field Container is enabled (if flag == TRUE) or disabled (if flag == FALSE). | |
SbBool | isNotifyEnabled () const |
Notification is the process of telling interested objects that this object has changed. | |
virtual void | setUserData (void *data) |
Sets application data. | |
void * | getUserData (void) const |
Gets user application data. | |
Public Member Functions inherited from SoBase | |
virtual void | touch () |
Marks an instance as modified, simulating a change to it. | |
virtual SbName | getName () const |
Returns the name of an instance. | |
virtual void | setName (const SbName &name) |
Sets the name of an instance. | |
void | setSynchronizable (const bool b) |
Sets this to be a ScaleViz synchronizable object. | |
bool | isSynchronizable () const |
Gets the ScaleViz synchronizable state of this object. | |
Public Member Functions inherited from SoRefCounter | |
void | ref () const |
Adds a reference to an instance. | |
void | unref () const |
Removes a reference from an instance. | |
void | unrefNoDelete () const |
unrefNoDelete() should be called when it is desired to decrement the reference count, but not delete the instance if this brings the reference count to zero. | |
int | getRefCount () const |
Returns current reference count. | |
void | lock () const |
lock this instance. | |
void | unlock () const |
unlock this instance. | |
Public Member Functions inherited from SoTypedObject | |
SbBool | isOfType (const SoType &type) const |
Returns TRUE if this object is of the type specified in type or is derived from that type. | |
template<typename TypedObjectClass > | |
SbBool | isOfType () const |
Returns TRUE if this object is of the type of class TypedObjectClass or is derived from that class. | |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
Static Public Member Functions inherited from SoEngine | |
static SoType | getClassTypeId () |
Returns the type identifier for the SoEngine class. | |
static SoEngine * | getByName (const SbName &name) |
Looks up engine(s) by name. | |
static int | getByName (const SbName &name, SoEngineList &list) |
Looks up engine(s) by name. | |
Static Public Member Functions inherited from SoFieldContainer | |
static SoType | getClassTypeId () |
Returns the type of this class. | |
Static Public Member Functions inherited from SoBase | |
static SoType | getClassTypeId () |
Returns type identifier for this class. | |
Static Public Member Functions inherited from SoTypedObject | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
Public Attributes | |
SoSFShort | min |
Minimum value for the counter. | |
SoSFShort | max |
Maximum value for the counter. | |
SoSFShort | step |
Counter step value. | |
SoSFBool | on |
Counter pauses if this is set to FALSE. | |
SoSFFloat | frequency |
Number of min-to-max cycles per second. | |
SoMFFloat | duty |
Duty cycle values. | |
SoSFTime | timeIn |
Running time. | |
SoSFTrigger | syncIn |
Restart at the beginning of the cycle. | |
SoSFShort | reset |
Reset the counter to the specified value. | |
SoEngineOutput | output |
( SoSFShort ) Counts min-to-max, in step increments. | |
SoEngineOutput | syncOut |
( SoSFTrigger ) Triggers at cycle start. | |
Timed integer counter.
This engine is a counter that outputs numbers, starting at a minimum value, increasing by a step value, and ending with a number that does not exceed the maximum value. When the maximum number is reached, it starts counting from the beginning again.
The difference between this engine and the SoCounter engine, is that this engine also has a timeIn input, which allows the counting cycles to be timed. This engine counts automatically over time; it does not need to be triggered to go to the next step. By default, the timeIn input is connected to the realTime global field. It can, however, be connected to any time source.
The frequency input field controls how many min-to-max cycles are performed per second. For example, a frequency value of 0.5 means that it will take 2 seconds to complete a single min-to-max cycle.
The steps in the count cycle do not necessarily all have the same duration. Using the duty input field, you can arbitrarily split the time period of the count cycle between the steps. For example, if there are 5 steps in the cycle, a duty input of (1., 2., 2., 2., 1.) will make the second, third, and fourth steps take twice as long as the first and last steps.
At any time the counter can be reset to a specific value. If you set the reset input field to a value, the engine will continue counting from there. Note that the counter will always output numbers based on the min, max and step values, and setting the reset value does not affect the those input fields. If the reset value is not a legal counter value, the counter will still behave as though it is:
Each time a counting cycle is started, the syncOut output is triggered. This output can be used to synchronize some other event with the counting cycle. Other events can also synchronize the counter by triggering the syncIn input.
You can pause the engine, by setting the on input to FALSE, and it will stop updating the output field. When you turn off the pause, by setting on to TRUE, it will start counting again from where it left off.
min | 0 |
max | 1 |
step | 1 |
on | TRUE |
frequency | 1 |
duty | 1 |
timeIn | <current time> |
syncIn | |
reset | 0 |
SoCounter, SoElapsedTime, SoEngineOutput
Definition at line 133 of file SoTimeCounter.h.
SoTimeCounter::SoTimeCounter | ( | ) |
Constructor.
|
static |
Returns the type identifier for this class.
|
virtual |
Returns the type identifier for this specific instance.
Implements SoTypedObject.
SoMFFloat SoTimeCounter::duty |
Duty cycle values.
Definition at line 161 of file SoTimeCounter.h.
SoSFFloat SoTimeCounter::frequency |
Number of min-to-max cycles per second.
Definition at line 157 of file SoTimeCounter.h.
SoSFShort SoTimeCounter::max |
Maximum value for the counter.
Definition at line 145 of file SoTimeCounter.h.
SoSFShort SoTimeCounter::min |
Minimum value for the counter.
Definition at line 141 of file SoTimeCounter.h.
SoSFBool SoTimeCounter::on |
Counter pauses if this is set to FALSE.
Definition at line 153 of file SoTimeCounter.h.
SoEngineOutput SoTimeCounter::output |
( SoSFShort ) Counts min-to-max, in step increments.
Definition at line 178 of file SoTimeCounter.h.
SoSFShort SoTimeCounter::reset |
Reset the counter to the specified value.
Definition at line 173 of file SoTimeCounter.h.
SoSFShort SoTimeCounter::step |
Counter step value.
Definition at line 149 of file SoTimeCounter.h.
SoSFTrigger SoTimeCounter::syncIn |
Restart at the beginning of the cycle.
Definition at line 169 of file SoTimeCounter.h.
SoEngineOutput SoTimeCounter::syncOut |
( SoSFTrigger ) Triggers at cycle start.
Definition at line 182 of file SoTimeCounter.h.
SoSFTime SoTimeCounter::timeIn |
Running time.
Definition at line 165 of file SoTimeCounter.h.