00001 #ifndef GLINITIALISERMUTATOR_H_ 00002 #define GLINITIALISERMUTATOR_H_ 00003 00004 #include "GLBaseOrganismInitialiser.h" 00005 00006 class GLBaseMutator; 00007 class GLBaseOrganism; 00008 00016 class GLInitialiserMutator : public GLBaseOrganismInitialiser 00017 { 00018 public: 00028 GLInitialiserMutator(GLBaseOrganism *initialOrganism, 00029 GLBaseMutator* mutator, 00030 bool returnInitial = true); 00031 00036 virtual ~GLInitialiserMutator(); 00037 00042 virtual GLBaseOrganism* initialiseOrganism(); 00043 00048 void resetInitial(); 00049 00050 private: 00051 GLBaseOrganism* m_initial_organism; 00052 GLBaseMutator* m_mutator; 00053 bool m_return_initial; 00054 }; 00055 00056 #endif /*GLINITIALISERMUTATOR_H_*/