00001 // suContactTargetRight.h 00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00003 // AUTHOR: Frank C. Anderson and Saryn Goldberg 00004 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00005 #ifndef __suContactTargetRight_h__ 00006 #define __suContactTargetRight_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 "suPreTrack.h" 00018 00019 00020 00021 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00022 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00027 class SUTRACKCONTROLLER_API suContactTargetRight : 00028 public rdOptimizationTarget 00029 { 00030 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00031 //============================================================================== 00032 // DATA 00033 //============================================================================== 00034 private: 00035 suPreTrack *_preTracker; 00036 00037 //============================================================================== 00038 // METHODS 00039 //============================================================================== 00040 public: 00041 //--------------------------------------------------------------------------- 00042 // CONSTRUCTION 00043 //--------------------------------------------------------------------------- 00044 virtual ~suContactTargetRight(); 00045 suContactTargetRight(suPreTrack *aPreTracker); 00046 00047 //--------------------------------------------------------------------------- 00048 // SET AND GET 00049 //--------------------------------------------------------------------------- 00050 00051 //-------------------------------------------------------------------------- 00052 // REQUIRED OPTIMIZATION TARGET METHODS 00053 //-------------------------------------------------------------------------- 00054 // PERFORMANCE AND CONSTRAINTS 00055 int compute(double *x,double *p,double *c); 00056 int computeGradients(double *dx,double *x,double *dpdx,double *dcdx); 00057 // PERFORMANCE 00058 int computePerformance(double *x,double *p); 00059 int computePerformanceGradient(double *x,double *dpdx); 00060 // CONSTRAINTS 00061 int computeConstraint(double *x,int i,double *c); 00062 int computeConstraintGradient(double *x,int i,double *dcdx); 00063 00064 //-------------------------------------------------------------------------- 00065 // ADDITIONAL METHODS 00066 //-------------------------------------------------------------------------- 00067 00068 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00069 }; // END class suContactTargetRight 00070 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00071 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00072 00073 00074 #endif // #ifndef __suContactTargetRight_h__
1.3