26#ifndef _NAVUTIL_BASE__
27#define _NAVUTIL_BASE__
29#include <wx/datetime.h>
33#include "model/config_vars.h"
36enum { SPEED_KTS = 0, SPEED_MPH, SPEED_KMH, SPEED_MS };
37enum { WSPEED_KTS = 0, WSPEED_MS, WSPEED_MPH, WSPEED_KMH };
38enum { DEPTH_FT = 0, DEPTH_M, DEPTH_FA };
39enum { TEMPERATURE_C = 0, TEMPERATURE_F = 1, TEMPERATURE_K = 2 };
52extern wxString toSDMM(
int NEflag,
double a,
bool hi_precision =
true);
53extern double toUsrSpeed(
double kts_speed,
int unit = -1);
54extern double toUsrWindSpeed(
double kts_speed,
int unit = -1);
55extern wxString getUsrSpeedUnit(
int unit = -1);
56extern wxString getUsrWindSpeedUnit(
int unit = -1);
57extern wxString getUsrTempUnit(
int unit = -1);
58extern wxString FormatDistanceAdaptive(
double distance);
59extern double toUsrTemp(
double cel_temp,
int unit = -1);
61extern double toUsrDistance(
double nm_distance,
int unit = -1);
62extern wxString getUsrDistanceUnit(
int unit = -1);
63extern double fromUsrDistance(
double usr_distance,
int unit,
int default_val);
64extern double fromUsrSpeed(
double usr_speed,
int unit,
int default_val);
66extern double toUsrDepth(
double cel_depth,
int unit = -1);
67extern double fromUsrDepth(
double usr_depth,
int unit = -1);
68extern wxString getUsrDepthUnit(
int unit = -1);
83const wxChar *ParseGPXDateTime(wxDateTime &dt,
const wxChar *datetime);
85extern wxString formatTimeDelta(wxTimeSpan span);
86extern wxString formatTimeDelta(wxDateTime startTime, wxDateTime endTime);
87extern wxString formatTimeDelta(wxLongLong secs);
89extern double fromDMM(wxString sdms);
91extern double toMagnetic(
double deg_true);
92extern double toMagnetic(
double deg_true,
double variation);