14 #include <vlutil/vlFilename.h>
15 #include <matrix/vlVector.h>
17 #include <boost/signals2.hpp>
19 #include <QtCore/QString>
26 class DtGeodeticCoord;
49 typedef std::map<std::string, TimezoneData>
Timezones;
55 : lowVal(l), highVal(h), iconFile(i)
60 : lowVal(orig.lowVal), highVal(orig.highVal), iconFile(orig.iconFile)
94 virtual const Timezones& timezones()
const;
98 virtual void setUseLocalTimezone(
bool);
99 virtual bool useLocalTimezone()
const;
102 virtual void setBlockLocalTimeZoneUsage(
bool);
103 virtual bool blockLocalTimeZoneUsage()
const;
109 virtual void setDateAndTimeOfDayFormat(
const std::string&);
110 virtual std::string dateAndTimeOfDayFormat()
const;
120 virtual time_t offsetForTimezone(
const std::string& key)
const;
124 virtual time_t modifyTimeBasedOnTimezoneSelection(time_t);
127 virtual void setCurrentTimezone(
const std::string&);
130 virtual std::string currentTimezone()
const;
133 virtual void setCurrentFormatsSet(
const std::string&);
136 virtual std::string currentFormatsSet()
const;
139 virtual std::string currentTimezoneAbbreviation()
const;
142 virtual std::string timezoneTitle()
const;
145 virtual time_t offsetForTimezone()
const;
148 virtual time_t convertFromLocalTimeToUtcTime(time_t)
const;
151 virtual time_t currentUtcDateTime()
const;
154 virtual time_t currentLocalDateTime()
const;
157 virtual time_t convertFromUtcTimeToLocalTime(time_t)
const;
158 virtual void convertFromUtcTimeToLocalTime(
int y,
int m,
int d,
int h,
int mm,
int sec,
159 int& year,
int& month,
int& day,
int& hours,
int& minutes,
int& seconds)
const;
160 virtual time_t convertToUtcTime(
int y,
int m,
int d,
int h,
int mm,
int sec)
const;
163 virtual time_t convert(
const std::string&
source, time_t,
const std::string&
dest);
166 virtual void load(
const DtFilename&,
bool merge =
false);
169 virtual std::string dateTimeFormatString(time_t);
182 virtual double illuminationValue(
const DtGeodeticCoord& position, time_t time,
183 double nighttimeMaximum = 0.1,
double illuminationMinimum = 0.001,
bool useGMTPosition =
false,
int* sunstate = 0)
const;
186 virtual double maximumNighttimeValue()
const;
187 virtual void setMaximumNighttimeValue(
double);
190 virtual double minimumIlluminationValue();
191 virtual void setMinimumIlluminationValue(
double);
194 virtual std::string illuminationIcon(
double illumination,
int sunState)
const;
197 virtual void addIlluminationIcon(
int sunState,
double lowIllumination,
double highIllumination,
const std::string&);
201 return myIlluminationIcons;
206 return myIlluminationIcons;
210 virtual void resetSystemDateTime();
212 virtual time_t utcTime(
struct tm* tod)
const;
216 virtual time_t offsetTimeByObserverPosition(time_t curTime)
const;
219 virtual time_t unoffsetTimeByObserverPosition(time_t curTime)
const;
222 virtual time_t timeZoneOffsetForPosition(
const DtVector&)
const;
225 virtual time_t timeZoneOffsetForCurrentObserver()
const;
229 virtual time_t utcOffsetHours()
const;
232 virtual QString utcLabel()
const;
235 virtual time_t currentSimulationUtcTime()
const;
IlluminationIconData(const IlluminationIconData &orig)
Definition: timeZoneManager.h:59
boost::signals2::signal< void(time_t old, time_t newTime)> signal_utcTimeChangedWithObserverPosition
Signal sent when tracking observer position and the utc time changes because of that.
Definition: timeZoneManager.h:249
const char DtTimeDateFormatsSetStandard[]
Definition: timeZoneManager.h:28
FormatsSetsMap myFormatsSetsMap
Definition: timeZoneManager.h:260
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
const IlluminationIcon & illuminationIcons() const
Definition: timeZoneManager.h:199
boost::signals2::signal< void(std::string)> signal_dateAndTimeFormatChanged
Definition: timeZoneManager.h:244
boost::signals2::signal< void(std::string)> signal_formatsSetChanged
Definition: timeZoneManager.h:246
IlluminationIcon myIlluminationIcons
Definition: timeZoneManager.h:257
std::string title
Definition: timeZoneManager.h:43
DateTimeFormats myDateTimeFormats
Definition: timeZoneManager.h:258
Definition: timeZoneManager.h:40
std::map< int, std::vector< IlluminationIconData > > IlluminationIcon
Definition: timeZoneManager.h:69
std::vector< std::string > DateTimeFormats
Definition: timeZoneManager.h:71
IlluminationIconData(double l, double h, const std::string &i)
Definition: timeZoneManager.h:54
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
std::map< std::string, TimezoneData > Timezones
Key is abbreviation.
Definition: timeZoneManager.h:49
bool myBlockLocalTimeZoneUsage
Definition: timeZoneManager.h:264
IlluminationIconData()
Definition: timeZoneManager.h:52
std::string location
Hours.
Definition: timeZoneManager.h:45
double lowVal
Definition: timeZoneManager.h:64
Contains makVrv::DtVirtualBaseClass class.
std::string abbrev
Definition: timeZoneManager.h:42
boost::signals2::signal< void(std::string, std::string)> signal_timezoneChanged
Signal of old and new timezone.
Definition: timeZoneManager.h:242
Definition: timeZoneManager.h:50
std::map< std::string, FormatsSet > FormatsSetsMap
Definition: timeZoneManager.h:79
double myMinimumIlluminationValue
Definition: timeZoneManager.h:255
IlluminationIcon & illuminationIcons()
Definition: timeZoneManager.h:204
const char * source
Definition: lz4.h:442
double myNighttimeMaximumValue
Definition: timeZoneManager.h:254
const char DtTimeDateFormatsSetMilitary[]
Definition: timeZoneManager.h:29
std::string iconFile
Definition: timeZoneManager.h:66
Timezones myTimezones
Definition: timeZoneManager.h:252
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
time_t myCurrentObserverUTCOffsetTime
Definition: timeZoneManager.h:262
makVrv::DtDe & myDe
Definition: timeZoneManager.h:253
char * dest
Definition: lz4.h:440
boost::signals2::scoped_connection myObserverTrackConnection
Definition: timeZoneManager.h:263
double offset
Definition: timeZoneManager.h:44
The timezone manager keeps track of all timezones available for the user to select from in the system...
Definition: timeZoneManager.h:36
double highVal
Definition: timeZoneManager.h:65