OpenCPN Partial API docs
Loading...
Searching...
No Matches
navutil_base.h File Reference

Navigation Utility Functions without GUI dependencies. More...

#include <wx/datetime.h>
#include <wx/string.h>
#include <wx/utils.h>
#include "model/config_vars.h"
#include "model/gpx_document.h"

Go to the source code of this file.

Enumerations

enum  { SPEED_KTS = 0 , SPEED_MPH , SPEED_KMH , SPEED_MS }
 
enum  { WSPEED_KTS = 0 , WSPEED_MS , WSPEED_MPH , WSPEED_KMH }
 
enum  { DEPTH_FT = 0 , DEPTH_M , DEPTH_FA }
 
enum  { HEIGHT_M = 0 , HEIGHT_FT }
 Height unit format constants for vertical measurements above reference datum. More...
 
enum  { TEMPERATURE_C = 0 , TEMPERATURE_F = 1 , TEMPERATURE_K = 2 }
 
enum  {
  DISTANCE_NMI = 0 , DISTANCE_MI , DISTANCE_KM , DISTANCE_M ,
  DISTANCE_FT , DISTANCE_FA , DISTANCE_IN , DISTANCE_CM
}
 

Functions

wxString toSDMM (int NEflag, double a, bool hi_precision=true)
 
double toUsrSpeed (double kts_speed, int unit=-1)
 
double toUsrWindSpeed (double kts_speed, int unit=-1)
 
wxString getUsrSpeedUnit (int unit=-1)
 
wxString getUsrWindSpeedUnit (int unit=-1)
 
wxString getUsrTempUnit (int unit=-1)
 
wxString FormatDistanceAdaptive (double distance)
 Format a distance (given in nautical miles) using the current distance preference, adapting unit and precision for readability when appropriate.
 
double toUsrTemp (double cel_temp, int unit=-1)
 Convert a temperature from Celsius to user display units.
 
double toUsrDistance (double nm_distance, int unit=-1)
 Convert a distance from nautical miles (NMi) to user display units.
 
wxString getUsrDistanceUnit (int unit=-1)
 
double fromUsrDistance (double usr_distance, int unit, int default_val=-1)
 Convert distance from user units to nautical miles.
 
double fromUsrSpeed (double usr_speed, int unit, int default_val)
 
double toUsrDepth (double m_depth, int unit=-1)
 Convert a depth from meters to user display units.
 
double fromUsrDepth (double usr_depth, int unit=-1)
 
wxString getUsrDepthUnit (int unit=-1)
 
double toUsrHeight (double m_height, int unit=-1)
 Convert height from meters to preferred height units.
 
double fromUsrHeight (double usr_height, int unit=-1)
 Convert height from preferred height units to meters.
 
wxString getUsrHeightUnit (int unit=-1)
 Get the abbreviation for the preferred height unit.
 
const wxChar * ParseGPXDateTime (wxDateTime &dt, const wxChar *datetime)
 This function parses a string containing a GPX time representation and returns a wxDateTime containing the UTC corresponding to the input.
 
wxString formatTimeDelta (wxTimeSpan span)
 
wxString formatTimeDelta (wxDateTime startTime, wxDateTime endTime)
 
wxString formatTimeDelta (wxLongLong secs)
 
double fromDMM (wxString sdms)
 
double toMagnetic (double deg_true)
 
double toMagnetic (double deg_true, double variation)
 
wxString SanitizeFileName (const wxString &input)
 

Detailed Description

Navigation Utility Functions without GUI dependencies.

Definition in file navutil_base.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Definition at line 35 of file navutil_base.h.

◆ anonymous enum

anonymous enum

Definition at line 36 of file navutil_base.h.

◆ anonymous enum

anonymous enum

Height unit format constants for vertical measurements above reference datum.

Definition at line 39 of file navutil_base.h.

◆ anonymous enum

anonymous enum

Definition at line 40 of file navutil_base.h.

◆ anonymous enum

anonymous enum

Definition at line 42 of file navutil_base.h.

◆ anonymous enum

anonymous enum

Definition at line 34 of file navutil_base.h.

Function Documentation

◆ FormatDistanceAdaptive()

wxString FormatDistanceAdaptive ( double  distance)
extern

Format a distance (given in nautical miles) using the current distance preference, adapting unit and precision for readability when appropriate.

  • Interprets distance as nautical miles (NMi).
  • Applies the user's distance preference when converting and formatting.
  • May adjust the displayed unit and numeric precision based on magnitude to improve readability.
Parameters
distanceDistance in nautical miles to format.
Returns
Localized string containing the numeric value and unit.

Definition at line 344 of file navutil_base.cpp.

◆ formatTimeDelta() [1/3]

wxString formatTimeDelta ( wxDateTime  startTime,
wxDateTime  endTime 
)
extern

Definition at line 689 of file navutil_base.cpp.

◆ formatTimeDelta() [2/3]

wxString formatTimeDelta ( wxLongLong  secs)
extern

Definition at line 699 of file navutil_base.cpp.

◆ formatTimeDelta() [3/3]

wxString formatTimeDelta ( wxTimeSpan  span)
extern

