BioinstSim  2
 All Classes Functions Variables
experiment.h
1 #ifndef EXPERIMENT_H_
2 #define EXPERIMENT_H_
3 
4 /******************************************************************************/
5 /******************************************************************************/
6 
7 class CExperiment;
8 
9 #include "simulator.h"
10 
11 /******************************************************************************/
12 /******************************************************************************/
13 
14 class CExperiment : public CSimObject
15 {
16 public:
17  CExperiment(CArguments* pc_experiment_arguments,
18  CArguments* pc_arena_arguments,
19  CArguments* pc_agent_arguments,
20  CArguments* pc_model_arguments);
21  virtual ~CExperiment();
22 
23  // The following methods creates the various parts of the
24  // simulation environment. The CreateSimulator method calls the
25  // others.
26  virtual CSimulator* CreateSimulator(unsigned int un_number_of_cycles);
27 
28 protected:
29  virtual CArena* CreateArena();
30  virtual CAgent* CreateAgent();
31  virtual void CreateAndAddAgents(CSimulator* pc_simulator);
32 
33  virtual void PlaceAgentRandomly(CAgent* pc_agent);
34  virtual void PlaceAgentRandomly(CAgent* pc_agent, double f_origin_x, double f_origin_y, double f_radius);
35  virtual void PlaceAgentRandomly(CAgent* pc_agent, double f_origin_x, double f_origin_y, double f_inner_radius, double f_outer_radius);
36 
37 
38 protected:
39  CArguments* m_pcExperimentArguments;
40  CArguments* m_pcArenaArguments;
41  CArguments* m_pcAgentArguments;
42  CArguments* m_pcModelArguments;
43 
44  CArena* m_pcArena;
45  CSimulator* m_pcSimulator;
46 
47  unsigned int m_unNumberOfAgents;
48  unsigned int m_unNumberOfColors;
49 };
50 
51 /******************************************************************************/
52 /******************************************************************************/
53 
54 #endif