Class SoCounter

All Implemented Interfaces:
SafeDisposable

public class SoCounter extends SoEngine
Triggered 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. 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.

File format/default:

Counter {

    min 0
    max 1
    step 1
    trigger
    reset 0
}

See Also:
  • Field Details

    • min

      public final SoSFShort min
      Minimum value for the counter.
    • max

      public final SoSFShort max
      Maximum value for the counter.
    • step

      public final SoSFShort step
      Counter step value.
    • trigger

      public final SoSFTrigger trigger
      Go to the next step.
    • reset

      public final SoSFShort reset
      At the next trigger, reset the counter to the specified value.
    • output

      public final SoEngineOutput output
      ( SoSFShort ) Counts min-to-max in step increments.
    • syncOut

      public final SoEngineOutput syncOut
      ( SoSFTrigger ) Triggers at cycle start.
  • Constructor Details

    • SoCounter

      public SoCounter()
      Constructor.