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

suTrackController.h

00001 // suTrackController.h
00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00003 // Copyright 2002, 2003
00004 // Authors: Frank C. Anderson, Darryl G. Thelen
00005 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00006 #ifndef __suTrackController_h__
00007 #define __suTrackController_h__
00008 
00009 
00010 //============================================================================
00011 // INCLUDE
00012 //============================================================================
00013 #include "suTrackControllerDLL.h"
00014 #include <rdTools.h>
00015 #include <rdOptimizationTarget.h>
00016 #include <rdModel.h>
00017 #include <rdController.h>
00018 #include <rdFSQP.h>
00019 #include "suTrackObjectSet.h"
00020 
00021 
00022 // EXPORT LINE FOR MICROSOFT VISUAL C++
00023 #ifndef UNIX
00024 //template class SUTRACKCONTROLLER_API rdArray<int>;
00025 #endif
00026 
00027 
00028 //=============================================================================
00029 //=============================================================================
00037 class SUTRACKCONTROLLER_API suTrackController : public rdController
00038 {
00039 
00040 //=============================================================================
00041 // DATA
00042 //=============================================================================
00043 protected:
00045    rdFSQP *_sqp;
00047    rdOptimizationTarget *_target;
00049    suTrackObjectSet *_trackObjectSet;
00051    double _dt;
00054    double _lastDT;
00058    bool _restoreDT;
00063    double _targetTime;
00066    double _targetDT;
00068    bool _checkTargetTime;
00070    rdStorage *_pErrStore;
00072    rdStorage *_vErrStore;
00074    rdControlSet *_controlSet;
00077    rdArray<int> _paramList;
00078 //=============================================================================
00079 // METHODS
00080 //=============================================================================
00081    //--------------------------------------------------------------------------
00082    // CONSTRUCTION
00083    //--------------------------------------------------------------------------
00084 public:
00085    suTrackController(rdModel *aModel,suTrackObjectSet *aTrackObjectSet);
00086    virtual ~suTrackController();
00087    void setNull();
00088 
00089    //--------------------------------------------------------------------------
00090    // GET AND SET
00091    //--------------------------------------------------------------------------
00092    suTrackObjectSet* getTrackObjectSet() const;
00093    rdControlSet* getControlSet() const;
00094    rdArray<int>* getParameterList();
00095    rdFSQP* getOptimizer() const;
00096    rdOptimizationTarget* setOptimizationTarget(rdOptimizationTarget *aTarget);
00097    rdOptimizationTarget* getOptimizationTarget() const;
00098    void setDT(double aDT);
00099    double getDT() const;
00100    void setTargetTime(double aTime);
00101    double getTargetTime() const;
00102    void setTargetDT(double aDT);
00103    double getTargetDT() const;
00104    void setCheckTargetTime(bool aTrueFalse);
00105    bool getCheckTargetTime() const;
00106    rdStorage* getPositionErrorStorage() const;
00107    rdStorage* getVelocityErrorStorage() const;
00108 
00109    //--------------------------------------------------------------------------
00110    // CONTROL
00111    //--------------------------------------------------------------------------
00112    virtual void
00113       computeControls(double &rDT,double aT,const double *aY,rdControlSet &rX);
00114 
00115 //=============================================================================
00116 }; // END of class suTrackController
00117 //=============================================================================
00118 //=============================================================================
00119 
00120 #endif // __suTrackController_h__
00121 
00122 

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