simulator_interface.h 1.26 KB
Newer Older
1
2
3
#ifndef INCLUDE_WATCHER_ITA_SIMULATION_SCHEDULER_ROOM_ACOUSTICS_RAVEN_SIMULATOR_INTERFACE
#define INCLUDE_WATCHER_ITA_SIMULATION_SCHEDULER_ROOM_ACOUSTICS_RAVEN_SIMULATOR_INTERFACE

4
5
#ifdef WITH_RAVEN

6
7
8
9
10
11
12
13
// API includes
#include <ITA/simulation_scheduler/definitions.h>

// simulation scheduler includes


namespace ITA
{
14
	namespace SimulationScheduler
15
	{
16
		namespace RoomAcoustics
17
		{
18
			namespace Raven
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
			{
				class CRavenSimulationResult;
				class CSimulationTask;

				///
				/// \brief Interface class for simulators.
				/// \remark This interface mainly exists for testing purposes.
				/// 
				class ITA_SIMULATION_SCHEDULER_API ISimulatorInterface
				{
				public:
					virtual ~ISimulatorInterface ( ) = 0
					{ }

					///
					/// \brief Reset the simulator.
					/// 
36
					virtual void Reset ( ) = 0;
37
38
39
40
41
42

					///
					/// \brief Simulate the given task.
					/// \param pTask the task to be simulated.
					/// \param[out] pResult the result of the simulation
					/// 
43
					virtual void Compute ( CSimulationTask* pTask, CRavenSimulationResult* pResult ) = 0;
44
				};
45
46
47
			} // namespace Raven
		} // namespace RoomAcoustics
	} // namespace SimulationScheduler
48
49
} // namespace ITA

50
51
#endif

52
#endif // INCLUDE_WATCHER_ITA_SIMULATION_SCHEDULER_ROOM_ACOUSTICS_RAVEN_SIMULATOR_INTERFACE