Coin: SoBoolOperation Class Reference

| Coin3D is Free Software, published under the BSD 3-clause license. | https://coin3d.github.io https://www.kongsberg.com/en/kogt/

Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | List of all members
SoBoolOperation Class Reference
Engine Classes

The SoBoolOperation engine evaluates expressions of boolean logic. More...

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

Inheritance diagram for SoBoolOperation:

## 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
virtual SoType | getTypeId (void) const
virtual const SoFieldData * | getFieldData (void) const
virtual const SoEngineOutputData * | getOutputData (void) const
| SoBoolOperation ()
Public Member Functions inherited from SoEngine
void | evaluateWrapper (void)
virtual int | getOutputs (SoEngineOutputList &l) const
SoEngineOutput * | getOutput (const SbName &outputname) const
SbBool | getOutputName (const SoEngineOutput *output, SbName &outputname) const
SbBool | isNotifying (void) const
virtual void | notify (SoNotList *nl)
SoEngine * | copy (void) const
virtual SoFieldContainer * | copyThroughConnection (void) const
SbBool | shouldCopy (void) const
virtual void | writeInstance (SoOutput *out)
Public Member Functions inherited from SoFieldContainer
void | setToDefaults (void)
SbBool | hasDefaultValues (void) const
SbBool | fieldsAreEqual (const SoFieldContainer *container) const
void | copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE)
SbBool | set (const char *const fielddata)
void | get (SbString &fielddata)
virtual int | getFields (SoFieldList &l) const
virtual int | getAllFields (SoFieldList &l) const
virtual SoField * | getField (const SbName &name) const
virtual SoField * | getEventIn (const SbName &name) const
virtual SoField * | getEventOut (const SbName &name) const
SbBool | getFieldName (const SoField *const field, SbName &name) const
SbBool | enableNotify (const SbBool flag)
SbBool | isNotifyEnabled (void) const
SbBool | set (const char *fielddata, SoInput *input)
void | get (SbString &fielddata, SoOutput *out)
virtual SbBool | validateNewFieldValue (SoField *field, void *newval)
virtual void | addWriteReference (SoOutput *out, SbBool isfromfield=FALSE)
SbBool | getIsBuiltIn (void) const
virtual void | copyContents (const SoFieldContainer *from, SbBool copyconnections)
virtual void | getFieldsMemorySize (size_t &managed, size_t &unmanaged) const
void | setUserData (void *userdata) const
void * | getUserData (void) const
Public Member Functions inherited from SoBase
void | ref (void) const
void | unref (void) const
void | unrefNoDelete (void) const
int32_t | getRefCount (void) const
void | touch (void)
SbBool | isOfType (SoType type) const
| Returns `TRUE` if the type of this object is either of the same type or inherited from type.
virtual SbName | getName (void) const
virtual void | setName (const SbName &newname)
virtual void | startNotify (void)
void | addAuditor (void *const auditor, const SoNotRec::Type type)
void | removeAuditor (void *const auditor, const SoNotRec::Type type)
const SoAuditorList & | getAuditors (void) const
SbBool | shouldWrite (void)
void | assertAlive (void) const

## Static Public Member Functions
static SoType | getClassTypeId (void)
static void * | createInstance (void)
static void | initClass ()
| Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
Static Public Member Functions inherited from SoEngine
static void | initClass (void)
| Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
static void | initClasses (void)
static SoType | getClassTypeId (void)
| This static method returns the SoType object associated with objects of this class.
static SoEngine * | getByName (const SbName &name)
static int | getByName (const SbName &name, SoEngineList &el)
Static Public Member Functions inherited from SoFieldContainer
static void | initClass (void)
| Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
static SoType | getClassTypeId (void)
| This static method returns the SoType object associated with objects of this class.
static void | cleanupClass (void)
static void | initCopyDict (void)
static void | addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy)
static SoFieldContainer * | checkCopy (const SoFieldContainer *orig)
static SoFieldContainer * | findCopy (const SoFieldContainer *orig, const SbBool copyconnections)
static void | copyDone (void)
Static Public Member Functions inherited from SoBase
static void | initClass (void)
| Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
static SoType | getClassTypeId (void)
| This static method returns the SoType object associated with objects of this class.
static void | addName (SoBase *const base, const char *const name)
static void | removeName (SoBase *const base, const char *const name)
static void | incrementCurrentWriteCounter (void)
static void | decrementCurrentWriteCounter (void)
static SoBase * | getNamedBase (const SbName &name, SoType type)
static int | getNamedBases (const SbName &name, SoBaseList &baselist, SoType type)
static SbBool | read (SoInput *input, SoBase *&base, SoType expectedtype)
static void | setInstancePrefix (const SbString &c)
static void | setTraceRefs (SbBool trace)
static SbBool | getTraceRefs (void)
static SbBool | connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname)
static SbBool | readRoute (SoInput *input)

