00001 // rdController.h 00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00003 // Copyright 2000 Realistic Dynamics, Inc. 00004 // All rights reserved. 00005 // 00006 // Please do not read, copy, distribute, or use without permission. 00007 // Contact: Frank C. Anderson, fca@RealisticDynamics.com 00008 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00009 #include "rdModel.h" 00010 //============================================================================ 00011 #ifndef __rdController_h__ 00012 #define __rdController_h__ 00013 00014 00015 #include "rdControlSet.h" 00016 00017 00018 const int rdController_NAME_LENGTH = 64; 00019 const int rdController_DESCRIP_LENGTH = 8192; 00020 00021 00022 //============================================================================= 00023 //============================================================================= 00031 class RDSIMULATION_API rdController 00032 { 00033 00034 //============================================================================= 00035 // DATA 00036 //============================================================================= 00037 public: 00038 static const int NAME_LENGTH; 00039 static const int DESCRIP_LENGTH; 00040 protected: 00042 rdModel *_model; 00044 bool _on; 00046 char _name[rdController_NAME_LENGTH]; 00048 char _descrip[rdController_DESCRIP_LENGTH]; 00049 00050 //============================================================================= 00051 // METHODS 00052 //============================================================================= 00053 //-------------------------------------------------------------------------- 00054 // CONSTRUCTION 00055 //-------------------------------------------------------------------------- 00056 public: 00057 rdController(rdModel *aModel); 00058 virtual ~rdController(); 00059 void setNull(); 00060 00061 //-------------------------------------------------------------------------- 00062 // GET AND SET 00063 //-------------------------------------------------------------------------- 00064 // MODEL 00065 rdModel* getModel(); 00066 // ON/OFF 00067 void setOn(bool aTrueFalse); 00068 bool getOn(); 00069 // NAME 00070 void setName(const char *aName); 00071 const char* getName(); 00072 // DESCRIPTION 00073 void setDescription(const char *aDescrip); 00074 const char* getDescription(); 00075 00076 //-------------------------------------------------------------------------- 00077 // CONTROL 00078 //-------------------------------------------------------------------------- 00079 virtual void 00080 computeControls(double &rDT,double aT,const double *aY, 00081 rdControlSet &rX) = 0; 00082 00083 //============================================================================= 00084 }; // END of class rdController 00085 //============================================================================= 00086 //============================================================================= 00087 00088 #endif // __rdController_h__ 00089 00090
1.3