SoCounter(3IV)

SoCounter (SoCounter) - triggered integer counter

As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.

NAME
     SoCounter (SoCounter) - triggered integer counter

INHERITS FROM
     SoBase > SoFieldContainer > SoEngine > SoCounter

SYNOPSIS
     #include <Inventor_c/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

          Functions from class SoCounter:

     SoCounter *         SoCounterCreate()

          Functions from class SoEngine:

     SoType              SoCounterGetTypeId()
     int                 SoCounterGetOuts(const SoCounter *this,
                              SoEngineOutputList *list)
     SoEngineOutput *    SoCounterGetOut(const SoCounter *this, const char
                              *outputName)
     SbBool              SoCounterGetOutName(const SoCounter *this, const
                              SoEngineOutput *output, SbName *outputName)
     SoEngine *          SoCounterCopy(const SoCounter *this)
     SoEngine *          SoCounterGetByName(const char *name)
     int                 SoCounterGetByNameList(const char *name, SoEngineList
                              *list)

          Functions from class SoFieldContainer:

     SoType              SoCounterGetClassTypeId()
     void                SoCounterSetToDflts(SoCounter *this)
     SbBool              SoCounterHasDfltVals(const SoCounter *this)
     SbBool              SoCounterFldsAreEq(const SoCounter *this, const
                              SoFieldContainer *fc)
     void                SoCounterCopyFieldVals(SoCounter *this, const
                              SoFieldContainer *fc, SbBool copyConnections =
                              FALSE)
     SbBool              SoCounterSet(SoCounter *this, const char
                              *fieldDataString)
     void                SoCounterGet(SoCounter *this, SbString
                              *fieldDataString)
     int                 SoCounterGetFields(const SoCounter *this, SoFieldList
                              *resultList)
     SoField *           SoCounterGetField(const SoCounter *this, const char
                              *fieldName)
     SbBool              SoCounterGetFieldName(const SoCounter *this, const
                              SoField *field, SbName *fieldName)
     SbBool              SoCounterIsNotifyEnabled(const SoCounter *this)
     SbBool              SoCounterEnableNotify(SoCounter *this, SbBool flag)

          Functions from class SoBase:

     void                SoCounterRef(SoCounter *this)
     void                SoCounterUnref(const SoCounter *this)
     void                SoCounterUnrefNoDelete(const SoCounter *this)
     void                SoCounterTouch(SoCounter *this)
     SbBool              SoCounterIsOfType(const SoCounter *this, SoType type)
     void                SoCounterSetName(SoCounter *this, const char *name)
     SbName              SoCounterGetName(const SoCounter *this)


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.


FUNCTIONS
     SoCounter *         SoCounterCreate()
          Constructor


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

SEE ALSO
     SoTimeCounter, SoEngineOutput