00001 #ifndef SIGEL_SIMULATION_SIG_DYNAMECHSSIMULATIONQUERIES_H 00002 #define SIGEL_SIMULATION_SIG_DYNAMECHSSIMULATIONQUERIES_H 00003 00004 #include "SIGEL_Simulation/SIG_DynaMechsSimulationData.h" 00005 #include "SIGEL_Simulation/SIG_Register.h" 00006 #include "SIGEL_Simulation/SIG_SimulationQueries.h" 00007 #include <qvector.h> 00008 #include <qdatetime.h> 00009 00010 namespace SIGEL_Simulation 00011 { 00012 00024 class SIG_DynaMechsSimulationQueries : public SIG_SimulationQueries 00025 { 00026 private: 00027 00030 SIG_DynaMechsSimulationData& simulationData; 00031 00032 public: 00033 00043 SIG_DynaMechsSimulationQueries(SIG_DynaMechsSimulationData& 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 00117 } 00118 00119 #endif // SIGEL_SIMULATION_SIG_DYNAMECHSSIMULATIONQUERIES_H