25#ifndef _NAVOBJECTCOLLECTION_H__
26#define _NAVOBJECTCOLLECTION_H__
31#include <wx/checkbox.h>
46#define OUT_TYPE 1 << 1
47#define OUT_TIME 1 << 2
48#define OUT_NAME 1 << 3
49#define OUT_NAME_FORCE 1 << 4
50#define OUT_DESC 1 << 5
51#define OUT_DESC_FORCE 1 << 6
52#define OUT_SYM_FORCE 1 << 7
53#define OUT_GUID 1 << 8
55#define OUT_VIZ_NAME 1 << 10
56#define OUT_SHARED 1 << 11
57#define OUT_HYPERLINKS 1 << 13
58#define OUT_ACTION_ADD 1 << 14
59#define OUT_ACTION_DEL 1 << 15
60#define OUT_ACTION_UPD 1 << 16
61#define OUT_EXTENSION 1 << 17
62#define OUT_ARRIVAL_RADIUS 1 << 18
63#define OUT_WAYPOINT_RANGE_RINGS 1 << 19
64#define OUT_WAYPOINT_SCALE 1 << 20
65#define OUT_TIDE_STATION 1 << 21
66#define OUT_RTE_PROPERTIES 1 << 22
68#define OPT_TRACKPT OUT_TIME
70 (OUT_TYPE) + (OUT_TIME) + (OUT_NAME) + (OUT_DESC) + (OUT_SYM_FORCE) + \
71 (OUT_GUID) + (OUT_VIZ) + (OUT_VIZ_NAME) + (OUT_SHARED) + \
72 (OUT_HYPERLINKS) + (OUT_ARRIVAL_RADIUS) + (OUT_WAYPOINT_RANGE_RINGS) + \
73 (OUT_WAYPOINT_SCALE) + (OUT_TIDE_STATION)
74#define OPT_ROUTEPT OPT_WPT + (OUT_RTE_PROPERTIES)
78#define RT_OUT_ACTION_ADD 1 << 1
79#define RT_OUT_ACTION_DEL 1 << 2
80#define RT_OUT_ACTION_UPD 1 << 3
81#define RT_OUT_NO_RTPTS 1 << 4
86RoutePoint *WaypointExists(
const wxString &name,
double lat,
double lon);
87RoutePoint *WaypointExists(
const wxString &guid);
88Route *RouteExists(
const wxString &guid);
90Track *TrackExists(
const wxString &guid);
95 bool b_layerviz,
int layer_id,
bool b_change,
96 bool load_points =
true);
99 wxString GUID,
bool b_fullviz,
bool b_layer,
100 bool b_layerviz,
int layer_id,
101 bool b_nameviz =
true);
104bool InsertTrack(
Track *pTentTrack,
bool bApplyChanges =
false);
105bool InsertWpt(
RoutePoint *pWp,
bool overwrite);
108 bool b_layerviz,
int layer_id);
115 bool CreateNavObjGPXPoints(
void);
116 bool CreateNavObjGPXRoutes(
void);
117 bool CreateNavObjGPXTracks(
void);
119 void AddGPXRoutesList(RouteList *pRoutes);
120 void AddGPXTracksList(std::vector<Track *> *pTracks);
121 bool AddGPXPointsList(RoutePointList *pRoutePoints);
122 bool AddGPXRoute(
Route *pRoute);
123 bool AddGPXTrack(
Track *pTrk);
126 bool CreateAllGPXObjects();
127 bool LoadAllGPXObjects(
bool b_full_viz,
int &wpt_duplicates,
128 bool b_compute_bbox =
false);
129 int LoadAllGPXObjectsAsLayer(
int layer_id,
bool b_layerviz,
130 wxCheckBoxState b_namesviz);
131 bool LoadAllGPXTrackObjects();
132 bool LoadAllGPXRouteObjects();
133 bool LoadAllGPXPointObjects();
135 bool SaveFile(
const wxString filename);
137 void SetRootGPXNode(
void);
139 LLBBox &GetBBox() {
return BBox; };
Represents a waypoint or mark within the navigation system.
Represents a navigational route in the navigation system.
Represents a single point in a track.
Represents a track, which is a series of connected track points.
A common variable shared between producer and consumer which supports Listen() and Notify().