CSIM: armmodel.h Source File

armmodel.h

Go to the documentation of this file.
00001 
00005 #ifndef _ARMMODEL_H_
00006 #define _ARMMODEL_H_
00007 
00008 #include "physicalmodel.h"
00009 #include <string>
00010 
00011 using namespace std;
00012 
00014 class ArmModel : public PhysicalModel {
00015   
00016   DO_REGISTERING
00017 
00018  public:
00020   ArmModel();
00021 
00022   virtual ~ArmModel(void);
00023 
00028   int transform(double** I, double* O);
00029 
00031   void reset();
00032 
00034   int updateInternal();
00035 
00038 
00039   double mintheta1;
00041   double mintheta2;
00043   double minU1;
00045   double minU2;
00046 
00047 
00049   double model_DT;
00050 
00052   // double TSTIM = 0.5;
00053 
00054 
00056   double Xo;
00057 
00059   double Yo;
00060 
00062   double m1;
00063 
00065   double m2;
00066 
00068   double lc1;
00069 
00071   double lc2;
00072 
00074   double l1;
00075 
00077   double l2;
00078 
00080   double I1;
00081 
00083   double I2;
00084 
00086   double MFACT;
00087 
00089   double PERT_TIME;
00090 
00092   double DURATION;
00093 
00094 
00096   int inputFileNr;
00097 
00098 
00099  protected:
00100   /* ********************************************************************
00101      MAKE THOSE VARIABLES PROTECTED OR PUBLIC, IF YOU WANT TO RECORD THEM
00102      ******************************************************************** */
00103 
00105   double t1;
00107   double t2;
00108 
00110   double w1;
00112   double w2;
00113 
00115   double u1;
00117   double u2;
00118 
00119 
00120  private:
00122   int loadData(bool onlyReset);
00123 
00125   void dist_OP(double IP, int output_start_index, int next_buffer_position, int time_index, char* VarName);
00126 
00127 
00128 
00129 
00131   int oldInputFileNr;
00132 
00134   int TIMESTEPS;
00135 
00137   int cur_timestep;
00138 
00140   int nr_file_steps;
00141 
00143   int sim_step_counter;
00144 
00145 
00146   /* Variables read in from the input file */
00147 
00149   double *Xdest;
00151   double *Ydest;
00153   double *theta1;
00155   double *theta2;
00157   double *nu1;
00159   double *nu2;
00161   double *c_theta1;
00163   double *c_theta2;
00165   double *c_u1;
00167   double *c_u2;
00168 
00169 
00171   double **out_buffer;
00173   int buffer_length;
00175   int buffer_position;
00176 };
00177 
00178 #endif

 
(C) 2003, Thomas Natschläger last modified 07/10/2006