]> git.mxchange.org Git - simgear.git/blobdiff - simgear/timing/timestamp.hxx
Working 'noshadow' animation
[simgear.git] / simgear / timing / timestamp.hxx
index f195dc3740fbdedd4593b2d6c9ff6f574a648494..ac9ca1423fe81b56041b4a49ce2e146b5d6cb662 100644 (file)
@@ -184,6 +184,8 @@ public:
     { SGTimeStamp ts; ts.setTime(sec); return ts; }
     static SGTimeStamp fromSec(const double& sec)
     { SGTimeStamp ts; ts.setTime(sec); return ts; }
+    static SGTimeStamp fromMSec(nsec_type msec)
+    { return SGTimeStamp(0, 1000*1000*msec); }
     static SGTimeStamp fromUSec(nsec_type usec)
     { return SGTimeStamp(0, 1000*usec); }
     static SGTimeStamp fromNSec(nsec_type nsec)
@@ -195,6 +197,22 @@ public:
     static SGTimeStamp now()
     { SGTimeStamp ts; ts.stamp(); return ts; }
 
+    /**
+     *  Sleep until the time of abstime is passed.
+     */
+    static bool sleepUntil(const SGTimeStamp& abstime);
+
+    /**
+     *  Sleep for reltime.
+     */
+    static bool sleepFor(const SGTimeStamp& reltime);
+
+    /**
+     *  Alias for the most common use case with milliseconds.
+     */
+    static bool sleepForMSec(unsigned msec)
+    { return sleepFor(fromMSec(msec)); }
+
     /**
      * elapsed time since the stamp was taken, in msec
      */