---
name: "SoOnOff"
section: "3iv"
platform: "linux"
package: "inventor-doc"
version: "2.1.6+ds-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SoOnOff/3iv"
---

# SoOnOff(3iv)

engine that functions as an on/off switch

## NAME

SoOnOff — engine that functions as an on/off switch

## INHERITS FROM

SoBase \> SoFieldContainer \> SoEngine \> SoOnOff

## SYNOPSIS

**#include \<Inventor/engines/SoOnOff.h\>**

Inputs from class SoOnOff:

**SoSFTrigger**	**on**\
 **SoSFTrigger**	**off**\
 **SoSFTrigger**	**toggle**

Outputs from class SoOnOff:

**(SoSFBool)**	**isOn**\
 **(SoSFBool)**	**isOff**

Methods from class SoOnOff:

	**SoOnOff()**

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 has three triggers as input and two Boolean values as output. The isOn** output is a switch that can be turned **on** or **off** by triggering the corresponding input. You can toggle the value by triggering the **toggle** input. By default **isOn** is FALSE. The **isOff** output value is the inverse of **isOn**

## INPUTS

**SoSFTrigger**	**on**\
 Turn the **isOn** switch on.

**SoSFTrigger**	**off**\
 Turn the **isOn** switch off.

**SoSFTrigger**	**toggle**\
 Toggle the switch value.

## OUTPUTS

**(SoSFBool)**	**isOn**\
 Switch value.

**(SoSFBool)**	**isOff**\
 The inverse of **isOn**.

## METHODS

	**SoOnOff()**\
 Constructor.

## FILE FORMAT/DEFAULTS

```
OnOff {
on
off
toggle
}
```

## SEE ALSO

**SoEngineOutput**
