SoEngine — base class for all engines
Contents
Description
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.
File Format/Defaults
This is an abstract class. See the reference page of a derived class for the format and default values.
Inherits From
SoBase > SoFieldContainer > SoEngine
Methods
staticSoTypegetClassTypeId()
Returns the type identifier for the SoEngine class.
virtualintgetOutputs(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(constSbName&outputName)const
Returns a pointer to the engine output with the given name. If no such output exists, NULL is
returned.
SbBoolgetOutputName(constSoEngineOutput*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).
staticSoEngine*getByName(constSbName&name)staticintgetByName(constSbName&name,SoEngineList&list)
Look up engine(s) by name.
Name
SoEngine — base class for all engines
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,SoTriggerAnySoEngine(3IV)()
Synopsis
#include<Inventor/engines/SoEngine.h>
Methods from class SoEngine:
staticSoTypegetClassTypeId()virtualintgetOutputs(SoEngineOutputList&list)constSoEngineOutput*getOutput(constSbName&outputName)constSbBoolgetOutputName(constSoEngineOutput*output,SbName&outputName)constSoEngine*copy()conststaticSoEngine*getByName(constSbName&name)staticintgetByName(constSbName&name,SoEngineList&list)
Methods from class SoFieldContainer:
voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)SbBoolset(constchar*fieldDataString)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)
Methods from class SoBase:
voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const