table of contents
| SoOneShot(3IV)() | SoOneShot(3IV)() | 
NAME¶
SoOneShot — timer that runs for a pre-set amount of time
INHERITS FROM¶
SoBase > SoFieldContainer > SoEngine > SoOneShot
SYNOPSIS¶
#include <Inventor/engines/SoOneShot.h>
  
  enum Flags {
  
  
  SoOneShot::RETRIGGERABLE	Can start over during the cycle
  
  
  SoOneShot::HOLD_FINAL	Output values stay high after cycle
  
  
  }
  
  Inputs from class SoOneShot:
  
  
  SoSFTime	timeIn
  
  
  SoSFTime	duration
  
  
  SoSFTrigger	trigger
  
  
  SoSFBitMask	flags
  
  
  SoSFBool	disable
  
  Outputs from class SoOneShot:
  
  
  (SoSFTime)	timeOut
  
  
  (SoSFBool)	isActive
  
  
  (SoSFFloat)	ramp
  
  Methods from class SoOneShot:
  
  
  	SoOneShot()
  
  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 timer that runs for a pre-set amount of time and then stops. By default, the timeIn input is connected to the realTime global field. It can, however, by connected to any other time source.
The timer is started when the trigger input is touched. It then runs for the specified duration, and updates the timeOut output with the time that has elapsed. During that time, the ramp output is also updated. The ramp output starts at 0.0 at the beginning of the cycle, and linearly increases until it reaches 1.0 at the end of the cycle.
You can disable the timer by setting the disable input to TRUE. The output value remains 0.0 while the timer is disabled. If the timer is disabled in the middle of a cycle the output values will be set to 0.0.
The flags input contains control flags. Using the flags you can set the timer to be retriggerable in the middle of a cycle, and set the output values to stay high after the cycle has been completed. By default, these flags are not set.
INPUTS¶
SoSFTime	timeIn
  
  
  Running time.
  
  
  SoSFTime	duration
  
  
  Duration of the active cycle.
  
  
  SoSFTrigger	trigger
  
  
  Start the cycle. The trigger will be ignored if it is touched in the middle of
    a cycle and the RETRIGGERABLE flag is not set.
  
  
  SoSFBitMask	flags
  
  
  Control flags.
  
  
  SoSFBool	disable
  
  
  If TRUE, the timer is disabled.
  
OUTPUTS¶
(SoSFTime)	timeOut
  
  
  Elapsed time from the start.
  
  
  (SoSFBool)	isActive
  
  
  Is TRUE during the active cycle.
  
  
  (SoSFFloat)	ramp
  
  
  Ramps linearly from 0.0 to 1.0.
  
METHODS¶
	SoOneShot()
  
  
  Constructor
  
FILE FORMAT/DEFAULTS¶
OneShot {
duration	1
trigger	
flags	()
disable	FALSE
timeIn	<current time>
}
SEE ALSO¶
SoElapsedTime, SoEngineOutput