OpenCPN Partial API docs
Loading...
Searching...
No Matches
RoutePoint Class Reference

Represents a waypoint or mark within the navigation system. More...

#include <route_point.h>

Public Member Functions

 RoutePoint (double lat, double lon, const wxString &icon_ident, const wxString &name, const wxString &pGUID=wxEmptyString, bool bAddToList=true)
 
 RoutePoint (RoutePoint *orig)
 
void ReLoadIcon ()
 
void SetPosition (double lat, double lon)
 
double GetLatitude ()
 
double GetLongitude ()
 
LLBBox & GetBBox ()
 
bool IsSame (RoutePoint *pOtherRP)
 
bool IsVisible ()
 
bool IsListed ()
 
bool IsNameShown ()
 
bool IsNameDynamic ()
 
bool IsShared ()
 
void SetShared (bool bshared)
 
bool IsSharedInVisibleRoute (void)
 
bool IsVisibleSelectable (double scale_val, bool boverrideViz=false)
 
void SetVisible (bool viz=true)
 
void SetListed (bool viz=true)
 
void SetNameShown (bool viz=true)
 
bool GetNameShown ()
 
virtual wxString GetName (void)
 
wxString GetDescription (void)
 
wxDateTime GetCreateTime (void)
 
void SetCreateTime (wxDateTime dt)
 
wxString GetIconName (void)
 
void SetIconName (wxString name)
 
void * GetSelectNode (void)
 
void SetSelectNode (void *node)
 
void * GetManagerListNode (void)
 
void SetManagerListNode (void *node)
 
void SetName (const wxString &name)
 
void CalculateNameExtents (void)
 
void SetCourse (double course)
 
double GetCourse ()
 
void SetDistance (double distance)
 
double GetDistance ()
 
void SetWaypointArrivalRadius (double dArrivalDistance)
 
void SetWaypointArrivalRadius (wxString wxArrivalDistance)
 
double GetWaypointArrivalRadius ()
 
bool GetShowWaypointRangeRings (void)
 
int GetWaypointRangeRingsNumber (void)
 
float GetWaypointRangeRingsStep (void)
 
int GetWaypointRangeRingsStepUnits (void)
 
void SetShowWaypointRangeRings (bool b_showWaypointRangeRings)
 
void SetWaypointRangeRingsNumber (int i_WaypointRangeRingsNumber)
 
void SetWaypointRangeRingsStep (float f_WaypointRangeRingsStep)
 
void SetWaypointRangeRingsStepUnits (int i_WaypointRangeRingsStepUnits)
 
void SetWaypointRangeRingsColour (wxColour wxc_WaypointRangeRingsColour)
 
void SetScaMin (wxString str)
 
void SetScaMin (long val)
 
long GetScaMin ()
 
void SetScaMax (wxString str)
 
void SetScaMax (long val)
 
long GetScaMax ()
 
bool GetUseSca ()
 
void SetUseSca (bool value)
 
bool IsDragHandleEnabled ()
 
void SetPlannedSpeed (double spd)
 
double GetPlannedSpeed ()
 
wxDateTime GetETD ()
 Retrieves the Estimated Time of Departure for this waypoint, in UTC.
 
wxDateTime GetManualETD ()
 Retrieves the manually set Estimated Time of Departure for this waypoint, in UTC.
 
void SetETD (const wxDateTime &etd)
 Sets the Estimated Time of Departure for this waypoint, in UTC.
 
bool SetETD (const wxString &ts)
 Sets the Estimated Time of Departure from a string.
 
wxDateTime GetETA ()
 Retrieves the Estimated Time of Arrival for this waypoint, in UTC.
 
wxString GetETE ()
 Retrieves the Estimated Time En route as a formatted string.
 
void SetETE (wxLongLong secs)
 

Public Attributes

double m_lat
 
double m_lon
 
double m_seg_len
 
double m_seg_vmg
 Planned speed for traveling FROM this waypoint TO the next waypoint.
 
wxDateTime m_seg_etd
 Estimated Time of Departure from this waypoint, in UTC.
 
wxDateTime m_seg_eta
 Estimated Time of Arrival at this waypoint, in UTC.
 
