# SoGate Class Reference
[Engine classes]

`#include <Inventor/engines/SoGate.h>`

Inheritance diagram for SoGate:

List of all members.

## Detailed Description

The SoGate class is used to selectively copy values from input to output.

This engine will forward values from the SoGate::input field to the SoGate::output field when the SoGate::enable field is `TRUE`.

Note that this engine's output field deviates a little from the "standard" output mechanism of the majority of engine classes: the SoGate::output is not a permanent SoEngineOutput instance, but a pointer to a SoEngineOutput instance. The reason for this is that it is necessary to allocate the output field dynamically to make it match what the SoGate::input is connected to since the type of the SoGate::output always should be the same as the type of the SoGate::input.

The file format for this field is a bit special. Note the leading type specification, which is not necessary for most other field types:

      Gate {
        type <multivaluefieldtype>
        [...fields...]
      }

## Public Member Functions

| SoGate (SoType type)

## Static Public Member Functions

void | initClass (void)

## Public Attributes

SoSFBool | enable
SoSFTrigger | trigger
SoMField * | input
SoEngineOutput * | output

## Protected Member Functions

virtual void | inputChanged (SoField *which)

## Friends

class | dummy

## Constructor & Destructor Documentation

SoGate::SoGate | ( | SoType | type | ) |

| Constructor. The type of the input/output is specified in type.

## Member Function Documentation

void SoGate::initClass | ( | void |  | ) | `[static]`

| Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. Reimplemented from SoEngine.

void SoGate::inputChanged | ( | SoField * | which | ) | `[protected, virtual]`

| Called when an input is changed. The default method does nothing, but subclasses may override this method to do the The Right Thing when a specific field is changed. Reimplemented from SoEngine.

## Member Data Documentation

SoSFBool SoGate::enable

| Set whether or not to forward from input to output field.

SoSFTrigger SoGate::trigger

| Copy the current values of the input field once to the output field.

SoMField * SoGate::input

| The multivalue input field which we will forward to the output when SoGate::enable is `TRUE`.

SoEngineOutput * SoGate::output

| (SoMField) This is the field output containing the values of SoGate::input. The type of the field will of course match the type of the input field.

The documentation for this class was generated from the following files:

- SoGate.h
- SoGate.cpp