00001 #ifndef SIGEL_SIMULATION_SIG_DYNAMOSIMULATIONQUERIES_H 00002 #define SIGEL_SIMULATION_SIG_DYNAMOSIMULATIONQUERIES_H 00003 00004 #include "SIGEL_Simulation/SIG_Register.h" 00005 #include <qvector.h> 00006 #include <qdatetime.h> 00007 #include "SIGEL_Simulation/SIG_DynaMoSimulationData.h" 00008 #include "SIGEL_Simulation/SIG_SimulationQueries.h" 00009 00010 namespace SIGEL_Simulation 00011 { 00012 00024 class SIG_DynaMoSimulationQueries : public SIG_SimulationQueries 00025 { 00026 private: 00027 00030 SIG_DynaMoSimulationData& simulationData; 00031 00032 public: 00033 00043 SIG_DynaMoSimulationQueries(SIG_DynaMoSimulationData& theSimulationData); 00044 00046 void sense(int sensorNo,QVector<SIG_Register> & registers) const; 00047 00056 QTime getActualSimulationTime() const; 00057 00069 DL_vector getLinkPosition(int linkNo) const; 00070 00082 DL_matrix getLinkOrientation(int linkNo) const; 00083 00092 int getRootNumber() const; 00093 00102 double getUsedForces() const; 00103 00112 int getLinkCount() const; 00113 00114 void checkDynas() const; 00115 00116 #ifdef SIG_DEBUG 00117 00119 void printDynaDatas() const; 00120 int getGPTestValue() const; 00121 #endif 00122 00123 }; 00124 00125 } 00126 00127 #endif // SIGEL_SIMULATION_SIG_DYNAMOSIMULATIONQUERIES_H