SoGate — selectively copies its input to its output
Contents
Description
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.
File Format/Defaults
Gate{type<inputType>input[]enableFALSEtrigger}Inherits From
SoBase > SoFieldContainer > SoEngine > SoGate
Inputs
SoSFBoolenable
Enable continous flow-through.
SoSFTriggertrigger
Copy a single value.
<inputType>input
The value that is copied to the output when the gate is open.
Methods
SoGate(SoTypeinputType)
Constructor. The argument specifies the type of the input field.
Name
SoGate — selectively copies its input to its output
Outputs
(<outputType>)output
Contains a copy of the input value if the gate is open.
See Also
SoEngineOutput,SoConcatenate,SoSelectOneSoGate(3IV)()
Synopsis
#include<Inventor/engines/SoGate.h>
Inputs from class SoGate:
SoSFBoolenableSoSFTriggertrigger<inputType>input
Outputs from class SoGate:
(<outputType>)output
Methods from class SoGate:
SoGate(SoTypeinputType)
Methods from class SoEngine:
staticSoTypegetClassTypeId()virtualintgetOutputs(SoEngineOutputList&list)constSoEngineOutput*getOutput(constSbName&outputName)constSbBoolgetOutputName(constSoEngineOutput*output,SbName&outputName)constSoEngine*copy()conststaticSoEngine*getByName(constSbName&name)staticintgetByName(constSbName&name,SoEngineList&list)
Methods from class SoFieldContainer:
voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)SbBoolset(constchar*fieldDataString)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)
Methods from class SoBase:
voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const