wxLongLong m_seg_ete = 0
 Estimated Time Enroute for the leg leading to this waypoint.
 
bool m_manual_etd {false}
 Flag indicating whether the ETD has been manually set by the user.
 
bool m_bPtIsSelected
 
bool m_bRPIsBeingEdited
 
bool m_bIsInRoute
 
bool m_bIsolatedMark
 Flag indicating if the waypoint is a standalone mark.
 
bool m_bIsVisible
 
bool m_bIsListed
 
bool m_bIsActive
 
bool m_IconIsDirty
 
wxString m_MarkDescription
 
wxString m_GUID
 
wxString m_TideStation
 
wxFont * m_pMarkFont
 
wxColour m_FontColor
 
wxSize m_NameExtents
 
bool m_bBlink
 
bool m_bShowName
 
bool m_bShowNameData
 
wxRect CurrentRect_in_DC
 
int m_NameLocationOffsetX
 
int m_NameLocationOffsetY
 
bool m_bIsInLayer
 
int m_LayerID
 
double m_routeprop_course
 
double m_routeprop_distance
 
bool m_btemp
 
bool m_bShowWaypointRangeRings
 
int m_iWaypointRangeRingsNumber
 
float m_fWaypointRangeRingsStep
 
int m_iWaypointRangeRingsStepUnits
 
wxColour m_wxcWaypointRangeRingsColour
 
unsigned int m_iTextTexture
 
int m_iTextTextureWidth
 
int m_iTextTextureHeight
 
LLBBox m_wpBBox
 
double m_wpBBox_view_scale_ppm
 
double m_wpBBox_rotation
 
bool m_pos_on_screen
 
wxPoint2DDouble m_screen_pos
 
double m_WaypointArrivalRadius
 
HyperlinkList * m_HyperlinkList
 
wxString m_timestring
 
wxDateTime m_CreateTimeX
 

Static Public Attributes

static std::function< void(unsigned, const unsigned *)> delete_gl_textures
 Horrible Hack (tm).
 

Friends

class RoutePointGui
 

Detailed Description

Represents a waypoint or mark within the navigation system.

RoutePoint represents both standalone marks and waypoints that are part of routes or tracks. A RoutePoint contains geographical coordinates, display properties, and various navigation-related attributes.

RoutePoints can exist in several states:

  • As standalone marks (isolated waypoints)
  • As part of one or more routes
  • As shared waypoints (used in multiple routes)

The class manages visual properties like icons, visibility, and range rings, as well as navigation data like arrival radius, planned speed, and ETAs.

See also
Route

Definition at line 70 of file route_point.h.

Constructor & Destructor Documentation

◆ RoutePoint() [1/3]

RoutePoint::RoutePoint ( double  lat,
double  lon,
const wxString &  icon_ident,
const wxString &  name,
const wxString &  pGUID = wxEmptyString,
bool  bAddToList = true 
)

Definition at line 175 of file route_point.cpp.

◆ RoutePoint() [2/3]

RoutePoint::RoutePoint ( RoutePoint orig)

Definition at line 119 of file route_point.cpp.

◆ RoutePoint() [3/3]

RoutePoint::RoutePoint ( )

Definition at line 53 of file route_point.cpp.

◆ ~RoutePoint()

RoutePoint::~RoutePoint ( void  )
virtual

Definition at line 261 of file route_point.cpp.

Member Function Documentation

◆ CalculateNameExtents()

void RoutePoint::CalculateNameExtents ( void  )

Definition at line 290 of file route_point.cpp.

◆ GetBBox()

LLBBox & RoutePoint::GetBBox ( )
inline

Definition at line 94 of file route_point.h.

◆ GetCourse()

double RoutePoint::GetCourse ( )
inline

Definition at line 131 of file route_point.h.

◆ GetCreateTime()

wxDateTime RoutePoint::GetCreateTime ( void  )

Definition at line 272 of file route_point.cpp.

◆ GetDescription()

wxString RoutePoint::GetDescription ( void  )
inline

Definition at line 113 of file route_point.h.

◆ GetDistance()

double RoutePoint::GetDistance ( )
inline

Definition at line 133 of file route_point.h.

