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)
 Returns the Create Time of this RoutePoint in UTC.
 
void SetCreateTime (wxDateTime dt)
 Sets the create time of this RoutePoint in UTC.
 
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 SetTideStation (wxString TideStation)
 
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 ()
 Return the planned speed associated with this waypoint.
 
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
 Length of the leg from previous waypoint to this waypoint in nautical miles.
 
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
 Flag indicating if this waypoint is currently selected.
 
bool m_bRPIsBeingEdited
 Flag indicating if this waypoint is currently being edited.
 
bool m_bIsInRoute
 Flag indicating if this waypoint is part of a route.
 
bool m_bIsolatedMark
 Flag indicating if the waypoint is a standalone mark.
 
bool m_bIsVisible
 Flag indicating if the waypoint should be drawn on the chart.
 
bool m_bIsListed
 Flag indicating if the waypoint should appear in the Route Manager dialog's waypoint list.
 
bool m_bIsActive
 Flag indicating if this waypoint is active for navigation.
 
bool m_IconIsDirty
 Flag indicating if the waypoint icon needs to be reloaded or redrawn.
 
wxString m_MarkDescription
 Description text for the waypoint.
 
wxString m_GUID
 Globally Unique Identifier for the waypoint.
 
wxString m_TideStation
 Associated tide station identifier.
 
wxFont * m_pMarkFont
 Font used for rendering the waypoint name.
 
wxColour m_FontColor
 Color used for rendering the waypoint name.
 
wxSize m_NameExtents
 Size of the waypoint name text when rendered.
 
bool m_bBlink
 Flag indicating if the waypoint should blink when displayed.
 
bool m_bShowName
 Flag indicating if the waypoint name should be shown.
 
bool m_bShowNameData
 Flag indicating if waypoint data should be shown with the name.
 
wxRect CurrentRect_in_DC
 Current rectangle occupied by the waypoint in the display.
 
int m_NameLocationOffsetX
 Horizontal offset for waypoint name placement relative to the icon.
 
int m_NameLocationOffsetY
 Vertical offset for waypoint name placement relative to the icon.
 
bool m_bIsInLayer
 Flag indicating if the waypoint belongs to a layer.
 
int m_LayerID
 Layer identifier if the waypoint belongs to a layer.
 
double m_routeprop_course
 Course from this waypoint to the next waypoint, in degrees.
 
double m_routeprop_distance
 Distance from this waypoint to the next waypoint, in nautical miles.
 
bool m_btemp
 Flag indicating if this is a temporary waypoint.
 
bool m_bShowWaypointRangeRings
 Flag indicating if range rings should be shown around the waypoint.
 
int m_iWaypointRangeRingsNumber
 Number of range rings to display around the waypoint.
 
float m_fWaypointRangeRingsStep
 Distance between consecutive range rings.
 
int m_iWaypointRangeRingsStepUnits
 Units for the range rings step (0=nm, 1=km).
 
wxColour m_wxcWaypointRangeRingsColour
 Color for the range rings display.
 
unsigned int m_iTextTexture
 Texture identifier for rendered text.
 
int m_iTextTextureWidth
 Width of the text texture in pixels.
 
int m_iTextTextureHeight
 Height of the text texture in pixels.
 
LLBBox m_wpBBox
 Bounding box for the waypoint.
 
double m_wpBBox_view_scale_ppm
 
double m_wpBBox_rotation
 
bool m_pos_on_screen
 Flag indicating if the waypoint is currently visible on screen.
 
wxPoint2DDouble m_screen_pos
 Cached screen position of the waypoint for drawing arrows and points.
 
double m_WaypointArrivalRadius
 Arrival radius in nautical miles.
 
HyperlinkList * m_HyperlinkList
 List of hyperlinks associated with this waypoint.
 
wxString m_timestring
 String representation of the waypoint creation time.
 
wxDateTime m_CreateTimeX
 Creation timestamp for the waypoint, in UTC.
 

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 133 of file route_point.h.

