Provided by: inventor-doc_2.1.6+ds-2_all 

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
SoOneShot(3IV)()