◆ GetETA()

wxDateTime RoutePoint::GetETA ( )

Retrieves the Estimated Time of Arrival for this waypoint, in UTC.

This function returns the stored Estimated Time of Arrival (ETA) if it's valid. The ETA is typically calculated based on route planning data such as distances and planned speeds.

For the first waypoint in a route, the ETA represents when the vessel is expected to reach this waypoint from its current position or a designated starting point. It is calculated based on:

  • The current vessel position
  • The distance to the first waypoint
  • The vessel's current or planned speed

For subsequent waypoints, it represents when the vessel is expected to arrive after leaving the previous waypoint.

The relationship between waypoints creates a timing chain: The ETA at one waypoint determines the default ETD from that waypoint, which then affects the ETA at the next waypoint, and so on through the route.

Returns
The estimated time of arrival as a wxDateTime object, or wxInvalidDateTime if no valid ETA information exists.

Definition at line 515 of file route_point.cpp.

◆ GetETD()

wxDateTime RoutePoint::GetETD ( )

Retrieves the Estimated Time of Departure for this waypoint, in UTC.

This function returns the waypoint's ETD (Estimated Time of Departure), considering both explicitly set ETD values and values embedded in the waypoint description.

Returns
The estimated time of departure as a wxDateTime object, or wxInvalidDateTime if no valid ETD information exists.

Definition at line 463 of file route_point.cpp.

◆ GetETE()

wxString RoutePoint::GetETE ( )

Retrieves the Estimated Time En route as a formatted string.

This function returns the Estimated Time En route (ETE) for this waypoint as a formatted time delta string. The ETE represents the expected travel time to reach this waypoint from the previous point in a route.

Returns
Formatted string representation of the time en route, or an empty string if no ETE value is available.

Definition at line 522 of file route_point.cpp.

◆ GetIconName()

wxString RoutePoint::GetIconName ( void  )
inline

Definition at line 118 of file route_point.h.

◆ GetLatitude()

double RoutePoint::GetLatitude ( )
inline

Definition at line 92 of file route_point.h.

◆ GetLongitude()

double RoutePoint::GetLongitude ( )
inline

Definition at line 93 of file route_point.h.

◆ GetManagerListNode()

void * RoutePoint::GetManagerListNode ( void  )
inline

Definition at line 124 of file route_point.h.

◆ GetManualETD()

wxDateTime RoutePoint::GetManualETD ( )

Retrieves the manually set Estimated Time of Departure for this waypoint, in UTC.

This function returns the manually set ETD (Estimated Time of Departure) value only if the ETD was explicitly set by a user rather than calculated automatically. If the ETD is not manually set or if the ETD is invalid, the function returns an invalid datetime value.

The function checks two conditions:

  1. The m_manual_etd flag must be true, indicating the ETD was manually set
  2. The m_seg_etd value must be valid
Returns
The manually set ETD as a wxDateTime object if available, or wxInvalidDateTime if no manual ETD has been set.

Definition at line 508 of file route_point.cpp.

◆ GetName()

virtual wxString RoutePoint::GetName ( void  )
inlinevirtual

Definition at line 112 of file route_point.h.

◆ GetNameShown()

bool RoutePoint::GetNameShown ( )
inline

Definition at line 111 of file route_point.h.

◆ GetPlannedSpeed()

double RoutePoint::GetPlannedSpeed ( )

Definition at line 446 of file route_point.cpp.

◆ GetScaMax()

long RoutePoint::GetScaMax ( )
inline

Definition at line 166 of file route_point.h.

◆ GetScaMin()

long RoutePoint::GetScaMin ( )
inline

Definition at line 163 of file route_point.h.

◆ GetSelectNode()

void * RoutePoint::GetSelectNode ( void  )
inline

Definition at line 121 of file route_point.h.

◆ GetShowWaypointRangeRings()

bool RoutePoint::GetShowWaypointRangeRings ( void  )
inline

Definition at line 142 of file route_point.h.

◆ GetUseSca()

bool RoutePoint::GetUseSca ( )
inline

Definition at line 167 of file route_point.h.

◆ GetWaypointArrivalRadius()

double RoutePoint::GetWaypointArrivalRadius ( )

