Class SoEngine

All Implemented Interfaces:
SafeDisposable
Direct Known Subclasses:
SoBoolOperation, SoCalculator, SoComposeMatrix, SoComposeRotation, SoComposeRotationFromTo, SoComposeVec2f, SoComposeVec2i32, SoComposeVec2s, SoComposeVec3f, SoComposeVec4f, SoComputeBoundingBox, SoConcatenate, SoCounter, SoDecomposeMatrix, SoDecomposeRotation, SoDecomposeVec2f, SoDecomposeVec2i32, SoDecomposeVec2s, SoDecomposeVec3f, SoDecomposeVec4f, SoElapsedTime, SoGate, SoInterpolate, SoOneShot, SoOnOff, SoSelectOne, SoTimeCounter, SoTrackFollower, SoTransformVec3f, SoTriggerAny

public class SoEngine extends SoFieldContainer
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.

File format/default:

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

See Also:
  • Method Details

    • copy

      public SoEngine copy()
      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).
    • getOutput

      public SoEngineOutput getOutput(String outputName)
      Returns a reference to the engine output with the given name. If no such output exists, NULL is returned.
    • getByName

      public static SoEngine getByName(String name)
      Looks up engine(s) by name.
    • getOutputName

      public String getOutputName(SoEngineOutput output)
      Returns (in outputName) the name of the engine output (output). Returns false if the engine output is not contained within the engine instance.