00001 // suContactTargetHorizontal.h 00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00003 // AUTHOR: Frank C. Anderson and Saryn Goldberg 00004 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00005 #ifndef __suContactTargetHorizontal_h__ 00006 #define __suContactTargetHorizontal_h__ 00007 00008 00009 //============================================================================== 00010 // INCLUDES 00011 //============================================================================== 00012 #include "suTrackControllerDLL.h" 00013 #include <math.h> 00014 #include <rdMath.h> 00015 #include <rdFSQP.h> 00016 #include <rdModel.h> 00017 #include "suPreTrackContact.h" 00018 00019 00020 00021 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00022 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00028 class SUTRACKCONTROLLER_API suContactTargetHorizontal : 00029 public rdOptimizationTarget 00030 { 00031 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00032 //============================================================================== 00033 // DATA 00034 //============================================================================== 00035 private: 00036 suPreTrackContact *_preTracker; 00037 00038 //============================================================================== 00039 // METHODS 00040 //============================================================================== 00041 public: 00042 //--------------------------------------------------------------------------- 00043 // CONSTRUCTION 00044 //--------------------------------------------------------------------------- 00045 virtual ~suContactTargetHorizontal(); 00046 suContactTargetHorizontal(int aNX,int aNC,suPreTrackContact *aPreTracker); 00047 00048 //--------------------------------------------------------------------------- 00049 // SET AND GET 00050 //--------------------------------------------------------------------------- 00051 00052 //-------------------------------------------------------------------------- 00053 // REQUIRED OPTIMIZATION TARGET METHODS 00054 //-------------------------------------------------------------------------- 00055 // PERFORMANCE AND CONSTRAINTS 00056 int compute(double *x,double *p,double *c); 00057 int computeGradients(double *dx,double *x,double *dpdx,double *dcdx); 00058 // PERFORMANCE 00059 int computePerformance(double *x,double *p); 00060 int computePerformanceGradient(double *x,double *dpdx); 00061 // CONSTRAINTS 00062 int computeConstraint(double *x,int i,double *c); 00063 int computeConstraintGradient(double *x,int i,double *dcdx); 00064 00065 //-------------------------------------------------------------------------- 00066 // ADDITIONAL METHODS 00067 //-------------------------------------------------------------------------- 00068 00069 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00070 }; // END class suContactTargetHorizontal 00071 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00072 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00073 00074 00075 #endif // #ifndef __suContactTargetHorizontal_h__
1.3