Provided by: inventor-doc_2.1.5-10+dfsg-2.1build2_all bug

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)()