.TH "SoBoolOperation" 3 "Tue Dec 26 2023 17:59:22" "Version 4.0.2" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoBoolOperation \- The \fBSoBoolOperation\fP engine evaluates expressions of boolean logic\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBSoEngine\fP\&. .SS "Public Types" .in +1c .ti -1c .RI "enum \fBOperation\fP { \fBCLEAR\fP, \fBSET\fP, \fBA\fP, \fBNOT_A\fP, \fBB\fP, \fBNOT_B\fP, \fBA_OR_B\fP, \fBNOT_A_OR_B\fP, \fBA_OR_NOT_B\fP, \fBNOT_A_OR_NOT_B\fP, \fBA_AND_B\fP, \fBNOT_A_AND_B\fP, \fBA_AND_NOT_B\fP, \fBNOT_A_AND_NOT_B\fP, \fBA_EQUALS_B\fP, \fBA_NOT_EQUALS_B\fP }" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBvirtual\fP \fBSoType\fP \fBgetTypeId\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBconst\fP \fBSoFieldData\fP * \fBgetFieldData\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBconst\fP \fBSoEngineOutputData\fP * \fBgetOutputData\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBSoBoolOperation\fP ()" .br .in -1c Public Member Functions inherited from \fBSoEngine\fP .in +1c .ti -1c .RI "\fBvoid\fP \fBevaluateWrapper\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvirtual\fP int \fBgetOutputs\fP (\fBSoEngineOutputList\fP &\fBl\fP) \fBconst\fP" .br .ti -1c .RI "\fBSoEngineOutput\fP * \fBgetOutput\fP (\fBconst\fP \fBSbName\fP &\fBoutputname\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBgetOutputName\fP (\fBconst\fP \fBSoEngineOutput\fP *output, \fBSbName\fP &\fBoutputname\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBisNotifying\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBnotify\fP (\fBSoNotList\fP *\fBnl\fP)" .br .ti -1c .RI "\fBSoEngine\fP * \fBcopy\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBSoFieldContainer\fP * \fBcopyThroughConnection\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBshouldCopy\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBwriteInstance\fP (\fBSoOutput\fP *\fBout\fP)" .br .in -1c Public Member Functions inherited from \fBSoFieldContainer\fP .in +1c .ti -1c .RI "\fBvoid\fP \fBsetToDefaults\fP (\fBvoid\fP)" .br .ti -1c .RI "SbBool \fBhasDefaultValues\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBfieldsAreEqual\fP (\fBconst\fP \fBSoFieldContainer\fP *container) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBcopyFieldValues\fP (\fBconst\fP \fBSoFieldContainer\fP *container, SbBool \fBcopyconnections\fP=FALSE)" .br .ti -1c .RI "SbBool \fBset\fP (\fBconst\fP char *\fBconst\fP fielddata)" .br .ti -1c .RI "\fBvoid\fP \fBget\fP (\fBSbString\fP &fielddata)" .br .ti -1c .RI "\fBvirtual\fP int \fBgetFields\fP (\fBSoFieldList\fP &\fBl\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP int \fBgetAllFields\fP (\fBSoFieldList\fP &\fBl\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBSoField\fP * \fBgetField\fP (\fBconst\fP \fBSbName\fP &name) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBSoField\fP * \fBgetEventIn\fP (\fBconst\fP \fBSbName\fP &name) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBSoField\fP * \fBgetEventOut\fP (\fBconst\fP \fBSbName\fP &name) \fBconst\fP" .br .ti -1c .RI "SbBool \fBgetFieldName\fP (\fBconst\fP \fBSoField\fP *\fBconst\fP \fBfield\fP, \fBSbName\fP &name) \fBconst\fP" .br .ti -1c .RI "SbBool \fBenableNotify\fP (\fBconst\fP SbBool \fBflag\fP)" .br .ti -1c .RI "SbBool \fBisNotifyEnabled\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBset\fP (\fBconst\fP char *fielddata, \fBSoInput\fP *input)" .br .ti -1c .RI "\fBvoid\fP \fBget\fP (\fBSbString\fP &fielddata, \fBSoOutput\fP *\fBout\fP)" .br .ti -1c .RI "\fBvirtual\fP SbBool \fBvalidateNewFieldValue\fP (\fBSoField\fP *\fBfield\fP, \fBvoid\fP *\fBnewval\fP)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBaddWriteReference\fP (\fBSoOutput\fP *\fBout\fP, SbBool \fBisfromfield\fP=FALSE)" .br .ti -1c .RI "SbBool \fBgetIsBuiltIn\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBcopyContents\fP (\fBconst\fP \fBSoFieldContainer\fP *from, SbBool \fBcopyconnections\fP)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBgetFieldsMemorySize\fP (size_t &\fBmanaged\fP, size_t &\fBunmanaged\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBsetUserData\fP (\fBvoid\fP *userdata) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP * \fBgetUserData\fP (\fBvoid\fP) \fBconst\fP" .br .in -1c Public Member Functions inherited from \fBSoBase\fP .in +1c .ti -1c .RI "\fBvoid\fP \fBref\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBunref\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBunrefNoDelete\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "int32_t \fBgetRefCount\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBtouch\fP (\fBvoid\fP)" .br .ti -1c .RI "SbBool \fBisOfType\fP (\fBSoType\fP type) \fBconst\fP" .br .RI "Returns \fCTRUE\fP if the type of this object is either of the same type or inherited from \fItype\fP\&. " .ti -1c .RI "\fBvirtual\fP \fBSbName\fP \fBgetName\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBsetName\fP (\fBconst\fP \fBSbName\fP &\fBnewname\fP)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBstartNotify\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvoid\fP \fBaddAuditor\fP (\fBvoid\fP *\fBconst\fP \fBauditor\fP, \fBconst\fP \fBSoNotRec::Type\fP type)" .br .ti -1c .RI "\fBvoid\fP \fBremoveAuditor\fP (\fBvoid\fP *\fBconst\fP \fBauditor\fP, \fBconst\fP \fBSoNotRec::Type\fP type)" .br .ti -1c .RI "\fBconst\fP \fBSoAuditorList\fP & \fBgetAuditors\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBshouldWrite\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvoid\fP \fBassertAlive\fP (\fBvoid\fP) \fBconst\fP" .br .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "\fBstatic\fP \fBSoType\fP \fBgetClassTypeId\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP * \fBcreateInstance\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClass\fP ()" .br .RI "Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system\&. " .in -1c Static Public Member Functions inherited from \fBSoEngine\fP .in +1c .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClass\fP (\fBvoid\fP)" .br .RI "Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system\&. " .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClasses\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBSoType\fP \fBgetClassTypeId\fP (\fBvoid\fP)" .br .RI "This static method returns the \fBSoType\fP object associated with objects of this class\&. " .ti -1c .RI "\fBstatic\fP \fBSoEngine\fP * \fBgetByName\fP (\fBconst\fP \fBSbName\fP &name)" .br .ti -1c .RI "\fBstatic\fP int \fBgetByName\fP (\fBconst\fP \fBSbName\fP &name, \fBSoEngineList\fP &\fBel\fP)" .br .in -1c Static Public Member Functions inherited from \fBSoFieldContainer\fP .in +1c .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClass\fP (\fBvoid\fP)" .br .RI "Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system\&. " .ti -1c .RI "\fBstatic\fP \fBSoType\fP \fBgetClassTypeId\fP (\fBvoid\fP)" .br .RI "This static method returns the \fBSoType\fP object associated with objects of this class\&. " .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBcleanupClass\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitCopyDict\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBaddCopy\fP (\fBconst\fP \fBSoFieldContainer\fP *\fBorig\fP, \fBconst\fP \fBSoFieldContainer\fP *copy)" .br .ti -1c .RI "\fBstatic\fP \fBSoFieldContainer\fP * \fBcheckCopy\fP (\fBconst\fP \fBSoFieldContainer\fP *\fBorig\fP)" .br .ti -1c .RI "\fBstatic\fP \fBSoFieldContainer\fP * \fBfindCopy\fP (\fBconst\fP \fBSoFieldContainer\fP *\fBorig\fP, \fBconst\fP SbBool \fBcopyconnections\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBcopyDone\fP (\fBvoid\fP)" .br .in -1c Static Public Member Functions inherited from \fBSoBase\fP .in +1c .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClass\fP (\fBvoid\fP)" .br .RI "Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system\&. " .ti -1c .RI "\fBstatic\fP \fBSoType\fP \fBgetClassTypeId\fP (\fBvoid\fP)" .br .RI "This static method returns the \fBSoType\fP object associated with objects of this class\&. " .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBaddName\fP (\fBSoBase\fP *\fBconst\fP base, \fBconst\fP char *\fBconst\fP name)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBremoveName\fP (\fBSoBase\fP *\fBconst\fP base, \fBconst\fP char *\fBconst\fP name)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBincrementCurrentWriteCounter\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBdecrementCurrentWriteCounter\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBSoBase\fP * \fBgetNamedBase\fP (\fBconst\fP \fBSbName\fP &name, \fBSoType\fP type)" .br .ti -1c .RI "\fBstatic\fP int \fBgetNamedBases\fP (\fBconst\fP \fBSbName\fP &name, \fBSoBaseList\fP &\fBbaselist\fP, \fBSoType\fP type)" .br .ti -1c .RI "\fBstatic\fP SbBool \fBread\fP (\fBSoInput\fP *input, \fBSoBase\fP *&base, \fBSoType\fP \fBexpectedtype\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBsetInstancePrefix\fP (\fBconst\fP \fBSbString\fP &c)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBsetTraceRefs\fP (SbBool \fBtrace\fP)" .br .ti -1c .RI "\fBstatic\fP SbBool \fBgetTraceRefs\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP SbBool \fBconnectRoute\fP (\fBSoInput\fP *input, \fBconst\fP \fBSbName\fP &\fBfromnodename\fP, \fBconst\fP \fBSbName\fP &\fBfromfieldname\fP, \fBconst\fP \fBSbName\fP &\fBtonodename\fP, \fBconst\fP \fBSbName\fP &\fBtofieldname\fP)" .br .ti -1c .RI "\fBstatic\fP SbBool \fBreadRoute\fP (\fBSoInput\fP *input)" .br .in -1c .SS "Public Attributes" .in +1c .ti -1c .RI "\fBSoMFBool\fP \fBa\fP" .br .ti -1c .RI "\fBSoMFBool\fP \fBb\fP" .br .ti -1c .RI "\fBSoMFEnum\fP \fBoperation\fP" .br .ti -1c .RI "\fBSoEngineOutput\fP \fBoutput\fP" .br .ti -1c .RI "\fBSoEngineOutput\fP \fBinverse\fP" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "\fBvirtual\fP \fB~SoBoolOperation\fP (\fBvoid\fP)" .br .in -1c Protected Member Functions inherited from \fBSoEngine\fP .in +1c .ti -1c .RI "\fBSoEngine\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvirtual\fP \fB~SoEngine\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvirtual\fP SbBool \fBreadInstance\fP (\fBSoInput\fP *\fBin\fP, \fBunsigned\fP short flags)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBinputChanged\fP (\fBSoField\fP *\fBwhich\fP)" .br .ti -1c .RI "\fBvoid\fP \fBwriteOutputTypes\fP (\fBSoOutput\fP *\fBout\fP)" .br .in -1c Protected Member Functions inherited from \fBSoFieldContainer\fP .in +1c .ti -1c .RI "\fBSoFieldContainer\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvirtual\fP \fB~SoFieldContainer\fP ()" .br .in -1c Protected Member Functions inherited from \fBSoBase\fP .in +1c .ti -1c .RI "\fBSoBase\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvirtual\fP \fB~SoBase\fP ()" .br .ti -1c .RI "SbBool \fBhasMultipleWriteRefs\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBwriteHeader\fP (\fBSoOutput\fP *\fBout\fP, SbBool \fBisgroup\fP, SbBool \fBisengine\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBwriteFooter\fP (\fBSoOutput\fP *\fBout\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBconst\fP char * \fBgetFileFormatName\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBSoNotRec\fP \fBcreateNotRec\fP (\fBvoid\fP)" .br .in -1c .SS "Static Protected Member Functions" .in +1c .ti -1c .RI "\fBstatic\fP \fBconst\fP \fBSoFieldData\fP ** \fBgetInputDataPtr\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBconst\fP \fBSoEngineOutputData\fP ** \fBgetOutputDataPtr\fP (\fBvoid\fP)" .br .in -1c Static Protected Member Functions inherited from \fBSoEngine\fP .in +1c .ti -1c .RI "\fBstatic\fP \fBconst\fP \fBSoFieldData\fP ** \fBgetInputDataPtr\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBconst\fP \fBSoEngineOutputData\fP ** \fBgetOutputDataPtr\fP (\fBvoid\fP)" .br .in -1c Static Protected Member Functions inherited from \fBSoBase\fP .in +1c .ti -1c .RI "\fBstatic\fP uint32_t \fBgetCurrentWriteCounter\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBstaticDataLock\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBstaticDataUnlock\fP (\fBvoid\fP)" .br .in -1c .SS "Additional Inherited Members" Protected Types inherited from \fBSoBase\fP .in +1c .ti -1c .RI "enum \fBBaseFlags\fP { \fBIS_ENGINE\fP = 0x01, \fBIS_GROUP\fP = 0x02 }" .br .in -1c Protected Attributes inherited from \fBSoFieldContainer\fP .in +1c .ti -1c .RI "SbBool \fBisBuiltIn\fP" .br .in -1c .SH "Detailed Description" .PP The \fBSoBoolOperation\fP engine evaluates expressions of boolean logic\&. The multivalue fields \fBSoBoolOperation::a\fP and \fBSoBoolOperation::b\fP are combined according to the operations set in \fBSoBoolOperation::operation\fP, with the resulting \fCTRUE\fP or \fCFALSE\fP value set on \fBSoBoolOperation::output\fP\&. .SH "Member Enumeration Documentation" .PP .SS "\fBenum\fP \fBSoBoolOperation::Operation\fP" Enumeration of available boolean logic operators\&. .PP \fBEnumerator\fP .in +1c .TP \fB\fICLEAR \fP\fP Always set \fBSoBoolOperation::output\fP to \fCFALSE\fP, no matter the input values\&. .TP \fB\fISET \fP\fP Always set \fBSoBoolOperation::output\fP to \fCTRUE\fP, no matter the input values\&. .TP \fB\fIA \fP\fP Output result = \fBSoBoolOperation::a\fP .TP \fB\fINOT_A \fP\fP Output result = ! \fBSoBoolOperation::a\fP .TP \fB\fIB \fP\fP Output result = \fBSoBoolOperation::b\fP .TP \fB\fINOT_B \fP\fP Output result = ! \fBSoBoolOperation::b\fP .TP \fB\fIA_OR_B \fP\fP r = a || b .TP \fB\fINOT_A_OR_B \fP\fP r = !a || b .TP \fB\fIA_OR_NOT_B \fP\fP r = a || !b .TP \fB\fINOT_A_OR_NOT_B \fP\fP r = !a || !b .TP \fB\fIA_AND_B \fP\fP r = a && b .TP \fB\fINOT_A_AND_B \fP\fP r = !a && b .TP \fB\fIA_AND_NOT_B \fP\fP r = a && !b .TP \fB\fINOT_A_AND_NOT_B \fP\fP r = !a && !b .TP \fB\fIA_EQUALS_B \fP\fP r = a==b .TP \fB\fIA_NOT_EQUALS_B \fP\fP r = ! a==b .SH "Constructor & Destructor Documentation" .PP .SS "SoBoolOperation::SoBoolOperation (\fBvoid\fP)" Default constructor\&. .SS "SoBoolOperation::~SoBoolOperation (\fBvoid\fP)\fC [protected]\fP, \fC [virtual]\fP" Destructor\&. .SH "Member Function Documentation" .PP .SS "\fBSoType\fP SoBoolOperation::getClassTypeId (\fBvoid\fP)\fC [static]\fP" This static method returns the \fBSoType\fP object associated with objects of this class\&. .br .SS "\fBSoType\fP SoBoolOperation::getTypeId (\fBvoid\fP) const\fC [virtual]\fP" Returns the type identification of an object derived from a class inheriting \fBSoBase\fP\&. This is used for runtime type checking and 'downward' casting\&. .br .PP Implements \fBSoBase\fP\&. .SS "\fBconst\fP \fBSoFieldData\fP ** SoBoolOperation::getInputDataPtr (\fBvoid\fP)\fC [static]\fP, \fC [protected]\fP" Returns the \fBSoFieldData\fP class which holds information about inputs in this engine\&. .br .SS "\fBconst\fP \fBSoEngineOutputData\fP ** SoBoolOperation::getOutputDataPtr (\fBvoid\fP)\fC [static]\fP, \fC [protected]\fP" Returns the \fBSoEngineOutputData\fP class which holds information about the outputs in this engine\&. .br .SS "\fBconst\fP \fBSoFieldData\fP * SoBoolOperation::getFieldData (\fBvoid\fP) const\fC [virtual]\fP" Returns the \fBSoFieldData\fP class which holds information about inputs in this engine\&. .br .PP Reimplemented from \fBSoFieldContainer\fP\&. .SS "\fBconst\fP \fBSoEngineOutputData\fP * SoBoolOperation::getOutputData (\fBvoid\fP) const\fC [virtual]\fP" Returns the \fBSoEngineOutputData\fP class which holds information about the outputs in this engine\&. .br .PP Implements \fBSoEngine\fP\&. .SS "\fBvoid\fP * SoBoolOperation::createInstance (\fBvoid\fP)\fC [static]\fP" Creates a new instance of the class type corresponding to the \fBSoType\fP object\&. .br .SH "Member Data Documentation" .PP .SS "\fBSoMFBool\fP SoBoolOperation::a" First set of boolean input 'signal' values\&. .SS "\fBSoMFBool\fP SoBoolOperation::b" Second set of boolean input 'signal' values\&. .SS "\fBSoMFEnum\fP SoBoolOperation::operation" Set of boolean logic expressions\&. Each of these are used to combine \fBSoBoolOperation::a\fP with \fBSoBoolOperation::b\fP (for each index value from 0 to the last value) to produce the results on the \fBSoBoolOperation::output\fP field\&. .SS "\fBSoEngineOutput\fP SoBoolOperation::output" (\fBSoMFBool\fP) The result of each (a[i] operation[i] b[i]) expression\&. .SS "\fBSoEngineOutput\fP SoBoolOperation::inverse" (\fBSoMFBool\fP) The set of inverse results\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.