Definition at line 389 of file route_point.cpp.

◆ GetWaypointRangeRingsNumber()

int RoutePoint::GetWaypointRangeRingsNumber ( void  )

Definition at line 397 of file route_point.cpp.

◆ GetWaypointRangeRingsStep()

float RoutePoint::GetWaypointRangeRingsStep ( void  )

Definition at line 404 of file route_point.cpp.

◆ GetWaypointRangeRingsStepUnits()

int RoutePoint::GetWaypointRangeRingsStepUnits ( void  )

Definition at line 411 of file route_point.cpp.

◆ IsDragHandleEnabled()

bool RoutePoint::IsDragHandleEnabled ( )
inline

Definition at line 169 of file route_point.h.

◆ IsListed()

bool RoutePoint::IsListed ( )
inline

Definition at line 98 of file route_point.h.

◆ IsNameDynamic()

bool RoutePoint::IsNameDynamic ( )

Check if the name is dynamic for resequencing purposes. If the name is part of a route, and has 3 numeric characters, then it is dynamic and can be resequenced.

Definition at line 368 of file route_point.cpp.

◆ IsNameShown()

bool RoutePoint::IsNameShown ( )
inline

Definition at line 99 of file route_point.h.

◆ IsSame()

bool RoutePoint::IsSame ( RoutePoint pOtherRP)

Definition at line 352 of file route_point.cpp.

◆ IsShared()

bool RoutePoint::IsShared ( )
inline

Definition at line 102 of file route_point.h.

◆ IsSharedInVisibleRoute()

bool RoutePoint::IsSharedInVisibleRoute ( void  )

Definition at line 324 of file route_point.cpp.

◆ IsVisible()

bool RoutePoint::IsVisible ( )
inline

Definition at line 97 of file route_point.h.

◆ IsVisibleSelectable()

bool RoutePoint::IsVisibleSelectable ( double  scale_val,
bool  boverrideViz = false 
)

Definition at line 306 of file route_point.cpp.

◆ ReLoadIcon()

void RoutePoint::ReLoadIcon ( )
inline

Definition at line 89 of file route_point.h.

◆ SetCourse()

void RoutePoint::SetCourse ( double  course)
inline

Definition at line 130 of file route_point.h.

◆ SetCreateTime()

void RoutePoint::SetCreateTime ( wxDateTime  dt)

Definition at line 279 of file route_point.cpp.

◆ SetDistance()

void RoutePoint::SetDistance ( double  distance)
inline

Definition at line 132 of file route_point.h.

◆ SetETD() [1/2]

void RoutePoint::SetETD ( const wxDateTime &  etd)

Sets the Estimated Time of Departure for this waypoint, in UTC.

This function sets the ETD (Estimated Time of Departure) for the waypoint and marks it as manually set by setting the m_manual_etd flag to true.

Parameters
etdThe wxDateTime object representing the estimated time of departure.

Definition at line 531 of file route_point.cpp.

◆ SetETD() [2/2]

bool RoutePoint::SetETD ( const wxString &  ts)

Sets the Estimated Time of Departure from a string.

This function attempts to parse a datetime string and set it as the ETD value. If successful, it marks the ETD as manually set. If the input string is empty, it clears the ETD value and resets the manual flag.

The function tries two parsing methods:

  1. ISO combined format (YYYY-MM-DDThh:mm:ss)
  2. Generic datetime parsing
Parameters
tsString containing the datetime to set as ETD.
Returns
True if parsing was successful or the string was empty, false if parsing failed.
Note
The input string is assumed to be in UTC format. No timezone conversion is performed.
Todo:
: add support to parse timezone information from the string.

Definition at line 536 of file route_point.cpp.

◆ SetETE()

void RoutePoint::SetETE ( wxLongLong  secs)

Definition at line 529 of file route_point.cpp.

◆ SetIconName()

void RoutePoint::SetIconName ( wxString  name)
inline

Definition at line 119 of file route_point.h.

◆ SetListed()

void RoutePoint::SetListed ( bool  viz = true)
inline

Definition at line 109 of file route_point.h.

◆ SetManagerListNode()

