The impression.simulation namespace contains interfaces for simulations.

When compared to other interactive components (like a Flash Object), simulations provide more programmatic control, better reusability, and a clearly-defined mechanism for the content creator to script simulation interactions. Simulations can be embedded within the runtime, loaded into the runtime engine from an external file, or hosted completely outside of the RTE and managed by JavaScript or another connecting technology.

The Base Class Framework includes a robust mechanism for integrating both real-time and state-based simulations into learning content. Objects implementing interfaces in this namespace can be connected to the SimulationPlayer class, which acts as a central coordinator, managing and reviewing simulation interactions, controlling simulation state, and providing shell notifications.

The RTE DevKit includes the MagicBox sample; a fully-functional, real-time simulation. The MyShell sample runtime includes complete simulation support with a basic simulation sequencer and rules engine.



Interfaces
 InterfaceDescription
 IAsyncLoad Defines asynchronous load operations for a simulation object.
 IRulesEngine IRulesEngine defines the minimum functionality required by the SimulationPlayer for an object that evaluates simulation interaction.
 ISequencer ISequencer defines the minimum functionality required by the SimulationPlayer for an object that performs sequencing.
 ISimulation ISimulation defines the minimum functionality required for a simulation object.
 ISimulationEx ISimulationEx defines additional functionality for a simulation process.
 ISimulationProvider Defines a mechanism for accessing an ISimulation object.
 ISimulationUI ISimulationUI defines the minimum functionality required for a simulation user interface.
 ISimulationUIProvider Defines a mechanism for accessing an ISimulationUI object.
 ISnapshotLoader ISnapshotLoader defines the minimum functionality required by the SimulationPlayer for an object that processes snapshots.
 ISnapshotReader Defines the ability to update the simulation state based on an untyped or simulation-specific snapshot data format.
 ISnapshotStringReader Defines the ability to update the simulation state based on a snapshot string.
 ISnapshotStringWriter Defines the ability to write the simulation state to a string.
 ISnapshotWriter Defines the ability to write the simulation state to an untyped or simulation-specific object.
 ISnapshotXMLReader Defines the ability to update the simulation state based on an XML snapshot.
 ISnapshotXMLWriter Defines the ability to write the simulation state to an XML object.