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-2011 by Hans Joachim Ferreau, Andreas Potschka,
00006  *      Christian Kirches et al. All rights reserved.
00007  *
00008  *      qpOASES is free software; you can redistribute it and/or
00009  *      modify it under the terms of the GNU Lesser General Public
00010  *      License as published by the Free Software Foundation; either
00011  *      version 2.1 of the License, or (at your option) any later version.
00012  *
00013  *      qpOASES is distributed in the hope that it will be useful,
00014  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00016  *      See the GNU Lesser General Public License for more details.
00017  *
00018  *      You should have received a copy of the GNU Lesser General Public
00019  *      License along with qpOASES; if not, write to the Free Software
00020  *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00021  *
00022  */
00023 
00024 
00036 #ifndef QPOASES_BOUNDS_HPP
00037 #define QPOASES_BOUNDS_HPP
00038 
00039 
00040 #include <qpOASES/SubjectTo.hpp>
00041 
00042 
00043 BEGIN_NAMESPACE_QPOASES
00044 
00045 
00056 class Bounds : public SubjectTo
00057 {
00058         /*
00059          *      PUBLIC MEMBER FUNCTIONS
00060          */
00061         public:
00063                 Bounds( );
00064 
00066                 Bounds( int _n                                                                  
00067                                 );
00068 
00070                 Bounds( const Bounds& rhs                                               
00071                                 );
00072 
00074                 virtual ~Bounds( );
00075 
00077                 Bounds& operator=(      const Bounds& rhs                       
00078                                                         );
00079 
00080 
00084                 returnValue init(       int _n = 0                                      
00085                                                         );
00086 
00087 
00094                 returnValue setupBound( int number,                             
00095                                                                 SubjectToStatus _status 
00096                                                                 );
00097 
00103                 returnValue setupAllFree( );
00104 
00110                 returnValue setupAllLower( );
00111 
00117                 returnValue setupAllUpper( );
00118 
00119 
00124                 returnValue moveFixedToFree(    int number                              
00125                                                                                 );
00126 
00131                 returnValue moveFreeToFixed(    int number,                             
00132                                                                                 SubjectToStatus _status 
00133                                                                                 );
00134 
00139                 returnValue flipFixed( int number );
00140 
00144                 returnValue swapFree(   int number1,                                    
00145                                                                 int number2                                             
00146                                                                 );
00147 
00148 
00151                 inline int getNV( ) const;
00152 
00155                 inline int getNFV( ) const;
00156 
00159                 inline int getNBV( ) const;
00160 
00163                 inline int getNUV( ) const;
00164 
00167                 inline int getNFR( ) const;
00168 
00171                 inline int getNFX( ) const;
00172 
00173 
00176                 inline Indexlist* getFree( );
00177 
00180                 inline Indexlist* getFixed( );
00181 
00182 
00194                 virtual returnValue shift(      int offset              
00195                                                                         );
00196 
00204                 virtual returnValue rotate(     int offset              
00205                                                                         );
00206 
00207 
00212                 returnValue print( );
00213 
00214 
00215         /*
00216          *      PROTECTED MEMBER FUNCTIONS
00217          */
00218         protected:
00221                 returnValue clear( );
00222                 
00225                 returnValue copy(       const Bounds& rhs       
00226                                                         );
00227 
00228 
00234                 returnValue setupAll(   SubjectToStatus _status 
00235                                                                 );
00236 
00237 
00238         /*
00239          *      PROTECTED MEMBER VARIABLES
00240          */
00241         protected:
00242                 Indexlist freee;                
00243                 Indexlist fixed;                
00244 };
00245 
00246 
00247 END_NAMESPACE_QPOASES
00248 
00249 #include <qpOASES/Bounds.ipp>
00250 
00251 #endif  /* QPOASES_BOUNDS_HPP */
00252 
00253 
00254 /*
00255  *      end of file
00256  */


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Thu Aug 27 2015 11:57:54