Definition at line 671 of file navutil_base.cpp.

◆ fromDMM()

double fromDMM ( wxString  sdms)
extern

Definition at line 728 of file navutil_base.cpp.

◆ fromUsrDepth()

double fromUsrDepth ( double  usr_depth,
int  unit = -1 
)
extern

Definition at line 449 of file navutil_base.cpp.

◆ fromUsrDistance()

double fromUsrDistance ( double  usr_distance,
int  unit,
int  default_val = -1 
)
extern

Convert distance from user units to nautical miles.

Parameters
usr_distanceDistance in user units
unitUnit to convert from, or -1 to use default_val
default_valDefault unit when unit=-1, or -1 to use the global default

Definition at line 394 of file navutil_base.cpp.

◆ fromUsrHeight()

double fromUsrHeight ( double  usr_height,
int  unit = -1 
)
extern

Convert height from preferred height units to meters.

Definition at line 500 of file navutil_base.cpp.

◆ fromUsrSpeed()

double fromUsrSpeed ( double  usr_speed,
int  unit,
int  default_val 
)
extern

Definition at line 370 of file navutil_base.cpp.

◆ getUsrDepthUnit()

wxString getUsrDepthUnit ( int  unit = -1)
extern

Definition at line 469 of file navutil_base.cpp.

◆ getUsrDistanceUnit()

wxString getUsrDistanceUnit ( int  unit = -1)
extern

Definition at line 266 of file navutil_base.cpp.

◆ getUsrHeightUnit()

wxString getUsrHeightUnit ( int  unit = -1)
extern

Get the abbreviation for the preferred height unit.

Definition at line 514 of file navutil_base.cpp.

◆ getUsrSpeedUnit()

wxString getUsrSpeedUnit ( int  unit = -1)
extern

Definition at line 301 of file navutil_base.cpp.

◆ getUsrTempUnit()

wxString getUsrTempUnit ( int  unit = -1)
extern

Definition at line 246 of file navutil_base.cpp.

◆ getUsrWindSpeedUnit()

wxString getUsrWindSpeedUnit ( int  unit = -1)
extern

Definition at line 324 of file navutil_base.cpp.

◆ ParseGPXDateTime()

const wxChar * ParseGPXDateTime ( wxDateTime &  dt,
const wxChar *  datetime 
)

This function parses a string containing a GPX time representation and returns a wxDateTime containing the UTC corresponding to the input.

The function return value is a pointer past the last valid character parsed (if successful) or NULL (if the string is invalid).

Valid GPX time strings are in ISO 8601 format as follows:

[-]<YYYY>-<MM>-T<hh>:<mm>:<ss>Z|(+|-<hh>:<mm>)

For example, 2010-10-30T14:34:56Z and 2010-10-30T14:34:56-04:00 are the same time. The first is UTC and the second is EDT.

Definition at line 603 of file navutil_base.cpp.

◆ SanitizeFileName()

wxString SanitizeFileName ( const wxString &  input)

Definition at line 819 of file navutil_base.cpp.

◆ toMagnetic() [1/2]

double toMagnetic ( double  deg_true)
extern

Definition at line 794 of file navutil_base.cpp.

◆ toMagnetic() [2/2]

double toMagnetic ( double  deg_true,
double  variation 
)
extern

Definition at line 810 of file navutil_base.cpp.

◆ toSDMM()

wxString toSDMM ( int  NEflag,
double  a,
bool  hi_precision = true 
)
extern

Definition at line 44 of file navutil_base.cpp.

◆ toUsrDepth()

double toUsrDepth ( double  m_depth,
int  unit = -1 
)
extern

Convert a depth from meters to user display units.

Parameters
m_depthDepth in meters to convert.
unitOutput unit or -1 to use the global depth format.
Returns
Converted depth in the selected unit, or NaN on error.

Definition at line 429 of file navutil_base.cpp.

◆ toUsrDistance()

double toUsrDistance ( double  nm_distance,
int  unit = -1 
)
extern

Convert a distance from nautical miles (NMi) to user display units.

Parameters
nm_distanceDistance in nautical miles to convert.
unitOutput unit or -1 to use the global distance format.
Returns
Converted distance in the selected unit, or NaN on error.

Definition at line 191 of file navutil_base.cpp.

◆ toUsrHeight()

double toUsrHeight ( double  m_height,
int  unit = -1 
)
extern

Convert height from meters to preferred height units.

Definition at line 486 of file navutil_base.cpp.

◆ toUsrSpeed()

double toUsrSpeed ( double  kts_speed,
int  unit = -1 
)
extern

Definition at line 148 of file navutil_base.cpp.

◆ toUsrTemp()

double toUsrTemp ( double  cel_temp,
int  unit = -1 
)
extern

Convert a temperature from Celsius to user display units.

Parameters
cel_tempTemperature in Celsius to convert.
unitOutput unit or -1 to use the global temperature format.
Returns
Converted temperature in the selected unit, or NaN on error.

Definition at line 226 of file navutil_base.cpp.

◆ toUsrWindSpeed()

double toUsrWindSpeed ( double  kts_speed,
int  unit = -1 
)
extern

Definition at line 171 of file navutil_base.cpp.