◆ GetCreateTime()

wxDateTime RoutePoint::GetCreateTime ( void  )

Returns the Create Time of this RoutePoint in UTC.

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 135 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 120 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 126 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 ( )

Return the planned speed associated with this waypoint.

For a waypoint within a route, this represents the speed to be used when traveling FROM this waypoint TO the next waypoint in the route. For the last waypoint in a route, this value has no navigational significance.

This value is used for:

  • Calculating the ETA at the next waypoint
  • Determining the total time to complete a route segment
  • Route planning and navigation displays

The speed is stored in knots (nautical miles per hour).

Definition at line 446 of file route_point.cpp.

◆ GetScaMax()

long RoutePoint::GetScaMax ( )
inline

Definition at line 169 of file route_point.h.

◆ GetScaMin()

long RoutePoint::GetScaMin ( )
inline

Definition at line 166 of file route_point.h.

◆ GetSelectNode()

void * RoutePoint::GetSelectNode ( void  )
inline

Definition at line 123 of file route_point.h.

◆ GetShowWaypointRangeRings()

bool RoutePoint::GetShowWaypointRangeRings ( void  )
inline

Definition at line 144 of file route_point.h.

◆ GetUseSca()

bool RoutePoint::GetUseSca ( )
inline

Definition at line 170 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 172 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 132 of file route_point.h.

◆ SetCreateTime()

void RoutePoint::SetCreateTime ( wxDateTime  dt)

Sets the create time of this RoutePoint in UTC.

Definition at line 279 of file route_point.cpp.

◆ SetDistance()

void RoutePoint::SetDistance ( double  distance)
inline

Definition at line 134 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 121 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 127 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 124 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 148 of file route_point.h.

◆ SetTideStation()

void RoutePoint::SetTideStation ( wxString  TideStation)
inline

Definition at line 163 of file route_point.h.

◆ SetUseSca()

void RoutePoint::SetUseSca ( bool  value)
inline

Definition at line 171 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 137 of file route_point.h.

◆ SetWaypointArrivalRadius() [2/2]

void RoutePoint::SetWaypointArrivalRadius ( wxString  wxArrivalDistance)
inline

Definition at line 140 of file route_point.h.

◆ SetWaypointRangeRingsColour()

void RoutePoint::SetWaypointRangeRingsColour ( wxColour  wxc_WaypointRangeRingsColour)
inline

Definition at line 160 of file route_point.h.

◆ SetWaypointRangeRingsNumber()

void RoutePoint::SetWaypointRangeRingsNumber ( int  i_WaypointRangeRingsNumber)
inline

Definition at line 151 of file route_point.h.

◆ SetWaypointRangeRingsStep()

void RoutePoint::SetWaypointRangeRingsStep ( float  f_WaypointRangeRingsStep)
inline

Definition at line 154 of file route_point.h.

◆ SetWaypointRangeRingsStepUnits()

void RoutePoint::SetWaypointRangeRingsStepUnits ( int  i_WaypointRangeRingsStepUnits)
inline

Definition at line 157 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

Current rectangle occupied by the waypoint in the display.

Definition at line 457 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

Flag indicating if the waypoint should blink when displayed.

Definition at line 445 of file route_point.h.

◆ m_bIsActive

bool RoutePoint::m_bIsActive

Flag indicating if this waypoint is active for navigation.

Definition at line 410 of file route_point.h.

◆ m_bIsInLayer

bool RoutePoint::m_bIsInLayer

Flag indicating if the waypoint belongs to a layer.

Definition at line 469 of file route_point.h.

◆ m_bIsInRoute

bool RoutePoint::m_bIsInRoute

Flag indicating if this waypoint is part of a route.

Note
Calculated field - set to true if the waypoint is part of a route.

Definition at line 390 of file route_point.h.

◆ m_bIsListed

bool RoutePoint::m_bIsListed

Flag indicating if the waypoint should appear in the Route Manager dialog's waypoint list.

Definition at line 406 of file route_point.h.

◆ m_bIsolatedMark

bool RoutePoint::m_bIsolatedMark

Flag indicating if the waypoint is a standalone mark.

Note
a RoutePoint is either an isolated mark or part of a route.

Definition at line 395 of file route_point.h.

◆ m_bIsVisible

bool RoutePoint::m_bIsVisible

Flag indicating if the waypoint should be drawn on the chart.

When false, the waypoint is invisible.

Definition at line 401 of file route_point.h.

◆ m_bPtIsSelected

bool RoutePoint::m_bPtIsSelected

Flag indicating if this waypoint is currently selected.

Note
Calculated field - set to true when the waypoint is selected.

Definition at line 380 of file route_point.h.

◆ m_bRPIsBeingEdited

bool RoutePoint::m_bRPIsBeingEdited

Flag indicating if this waypoint is currently being edited.

Note
Calculated field - set to true when the waypoint is in edit mode.

Definition at line 385 of file route_point.h.

◆ m_bShowName

bool RoutePoint::m_bShowName

Flag indicating if the waypoint name should be shown.

Definition at line 449 of file route_point.h.

◆ m_bShowNameData

bool RoutePoint::m_bShowNameData

Flag indicating if waypoint data should be shown with the name.

Definition at line 453 of file route_point.h.

◆ m_bShowWaypointRangeRings

bool RoutePoint::m_bShowWaypointRangeRings

Flag indicating if range rings should be shown around the waypoint.

Definition at line 491 of file route_point.h.

◆ m_btemp

bool RoutePoint::m_btemp

Flag indicating if this is a temporary waypoint.

Definition at line 487 of file route_point.h.

◆ m_CreateTimeX

wxDateTime RoutePoint::m_CreateTimeX

Creation timestamp for the waypoint, in UTC.

Definition at line 553 of file route_point.h.

◆ m_FontColor

wxColour RoutePoint::m_FontColor

Color used for rendering the waypoint name.

Note
Calculated field - Obtained from the font manager.

Definition at line 436 of file route_point.h.

◆ m_fWaypointRangeRingsStep

float RoutePoint::m_fWaypointRangeRingsStep

Distance between consecutive range rings.

Note
Units depend on m_iWaypointRangeRingsStepUnits (0=nm, 1=km).

Definition at line 500 of file route_point.h.

◆ m_GUID

wxString RoutePoint::m_GUID

Globally Unique Identifier for the waypoint.

Definition at line 423 of file route_point.h.

◆ m_HyperlinkList

HyperlinkList* RoutePoint::m_HyperlinkList

List of hyperlinks associated with this waypoint.

Definition at line 545 of file route_point.h.

◆ m_IconIsDirty

bool RoutePoint::m_IconIsDirty

Flag indicating if the waypoint icon needs to be reloaded or redrawn.

Definition at line 414 of file route_point.h.

◆ m_iTextTexture

unsigned int RoutePoint::m_iTextTexture

Texture identifier for rendered text.

Definition at line 512 of file route_point.h.

◆ m_iTextTextureHeight

int RoutePoint::m_iTextTextureHeight

Height of the text texture in pixels.

Definition at line 520 of file route_point.h.

◆ m_iTextTextureWidth

int RoutePoint::m_iTextTextureWidth

Width of the text texture in pixels.

Definition at line 516 of file route_point.h.

◆ m_iWaypointRangeRingsNumber

int RoutePoint::m_iWaypointRangeRingsNumber

Number of range rings to display around the waypoint.

Definition at line 495 of file route_point.h.

◆ m_iWaypointRangeRingsStepUnits

int RoutePoint::m_iWaypointRangeRingsStepUnits

Units for the range rings step (0=nm, 1=km).

Definition at line 504 of file route_point.h.

◆ m_lat

double RoutePoint::m_lat

Definition at line 286 of file route_point.h.

◆ m_LayerID

int RoutePoint::m_LayerID

Layer identifier if the waypoint belongs to a layer.

Definition at line 473 of file route_point.h.

◆ m_lon

double RoutePoint::m_lon

Definition at line 286 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 374 of file route_point.h.

◆ m_MarkDescription

wxString RoutePoint::m_MarkDescription

Description text for the waypoint.

May contain encoded information like ETD or planned speed.

Definition at line 419 of file route_point.h.

◆ m_NameExtents

wxSize RoutePoint::m_NameExtents

Size of the waypoint name text when rendered.

Note
Calculated field - Calculated based on font and text.

Definition at line 441 of file route_point.h.

◆ m_NameLocationOffsetX

int RoutePoint::m_NameLocationOffsetX

Horizontal offset for waypoint name placement relative to the icon.

Definition at line 461 of file route_point.h.

◆ m_NameLocationOffsetY

int RoutePoint::m_NameLocationOffsetY

Vertical offset for waypoint name placement relative to the icon.

Definition at line 465 of file route_point.h.

◆ m_pMarkFont

wxFont* RoutePoint::m_pMarkFont

Font used for rendering the waypoint name.

Definition at line 431 of file route_point.h.

◆ m_pos_on_screen

bool RoutePoint::m_pos_on_screen

Flag indicating if the waypoint is currently visible on screen.

Note
Calculated field - Calculated from lat/lon and current view.

Definition at line 531 of file route_point.h.

◆ m_routeprop_course

double RoutePoint::m_routeprop_course

Course from this waypoint to the next waypoint, in degrees.

Note
Calculated field - Calculated from bearing between points.

Definition at line 478 of file route_point.h.

◆ m_routeprop_distance

double RoutePoint::m_routeprop_distance

Distance from this waypoint to the next waypoint, in nautical miles.

Note
Calculated field - Calculated from distance between points.

Definition at line 483 of file route_point.h.

◆ m_screen_pos

wxPoint2DDouble RoutePoint::m_screen_pos

Cached screen position of the waypoint for drawing arrows and points.

Note
Calculated field - Calculated from lat/lon and current view.

Definition at line 536 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
Note
Calculated field - calculated from ETD + travel time.

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 351 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 327 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.

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.

Note
Calculated field - derived from segment length to this waypoint and planned speed for this leg (m_seg_vmg)

Definition at line 365 of file route_point.h.

◆ m_seg_len

double RoutePoint::m_seg_len

Length of the leg from previous waypoint to this waypoint in nautical miles.

Undefined for the starting point of a route.

Note
Calculated field - Length of leg from previous waypoint.

Definition at line 292 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).

Not applicable for the last waypoint in a route.

Definition at line 308 of file route_point.h.

◆ m_TideStation

wxString RoutePoint::m_TideStation

Associated tide station identifier.

Definition at line 427 of file route_point.h.

◆ m_timestring

wxString RoutePoint::m_timestring

String representation of the waypoint creation time.

Definition at line 549 of file route_point.h.

◆ m_WaypointArrivalRadius

double RoutePoint::m_WaypointArrivalRadius

Arrival radius in nautical miles.

Distance from waypoint at which it's considered reached.

Definition at line 541 of file route_point.h.

◆ m_wpBBox

LLBBox RoutePoint::m_wpBBox

Bounding box for the waypoint.

Note
Calculated field - Calculated from icon size and position.

Definition at line 525 of file route_point.h.

◆ m_wpBBox_rotation

double RoutePoint::m_wpBBox_rotation

Definition at line 526 of file route_point.h.

◆ m_wpBBox_view_scale_ppm

double RoutePoint::m_wpBBox_view_scale_ppm

Definition at line 526 of file route_point.h.

◆ m_wxcWaypointRangeRingsColour

wxColour RoutePoint::m_wxcWaypointRangeRingsColour

Color for the range rings display.

Definition at line 508 of file route_point.h.


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