void RoutePoint::SetManagerListNode ( void *  node)
inline

Definition at line 125 of file route_point.h.

◆ SetName()

void RoutePoint::SetName ( const wxString &  name)

Definition at line 281 of file route_point.cpp.

◆ SetNameShown()

void RoutePoint::SetNameShown ( bool  viz = true)
inline

Definition at line 110 of file route_point.h.

◆ SetPlannedSpeed()

void RoutePoint::SetPlannedSpeed ( double  spd)

Definition at line 442 of file route_point.cpp.

◆ SetPosition()

void RoutePoint::SetPosition ( double  lat,
double  lon 
)

Definition at line 347 of file route_point.cpp.

◆ SetScaMax() [1/2]

void RoutePoint::SetScaMax ( long  val)

Definition at line 431 of file route_point.cpp.

◆ SetScaMax() [2/2]

void RoutePoint::SetScaMax ( wxString  str)

Definition at line 436 of file route_point.cpp.

◆ SetScaMin() [1/2]

void RoutePoint::SetScaMin ( long  val)

Definition at line 418 of file route_point.cpp.

◆ SetScaMin() [2/2]

void RoutePoint::SetScaMin ( wxString  str)

Definition at line 425 of file route_point.cpp.

◆ SetSelectNode()

void RoutePoint::SetSelectNode ( void *  node)
inline

Definition at line 122 of file route_point.h.

◆ SetShared()

void RoutePoint::SetShared ( bool  bshared)
inline

Definition at line 103 of file route_point.h.

◆ SetShowWaypointRangeRings()

void RoutePoint::SetShowWaypointRangeRings ( bool  b_showWaypointRangeRings)
inline

Definition at line 146 of file route_point.h.

◆ SetUseSca()

void RoutePoint::SetUseSca ( bool  value)
inline

Definition at line 168 of file route_point.h.

◆ SetVisible()

void RoutePoint::SetVisible ( bool  viz = true)
inline

Definition at line 108 of file route_point.h.

◆ SetWaypointArrivalRadius() [1/2]

void RoutePoint::SetWaypointArrivalRadius ( double  dArrivalDistance)
inline

Definition at line 135 of file route_point.h.

◆ SetWaypointArrivalRadius() [2/2]

void RoutePoint::SetWaypointArrivalRadius ( wxString  wxArrivalDistance)
inline

Definition at line 138 of file route_point.h.

◆ SetWaypointRangeRingsColour()

void RoutePoint::SetWaypointRangeRingsColour ( wxColour  wxc_WaypointRangeRingsColour)
inline

Definition at line 158 of file route_point.h.

◆ SetWaypointRangeRingsNumber()

void RoutePoint::SetWaypointRangeRingsNumber ( int  i_WaypointRangeRingsNumber)
inline

Definition at line 149 of file route_point.h.

◆ SetWaypointRangeRingsStep()

void RoutePoint::SetWaypointRangeRingsStep ( float  f_WaypointRangeRingsStep)
inline

Definition at line 152 of file route_point.h.

◆ SetWaypointRangeRingsStepUnits()

void RoutePoint::SetWaypointRangeRingsStepUnits ( int  i_WaypointRangeRingsStepUnits)
inline

Definition at line 155 of file route_point.h.

Friends And Related Symbol Documentation

◆ RoutePointGui

friend class RoutePointGui
friend

Definition at line 71 of file route_point.h.

Member Data Documentation

◆ CurrentRect_in_DC

wxRect RoutePoint::CurrentRect_in_DC

Definition at line 379 of file route_point.h.

◆ delete_gl_textures

std::function< void(unsigned, const unsigned *)> RoutePoint::delete_gl_textures
static
Initial value:
=
[](unsigned, const unsigned *) { assert(true); }

Horrible Hack (tm).

The destructor needs to call glDeleteTextures, but this is not visible for RoutePoint. This is basically a global, initially doing nothing but at an "early stage" initiated do do the actual glDeleteTextures call.

Definition at line 50 of file route_point.h.

◆ m_bBlink

bool RoutePoint::m_bBlink

Definition at line 377 of file route_point.h.

◆ m_bIsActive

bool RoutePoint::m_bIsActive

Definition at line 365 of file route_point.h.

◆ m_bIsInLayer

bool RoutePoint::m_bIsInLayer

Definition at line 382 of file route_point.h.

◆ m_bIsInRoute

bool RoutePoint::m_bIsInRoute

Definition at line 359 of file route_point.h.

◆ m_bIsListed

bool RoutePoint::m_bIsListed

Definition at line 364 of file route_point.h.

◆ m_bIsolatedMark

bool RoutePoint::m_bIsolatedMark

Flag indicating if the waypoint is a standalone mark.

Definition at line 361 of file route_point.h.

◆ m_bIsVisible

bool RoutePoint::m_bIsVisible

Definition at line 363 of file route_point.h.

◆ m_bPtIsSelected

bool RoutePoint::m_bPtIsSelected

Definition at line 356 of file route_point.h.

◆ m_bRPIsBeingEdited

bool RoutePoint::m_bRPIsBeingEdited

Definition at line 357 of file route_point.h.

◆ m_bShowName

bool RoutePoint::m_bShowName

Definition at line 378 of file route_point.h.

◆ m_bShowNameData

bool RoutePoint::m_bShowNameData

Definition at line 378 of file route_point.h.

◆ m_bShowWaypointRangeRings

bool RoutePoint::m_bShowWaypointRangeRings

Definition at line 392 of file route_point.h.

◆ m_btemp

bool RoutePoint::m_btemp

Definition at line 390 of file route_point.h.

◆ m_CreateTimeX

wxDateTime RoutePoint::m_CreateTimeX

Definition at line 413 of file route_point.h.

◆ m_FontColor

wxColour RoutePoint::m_FontColor

Definition at line 373 of file route_point.h.

◆ m_fWaypointRangeRingsStep

float RoutePoint::m_fWaypointRangeRingsStep

Definition at line 395 of file route_point.h.

◆ m_GUID

wxString RoutePoint::m_GUID

Definition at line 368 of file route_point.h.

◆ m_HyperlinkList

HyperlinkList* RoutePoint::m_HyperlinkList

Definition at line 409 of file route_point.h.

◆ m_IconIsDirty

bool RoutePoint::m_IconIsDirty

Definition at line 366 of file route_point.h.

◆ m_iTextTexture

unsigned int RoutePoint::m_iTextTexture

Definition at line 399 of file route_point.h.

◆ m_iTextTextureHeight

int RoutePoint::m_iTextTextureHeight

Definition at line 400 of file route_point.h.

◆ m_iTextTextureWidth

int RoutePoint::m_iTextTextureWidth

Definition at line 400 of file route_point.h.

◆ m_iWaypointRangeRingsNumber

int RoutePoint::m_iWaypointRangeRingsNumber

Definition at line 393 of file route_point.h.

◆ m_iWaypointRangeRingsStepUnits

int RoutePoint::m_iWaypointRangeRingsStepUnits

Definition at line 396 of file route_point.h.

◆ m_lat

double RoutePoint::m_lat

Definition at line 269 of file route_point.h.

◆ m_LayerID

int RoutePoint::m_LayerID

Definition at line 383 of file route_point.h.

◆ m_lon

double RoutePoint::m_lon

Definition at line 269 of file route_point.h.

◆ m_manual_etd

bool RoutePoint::m_manual_etd {false}

Flag indicating whether the ETD has been manually set by the user.

When true, this flag indicates that the m_seg_etd value was explicitly set by the user rather than being calculated automatically by the navigation system. This affects how the ETD is treated in route calculations and UI display.

Definition at line 354 of file route_point.h.

◆ m_MarkDescription

wxString RoutePoint::m_MarkDescription

Definition at line 367 of file route_point.h.

◆ m_NameExtents

wxSize RoutePoint::m_NameExtents

Definition at line 375 of file route_point.h.

◆ m_NameLocationOffsetX

int RoutePoint::m_NameLocationOffsetX

Definition at line 380 of file route_point.h.

◆ m_NameLocationOffsetY

int RoutePoint::m_NameLocationOffsetY

Definition at line 381 of file route_point.h.

◆ m_pMarkFont

wxFont* RoutePoint::m_pMarkFont

