Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

CTimeManager Class Reference

#include <TimeManager.h>

List of all members.

Public Member Functions

 CTimeManager ()
void Prepare (void)
void Update (void)
float GetElapsedSimTime (void)
float GetDeltaRealTime (void)
float GetDeltaSimTime (void)
void SetUTCDateTime (SDateTime dt)
void SetLocalDateTime (SDateTime dt)
void SetTimeZoneDelta (bool subtract, SDateTimeDelta delta)
void SetTimeZoneOffset (float offset)
void GetTimeZoneDelta (SDateTimeDelta &delta, bool &subtract)
float GetTimeZoneOffset (void)
void SetTimeScale (float scale)
float GetTimeScale (void)
bool GetPauseState (void)
void Pause (void)
void Unpause (void)
SDateTime GetUTCDateTime (void)
SDateTime GetLocalDateTime (void)
double GetJulianDate (void)
double GetModifiedJulianDate (void)
double GetGreenwichSiderealTime (void)
double GetLocalSiderealTime (double lon)
void Print (FILE *f)

Static Public Member Functions

static void SunriseSunset (SPosition pos, SDate date, float zenith, STime &rise, STime &set, bool &neverRises, bool &neverSets)
static int DaysInMonth (int month, int year)
static double JulianDate (SDateTime dt)
static SDateTime CalendarDate (double j)
static SDateTimeDelta SecondsToDateTimeDelta (float s)
static SDateTimeDelta DaysToDateTimeDelta (double d)
static double DateTimeDeltaToDays (SDateTimeDelta delta)
static SDateTime AddTimeDelta (SDateTime dt, SDateTimeDelta delta)
static SDateTime SubtractTimeDelta (SDateTime dt, SDateTimeDelta delta)
static SDateTimeDelta SubtractTime (SDateTime from, SDateTime to)

Protected Attributes

float elapsed
float dRealTime
float dSimTime
float scale
bool paused
SDateTimeDelta tzDelta
bool tzSubtract
SDateTime epoch


Detailed Description

Definition at line 44 of file TimeManager.h.


Constructor & Destructor Documentation

CTimeManager::CTimeManager  ) 
 

Definition at line 43 of file TimeManager.cpp.

References SDateTime::date, SDate::day, SDateTimeDelta::dDays, SDateTimeDelta::dHours, SDateTimeDelta::dMillisecs, SDateTimeDelta::dMinutes, SDateTimeDelta::dMonths, SDateTimeDelta::dSeconds, SDateTimeDelta::dYears, elapsed, epoch, STime::hour, STime::minute, SDate::month, STime::msecs, paused, scale, STime::second, SDateTime::time, tzDelta, tzSubtract, and SDate::year.


Member Function Documentation

SDateTime CTimeManager::AddTimeDelta SDateTime  dt,
SDateTimeDelta  delta
[static]
 

Todo:
Add months and years

Definition at line 854 of file TimeManager.cpp.

References SDateTime::date, SDate::day, DaysInMonth(), SDateTimeDelta::dDays, SDateTimeDelta::dHours, SDateTimeDelta::dMillisecs, SDateTimeDelta::dMinutes, SDateTimeDelta::dSeconds, STime::hour, STime::minute, SDate::month, STime::msecs, STime::second, SDateTime::time, and SDate::year.

Referenced by GetLocalDateTime(), GetUTCDateTime(), KeyGlobalTimeForward(), and SetLocalDateTime().

SDateTime CTimeManager::CalendarDate double  j  )  [static]
 

Definition at line 696 of file TimeManager.cpp.

References SDateTime::date, SDate::day, dt, STime::hour, STime::minute, SDate::month, STime::msecs, STime::second, SDateTime::time, and SDate::year.

double CTimeManager::DateTimeDeltaToDays SDateTimeDelta  delta  )  [static]
 

Definition at line 795 of file TimeManager.cpp.

