- inline double getJD() const { return jd; };
- inline double getMjd() const { return mjd; };
- inline double getLst() const { return lst; };
- inline double getGst() const { return gst; };
+ /**
+ * Update the time related variables.
+ * The update() method requires you to pass in your position and
+ * an optional time offset in seconds. The offset (or warp) allows
+ * you to offset "sim" time relative to "real" time. The update()
+ * method is designed to be called by the host application before
+ * every frame.
+ * @param lon current longitude
+ * @param lat current latitude
+ * @param warp an optional time offset specified in seconds. This
+ * allows us to advance or rewind "time" if we choose to. */
+ void update( double lon, double lat, long int warp = 0 );
+
+ /**
+ * Given lon/lat, update timezone information and local_offset
+ * The updateLocal() method is intended to be called less
+ * frequently - only when your position is likely to be changed
+ * enough that your timezone may have changed as well. In the
+ * FlightGear project we call updateLocal() every few minutes from
+ * our periodic event manager.
+ * @param lon current longitude
+ * @param lat current latitude
+ * @param root base path containing time zone directory */
+ void updateLocal( double lon, double lat, const string& root );
+
+ /** @return current system/unix time in seconds */