Bounds.hpp
Go to the documentation of this file.
00001 /*
00002  *      This file is part of qpOASES.
00003  *
00004  *      qpOASES -- An Implementation of the Online Active Set Strategy.
00005  *      Copyright (C) 2007-2008 by Hans Joachim Ferreau et al. All rights reserved.
00006  *
00007  *      qpOASES is free software; you can redistribute it and/or
00008  *      modify it under the terms of the GNU Lesser General Public
00009  *      License as published by the Free Software Foundation; either
00010  *      version 2.1 of the License, or (at your option) any later version.
00011  *
00012  *      qpOASES is distributed in the hope that it will be useful,
00013  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  *      Lesser General Public License for more details.
00016  *
00017  *      You should have received a copy of the GNU Lesser General Public
00018  *      License along with qpOASES; if not, write to the Free Software
00019  *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00020  *
00021  */
00022 
00023 
00035 #ifndef QPOASES_BOUNDS_HPP
00036 #define QPOASES_BOUNDS_HPP
00037 
00038 
00039 #include <SubjectTo.hpp>
00040 
00041 
00042 
00050 class Bounds : public SubjectTo
00051 {
00052         /*
00053          *      PUBLIC MEMBER FUNCTIONS
00054          */
00055         public:
00057                 Bounds( );
00058 
00060                 Bounds( const Bounds& rhs       
00061                                 );
00062 
00064                 ~Bounds( );
00065 
00067                 Bounds& operator=(      const Bounds& rhs       
00068                                                         );
00069 
00070 
00073                 returnValue init(       int n   
00074                                                         );
00075 
00076 
00083                 returnValue setupBound( int _number,                                    
00084                                                                 SubjectToStatus _status                 
00085                                                                 );
00086 
00092                 returnValue setupAllFree( );
00093 
00094 
00099                 returnValue moveFixedToFree(    int _number                             
00100                                                                                 );
00101 
00106                 returnValue moveFreeToFixed(    int _number,                    
00107                                                                                 SubjectToStatus _status 
00108                                                                                 );
00109 
00113                 returnValue swapFree(   int number1,                                    
00114                                                                 int number2                                             
00115                                                                 );
00116 
00117 
00120                 inline int getNV( ) const;
00121 
00124                 inline int getNFV( ) const;
00125 
00128                 inline int getNBV( ) const;
00129 
00132                 inline int getNUV( ) const;
00133 
00134 
00137                 inline returnValue setNFV(      int n   
00138                                                                         );
00139 
00142                 inline returnValue setNBV(      int n   
00143                                                                         );
00144 
00147                 inline returnValue setNUV(      int n   
00148                                                                         );
00149 
00150 
00153                 inline int getNFR( );
00154 
00157                 inline int getNFX( );
00158 
00159 
00162                 inline Indexlist* getFree( );
00163 
00166                 inline Indexlist* getFixed( );
00167 
00168 
00169         /*
00170          *      PROTECTED MEMBER VARIABLES
00171          */
00172         protected:
00173                 int nV;                                 
00174                 int nFV;                                
00175                 int     nBV;                            
00176                 int nUV;                                
00178                 Indexlist free;                 
00179                 Indexlist fixed;                
00180 };
00181 
00182 #include <Bounds.ipp>
00183 
00184 #endif  /* QPOASES_BOUNDS_HPP */
00185 
00186 
00187 /*
00188  *      end of file
00189  */


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Sat Jun 8 2019 19:36:48