References SDateTimeDelta::dDays, SDateTimeDelta::dHours, SDateTimeDelta::dMillisecs, SDateTimeDelta::dMinutes, SDateTimeDelta::dSeconds, SECS_PER_DAY, SECS_PER_HOUR, and SECS_PER_MINUTE.

int CTimeManager::DaysInMonth int  month,
int  year
[static]
 

Definition at line 574 of file TimeManager.cpp.

Referenced by AddTimeDelta(), date_time_dlg_sync(), and SubtractTimeDelta().

SDateTimeDelta CTimeManager::DaysToDateTimeDelta double  d  )  [static]
 

Definition at line 815 of file TimeManager.cpp.

References DAYS_PER_HOUR, DAYS_PER_MINUTE, DAYS_PER_MSEC, DAYS_PER_SECOND, SDateTimeDelta::dDays, SDateTimeDelta::dHours, SDateTimeDelta::dMillisecs, SDateTimeDelta::dMinutes, SDateTimeDelta::dMonths, SDateTimeDelta::dSeconds, and SDateTimeDelta::dYears.

Referenced by SubtractTime().

float CTimeManager::GetDeltaRealTime void   ) 
 

Definition at line 430 of file TimeManager.cpp.

References dRealTime.

Referenced by RedrawSimulation().

float CTimeManager::GetDeltaSimTime void   ) 
 

Definition at line 438 of file TimeManager.cpp.

References dSimTime.

Referenced by RedrawSimulation().

float CTimeManager::GetElapsedSimTime void   ) 
 

Definition at line 422 of file TimeManager.cpp.

References elapsed.

Referenced by CFuiManager::Draw(), CNavigationGauge::Draw(), CFuiManager::DrawNoticeToUser(), and CNavigationGauge::MouseClick().

double CTimeManager::GetGreenwichSiderealTime void   ) 
 

Definition at line 295 of file TimeManager.cpp.

References GetJulianDate(), J2000, and Wrap24().

Referenced by GetLocalSiderealTime(), and Print().

double CTimeManager::GetJulianDate void   ) 
 

Definition at line 263 of file TimeManager.cpp.

References dt, GetUTCDateTime(), and JulianDate().

Referenced by GetGreenwichSiderealTime(), GetModifiedJulianDate(), and Print().

SDateTime CTimeManager::GetLocalDateTime void   ) 
 

Definition at line 246 of file TimeManager.cpp.

References AddTimeDelta(), dt, GetUTCDateTime(), SubtractTimeDelta(), tzDelta, and tzSubtract.

Referenced by date_time_dlg_create(), and Print().

double CTimeManager::GetLocalSiderealTime double  lon  ) 
 

Definition at line 323 of file TimeManager.cpp.

References DEGHR, GetGreenwichSiderealTime(), Wrap180(), and Wrap24().

Referenced by calc_zenith_azimuth_angles(), and CSkyManager::Update().

double CTimeManager::GetModifiedJulianDate void   ) 
 

Definition at line 273 of file TimeManager.cpp.

References GetJulianDate().

Referenced by CSkyManager::Print(), Print(), and CSkyManager::Update().

bool CTimeManager::GetPauseState void   ) 
 

Definition at line 354 of file TimeManager.cpp.

References paused.

Referenced by CFuiManager::Draw(), KeyGlobalPause(), and options_pause_cb().

float CTimeManager::GetTimeScale void   ) 
 

Definition at line 349 of file TimeManager.cpp.

References scale.

void CTimeManager::GetTimeZoneDelta SDateTimeDelta delta,
bool &  subtract
 

Definition at line 179 of file TimeManager.cpp.

References tzDelta, and tzSubtract.

float CTimeManager::GetTimeZoneOffset void   ) 
 

Definition at line 189 of file TimeManager.cpp.

References SDateTimeDelta::dHours, SDateTimeDelta::dMinutes, tzDelta, and tzSubtract.

Referenced by date_time_dlg_create().

SDateTime CTimeManager::GetUTCDateTime void   ) 
 

Definition at line 228 of file TimeManager.cpp.

References AddTimeDelta(), dt, elapsed, epoch, and SecondsToDateTimeDelta().

