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_CYCLINGMANAGER_HPP 00036 #define QPOASES_CYCLINGMANAGER_HPP 00037 00038 00039 #include <Utils.hpp> 00040 00041 00042 00050 class CyclingManager 00051 { 00052 /* 00053 * PUBLIC MEMBER FUNCTIONS 00054 */ 00055 public: 00057 CyclingManager( ); 00058 00060 CyclingManager( const CyclingManager& rhs 00061 ); 00062 00064 ~CyclingManager( ); 00065 00067 CyclingManager& operator=( const CyclingManager& rhs 00068 ); 00069 00070 00073 returnValue init( int _nV, 00074 int _nC 00075 ); 00076 00077 00081 returnValue setCyclingStatus( int number, 00082 BooleanType isBound, 00084 CyclingStatus _status 00085 ); 00086 00090 CyclingStatus getCyclingStatus( int number, 00091 BooleanType isBound 00093 ) const; 00094 00095 00098 returnValue clearCyclingData( ); 00099 00100 00103 inline BooleanType isCyclingDetected( ) const; 00104 00105 00106 /* 00107 * PROTECTED MEMBER VARIABLES 00108 */ 00109 protected: 00110 int nV; 00111 int nC; 00113 CyclingStatus status[NVMAX+NCMAX]; 00115 BooleanType cyclingDetected; 00116 }; 00117 00118 00119 #include <CyclingManager.ipp> 00120 00121 #endif /* QPOASES_CYCLINGMANAGER_HPP */ 00122 00123 00124 /* 00125 * end of file 00126 */