qpOASES  3.2.1
An Implementation of the Online Active Set Strategy
include/qpOASES/Flipper.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-2017 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_FLIPPER_HPP
00037 #define QPOASES_FLIPPER_HPP
00038 
00039 
00040 #include <qpOASES/Bounds.hpp>
00041 #include <qpOASES/Constraints.hpp>
00042 
00043 
00044 BEGIN_NAMESPACE_QPOASES
00045 
00046 
00057 class Flipper
00058 {
00059     friend class QProblemB;
00060     friend class QProblem;
00061 
00062     /*
00063      *  PUBLIC MEMBER FUNCTIONS
00064      */
00065     public:
00067         Flipper( );
00068 
00070         Flipper(    uint_t _nV,         
00071                     uint_t _nC = 0      
00072                     );
00073 
00075         Flipper(    const Flipper& rhs          
00076                     );
00077 
00079         ~Flipper( );
00080 
00082         Flipper& operator=( const Flipper& rhs  
00083                             );
00084 
00085 
00089         returnValue init(   uint_t _nV = 0,     
00090                             uint_t _nC = 0      
00091                             );
00092 
00093 
00096         returnValue get(    Bounds* const _bounds,                  
00097                             real_t* const R,                        
00098                             Constraints* const _constraints = 0,    
00099                             real_t* const _Q = 0,                   
00100                             real_t* const _T = 0                    
00101                             ) const;
00102 
00105         returnValue set(    const Bounds* const _bounds,                
00106                             const real_t* const _R,                     
00107                             const Constraints* const _constraints = 0,  
00108                             const real_t* const _Q = 0,                 
00109                             const real_t* const _T = 0                  
00110                             );
00111 
00112 
00113     /*
00114      *  PROTECTED MEMBER FUNCTIONS
00115      */
00116     protected:
00119         returnValue clear( );
00120         
00123         returnValue copy(   const Flipper& rhs  
00124                             );
00125 
00128         uint_t getDimT( ) const;
00129 
00130 
00131     /*
00132      *  PROTECTED MEMBER VARIABLES
00133      */
00134     protected:
00135         uint_t nV;                      
00136         uint_t nC;                      
00138         Bounds      bounds;             
00139         Constraints constraints;        
00141         real_t* R;                      
00142         real_t* Q;                      
00143         real_t* T;                      
00144 };
00145 
00146 
00147 END_NAMESPACE_QPOASES
00148 
00149 
00150 #endif  /* QPOASES_FLIPPER_HPP */
00151 
00152 
00153 /*
00154  *  end of file
00155  */