Scroll to navigation

SoEngine(3IV)() SoEngine(3IV)()


SoEngine — base class for all engines


SoBase > SoFieldContainer > SoEngine


#include <Inventor/engines/SoEngine.h>

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


SoEngine is the abstract base class for all engines. Engines are objects used for animation and behavior. They are lightweight objects that are connected between nodes, the clock, and other engines to form interesting behaviorial objects (e.g., a spinning windmill).

Engines are used to animate parts of a scene and/or to constrain one part of a scene in relation to some other part of the scene. An engine receives a number of input values, performs some operation on them, and then copies the results into one or more output fields. Both the inputs and the outputs can be connected to other fields or engines in the scene graph. When an engine's output values change, those new values are sent to any fields or engines connected to them.


static SoType getClassTypeId()

Returns the type identifier for the SoEngine class.

virtual int getOutputs(SoEngineOutputList &list) const

Returns a list of outputs in this engine. Use getOutputName to get the names of the outputs, and use SoEngineOutput::getConnectionType to determine their types.

SoEngineOutput * getOutput(const SbName &outputName) const

Returns a pointer to the engine output with the given name. If no such output exists, NULL is returned.

SbBool getOutputName(const SoEngineOutput *output, SbName &outputName) const

Returns (in outputName) the name of the engine output (output). Returns FALSE if the engine output is not contained within the engine instance.

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

static SoEngine * getByName(const SbName &name)

static int getByName(const SbName &name, SoEngineList &list)

Look up engine(s) by name.


This is an abstract class. See the reference page of a derived class for the format and default values.


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