Base class for all engines. More...
#include <Inventor/engines/SoEngine.h>
Public Member Functions | |
virtual int | getOutputs (SoEngineOutputList &list) const |
SoEngineOutput * | getOutput (const SbName &outputName) const |
SbBool | getOutputName (const SoEngineOutput *output, SbName &outputName) const |
SoEngine * | copy () const |
Static Public Member Functions | |
static SoType | getClassTypeId () |
static SoEngine * | getByName (const SbName &name) |
static int | getByName (const SbName &name, SoEngineList &list) |
Friends | |
class | SoEngineOutput |
Base class for all engines.
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.
SoBoolOperation, SoCalculator, SoComposeMatrix, SoComposeRotation, SoComposeRotationFromTo, SoComposeVec2f, SoComposeVec2i32, SoComposeVec2s, SoComposeVec3f, SoComposeVec4f, SoComputeBoundingBox, SoConcatenate, SoCounter, SoDecomposeMatrix, SoDecomposeRotation, SoDecomposeVec2f, SoDecomposeVec2i32, SoDecomposeVec2s, SoDecomposeVec3f, SoDecomposeVec4f, SoElapsedTime, SoGate, SoInterpolate, SoOnOff, SoOneShot, SoSelectOne, SoTimeCounter, SoTransformVec3f, SoTriggerAny
SoEngine* 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 int SoEngine::getByName | ( | const SbName & | name, | |
SoEngineList & | list | |||
) | [static] |
Looks up engine(s) by name.
static SoType SoEngine::getClassTypeId | ( | ) | [static] |
Returns the type identifier for the SoEngine class.
Reimplemented from SoFieldContainer.
Reimplemented in SoImageVizEngine, SoBoolOperation, SoCalculator, SoComposeVec2f, SoComposeVec2i32, SoComposeVec2s, SoComposeVec3f, SoComposeVec4f, SoDecomposeVec2f, SoDecomposeVec2i32, SoDecomposeVec2s, SoDecomposeVec3f, SoDecomposeVec4f, SoComposeRotation, SoComposeRotationFromTo, SoDecomposeRotation, SoComposeMatrix, SoDecomposeMatrix, SoComputeBoundingBox, SoConcatenate, SoCounter, SoElapsedTime, SoGate, SoInterpolate, SoInterpolateFloat, SoInterpolateRotation, SoInterpolateVec2f, SoInterpolateVec3f, SoInterpolateVec4f, SoOneShot, SoOnOff, SoSelectOne, SoTimeCounter, SoTrackFollower, SoTransformVec3f, and SoTriggerAny.
SoEngineOutput* SoEngine::getOutput | ( | const SbName & | outputName | ) | const |
Returns a reference to the engine output with the given name.
If no such output exists, NULL is returned.
SbBool SoEngine::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.
virtual int SoEngine::getOutputs | ( | SoEngineOutputList & | list | ) | const [virtual] |
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.
friend class SoEngineOutput [friend] |