## Public Attributes
SoMFBool | a
SoMFBool | b
SoMFEnum | operation
SoEngineOutput | output
SoEngineOutput | inverse
Public Attributes inherited from SoBase

## Protected Member Functions
virtual | ~SoBoolOperation (void)
Protected Member Functions inherited from SoEngine
| SoEngine (void)
virtual | ~SoEngine (void)
virtual SbBool | readInstance (SoInput *in, unsigned short flags)
virtual void | inputChanged (SoField *which)
void | writeOutputTypes (SoOutput *out)
Protected Member Functions inherited from SoFieldContainer
| SoFieldContainer (void)
virtual | ~SoFieldContainer ()
Protected Member Functions inherited from SoBase
| SoBase (void)
virtual | ~SoBase ()
SbBool | hasMultipleWriteRefs (void) const
SbBool | writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const
void | writeFooter (SoOutput *out) const
virtual const char * | getFileFormatName (void) const
virtual SoNotRec | createNotRec (void)

## Static Protected Member Functions
static const SoFieldData ** | getInputDataPtr (void)
static const SoEngineOutputData ** | getOutputDataPtr (void)
Static Protected Member Functions inherited from SoEngine
static const SoFieldData ** | getInputDataPtr (void)
static const SoEngineOutputData ** | getOutputDataPtr (void)
Static Protected Member Functions inherited from SoBase
static uint32_t | getCurrentWriteCounter (void)
static void | staticDataLock (void)
static void | staticDataUnlock (void)

## Additional Inherited Members
Protected Types inherited from SoBase
enum | BaseFlags { IS_ENGINE = 0x01 , IS_GROUP = 0x02 }
Protected Attributes inherited from SoFieldContainer
SbBool | isBuiltIn

## 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.

## Member Enumeration Documentation

## ◆ Operation

enum SoBoolOperation::Operation

Enumeration of available boolean logic operators.

Enumerator
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::SoBoolOperation | ( | void |  | ) |

Default constructor.

## ◆ ~SoBoolOperation()

SoBoolOperation::~SoBoolOperation | ( | void |  | ) |
| protectedvirtual

Destructor.

## Member Function Documentation

## ◆ getClassTypeId()

SoType SoBoolOperation::getClassTypeId | ( | void |  | ) |
| static

This static method returns the SoType object associated with objects of this class.

## ◆ getTypeId()

SoType SoBoolOperation::getTypeId | ( | void |  | ) | const
| virtual

Returns the type identification of an object derived from a class inheriting SoBase. This is used for runtime type checking and "downward" casting.

Implements SoBase.

## ◆ getInputDataPtr()

const SoFieldData ** SoBoolOperation::getInputDataPtr | ( | void |  | ) |
| staticprotected

Returns the SoFieldData class which holds information about inputs in this engine.

## ◆ getOutputDataPtr()

const SoEngineOutputData ** SoBoolOperation::getOutputDataPtr | ( | void |  | ) |
| staticprotected

Returns the SoEngineOutputData class which holds information about the outputs in this engine.

## ◆ getFieldData()

const SoFieldData * SoBoolOperation::getFieldData | ( | void |  | ) | const
| virtual

Returns the SoFieldData class which holds information about inputs in this engine.

Reimplemented from SoFieldContainer.

## ◆ getOutputData()

const SoEngineOutputData * SoBoolOperation::getOutputData | ( | void |  | ) | const
| virtual

Returns the SoEngineOutputData class which holds information about the outputs in this engine.

Implements SoEngine.

## ◆ createInstance()

void * SoBoolOperation::createInstance | ( | void |  | ) |
| static

Creates a new instance of the class type corresponding to the SoType object.

## Member Data Documentation

## ◆ a

SoMFBool SoBoolOperation::a

First set of boolean input "signal" values.

## ◆ b

SoMFBool SoBoolOperation::b

Second set of boolean input "signal" values.

## ◆ operation

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.

## ◆ output

SoEngineOutput SoBoolOperation::output

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

## ◆ inverse

SoEngineOutput SoBoolOperation::inverse

(SoMFBool) The set of inverse results.

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

- SoBoolOperation.h
- SoBoolOperation.cpp