Referenced by GetJulianDate(), GetLocalDateTime(), KeyGlobalTimeBackward(), KeyGlobalTimeForward(), CSkyManager::Print(), and Print().

double CTimeManager::JulianDate SDateTime  dt  )  [static]
 

Definition at line 658 of file TimeManager.cpp.

References SDateTime::date, SDate::day, STime::hour, STime::minute, SDate::month, STime::msecs, STime::second, SDateTime::time, and SDate::year.

Referenced by GetJulianDate(), and SubtractTime().

void CTimeManager::Pause void   ) 
 

Definition at line 359 of file TimeManager.cpp.

References paused.

Referenced by KeyGlobalPause(), and options_pause_cb().

void CTimeManager::Prepare void   ) 
 

Definition at line 202 of file TimeManager.cpp.

References dRealTime, dSimTime, elapsed, and gtfo.

Referenced by InitGlobalsNoPodFilesystem().

void CTimeManager::Print FILE *  f  ) 
 

Definition at line 1022 of file TimeManager.cpp.

References SDateTime::date, SDate::day, SDateTimeDelta::dHours, SDateTimeDelta::dMinutes, dt, FormatSiderealTime(), GetGreenwichSiderealTime(), GetJulianDate(), GetLocalDateTime(), GetModifiedJulianDate(), GetUTCDateTime(), STime::hour, STime::minute, SDate::month, STime::msecs, STime::second, SDateTime::time, tzDelta, tzSubtract, and SDate::year.

Referenced by debug_dump_time_cb().

SDateTimeDelta CTimeManager::SecondsToDateTimeDelta float  s  )  [static]
 

Definition at line 769 of file TimeManager.cpp.

References SDateTimeDelta::dDays, SDateTimeDelta::dHours, SDateTimeDelta::dMillisecs, SDateTimeDelta::dMinutes, SDateTimeDelta::dMonths, SDateTimeDelta::dSeconds, SDateTimeDelta::dYears, SECS_PER_DAY, SECS_PER_HOUR, and SECS_PER_MINUTE.

Referenced by GetUTCDateTime().

void CTimeManager::SetLocalDateTime SDateTime  dt  ) 
 

Set the simulation date and time in Local Time. Local time zone is initialized from the user's computer, unless overridden by a call to the SetTimeZoneDelta method.

Parameters:
dt Date/Time in SDateTime struct

Definition at line 118 of file TimeManager.cpp.

References AddTimeDelta(), SetUTCDateTime(), SubtractTimeDelta(), tzDelta, and tzSubtract.

Referenced by date_time_ok_cb().

void CTimeManager::SetTimeScale float  scale  ) 
 

Definition at line 343 of file TimeManager.cpp.

Referenced by InitGlobalsNoPodFilesystem().

void CTimeManager::SetTimeZoneDelta bool  subtract,
SDateTimeDelta  delta
 

Set the local time zone offset relative to UTC. This offset will be used for all subsequent conversions from UTC to local time. Note that the simulation time (which is stored as UTC) is not affected when the local time zone offset is updated

Parameters:
subtract true if time zone delta is subtracted from UTC, false if it is added to UTC
delta Time zone delta in SDateTimeDelta struct

Definition at line 144 of file TimeManager.cpp.

References tzDelta, and tzSubtract.

void CTimeManager::SetTimeZoneOffset float  offset  ) 
 

Set the local time zone offset relative to UTC. This offset will be used for all subsequent conversions from UTC to local time. Note that the simulation time (which is stored as UTC) is not affected when the local time zone offset is updated

Parameters:
offset Offset of local timezone from UTC, in hours
Todo:
Complete implementation of CTimeManager::SetTimeZoneOffset (float)

Definition at line 158 of file TimeManager.cpp.

References SDateTimeDelta::dHours, SDateTimeDelta::dMinutes, tzDelta, and tzSubtract.

Referenced by date_time_ok_cb().

void CTimeManager::SetUTCDateTime SDateTime  dt  ) 
 

