SoBoolOperation(3)
π SoBoolOperation π
okay bestie, welcome to the Coin manual, page one of SoBoolOperation(3) β and she's a long one, so buckle up, we're doing this in parts π
β¨ NAME β¨
SoBoolOperation β the SoBoolOperation engine evaluates expressions of boolean logic. fr fr, that's her whole job π
πΈ SYNOPSIS πΈ
#include <Inventor/engines/SoBoolOperation.h>
Inherits SoEngine.
π¦ 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) constvirtual const SoFieldData * getFieldData (void) constvirtual const SoEngineOutputData * getOutputData (void) constSoBoolOperation ()
Public Member Functions inherited from SoEngine π
void evaluateWrapper (void)virtual int getOutputs (SoEngineOutputList &l) constSoEngineOutput * getOutput (const SbName &outputname) constSbBool getOutputName (const SoEngineOutput *output, SbName &outputname) constSbBool isNotifying (void) constvirtual void notify (SoNotList *nl)SoEngine * copy (void) constvirtual SoFieldContainer * copyThroughConnection (void) constSbBool shouldCopy (void) constvirtual void writeInstance (SoOutput *out)
Public Member Functions inherited from SoFieldContainer π«Ά
void setToDefaults (void)SbBool hasDefaultValues (void) constSbBool fieldsAreEqual (const SoFieldContainer *container) constvoid copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE)SbBool set (const char *const fielddata)void get (SbString &fielddata)virtual int getFields (SoFieldList &l) constvirtual int getAllFields (SoFieldList &l) constvirtual SoField * getField (const SbName &name) constvirtual SoField * getEventIn (const SbName &name) constvirtual SoField * getEventOut (const SbName &name) constSbBool getFieldName (const SoField *const field, SbName &name) constSbBool enableNotify (const SbBool flag)SbBool isNotifyEnabled (void) constSbBool 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) constvirtual void copyContents (const SoFieldContainer *from, SbBool copyconnections)virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) constvoid setUserData (void *userdata) constvoid * getUserData (void) const
Public Member Functions inherited from SoBase π
void ref (void) constvoid unref (void) constvoid unrefNoDelete (void) constint32_t getRefCount (void) constvoid touch (void)SbBool isOfType (SoType type) constβ Returns TRUE if the type of this object is either of the same type or inherited fromtype.virtual SbName getName (void) constvirtual 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) constSbBool 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 aSoMFBool bSoMFEnum operationSoEngineOutput outputSoEngineOutput inverse
π§ 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) constSbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) constvoid writeFooter (SoOutput *out) constvirtual const char * getFileFormatName (void) constvirtual 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. no cap, that's the whole tea β
π Member Enumeration Documentation π
π¦ enum SoBoolOperation::Operation π¦
Enumeration of available boolean logic operators. she's giving options, and there are a lot of them π
Enumerator:
CLEARβ Always setSoBoolOperation::outputto FALSE, no matter the input values.SETβ Always setSoBoolOperation::outputto TRUE, no matter the input values.Aβ Output result =SoBoolOperation::aNOT_Aβ Output result = !SoBoolOperation::aBβ Output result =SoBoolOperation::bNOT_Bβ Output result = !SoBoolOperation::bA_OR_Bβ r = a || bNOT_A_OR_Bβ r = !a || bA_OR_NOT_Bβ r = a || !bNOT_A_OR_NOT_Bβ r = !a || !bA_AND_Bβ r = a && bNOT_A_AND_Bβ r = !a && bA_AND_NOT_Bβ r = a && !bNOT_A_AND_NOT_Bβ r = !a && !bA_EQUALS_Bβ r = a==bA_NOT_EQUALS_Bβ r = ! a==b
πΈ Constructor & Destructor Documentation πΈ
π¦ SoBoolOperation::SoBoolOperation (void ) π¦
Default constructor. she's born ready β¨
π¦ SoBoolOperation::~SoBoolOperation (void ) [protected], [virtual] π¦
Destructor. rip bestie π
π Member Function Documentation π
π¦ SoType SoBoolOperation::getClassTypeId (void ) [static] π¦
This static method returns the SoType object associated with objects of this class.
π¦ 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.
π¦ const SoFieldData ** SoBoolOperation::getInputDataPtr (void ) [static], [protected] π¦
Returns the SoFieldData class which holds information about inputs in this engine.
π¦ const SoEngineOutputData ** SoBoolOperation::getOutputDataPtr (void ) [static], [protected] π¦
Returns the SoEngineOutputData class which holds information about the outputs in this engine.
π¦ const SoFieldData * SoBoolOperation::getFieldData (void ) const [virtual] π¦
Returns the SoFieldData class which holds information about inputs in this engine.
Reimplemented from SoFieldContainer.
π¦ const SoEngineOutputData * SoBoolOperation::getOutputData (void ) const [virtual] π¦
Returns the SoEngineOutputData class which holds information about the outputs in this engine.
Implements SoEngine.
π¦ void * SoBoolOperation::createInstance (void ) [static] π¦
Creates a new instance of the class type corresponding to the SoType object.
π«Ά okay bestie, that's part one done β but don't you dare leave yet, there's MORE. part two is coming, so stay tuned πβ¨
π MEMBER DATA DOCUMENTATION π
okay bestie, this is the part where we meet the actual fields β the lil variables that hold all the drama. every single one, no skipping, we're doing this properly β¨
SoMFBool SoBoolOperation::aβ the first set of boolean input "signal" values. like, half of your inputs live here π«ΆSoMFBool SoBoolOperation::bβ the second set of boolean input "signal" values. the other half.aandbare giving duo energy, no cap πSoMFEnum SoBoolOperation::operationβ a whole set of boolean logic expressions. each one gets used to combineSoBoolOperation::awithSoBoolOperation::bβ and it does that for each index value from 0 to the last value β to produce the results over on theSoBoolOperation::outputfield. so like, index by index,operation[i]decides howa[i]andb[i]are gonna talk to each other π₯SoEngineOutput SoBoolOperation::outputβ(SoMFBool)this is the result of each(a[i] operation[i] b[i])expression. the receipts, the payoff, the moment of truth πβ¨SoEngineOutput SoBoolOperation::inverseβ(SoMFBool)the set of inverse results. yep, it's the mirror version, the opposite-girlies collection π
ngl the vibe here is very "three parallel arrays walk into a bar" βa,bandoperationall line up by index, andoutputplusinversehold the glow-up. literally every field above, none left behind, we ate π
π AUTHOR π
Generated automatically by Doxygen for Coin from the source code. yeah she's a robot-authored icon, and honestly? she's serving π
and that's a wrap on SoBoolOperation(3) bestie!! this whole page was Coin documentation, version 4.0.10, dated Thu Jun 25 2026 00:00:00 β so go forth, combine your booleans, and stay iconic ππ¦β¨ periodt.
π¦ where this page comes from
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms