Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

rdStaticTarget.h

00001 // rdStaticTarget.h
00002 
00003 
00004 //==============================================================================
00005 // INCLUDES
00006 //==============================================================================
00007 #include <math.h>
00008 #include <rdMath.h>
00009 #include <rdFSQP.h>
00010 #include <rdModel.h>
00011 #include "rdStaticTargetDLL.h"
00012 
00013 
00014 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00015 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00020 class RDSTATICTARGET_API rdStaticTarget
00021    : public rdOptimizationTarget
00022 {
00023 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00024 //==============================================================================
00025 // DATA
00026 //==============================================================================
00027 private:
00028    rdModel *_model;
00029    double *_dpdx,*_dcdx;
00030    double *_q,*_dqdt;
00031    double *_u,*_dudt;
00032    double *_udot;
00033    int *_u2jointMap,*_u2axisMap;
00034    int *_x2uMap,*_c2uMap;
00035    int _ne;
00036    int *_be;
00037    double *_pe,*_fe;
00038 
00039 //==============================================================================
00040 // METHODS
00041 //==============================================================================
00042 public:
00043    //---------------------------------------------------------------------------
00044    // CONSTRUCTION
00045    //---------------------------------------------------------------------------
00046    virtual ~rdStaticTarget();
00047    rdStaticTarget(int aNX,rdModel *aModel);
00048 
00049    //---------------------------------------------------------------------------
00050    // SET AND GET
00051    //---------------------------------------------------------------------------
00052    void setQ(double *q);
00053    void setU(double *u);
00054    void setUDOT(double *udot);
00055    void setX2UMap(int *aX2U);
00056    void setC2UMap(int *aC2U);
00057    void setFE(int aNE,int *aBE,double *aPE,double *aFE);
00058 
00059    //--------------------------------------------------------------------------
00060    // REQUIRED OPTIMIZATION TARGET METHODS
00061    //--------------------------------------------------------------------------
00062    // PERFORMANCE AND CONSTRAINTS
00063    int compute(double *x,double *p,double *c);
00064    int computeGradients(double *dx,double *x,double *dpdx,double *dcdx);
00065    // PERFORMANCE
00066    int computePerformance(double *x,double *p);
00067    int computePerformanceGradient(double *x,double *dpdx);
00068    // CONSTRAINTS
00069    int computeConstraint(double *x,int i,double *c);
00070    int computeConstraintGradient(double *x,int i,double *dcdx);
00071 
00072 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00073 }; // END class rdStaticTarget
00074 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00075 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Generated on Wed Aug 20 02:17:06 2003 for Simulation Software by doxygen1.3