SoCounter(3IV)

NAME
SoCounter — triggered integer counter

INHERITS FROM
SoBase > SoFieldContainer > SoEngine > SoCounter

SYNOPSIS
#include <Inventor/engines/SoCounter.h>

Inputs from class SoCounter:

SoSFShort
min
SoSFShort
max
SoSFShort
step
SoSFTrigger
trigger
SoSFShort
reset

Outputs from class SoCounter:

(SoSFShort)
output
(SoSFTrigger)
syncOut

Methods from class SoCounter:

SoCounter()

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
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. It outputs the next number whenever the trigger input is touched. When the maximum number is reached, it starts counting from the beginning again.

At any time the counter can be reset to a specific value by setting the reset input field to that value. The next time the counter is triggered it will start 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 those input fields. If the reset value is not a legal counter value, the counter will still behave as though it is.
If reset is greater than max, the counter is set to max.
If reset is less than min, the counter is set to min.
If reset is between steps, the counter is set to the lower step value.

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.

INPUTS
SoSFShort
min
Minimum value for the counter.

SoSFShort
max
Maximum value for the counter.

SoSFShort
step
Counter step value.

SoSFTrigger
trigger
Go to the next step.

SoSFShort
reset
At the next trigger, reset the counter to the specified value.

OUTPUTS
(SoSFShort)
output
Counts min-to-max in step increments.

(SoSFTrigger)
syncOut
Triggers at cycle start.

METHODS

SoCounter()
Constructor

FILE FORMAT/DEFAULTS
Counter {
min	0
max	1
step	1
trigger
reset	0
}

SEE ALSO
SoTimeCounter, SoEngineOutput