26 #ifndef _NAVUTIL_BASE__
27 #define _NAVUTIL_BASE__
29 #include <wx/datetime.h>
30 #include <wx/string.h>
33 #include "model/config_vars.h"
36 enum { SPEED_KTS = 0, SPEED_MPH, SPEED_KMH, SPEED_MS };
37 enum { WSPEED_KTS = 0, WSPEED_MS, WSPEED_MPH, WSPEED_KMH };
38 enum { DEPTH_FT = 0, DEPTH_M, DEPTH_FA };
39 enum { TEMPERATURE_C = 0, TEMPERATURE_F = 1, TEMPERATURE_K = 2 };
54 static wxString GetUUID(
void);
55 static void SeedRandom();
58 static int GetRandomNumber(
int min,
int max);
62 extern wxString toSDMM(
int NEflag,
double a,
bool hi_precision =
true);
63 extern double toUsrSpeed(
double kts_speed,
int unit = -1);
64 extern double toUsrWindSpeed(
double kts_speed,
int unit = -1);
65 extern wxString getUsrSpeedUnit(
int unit = -1);
66 extern wxString getUsrWindSpeedUnit(
int unit = -1);
67 extern wxString getUsrTempUnit(
int unit = -1);
68 extern wxString FormatDistanceAdaptive(
double distance);
69 extern double toUsrTemp(
double cel_temp,
int unit = -1);
71 extern double toUsrDistance(
double nm_distance,
int unit = -1);
72 extern wxString getUsrDistanceUnit(
int unit = -1);
73 extern double fromUsrDistance(
double usr_distance,
int unit,
int default_val);
74 extern double fromUsrSpeed(
double usr_speed,
int unit,
int default_val);
76 extern double toUsrDepth(
double cel_depth,
int unit = -1);
77 extern double fromUsrDepth(
double usr_depth,
int unit = -1);
78 extern wxString getUsrDepthUnit(
int unit = -1);
80 const wxChar *ParseGPXDateTime(wxDateTime &dt,
const wxChar *datetime);
82 extern wxString formatTimeDelta(wxTimeSpan span);
83 extern wxString formatTimeDelta(wxDateTime startTime, wxDateTime endTime);
84 extern wxString formatTimeDelta(wxLongLong secs);
86 extern double fromDMM(wxString sdms);
88 extern double toMagnetic(
double deg_true);
89 extern double toMagnetic(
double deg_true,
double variation);