# SoBoolOperation Class Reference
[Engine classes]

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

Inheritance diagram for SoBoolOperation:

List of all members.

## Detailed Description

The SoBoolOperation engine evaluates expressions of boolean logic.

The multivalue fields SoBoolOperation::a and SoBoolOperation::b are combined according to the operations set in SoBoolOperation::operation, with the resulting `TRUE` or `FALSE` value set on SoBoolOperation::output.

## Public Types

enum | Operation { CLEAR, SET, A, NOT_A, B, NOT_B, A_OR_B, NOT_A_OR_B, A_OR_NOT_B, NOT_A_OR_NOT_B, A_AND_B, NOT_A_AND_B, A_AND_NOT_B, NOT_A_AND_NOT_B, A_EQUALS_B, A_NOT_EQUALS_B }

## Public Member Functions

| SoBoolOperation ()

## Static Public Member Functions

void | initClass ()

## Public Attributes

SoMFBool | a
SoMFBool | b
SoMFEnum | operation
SoEngineOutput | output
SoEngineOutput | inverse

## Protected Member Functions

| ~SoBoolOperation ()

## Member Enumeration Documentation

enum SoBoolOperation::Operation

Enumeration of available boolean logic operators.

Enumeration values:

  CLEAR | Always set SoBoolOperation::output to `FALSE`, no matter the input values.
  SET | Always set SoBoolOperation::output to `TRUE`, no matter the input values.
  A | Output result = SoBoolOperation::a
  NOT_A | Output result = ! SoBoolOperation::a
  B | Output result = SoBoolOperation::b
  NOT_B | Output result = ! SoBoolOperation::b
  A_OR_B | r = a || b
  NOT_A_OR_B | r = !a || b
  A_OR_NOT_B | r = a || !b
  NOT_A_OR_NOT_B | r = !a || !b
  A_AND_B | r = a && b
  NOT_A_AND_B | r = !a && b
  A_AND_NOT_B | r = a && !b
  NOT_A_AND_NOT_B | r = !a && !b
  A_EQUALS_B | r = a==b
  A_NOT_EQUALS_B | r = ! a==b

## Constructor & Destructor Documentation

SoBoolOperation::SoBoolOperation | ( | void |  | ) |

| Default constructor.

SoBoolOperation::~SoBoolOperation | ( |  | ) | `[protected]`

| Destructor.

## Member Function Documentation

void SoBoolOperation::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.

## Member Data Documentation

SoMFBool SoBoolOperation::a

| First set of boolean input "signal" values.

SoMFBool SoBoolOperation::b

| Second set of boolean input "signal" values.

SoMFEnum SoBoolOperation::operation

| Set of boolean logic expressions. Each of these are used to combine SoBoolOperation::a with SoBoolOperation::b (for each index value from 0 to the last value) to produce the results on the SoBoolOperation::output field.

SoEngineOutput SoBoolOperation::output

| (SoMFBool) The result of each (a[i] operation[i] b[i]) expression.

SoEngineOutput SoBoolOperation::inverse

| (SoMFBool) The set of inverse results.

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

- SoBoolOperation.h
- SoBoolOperation.cpp