14 #include <vlutil/vlFilename.h>
15 #include <matrix/vlVector.h>
23 class DtGeodeticCoord;
43 typedef std::map<std::string, TimezoneData>
Timezones;
49 : lowVal(l), highVal(h), iconFile(i)
54 : lowVal(orig.lowVal), highVal(orig.highVal), iconFile(orig.iconFile)
80 virtual const Timezones& timezones()
const;
83 virtual std::string addTimezone(
const std::string& abbrev,
const std::string& title,
double offset,
const std::string& location);
86 virtual void removeTimezone(
const std::string& key);
90 virtual void setUseLocalTimezone(
bool);
91 virtual bool useLocalTimezone()
const;
97 virtual void setDateAndTimeOfDayFormat(
const std::string&);
98 virtual std::string dateAndTimeOfDayFormat()
const;
105 virtual void addDateTimeFormat(
const std::string&);
109 virtual time_t offsetForTimezone(
const std::string& key)
const;
113 virtual time_t modifyTimeBasedOnTimezoneSelection(time_t);
116 virtual void setCurrentTimezone(
const std::string&);
119 virtual std::string currentTimezone()
const;
122 virtual std::string currentTimezoneAbbreviation()
const;
125 virtual std::string timezoneTitle()
const;
128 virtual time_t offsetForTimezone()
const;
131 virtual time_t convertFromLocalTimeToUtcTime(time_t)
const;
134 virtual time_t currentUtcDateTime()
const;
137 virtual time_t currentLocalDateTime()
const;
140 virtual time_t convertFromUtcTimeToLocalTime(time_t)
const;
141 virtual void convertFromUtcTimeToLocalTime(
int y,
int m,
int d,
int h,
int mm,
int sec,
142 int& year,
int& month,
int& day,
int& hours,
int& minutes,
int& seconds)
const;
143 virtual time_t convertToUtcTime(
int y,
int m,
int d,
int h,
int mm,
int sec)
const;
146 virtual time_t convert(
const std::string& source, time_t,
const std::string& dest);
149 virtual void load(
const DtFilename&,
bool merge =
false);
152 virtual std::string dateTimeFormatString(time_t);
165 virtual double illuminationValue(
const DtGeodeticCoord& position, time_t time,
166 double nighttimeMaximum = 0.1,
double illuminationMinimum = 0.001,
bool useGMTPosition =
false,
int* sunstate = 0)
const;
169 virtual double maximumNighttimeValue()
const;
170 virtual void setMaximumNighttimeValue(
double);
173 virtual double minimumIlluminationValue();
174 virtual void setMinimumIlluminationValue(
double);
177 virtual std::string illuminationIcon(
double illumination,
int sunState)
const;
180 virtual void addIlluminationIcon(
int sunState,
double lowIllumination,
double highIllumination,
const std::string&);
184 return myIlluminationIcons;
189 return myIlluminationIcons;
193 virtual void resetSystemDateTime();
195 virtual time_t utcTime(
struct tm* tod)
const;
199 virtual time_t offsetTimeByObserverPosition(time_t curTime)
const;
202 virtual time_t unoffsetTimeByObserverPosition(time_t curTime)
const;
205 virtual time_t timeZoneOffsetForPosition(
const DtVector&)
const;
208 virtual time_t timeZoneOffsetForCurrentObserver()
const;