Provided by: inventor-doc_2.1.5-10-18_all bug


       SoGate — selectively copies its input to its output


       SoBase > SoFieldContainer > SoEngine > SoGate


       #include <Inventor/engines/SoGate.h>

          Inputs from class SoGate:

     SoSFBool            enable
     SoSFTrigger         trigger
     <inputType>         input

          Outputs from class SoGate:

     (<outputType>)      output

          Methods from class SoGate:

                         SoGate(SoType inputType)

          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 =
     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


       This engine selectively copies its input to its output. The type of the input field can be
       any  subclass of SoMField. The type is specified when an instance of the class is created.
       For example, SoGate(SoMFFloat::getClassTypeId())  creates an engine that copies  floating-
       point values.

       The  enable  input  controls  continous  flow-through of values. While enable is TRUE, the
       input will be copied to the output. Alternatively, by touching the trigger input, you  can
       copy a single value from the input to the output.

       Note  that  unlike most other engine fields, input and output are pointers. Note also that
       by default input does not contain any values.


     SoSFBool            enable
          Enable continous flow-through.

     SoSFTrigger         trigger
          Copy a single value.

     <inputType>         input
          The value that is copied to the output when the gate is open.


     (<outputType>)      output
          Contains a copy of the input value if the gate is open.


                         SoGate(SoType inputType)
          Constructor. The argument specifies the type of the input field.


       Gate {
          type     <inputType>
          input    []
          enable   FALSE


       SoEngineOutput, SoConcatenate, SoSelectOne