GranOO  3.0
A robust and versatile workbench to build 3D dynamic simulations based on the Discrete Element Method
TimeManager.hpp
Go to the documentation of this file.
1 // This file is part of GranOO, a workbench for DEM simulation.
2 //
3 // Author(s) : - Damien Andre IRCER/UNILIM, Limoges France
4 // <damien.andre@unilim.fr>
5 // - Jean-luc Charles Arts et Metiers ParisTech, CNRS, I2M, Bordeaux France
6 // <jean-luc.charles@ensam.eu>
7 // - Jeremie Girardot Arts et Metiers ParisTech, CNRS, I2M, Bordeaux France
8 // <jeremie.girardot@ensam.eu>
9 // - Cedric Hubert LAMIH/UPHF, Valenciennes France
10 // <cedric.hubert@uphf.fr>
11 // - Ivan Iordanoff Arts et Metiers ParisTech, CNRS, I2M, Bordeaux France
12 // <ivan.iordanoff@ensam.eu>
13 // - Lucas Teixeira, RHI Magnesita, 8700 Leoben, Autriche
14 // <lucas.teixeira@rhimagnesita.com>
15 //
16 // Copyright (C) 2008-2022 D. Andre, JL. Charles, J. Girardot, C. Hubert, I. Iordanoff, L. Teixeira
17 //
18 // This program is free software: you can redistribute it and/or modify
19 // it under the terms of the GNU General Public License as published by
20 // the Free Software Foundation, either version 3 of the License, or
21 // (at your option) any later version.
22 //
23 // This program is distributed in the hope that it will be useful,
24 // but WITHOUT ANY WARRANTY; without even the implied warranty of
25 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 // GNU General Public License for more details.
27 //
28 // You should have received a copy of the GNU General Public License
29 // along with this program. If not, see <http://www.gnu.org/licenses/>.
30 
31 
32 #ifndef _libCore_TimeManager_hpp_
33 #define _libCore_TimeManager_hpp_
34 
35 // TODO merge this class with Physics::Time
36 
37 
38 #include <chrono>
39 
40 typedef std::chrono::high_resolution_clock watch;
41 
42 namespace GranOO3
43 {
44  namespace Core
45  {
46  class TimeManager{
47  public:
48  TimeManager();
49 
50  const double get_elapsed_time() const;
51  void set_time_end(const watch::time_point);
52 
53  private:
54  watch::time_point _timeStart;
55  watch::time_point _timeEnd;
56  };
57  }
58 }
59 
60 
61 #endif
std::chrono::high_resolution_clock watch
Definition: TimeManager.hpp:40
Definition: TimeManager.hpp:46
watch::time_point _timeEnd
Definition: TimeManager.hpp:55
const double get_elapsed_time() const
Definition: TimeManager.cpp:44
void set_time_end(const watch::time_point)
Definition: TimeManager.cpp:49
watch::time_point _timeStart
Definition: TimeManager.hpp:54
TimeManager()
Definition: TimeManager.cpp:40
Definition: Common.hpp:198