00001 // suGeneralizedForcePerturbation.h 00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00003 // AUTHOR: Frank C. Anderson, Saryn R. Goldberg 00004 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00005 #ifndef __suGeneralizedForcePerturbation_h__ 00006 #define __suGeneralizedForcePerturbation_h__ 00007 00008 00009 //============================================================================= 00010 // INCLUDES 00011 //============================================================================= 00012 #include <rdMath.h> 00013 #include <rdTools.h> 00014 #include <rdModel.h> 00015 #include <rdDerivCallback.h> 00016 #include <rdManager.h> 00017 #include "suAnalysesDLL.h" 00018 #include <rdGCVSpline.h> 00019 #include "suContact.h" 00020 #include "suDecomp.h" 00021 00022 00023 //============================================================================= 00024 //============================================================================= 00032 class SUANALYSES_API suGeneralizedForcePerturbation : public rdDerivCallback 00033 { 00034 //============================================================================= 00035 // DATA 00036 //============================================================================= 00037 public: 00038 00039 protected: 00041 int _genCoord; 00043 double _perturbation; 00045 double _scaleFactor; 00047 rdGCVSpline *_genForceSpline; 00048 00049 00050 //============================================================================= 00051 // METHODS 00052 //============================================================================= 00053 public: 00054 suGeneralizedForcePerturbation(rdModel *aModel); 00055 suGeneralizedForcePerturbation(rdModel *aModel, rdGCVSpline *_aSpline); 00056 virtual ~suGeneralizedForcePerturbation(); 00057 private: 00058 void setNull(); 00059 00060 public: 00061 //-------------------------------------------------------------------------- 00062 // GET AND SET 00063 //-------------------------------------------------------------------------- 00064 void setGenCoord(int aGenCoord); 00065 int getGenCoord() const; 00066 00067 void setScaleFactor(double aScaleFactor); 00068 double getScaleFactor() const; 00069 void setPerturbation(double aPerturbation); 00070 double getPerturbation() const; 00071 00072 00073 //-------------------------------------------------------------------------- 00074 // CALLBACKS 00075 //-------------------------------------------------------------------------- 00076 virtual void 00077 computeActuation(double aT,double *aX,double *aY); 00078 virtual void 00079 applyActuation(double aT,double *aX,double *aY); 00080 00081 //============================================================================= 00082 }; // END of class suGeneralizedForcePerturbation 00083 //============================================================================= 00084 //============================================================================= 00085 00086 00087 #endif // #ifndef __suGeneralizedForcePerturbation_h__
1.3