Set the simulation date and time in Universal Coordinated Time.

Parameters:
dt Date/Time in SDateTime struct

Definition at line 105 of file TimeManager.cpp.

References elapsed, and epoch.

Referenced by KeyGlobalTimeBackward(), KeyGlobalTimeForward(), and SetLocalDateTime().

SDateTimeDelta CTimeManager::SubtractTime SDateTime  from,
SDateTime  to
[static]
 

Definition at line 1003 of file TimeManager.cpp.

References DaysToDateTimeDelta(), and JulianDate().

SDateTime CTimeManager::SubtractTimeDelta SDateTime  dt,
SDateTimeDelta  delta
[static]
 

Definition at line 931 of file TimeManager.cpp.

References SDateTime::date, SDate::day, DaysInMonth(), SDateTimeDelta::dDays, SDateTimeDelta::dHours, SDateTimeDelta::dMillisecs, SDateTimeDelta::dMinutes, SDateTimeDelta::dSeconds, STime::hour, STime::minute, SDate::month, STime::msecs, STime::second, second, SDateTime::time, and SDate::year.

Referenced by GetLocalDateTime(), KeyGlobalTimeBackward(), and SetLocalDateTime().

void CTimeManager::SunriseSunset SPosition  pos,
SDate  date,
float  zenith,
STime rise,
STime set,
bool &  neverRises,
bool &  neverSets
[static]
 

Definition at line 449 of file TimeManager.cpp.

References SDate::day, STime::hour, SPosition::lat, SPosition::lon, STime::minute, SDate::month, STime::msecs, RadToDeg(), STime::second, Wrap24(), Wrap360(), and SDate::year.

void CTimeManager::Unpause void   ) 
 

Definition at line 364 of file TimeManager.cpp.

References paused.

Referenced by KeyGlobalPause(), and options_pause_cb().

void CTimeManager::Update void   ) 
 

Definition at line 374 of file TimeManager.cpp.

References CFrameRateTracker::AddSample(), SGlobals::drawRate, dRealTime, dSimTime, elapsed, globals, paused, and scale.

Referenced by RedrawSimulation().


Member Data Documentation

float CTimeManager::dRealTime [protected]
 

Definition at line 99 of file TimeManager.h.

Referenced by GetDeltaRealTime(), Prepare(), and Update().

float CTimeManager::dSimTime [protected]
 

Definition at line 100 of file TimeManager.h.

Referenced by GetDeltaSimTime(), Prepare(), and Update().

float CTimeManager::elapsed [protected]
 

Definition at line 96 of file TimeManager.h.

Referenced by CTimeManager(), GetElapsedSimTime(), GetUTCDateTime(), Prepare(), SetUTCDateTime(), and Update().

SDateTime CTimeManager::epoch [protected]
 

Definition at line 117 of file TimeManager.h.

Referenced by CTimeManager(), GetUTCDateTime(), and SetUTCDateTime().

bool CTimeManager::paused [protected]
 

Definition at line 106 of file TimeManager.h.

Referenced by CTimeManager(), GetPauseState(), Pause(), Unpause(), and Update().

float CTimeManager::scale [protected]
 

Definition at line 103 of file TimeManager.h.

Referenced by CTimeManager(), GetTimeScale(), and Update().

SDateTimeDelta CTimeManager::tzDelta [protected]
 

Definition at line 111 of file TimeManager.h.

Referenced by CTimeManager(), GetLocalDateTime(), GetTimeZoneDelta(), GetTimeZoneOffset(), Print(), SetLocalDateTime(), SetTimeZoneDelta(), and SetTimeZoneOffset().

bool CTimeManager::tzSubtract [protected]
 

Definition at line 112 of file TimeManager.h.

Referenced by CTimeManager(), GetLocalDateTime(), GetTimeZoneDelta(), GetTimeZoneOffset(), Print(), SetLocalDateTime(), SetTimeZoneDelta(), and SetTimeZoneOffset().


The documentation for this class was generated from the following files:
SourceForge.net Logo Documentation generated by doxygen