SOBOOLOPERATION(3iv)
πΈ NAME πΈ
SoBoolOperation β bestie, she performs Boolean operations. That's it, that's the whole job, and she does it flawlessly. π
This is from the 3IV manual, iykyk.
π¦ INHERITS FROM π¦
The family tree, the lineage, the main character bloodline:
SoBase > SoFieldContainer > SoEngine > SoBoolOperation
So yes, she's an SoEngine girlie at heart, but she got the whole SoBase ancestry going on too. π
β¨ SYNOPSIS β¨
Pull her in with:
#include <Inventor/engines/SoBoolOperation.h>
π The Operation enum (aka the menu of vibes)
enum Operation {
SoBoolOperation::CLEAR
SoBoolOperation::SET
SoBoolOperation::A
SoBoolOperation::NOT_A
SoBoolOperation::B
SoBoolOperation::NOT_B
SoBoolOperation::A_OR_B
SoBoolOperation::NOT_A_OR_B
SoBoolOperation::A_OR_NOT_B
SoBoolOperation::NOT_A_OR_NOT_B
SoBoolOperation::A_AND_B
SoBoolOperation::NOT_A_AND_B
SoBoolOperation::A_AND_NOT_B
SoBoolOperation::NOT_A_AND_NOT_B
SoBoolOperation::A_EQUALS_B
SoBoolOperation::A_NOT_EQUALS_B
}
Look at that lineup. Sixteen options, all iconic, no notes. π«Ά
π Inputs from class SoBoolOperation
SoMFBool a
SoMFBool b
SoMFEnum operation
π Outputs from class SoBoolOperation
(SoMFBool) output
(SoMFBool) inverse
π Methods from class SoBoolOperation
SoBoolOperation()
π 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
That's a lot of inherited slay. She didn't come to play. π
π§ DESCRIPTION π§
Okay so the tea: this engine does a Boolean operation on two inputs, and then hands you back both the result of the operation and its inverse. Two for the price of one, no cap. π
The input fields can hold multiple values, which means the engine can run several Boolean operations in parallel β like, multitasking queen behaviour. And here's the cute part: one input can have more values than the other. When that happens, the last value of the shorter input gets repeated as many times as needed. So the short one just keeps looping her final answer, periodt.
π INPUTS π
SoMFBool aβ first argument to the Boolean operation. The A-side, the opener, the one who goes first.SoMFBool bβ second argument to the Boolean operation. The B-side, the response, the "and also."SoMFEnum operationβ the Boolean operation. Pick your fighter from the enum up there. π
π OUTPUTS π
(SoMFBool) outputβ result of the Boolean operation applied to the inputs. The main event. β(SoMFBool) inverseβ inverse ofoutput. The plot twist, the mirror, the flipped version. π¦
π« METHODS π«
SoBoolOperation()β constructor. Say hi, she's born. π
πΈ FILE FORMAT/DEFAULTS πΈ
BoolOperation {
a FALSE
b FALSE
operation A
}
So the defaults are FALSE, FALSE, and operation A. Starting out chill, starting out simple. π«Ά
π SEE ALSO π
SoEngineOutputSoCalculator
Go read those too, bestie, they're in the same friend group. π
So this whole page is from the SoBoolOperation(3IV) manual β that's the source/version tag right there, and the date slot at the bottom is literally just empty, which is honestly such a mood. π Anyway, go do some Boolean operations, you're gonna ate. πβ¨
π¦ where this page comes from
- debian bookworm: inventor-doc 2.1.5-10+dfsg-2 Β· LGPL-2.0-or-later
- debian trixie: inventor-doc 2.1.6+ds-2 Β· LGPL-2.0-or-later
- ubuntu jammy: inventor-doc 2.1.5-10-24
- ubuntu noble: inventor-doc 2.1.5-10+dfsg-2.1build2 Β· LGPL-2.0-or-later
- ubuntu questing: inventor-doc 2.1.6+ds-2
- ubuntu resolute: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- ubuntu stonking: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms