table of contents
| SoCounter(3IV)() | 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