00001 #ifndef SIGEL_GP_SIG_GPFULLDATARECORDER_H 00002 #define SIGEL_GP_SIG_GPFULLDATARECORDER_H 00003 00004 #include "SIGEL_Simulation/SIG_Recorder.h" 00005 00006 #include <qlist.h> 00007 00008 namespace SIGEL_GP 00009 { 00010 00011 class SIG_GPFullDataRecorder : public SIGEL_Simulation::SIG_Recorder 00012 { 00013 00014 friend class SIG_GPRealSpeedFitnessFunction; 00015 friend class SIG_GPNiceWalkingFitnessFunction; 00016 00017 public: 00018 00019 SIG_GPFullDataRecorder( int recordingFrequency ); 00020 00021 void init() 00022 throw (SIGEL_Simulation::SIG_RecorderNoQueriesSetException, 00023 SIGEL_Simulation::SIG_RecorderBadRecordingOrderException); 00024 00025 void record() 00026 throw (SIGEL_Simulation::SIG_RecorderNoQueriesSetException, 00027 SIGEL_Simulation::SIG_RecorderBadRecordingOrderException); 00028 00029 void finish() 00030 throw (SIGEL_Simulation::SIG_RecorderNoQueriesSetException, 00031 SIGEL_Simulation::SIG_RecorderBadRecordingOrderException); 00032 00033 private: 00034 00035 QList< DL_vector > positions; 00036 QList< DL_matrix > rotations; 00037 00038 DL_vector endPosition; 00039 DL_matrix endRotation; 00040 00041 int recordingFrequency; 00042 int frameCounter; 00043 }; 00044 00045 } 00046 00047 #endif // SIGEL_GP_SIG_GPFULLDATARECORDER_H