simulation_clock.cpp
Go to the documentation of this file.
1 /*
2  * This file is part of ACADO Toolkit.
3  *
4  * ACADO Toolkit -- A Toolkit for Automatic Control and Dynamic Optimization.
5  * Copyright (C) 2008-2014 by Boris Houska, Hans Joachim Ferreau,
6  * Milan Vukov, Rien Quirynen, KU Leuven.
7  * Developed within the Optimization in Engineering Center (OPTEC)
8  * under supervision of Moritz Diehl. All rights reserved.
9  *
10  * ACADO Toolkit is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free Software Foundation; either
13  * version 3 of the License, or (at your option) any later version.
14  *
15  * ACADO Toolkit is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with ACADO Toolkit; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23  *
24  */
25 
26 
36 
37 
38 
40 
41 
42 
44 {
45 }
46 
47 
49 {
50 }
51 
52 
54 {
55 }
56 
57 
59 {
60  if( this != &rhs )
61  {
62  Clock::operator=( rhs );
63  }
64 
65  return *this;
66 }
67 
68 
70 {
71  return new SimulationClock( *this );
72 }
73 
74 
76 {
77  if ( status != CS_STOPPED )
79 
81 
82  return SUCCESSFUL_RETURN;
83 }
84 
85 
87  )
88 {
89  returnValue returnvalue = stop( );
90  if ( returnvalue != SUCCESSFUL_RETURN )
91  return returnvalue;
92 
93  elapsedTime += _timeShift;
94 
95  return start( );
96 }
97 
98 
100 {
101  if ( status == CS_NOT_INITIALIZED )
103 
104  if ( status == CS_STOPPED )
105  return SUCCESSFUL_RETURN;
106 
107  status = CS_STOPPED;
108 
109  return SUCCESSFUL_RETURN;
110 }
111 
112 
114 
115 
116 /*
117  * end of file
118  */
119 
Base class for all kind of time measurements.
Definition: clock.hpp:53
Allows to pass back messages to the calling function.
double elapsedTime
Definition: clock.hpp:163
virtual returnValue stop()
virtual returnValue step(double _timeShift)
#define CLOSE_NAMESPACE_ACADO
Simulates real time measurements for simulations.
SimulationClock & operator=(const SimulationClock &rhs)
virtual Clock * clone() const
void rhs(const real_t *x, real_t *f)
virtual ~SimulationClock()
#define BEGIN_NAMESPACE_ACADO
virtual returnValue start()
ClockStatus status
Definition: clock.hpp:164
Clock & operator=(const Clock &rhs)
Definition: clock.cpp:63
#define ACADOERROR(retval)


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:35:06