SOENGINE(3iv)
π SoEngine π
okay bestie, gather round, because today we're talking about SoEngine β the base class for ALL engines. yeah. the mother of them all. the blueprint. the blueprint that ate. π
It lives in manual page SoEngine(3IV) btw, so if you ever forget where you read this masterpiece, that's the one. π
πΈ NAME πΈ
SoEngine β base class for all engines
𧬠INHERITS FROM π§¬
SoBase > SoFieldContainer > SoEngine
the family tree is giving legacy and honestly? iconic lineage. π
β¨ SYNOPSIS β¨
#include <Inventor/engines/SoEngine.h>
okay so here's the whole lineup of methods you get, sorted by which ancestor they came from, no cap:
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
π¦ DESCRIPTION π¦
so SoEngine is the abstract base class for all engines. and what are engines, you ask? they're objects used for animation and behavior. they're these cute little lightweight objects that get connected between nodes, the clock, and other engines so you can build interesting behaviorial objects β like, say, a spinning windmill ππ¬οΈ periodt.
Engines animate parts of a scene and/or constrain one part of a scene in relation to some other part of the scene. the vibe is: an engine receives a bunch of input values, does some operation on them, and then copies the results into one or more output fields. and get this β both the inputs and the outputs can be connected to other fields or engines in the scene graph. so when an engine's output values change, those new values get sent straight to any fields or engines connected to them. it's giving group chat but make it scene graph. π²β¨
π METHODS π
static SoType getClassTypeId()β returns the type identifier for theSoEngineclass. your lil name tag. π·οΈvirtual int getOutputs(SoEngineOutputList &list) constβ returns a list of outputs in this engine. usegetOutputNameto get the names of the outputs, and useSoEngineOutput::getConnectionTypeto determine their types. iykyk. πSoEngineOutput * getOutput(const SbName &outputName) constβ returns a pointer to the engine output with the given name. if no such output exists,NULLis returned. no output, no pointer, sad but true. πSbBool getOutputName(const SoEngineOutput *output, SbName &outputName) constβ returns (inoutputName) the name of the engine output (output). returnsFALSEif the engine output is not contained within the engine instance. like, not my engine, not my output. πSoEngine * copy() constβ creates and returns an exact copy of the engine. all connections to inputs are copied as is (without copying what's at the other end). so it's a twin, not a whole clone of the friend group. π―static SoEngine * getByName(const SbName &name)static int getByName(const SbName &name, SoEngineList &list)β look up engine(s) by name. find your engine bestie by name, fr fr. π
π FILE FORMAT/DEFAULTS π
This is an abstract class. See the reference page of a derived class for the format and default values.
translation: nothing to see here, bestie, the actual tea lives in the derived classes. this one's just the blueprint. π
π SEE ALSO π
SoBoolOperation, SoCalculator, SoComposeMatrix, SoComposeRotation, SoComposeRotationFromTo, SoComposeVec2f, SoComposeVec3f, SoComposeVec4f, SoComputeBoundingBox, SoConcatenate, SoCounter, SoDecomposeMatrix, SoDecomposeRotation, SoDecomposeVec2f, SoDecomposeVec3f, SoDecomposeVec4f, SoElapsedTime, SoGate, SoInterpolate, SoOnOff, SoOneShot, SoSelectOne, SoTimeCounter, SoTransformVec3f, SoTriggerAny
and that's the whole page, bestie π«Ά this was SoEngine(3IV) β and yeah, the source/version and date slots on this one are literally empty parens (), so consider this the cutest blank signature you've ever seen. slay, stay connected, and don't forget to unref() responsibly. β¨ππ
π¦ 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