qpOASES  3.2.1
An Implementation of the Online Active Set Strategy
Flipper.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of qpOASES.
3  *
4  * qpOASES -- An Implementation of the Online Active Set Strategy.
5  * Copyright (C) 2007-2017 by Hans Joachim Ferreau, Andreas Potschka,
6  * Christian Kirches et al. All rights reserved.
7  *
8  * qpOASES is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * qpOASES is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16  * See the GNU Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with qpOASES; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21  *
22  */
23 
24 
36 #ifndef QPOASES_FLIPPER_HPP
37 #define QPOASES_FLIPPER_HPP
38 
39 
40 #include <qpOASES/Bounds.hpp>
41 #include <qpOASES/Constraints.hpp>
42 
43 
45 
46 
57 class Flipper
58 {
59  friend class QProblemB;
60  friend class QProblem;
61 
62  /*
63  * PUBLIC MEMBER FUNCTIONS
64  */
65  public:
67  Flipper( );
68 
70  Flipper( uint_t _nV,
71  uint_t _nC = 0
72  );
73 
75  Flipper( const Flipper& rhs
76  );
77 
79  ~Flipper( );
80 
82  Flipper& operator=( const Flipper& rhs
83  );
84 
85 
89  returnValue init( uint_t _nV = 0,
90  uint_t _nC = 0
91  );
92 
93 
96  returnValue get( Bounds* const _bounds,
97  real_t* const R,
98  Constraints* const _constraints = 0,
99  real_t* const _Q = 0,
100  real_t* const _T = 0
101  ) const;
102 
105  returnValue set( const Bounds* const _bounds,
106  const real_t* const _R,
107  const Constraints* const _constraints = 0,
108  const real_t* const _Q = 0,
109  const real_t* const _T = 0
110  );
111 
112 
113  /*
114  * PROTECTED MEMBER FUNCTIONS
115  */
116  protected:
119  returnValue clear( );
120 
123  returnValue copy( const Flipper& rhs
124  );
125 
128  uint_t getDimT( ) const;
129 
130 
131  /*
132  * PROTECTED MEMBER VARIABLES
133  */
134  protected:
135  uint_t nV;
136  uint_t nC;
144 };
145 
146 
148 
149 
150 #endif /* QPOASES_FLIPPER_HPP */
151 
152 
153 /*
154  * end of file
155  */
#define BEGIN_NAMESPACE_QPOASES
Definition: Types.hpp:107
#define END_NAMESPACE_QPOASES
Definition: Types.hpp:110
Manages working sets of constraints.
Definition: Constraints.hpp:56
real_t * R
Definition: Flipper.hpp:141
Implements the online active set strategy for box-constrained QPs.
Definition: QProblemB.hpp:63
uint_t getDimT() const
Definition: Flipper.cpp:245
uint_t nC
Definition: Flipper.hpp:136
Flipper()
Definition: Flipper.cpp:50
~Flipper()
Definition: Flipper.cpp:91
returnValue copy(const Flipper &rhs)
Definition: Flipper.cpp:238
Auxiliary class for storing a copy of the current matrix factorisations.
Definition: Flipper.hpp:57
Bounds bounds
Definition: Flipper.hpp:138
uint_t nV
Definition: Flipper.hpp:135
returnValue
Defines all symbols for global return values.
Definition: MessageHandling.hpp:64
real_t * T
Definition: Flipper.hpp:143
Flipper & operator=(const Flipper &rhs)
Definition: Flipper.cpp:100
returnValue init(uint_t _nV=0, uint_t _nC=0)
Definition: Flipper.cpp:116
real_t * Q
Definition: Flipper.hpp:142
Manages working sets of bounds (i.e. box constraints).
Definition: Bounds.hpp:56
Constraints constraints
Definition: Flipper.hpp:139
Implements the online active set strategy for QPs with general constraints.
Definition: QProblem.hpp:61
BEGIN_NAMESPACE_QPOASES typedef double real_t
Definition: Types.hpp:171
returnValue clear()
Definition: Flipper.cpp:211