Revision: 8434
http://playerstage.svn.sourceforge.net/playerstage/?rev=8434&view=rev
Author: natepak
Date: 2009-11-22 20:16:52 +0000 (Sun, 22 Nov 2009)
Log Message:
-----------
Added the Timer class
Added Paths:
-----------
code/gazebo/trunk/server/Timer.cc
code/gazebo/trunk/server/Timer.hh
Added: code/gazebo/trunk/server/Timer.cc
===================================================================
--- code/gazebo/trunk/server/Timer.cc (rev 0)
+++ code/gazebo/trunk/server/Timer.cc 2009-11-22 20:16:52 UTC (rev 8434)
@@ -0,0 +1,73 @@
+/*
+ * Gazebo - Outdoor Multi-Robot Simulator
+ * Copyright (C) 2003
+ * Nate Koenig & Andrew Howard
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+/* Desc: A timer class
+ * Author: Nate Koenig
+ * Date: 22 Nov 2009
+ */
+
+#include "Simulator.hh"
+#include "Timer.hh"
+
+using namespace gazebo;
+
+////////////////////////////////////////////////////////////////////////////////
+/// Constructor
+Timer::Timer(Type t)
+{
+ this->type = t;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+/// Destructor
+Timer::~Timer()
+{
+}
+
+////////////////////////////////////////////////////////////////////////////////
+/// Start the timer
+void Timer::Start()
+{
+ if (this->type == SIM_TIMER)
+ this->start = Simulator::Instance()->GetSimTime();
+ else
+ this->start = Simulator::Instance()->GetWallTime();
+}
+
+////////////////////////////////////////////////////////////////////////////////
+/// Get the elapsed itme
+Time Timer::GetElapsed() const
+{
+ Time currentTime;
+
+ if (this->type == SIM_TIMER)
+ currentTime = Simulator::Instance()->GetSimTime();
+ else
+ currentTime = Simulator::Instance()->GetWallTime();
+
+ return currentTime - this->start;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+/// Get the type of timer
+Timer::Type Timer::GetType()
+{
+ return this->type;
+}
Added: code/gazebo/trunk/server/Timer.hh
===================================================================
--- code/gazebo/trunk/server/Timer.hh (rev 0)
+++ code/gazebo/trunk/server/Timer.hh 2009-11-22 20:16:52 UTC (rev 8434)
@@ -0,0 +1,67 @@
+/*
+ * Gazebo - Outdoor Multi-Robot Simulator
+ * Copyright (C) 2003
+ * Nate Koenig & Andrew Howard
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+/* Desc: A timer class
+ * Author: Nate Koenig
+ * Date: 22 Nov 2009
+ */
+
+#ifndef TIMER_HH
+#define TIMER_HH
+
+#include "Time.hh"
+
+namespace gazebo
+{
+ /// \brief A timer class
+ class Timer
+ {
+ public: enum Type {SIM_TIMER, REAL_TIMER};
+
+ /// \brief Constructor
+ /// \param t The type of timer (based on either the simulation or real
+ /// time)
+ public: Timer(Type t);
+
+ /// \brief Destructor
+ public: virtual ~Timer();
+
+ /// \brief Start the timer
+ public: void Start();
+
+ /// \brief Get the elapsed itme
+ public: Time GetElapsed() const;
+
+ /// \brief Get the type of timer
+ public: Type GetType();
+
+ public: friend std::ostream &operator<<(std::ostream &out,
+ const gazebo::Timer &t)
+ {
+ out << t.GetElapsed();
+ return out;
+ }
+
+ private: Time start;
+ private: Type type;
+ };
+}
+
+#endif
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit