TimeStamp.h
Go to the documentation of this file.
00001 /****************************************************************
00002  *
00003  * Copyright (c) 2010
00004  *
00005  * Fraunhofer Institute for Manufacturing Engineering   
00006  * and Automation (IPA)
00007  *
00008  * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00009  *
00010  * Project name: care-o-bot
00011  * ROS stack name: cob_driver
00012  * ROS package name: cob_powercube_chain
00013  * Description:
00014  *                                                              
00015  * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00016  *                      
00017  * Author: Felix Geibel, email:Felix.Geibel@gmx.de
00018  * Supervised by: Alexander Bubeck, email:alexander.bubeck@ipa.fhg.de
00019  *
00020  * Date of creation: Aug 2007
00021  * ToDo:
00022  *
00023  * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00024  *
00025  * Redistribution and use in source and binary forms, with or without
00026  * modification, are permitted provided that the following conditions are met:
00027  *
00028  *     * Redistributions of source code must retain the above copyright
00029  *       notice, this list of conditions and the following disclaimer.
00030  *     * Redistributions in binary form must reproduce the above copyright
00031  *       notice, this list of conditions and the following disclaimer in the
00032  *       documentation and/or other materials provided with the distribution.
00033  *     * Neither the name of the Fraunhofer Institute for Manufacturing 
00034  *       Engineering and Automation (IPA) nor the names of its
00035  *       contributors may be used to endorse or promote products derived from
00036  *       this software without specific prior written permission.
00037  *
00038  * This program is free software: you can redistribute it and/or modify
00039  * it under the terms of the GNU Lesser General Public License LGPL as 
00040  * published by the Free Software Foundation, either version 3 of the 
00041  * License, or (at your option) any later version.
00042  * 
00043  * This program is distributed in the hope that it will be useful,
00044  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00045  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00046  * GNU Lesser General Public License LGPL for more details.
00047  * 
00048  * You should have received a copy of the GNU Lesser General Public 
00049  * License LGPL along with this program. 
00050  * If not, see <http://www.gnu.org/licenses/>.
00051  *
00052  ****************************************************************/
00053 #ifndef _TimeStamp_H
00054 #define _TimeStamp_H
00055 
00056 #include <time.h>
00057 
00058 //-------------------------------------------------------------------
00059 
00060  
00066 class TimeStamp
00067 {
00068 public:
00070         TimeStamp();
00071 
00073         virtual ~TimeStamp() {};
00074 
00076         void SetNow();
00077 
00079         double operator-(const TimeStamp& EarlierTime) const;
00080 
00082 
00084         void operator+=(double TimeS);
00085 
00087 
00089         void operator-=(double TimeS);
00090 
00092         bool operator>(const TimeStamp& Time);
00093 
00095         bool operator<(const TimeStamp& Time);
00096         
00100         void getTimeStamp(long& lSeconds, long& lNanoSeconds);
00101 
00105         void setTimeStamp(const long& lSeconds, const long& lNanoSeconds);
00106         
00107 
00108 protected:
00109 
00111         timespec m_TimeStamp;
00112         
00113 private:
00114 
00116         static double TimespecToDouble(const ::timespec& LargeInt);
00117 
00119         static ::timespec DoubleToTimespec(double TimeS);
00120 
00121 };
00122 
00123 #endif


cob_trajectory_controller
Author(s): Alexander Bubeck
autogenerated on Tue Mar 3 2015 15:12:41