Definition at line 372 of file route_point.h.

◆ m_pos_on_screen

bool RoutePoint::m_pos_on_screen

Definition at line 405 of file route_point.h.

◆ m_routeprop_course

double RoutePoint::m_routeprop_course

Definition at line 385 of file route_point.h.

◆ m_routeprop_distance

double RoutePoint::m_routeprop_distance

Definition at line 387 of file route_point.h.

◆ m_screen_pos

wxPoint2DDouble RoutePoint::m_screen_pos

Definition at line 406 of file route_point.h.

◆ m_seg_eta

wxDateTime RoutePoint::m_seg_eta

Estimated Time of Arrival at this waypoint, in UTC.

For waypoints in a route, this represents when the vessel is expected to arrive at this waypoint based on the ETD and planned speed from the previous waypoint.

For the first waypoint in a route:

  • During route planning, it is initially set to the route's planned departure time
  • During active navigation, it is calculated based on:
    • The current vessel position
    • The distance to the first waypoint
    • The vessel's current or planned speed

The relationship between waypoints creates a timing chain: The ETA at one waypoint determines the default ETD from that waypoint, which then affects the ETA at the next waypoint, and so on through the route.

Definition at line 329 of file route_point.h.

◆ m_seg_etd

wxDateTime RoutePoint::m_seg_etd

Estimated Time of Departure from this waypoint, in UTC.

For normal waypoints in a route, this represents when the vessel is expected to depart from this waypoint toward the next waypoint. By default, it is set to the same value as the ETA (m_seg_eta) to this waypoint, creating a continuous timing chain through the route.

For the first waypoint in a route:

  • During route planning, it is initially set to the route's planned departure time
  • During active navigation, it represents the time when the route was activated

This value can be manually set by the user (indicated by m_manual_etd flag), in which case it takes precedence over the automatically calculated value.

Definition at line 307 of file route_point.h.

◆ m_seg_ete

wxLongLong RoutePoint::m_seg_ete = 0

Estimated Time Enroute for the leg leading to this waypoint.

This value represents the expected travel time (in seconds) from the previous waypoint to this one. It is calculated based on:

  • The distance between the previous waypoint and this one (m_seg_len)
  • The planned speed for this leg (m_seg_vmg)

For the first waypoint in a route during active navigation, this represents the estimated time from the vessel's current position to the first waypoint.

The formula used is: ETE = (distance in nautical miles / speed in knots) * 3600

Definition at line 345 of file route_point.h.

◆ m_seg_len

double RoutePoint::m_seg_len

Definition at line 270 of file route_point.h.

◆ m_seg_vmg

double RoutePoint::m_seg_vmg

Planned speed for traveling FROM this waypoint TO the next waypoint.

This value represents the Velocity Made Good (VMG) expected when traveling from this waypoint to the next waypoint in a route. It is used to calculate the ETE (Estimated Time Enroute) for this leg, and consequently the ETA (Estimated Time of Arrival) at the next waypoint.

If this value is not explicitly set (or is less than 0.1), the route's default planned speed will be used instead. The unit is knots (nautical miles per hour).

For the last waypoint in a route, this value has no navigational significance.

Definition at line 288 of file route_point.h.

◆ m_TideStation

wxString RoutePoint::m_TideStation

Definition at line 370 of file route_point.h.

◆ m_timestring

wxString RoutePoint::m_timestring

Definition at line 411 of file route_point.h.

◆ m_WaypointArrivalRadius

double RoutePoint::m_WaypointArrivalRadius

Definition at line 408 of file route_point.h.

◆ m_wpBBox

LLBBox RoutePoint::m_wpBBox

Definition at line 402 of file route_point.h.

◆ m_wpBBox_rotation

double RoutePoint::m_wpBBox_rotation

Definition at line 403 of file route_point.h.

◆ m_wpBBox_view_scale_ppm

double RoutePoint::m_wpBBox_view_scale_ppm

Definition at line 403 of file route_point.h.

◆ m_wxcWaypointRangeRingsColour

wxColour RoutePoint::m_wxcWaypointRangeRingsColour

Definition at line 397 of file route_point.h.


The documentation for this class was generated from the following files: