NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
route_storage_interfaces.h
Go to the documentation of this file.
1 
9 #ifndef SDK_ROUTE_STORAGE_INTERFACES_H_
10 #define SDK_ROUTE_STORAGE_INTERFACES_H_
11 
12 #include <base/inc/sdk_results.h>
13 #include <base/inc/forward_declarations.h>
16 #include <base/inc/interfaces/collection/collection_interface.h>
20 #include <datalayer/inc/senc/senc_feature_catalog_s101.h>
21 #include <ecdislayer/inc/route_planning/route_const.h>
23 
24 SDK_GDB_BEGIN_NAMESPACE
25 namespace routes {
26 
27 FWD_DECL_INTERFACE(IRouteLeg)
28 FWD_DECL_INTERFACE(IWaypoint)
29 FWD_DECL_INTERFACE(IFoundElementInfo)
30 FWD_DECL_INTERFACE(IFoundElementInfoEnum)
31 FWD_DECL_INTERFACE(IRoute)
32 FWD_DECL_INTERFACE(IRouteEditor)
33 FWD_DECL_INTERFACE(IRouteStorage)
34 FWD_DECL_INTERFACE(IRouteExtensionProperties)
35 FWD_DECL_INTERFACE(IRouteEditorExtensionProperties)
36 FWD_DECL_INTERFACE(IRouteLegEdit)
37 FWD_DECL_INTERFACE(IRoutePortrayalProperty)
38 FWD_DECL_INTERFACE(IRouteEditorStateStack)
39 FWD_DECL_INTERFACE(IRouteUtil)
40 FWD_DECL_INTERFACE(IRouteEditorInternal)
41 
42 enum RouteElementType {
51  kRouteElementType_LegCurve = 0x20,
52  kRouteElementType_LegWithCurve = kRouteElementType_Leg | kRouteElementType_LegCurve,
54 };
55 
59  kRouteProperty_First = kDSP_User + 2000,
60  kRouteProperty_Comment = kRouteProperty_First,
65  kRouteProperty_PersistentResourceName, // For internal use only
66  kRouteProperty_IsNotLoaded, // For internal use only
79 };
80 
81 enum RoutePortrayalPropertiesEnum {
82  kRoutePortrayalProperty_IsActive = kRouteProperty_IsActive,
83  kRoutePortrayalProperty_IsTemporary = kRouteProperty_IsTemporary,
84  kRoutePortrayalProperty_IsCaution = kRouteProperty_IsCaution,
85  kRoutePortrayalProperty_IsReference = kRouteProperty_IsReference,
86 };
87 
94  kRouteLegProperty_PlannedSpeed = kRAC_PLANNED_SPEED,
95  kRouteLegProperty_Highlight = kRAC_HLTTYPE,
96  kRouteLegProperty_Index = kRAC_OBJIDX,
97  kRouteLegProperty_PassageType = kRAC_PASSAGE_TYPE,
98  kRouteLegProperty_SpeedMin = kRAC_SPEED_MIN,
99  kRouteLegProperty_SpeedMax = kRAC_SPEED_MAX,
100  kRouteLegProperty_SafetyContour = kRAC_SAFETY_CONTOUR,
101  kRouteLegProperty_SafetyDepth = kRAC_SAFETY_DEPTH,
102  kRouteLegProperty_DraughtForward = kRAC_DRAUGHT_FORWARD,
103  kRouteLegProperty_DraughtAft = kRAC_DRAUGHT_AFT,
104  kRouteLegProperty_StaticUKC = kRAC_STATIC_UKC,
105  kRouteLegProperty_DynamicUKC = kRAC_DYNAMIC_UKC,
106  kRouteLegProperty_Masthead = kRAC_MASTHEAD,
107  kRouteLegProperty_LegReport = kRAC_LEG_REPORT,
108  kRouteLegProperty_LegInfo = kRAC_LEG_INFO,
109  kRouteLegProperty_LegNote1 = kRAC_LEG_NOTE1,
110  kRouteLegProperty_LegNote2 = kRAC_LEG_NOTE2,
111  kRouteLegProperty_DeepContour = kRAC_DEEP_CONTOUR,
112 };
113 
117  kWaypointProperty_Name = senc::s101::kFAC_OBJNAM,
118  kWaypointProperty_Index = kRAC_OBJIDX,
121  kWaypointProperty_ID = kRAC_WAYPNT_ID,
122  kWaypointProperty_Revision = kRAC_WAYPNT_REV,
124  kWaypointProperty_CommencementOrEndOfSeaPassage = kRAC_COSP_EOSP,
125  kWaypointProperty_PilotBoarding = kRAC_PILOT_BOARDING,
126  kWaypointProperty_WODistance = kRAC_WO_DISTANCE,
127  kWaypointProperty_BeamLineLength = kRAC_BEAM_LINE_LENGTH,
130  kWaypointProperty_WODistanceSet = kRAC_WO_DISTANCE_SET,
131 
132  kWaypointProperty_Leg_PassageType = kRAC_PASSAGE_TYPE,
152 };
153 
158 };
159 
168  kRouteStorageParameter_RouteConversionOnly = 5,
169  kRouteStorageParameter_RouteConversionOnlyInMemory = 6,
170  kRouteStorageParameter_RouteConversionPPPath = 7
171 };
172 
178 };
179 
183  kRouteFormat_Undefined = -1, // Undefined
184  kRouteFormat_Navtor = 0, // Route in Navtor format
185  kRouteFormat_RTE_WPL = 1, // Route as set of RTE/WPL NMEA sentences
186  kRouteFormat_Maris_RTU = 2, // Route in Maris ECDIS format (RTU)
187  kRouteFormat_Maris_TXT = 3, // Route in Maris ECDIS format (TXT)
188  kRouteFormat_CMap = 4, // Route in C-Map ECDIS format
189  kRouteFormat_CIRM_RTZ = 5, // Route in CIRM format
190  kRouteFormat_Sperry = 6, // Route in Sperry format
191  kRouteFormat_CIRM_RTZP = 7, // Packed route in CIRM format (RTZP)
192  kRouteFormat_CIRM_RTZP_Broken = 8, // Packed route in CIRM format (RTZP) Broken for TA
193  kRouteFormat_Furuno = 9, // Route in Furuno ECDIS format
194  kRouteFormat_Furuno_Simplified = 10, // Route in Furuno ECDIS simplified format
195  kRouteFormat_Maris_TXT_Simplified = 11, // Route in Maris ECDIS simplified format (TXT)
196  kRouteFormat_JRC_RTN = 12, // Route in JRC format (RTN)
197  kRouteFormat_JRC_CSV = 13, // Route in JRC format (CSV)
198  kRouteFormat_KelvinHughes_ZM1816 = 14, // Route in KelvinHughes ZM1816 format
199  kRouteFormat_KelvinHughes_ZM2144 = 15, // Route in KelvinHughes ZM2144 format
200  kRouteFormat_Kongsberg_RUX = 16, // Route in Kongsberg format (RUX)
201  kRouteFormat_Raytheon = 17, // Route in Raytheon format
202  kRouteFormat_SAM_DAT = 18, // Route in SAM format (DAT)
203  kRouteFormat_SAM_TXT = 19, // Route in SAM format (TXT)
204  kRouteFormat_SAM_XML = 20, // Route in SAM format (XML)
205  kRouteFormat_Telko_LST = 21, // Route in Telko format (LST)
206  kRouteFormat_TokyoKeiki_EC8x00 = 22, // Route in TokyoKeiki EC8x00 format
207  kRouteFormat_TokyoKeiki_EC7x00 = 23, // Route in TokyoKeiki EC7x00 format
208  kRouteFormat_Transas = 24, // Route in Transas format
209  kRouteFormat_Kongsberg_TXT = 25, // Route in Kongsberg format (TXT)
210  kRouteFormat_JRC_RTM = 26, // Route in JRC format (RTM)
211  kRouteFormat_SevenCs_TXT = 27, // Route in SevenCs format (TXT)
212  kRouteFormat_PCMaritime_TXT = 28, // Route in PC Maritime format (TXT)
213  kRouteFormat_PCMaritime_XML = 29, // Route in PC Maritime format (XML)
214  kRouteFormat_Kongsberg_RUT = 30, // Route in Kongsberg format (RUT)
215  kRouteFormat_Odfjell_XLSX = 31, // Route in Odfjell format (XLSX)
216  kRouteFormat_Furuno_V1 = 32, // Route in Furuno version 1 ECDIS format
217 };
218 
222  kRouteFormatParam_RTE_WPL_TalkerID =
224 };
225 
233 };
234 
240 };
241 
247 
249 static const wchar_t kNavtorRouteFileNameExtension[] = L"route";
250 static const wchar_t kRteWplRouteFileNameExtension[] = L"rte";
251 static const wchar_t kMarisRtuRouteFileNameExtension[] = L"rtu";
252 static const wchar_t kMarisTxtRouteFileNameExtension[] = L"txt";
253 static const wchar_t kMarisTxtSimplifiedRouteFileNameExtension[] = L"txt";
254 static const wchar_t kCMapRouteFileNameExtension[] = L"route";
255 static const wchar_t kCirmRtzRouteFileNameExtension[] = L"rtz";
256 static const wchar_t kSperryRouteFileNameExtension[] = L"route";
257 static const wchar_t kCirmRtzpRouteFileNameExtension[] = L"rtzp";
258 static const wchar_t kFurunoRouteFileNameExtension[] = L"txt";
259 static const wchar_t kFurunoSimplifiedRouteFileNameExtension[] = L"txt";
260 static const wchar_t kJrcRtnRouteFileNameExtension[] = L"rtn";
261 static const wchar_t kJrcRtnRouteFileNameExtension2[] = L"rta";
262 static const wchar_t kJrcRtmRouteFileNameExtension[] = L"rtm";
263 static const wchar_t kJrcCsvRouteFileNameExtension[] = L"csv";
264 static const wchar_t kKelvinHughesZM1816RouteFileNameExtension[] = L"route";
265 static const wchar_t kKelvinHughesZM2144RouteFileNameExtension[] = L"route";
266 static const wchar_t kKongsbergRutRouteFileNameExtension[] = L"rut";
267 static const wchar_t kKongsbergRuxRouteFileNameExtension[] = L"rux";
268 static const wchar_t kKongsbergTxtRouteFileNameExtension[] = L"txt";
269 static const wchar_t kRaytheonRouteFileNameExtension[] = L"route";
270 static const wchar_t kSamDatRouteFileNameExtension[] = L"dat";
271 static const wchar_t kSamTxtRouteFileNameExtension[] = L"txt";
272 static const wchar_t kSamXmlRouteFileNameExtension[] = L"xml";
273 static const wchar_t kTelkoLstRouteFileNameExtension[] = L"lst";
274 static const wchar_t kTokyoKeikiEC8x00RouteFileNameExtension[] = L"csv";
275 static const wchar_t kTokyoKeikiEC7x00RouteFileNameExtension[] = L"xls";
276 static const wchar_t kTransasRt3RouteFileNameExtension[] = L"rt3";
277 static const wchar_t kSevenCsTxtRouteFileNameExtension[] = L"txt";
278 static const wchar_t kPcMaritimeTxtRouteFileNameExtension[] = L"txt";
279 static const wchar_t kPcMaritimeXmlRouteFileNameExtension[] = L"xml";
280 static const wchar_t kOdfjellXlsxRouteFileNameExtension[] = L"xlsx";
281 static const wchar_t kFurunoV1RouteFileNameExtension[] = L"txt";
282 
283 
286 static const char kRouteFormatKey_Navtor[] = "Navtor"; // "navtor_route";
287 static const char kRouteFormatKey_CMap[] = "CmapIni"; // "cmap_route";
288 static const char kRouteFormatKey_Sperry[] = "Sperry"; // "sperry_route";
289 static const char kRouteFormatKey_Maris_RTU[] = "MarisRtu"; // "maris_rtu";
290 static const char kRouteFormatKey_Maris_TXT[] = "MarisTxt"; // "maris_txt";
291 static const char kRouteFormatKey_Maris_TXT_Simplified[] = "MarisTxtSimple"; // "maris_simplified_txt";
292 static const char kRouteFormatKey_CIRM_RTZ[] = "CirmRtz"; // "cirm_rtz";
293 static const char kRouteFormatKey_CIRM_RTZP[] = "CirmRtzp"; // "cirm_rtzp";
294 static const char kRouteFormatKey_RTE_WPL[] = "RteWpl"; // "rte_wpl_rte";
295 static const char kRouteFormatKey_Furuno[] = "Furuno"; //"furuno_txt";
296 static const char kRouteFormatKey_Furuno_Simplified[] = "FurunoSimple"; // "furuno_simplified_txt";
297 static const char kRouteFormatKey_JRC_RTN[] = "Jrc"; // "jrc_rtn";
298 static const char kRouteFormatKey_JRC_CSV[] = "JrcCsv"; // "jrc_csv";
299 static const char kRouteFormatKey_JRC_RTM[] = "JrcRtm"; // "jrc_rtm";
300 static const char kRouteFormatKey_KelvinHughes_ZM1816[] = "KelvinHughes1816"; // "kelvin_hughes_zm1816_route";
301 static const char kRouteFormatKey_KelvinHughes_ZM2144[] = "KelvinHughes2144"; // "kelvin_hughes_zm2144_route";
302 static const char kRouteFormatKey_Kongsberg_RUT[] = "KongsbergRut"; // "kongsberg_rut";
303 static const char kRouteFormatKey_Kongsberg_RUX[] = "Kongsberg"; // "kongsberg_rux";
304 static const char kRouteFormatKey_Kongsberg_TXT[] = "KongsbergTxt"; // "kongsberg_txt";
305 static const char kRouteFormatKey_Raytheon[] = "Raytheon"; // "raytheon_route";
306 static const char kRouteFormatKey_SAM_DAT[] = "SamDat"; // "sam_dat";
307 static const char kRouteFormatKey_SAM_TXT[] = "SamTxt"; // "sam_txt";
308 static const char kRouteFormatKey_SAM_XML[] = "SamXml"; // "sam_xml";
309 static const char kRouteFormatKey_Telko_LST[] = "Telko"; // "telko_lst";
310 static const char kRouteFormatKey_TokyoKeiki_EC7x00[] = "Tokimec7X00"; // "tokyo_keiki_ec7x00_xls";
311 static const char kRouteFormatKey_TokyoKeiki_EC8x00[] = "Tokimec8X00"; // "tokyo_keiki_ec8x00_csv";
312 static const char kRouteFormatKey_Transas[] = "Transas"; // "transas_rt3";
313 static const char kRouteFormatKey_SevenCs_TXT[] = "SevenCsTxt"; // "seven_cs_txt";
314 static const char kRouteFormatKey_PCMaritime_TXT[] = "PcMaritimeTxt"; // "pc_maritime_txt";
315 static const char kRouteFormatKey_PCMaritime_XML[] = "PcMaritimeXml"; // "pc_maritime_xml";
316 static const char kRouteFormatKey_Odfjell_XLSX[] = "Odfjell"; // "odfjell_xlsx"
317 static const char kRouteFormatKey_Furuno_V1[] = "FurunoV1"; //"furuno_txt";
318 
321 static const char kRouteFormatDescr_Navtor[] = "Navtor"; // "navtor_route";
322 static const char kRouteFormatDescr_CMap[] = "C-Map"; // "cmap_route";
323 static const char kRouteFormatDescr_Sperry[] = "Sperry"; // "sperry_route";
324 static const char kRouteFormatDescr_Maris_RTU[] = "Maris"; // "maris_rtu";
325 static const char kRouteFormatDescr_Maris_TXT[] = "Maris"; // "maris_txt";
326 static const char kRouteFormatDescr_Maris_TXT_Simplified[] = "Maris Simple"; // "maris_simplified_txt";
327 static const char kRouteFormatDescr_CIRM_RTZ[] = "IEC RTZ"; // "cirm_rtz";
328 static const char kRouteFormatDescr_CIRM_RTZP[] = "IEC RTZ"; // "cirm_rtzp";
329 static const char kRouteFormatDescr_RTE_WPL[] = "Rte Wpl"; // "rte_wpl_rte";
330 static const char kRouteFormatDescr_Furuno[] = "Furuno"; //"furuno_txt";
331 static const char kRouteFormatDescr_Furuno_Simplified[] = "Furuno Simple"; // "furuno_simplified_txt";
332 static const char kRouteFormatDescr_JRC_RTN[] = "JRC"; // "jrc_rtn";
333 static const char kRouteFormatDescr_JRC_CSV[] = "JRC"; // "jrc_csv";
334 static const char kRouteFormatDescr_JRC_RTM[] = "JRC"; // "jrc_rtm";
335 static const char kRouteFormatDescr_KelvinHughes_ZM1816[] = "Kelvin Hughes 1816"; // "kelvin_hughes_zm1816_route";
336 static const char kRouteFormatDescr_KelvinHughes_ZM2144[] = "Kelvin Hughes 2144"; // "kelvin_hughes_zm2144_route";
337 static const char kRouteFormatDescr_Kongsberg_RUT[] = "Kongsberg"; // "kongsberg_rut";
338 static const char kRouteFormatDescr_Kongsberg_RUX[] = "Kongsberg"; // "kongsberg_rux";
339 static const char kRouteFormatDescr_Kongsberg_TXT[] = "Kongsberg"; // "kongsberg_txt";
340 static const char kRouteFormatDescr_Raytheon[] = "Raytheon"; // "raytheon_route";
341 static const char kRouteFormatDescr_SAM_DAT[] = "Sam"; // "sam_dat";
342 static const char kRouteFormatDescr_SAM_TXT[] = "Sam"; // "sam_txt";
343 static const char kRouteFormatDescr_SAM_XML[] = "Sam"; // "sam_xml";
344 static const char kRouteFormatDescr_Telko_LST[] = "Telko"; // "telko_lst";
345 static const char kRouteFormatDescr_TokyoKeiki_EC7x00[] = "Tokimec 7X00"; // "tokyo_keiki_ec7x00_xls";
346 static const char kRouteFormatDescr_TokyoKeiki_EC8x00[] = "Tokimec 8X00"; // "tokyo_keiki_ec8x00_csv";
347 static const char kRouteFormatDescr_Transas[] = "Transas"; // "transas_rt3";
348 static const char kRouteFormatDescr_SevenCs_TXT[] = "SevenCs"; // "seven_cs_txt";
349 static const char kRouteFormatDescr_PCMaritime_TXT[] = "PC Maritime"; // "pc_maritime_txt";
350 static const char kRouteFormatDescr_PCMaritime_XML[] = "PC Maritime"; // "pc_maritime_xml";
351 static const char kRouteFormatDescr_Odfjell_XLSX[] = "Odfjell"; // "odfjell_xlsx"
352 static const char kRouteFormatDescr_Furuno_V1[] = "Furuno V1"; //"furuno_txt";
353 
354 static const struct RouteFormatTableItem {
355  SDKUInt32 m_id;
356  const char* m_key;
357  const wchar_t* m_ext;
358  const char* m_descr;
359 } kRouteFormatTable[] = {
360  { kRouteFormat_Navtor, kRouteFormatKey_Navtor,
361  kNavtorRouteFileNameExtension, kRouteFormatDescr_Navtor },
362  { kRouteFormat_CMap, kRouteFormatKey_CMap,
363  kCMapRouteFileNameExtension, kRouteFormatDescr_CMap },
364  { kRouteFormat_Sperry, kRouteFormatKey_Sperry,
365  kSperryRouteFileNameExtension, kRouteFormatDescr_Sperry },
366  { kRouteFormat_Maris_RTU, kRouteFormatKey_Maris_RTU,
367  kMarisRtuRouteFileNameExtension, kRouteFormatDescr_Maris_RTU },
368  { kRouteFormat_Maris_TXT, kRouteFormatKey_Maris_TXT,
369  kMarisTxtRouteFileNameExtension, kRouteFormatDescr_Maris_TXT },
370  { kRouteFormat_Maris_TXT_Simplified, kRouteFormatKey_Maris_TXT_Simplified,
371  kMarisTxtSimplifiedRouteFileNameExtension,
372  kRouteFormatDescr_Maris_TXT_Simplified },
373  { kRouteFormat_CIRM_RTZ, kRouteFormatKey_CIRM_RTZ,
374  kCirmRtzRouteFileNameExtension, kRouteFormatDescr_CIRM_RTZ },
375  { kRouteFormat_CIRM_RTZP, kRouteFormatKey_CIRM_RTZP,
376  kCirmRtzpRouteFileNameExtension, kRouteFormatDescr_CIRM_RTZP },
377  { kRouteFormat_RTE_WPL, kRouteFormatKey_RTE_WPL,
378  kRteWplRouteFileNameExtension, kRouteFormatDescr_RTE_WPL },
379  { kRouteFormat_Furuno, kRouteFormatKey_Furuno,
380  kFurunoRouteFileNameExtension, kRouteFormatDescr_Furuno },
381  { kRouteFormat_Furuno_Simplified, kRouteFormatKey_Furuno_Simplified,
382  kFurunoSimplifiedRouteFileNameExtension,
383  kRouteFormatDescr_Furuno_Simplified },
384  { kRouteFormat_JRC_RTN, kRouteFormatKey_JRC_RTN,
385  kJrcRtnRouteFileNameExtension, kRouteFormatDescr_JRC_RTN },
386  { kRouteFormat_JRC_CSV, kRouteFormatKey_JRC_CSV,
387  kJrcCsvRouteFileNameExtension, kRouteFormatDescr_JRC_CSV },
388  { kRouteFormat_JRC_RTM, kRouteFormatKey_JRC_RTM,
389  kJrcRtmRouteFileNameExtension, kRouteFormatDescr_JRC_RTM },
390  { kRouteFormat_KelvinHughes_ZM1816, kRouteFormatKey_KelvinHughes_ZM1816,
391  kKelvinHughesZM1816RouteFileNameExtension,
392  kRouteFormatDescr_KelvinHughes_ZM1816 },
393  { kRouteFormat_KelvinHughes_ZM2144, kRouteFormatKey_KelvinHughes_ZM2144,
394  kKelvinHughesZM2144RouteFileNameExtension,
395  kRouteFormatDescr_KelvinHughes_ZM2144 },
396  { kRouteFormat_Kongsberg_RUT, kRouteFormatKey_Kongsberg_RUT,
397  kKongsbergRutRouteFileNameExtension, kRouteFormatDescr_Kongsberg_RUT },
398  { kRouteFormat_Kongsberg_RUX, kRouteFormatKey_Kongsberg_RUX,
399  kKongsbergRuxRouteFileNameExtension, kRouteFormatDescr_Kongsberg_RUX },
400  { kRouteFormat_Kongsberg_TXT, kRouteFormatKey_Kongsberg_TXT,
401  kKongsbergTxtRouteFileNameExtension, kRouteFormatDescr_Kongsberg_TXT },
402  { kRouteFormat_Raytheon, kRouteFormatKey_Raytheon,
403  kRaytheonRouteFileNameExtension, kRouteFormatDescr_Raytheon },
404  { kRouteFormat_SAM_TXT, kRouteFormatKey_SAM_TXT,
405  kSamTxtRouteFileNameExtension, kRouteFormatDescr_SAM_TXT },
406  { kRouteFormat_SAM_XML, kRouteFormatKey_SAM_XML,
407  kSamXmlRouteFileNameExtension, kRouteFormatDescr_SAM_XML },
408  { kRouteFormat_SAM_DAT, kRouteFormatKey_SAM_DAT,
409  kSamDatRouteFileNameExtension, kRouteFormatDescr_SAM_DAT },
410  { kRouteFormat_Telko_LST, kRouteFormatKey_Telko_LST,
411  kTelkoLstRouteFileNameExtension, kRouteFormatDescr_Telko_LST },
412  { kRouteFormat_TokyoKeiki_EC7x00, kRouteFormatKey_TokyoKeiki_EC7x00,
413  kTokyoKeikiEC7x00RouteFileNameExtension,
414  kRouteFormatDescr_TokyoKeiki_EC7x00 },
415  { kRouteFormat_TokyoKeiki_EC8x00, kRouteFormatKey_TokyoKeiki_EC8x00,
416  kTokyoKeikiEC8x00RouteFileNameExtension,
417  kRouteFormatDescr_TokyoKeiki_EC8x00 },
418  { kRouteFormat_Transas, kRouteFormatKey_Transas,
419  kTransasRt3RouteFileNameExtension, kRouteFormatDescr_Transas },
420  { kRouteFormat_SevenCs_TXT, kRouteFormatKey_SevenCs_TXT,
421  kSevenCsTxtRouteFileNameExtension, kRouteFormatDescr_SevenCs_TXT },
422  { kRouteFormat_PCMaritime_TXT, kRouteFormatKey_PCMaritime_TXT,
423  kPcMaritimeTxtRouteFileNameExtension, kRouteFormatDescr_PCMaritime_TXT },
424  { kRouteFormat_PCMaritime_XML, kRouteFormatKey_PCMaritime_XML,
425  kPcMaritimeXmlRouteFileNameExtension, kRouteFormatDescr_PCMaritime_XML },
426  { kRouteFormat_Odfjell_XLSX, kRouteFormatKey_Odfjell_XLSX,
427  kOdfjellXlsxRouteFileNameExtension, kRouteFormatDescr_Odfjell_XLSX },
428  { kRouteFormat_Furuno_V1, kRouteFormatKey_Furuno_V1,
429  kFurunoV1RouteFileNameExtension, kRouteFormatDescr_Furuno_V1 },
430 };
431 
435  kRouteFormatProperty_Id = 0,
436  kRouteFormatProperty_Key,
437  kRouteFormatProperty_FileExt,
438  kRouteFormatProperty_Description,
439 };
440 
443 static const wchar_t kNavBox_RouteStorageBinPath[] = L"RoutesBin";
444 
449 public:
451  virtual SDKResult SDK_CALLTYPE GetExtensionProperty(
452  const SDKString& id,
453  SDKAny& value) const throw() = 0;
454 
456  virtual SDKResult SDK_CALLTYPE EnumExtensionProperties(
457  IEnumSDKStringSP& enum_string) const throw() = 0;
458 
460  template< typename T >
461  SDKResult GetExtensionPropertyT(const SDKString& id, T& out) const throw() {
462  SDK_NAMESPACE::ScopedAny value;
463  GDBResult res = GetExtensionProperty(id, value);
464  if (SDK_FAILED(res))
465  return res;
466  if (ANY_IS_EMPTY(&value))
467  return kSDKResult_NotExist;
468  return value.GetAs< T >(out) ? kSDKResult_Succeeded :
470  }
471 
472  SDK_IMPLEMENT_IID(IRouteExtensionProperties)
473  SDK_END_INTERFACE(IRouteExtensionProperties)
474 };
475 SDK_DECLARE_IID(IRouteExtensionProperties)
476 
477 class IRouteEditorExtensionProperties : public ISDKComponent {
478 public:
480  virtual SDKResult SDK_CALLTYPE SetRouteExtensionProperty(
481  const SDKString& property_id,
482  const SDKAny& property_value) throw() = 0;
483 
485  virtual SDKResult SDK_CALLTYPE SetWaypointExtensionProperty(
486  SDKUInt32 waypoint_index,
487  const SDKString& property_id,
488  const SDKAny& value) throw() = 0;
489 
491  virtual SDKResult SDK_CALLTYPE SetLegExtensionProperty(
492  SDKUInt32 leg_index,
493  const SDKString& property_id,
494  const SDKAny& value) throw() = 0;
495 
497  virtual SDKResult SDK_CALLTYPE SetEventMarkExtensionProperty(
498  const SDKAny& event_mark_id,
499  const SDKString& property_id,
500  const SDKAny& value) throw() = 0;
501 
502  SDK_IMPLEMENT_IID(IRouteEditorExtensionProperties)
503  SDK_END_INTERFACE(IRouteEditorExtensionProperties)
504 };
505 SDK_DECLARE_IID(IRouteEditorExtensionProperties)
506 
507 class IRouteLeg : public IGDBObject {
510 public:
512  virtual SDKResult SDK_CALLTYPE GetProperty(
514  SDKAny& value) const throw() = 0;
515 
517  template< typename T >
518  SDKResult GetPropertyT(RouteLegPropertiesEnum id, T& out) const throw() {
519  SDK_NAMESPACE::ScopedAny value;
520  GDBResult res = GetProperty(id, value);
521  if (SDK_FAILED(res))
522  return res;
523  if (ANY_IS_EMPTY(&value))
524  return kSDKResult_NotExist;
525  return value.GetAs< T >(out) ? kSDKResult_Succeeded :
527  }
528 
529  SDK_IMPLEMENT_IID(IRouteLeg)
530  SDK_END_INTERFACE(IRouteLeg)
531 };
532 SDK_DECLARE_IID(IRouteLeg)
533 
534 class IRouteLegEdit : public IGDBObject {
537 public:
539  virtual SDKResult SDK_CALLTYPE SetProperty(
541  const SDKAny& value) throw() = 0;
542 
543  SDK_IMPLEMENT_IID(IRouteLegEdit)
544  SDK_END_INTERFACE(IRouteLegEdit)
545 };
546 SDK_DECLARE_IID(IRouteLegEdit)
547 
548 class IWaypoint : public IGDBObject {
551 public:
553  virtual SDKResult SDK_CALLTYPE GetPosition(
554  SDKGeoPoint& position) const throw() = 0;
555 
557  virtual SDKResult SDK_CALLTYPE GetProperty(
559  SDKAny& value) const throw() = 0;
560 
562  virtual SDKResult SDK_CALLTYPE GetWaypointIndex(
563  SDKUInt32& index) const throw() = 0;
564 
566  virtual SDKResult SDK_CALLTYPE GetOutgoingLeg(
567  IRouteLegSP& leg) const throw() = 0;
568 
570  template< typename T >
571  SDKResult GetPropertyT(WaypointPropertiesEnum id, T& out) const throw() {
572  SDK_NAMESPACE::ScopedAny value;
573  GDBResult res = GetProperty(id, value);
574  if (SDK_FAILED(res))
575  return res;
576  if (ANY_IS_EMPTY(&value))
577  return kSDKResult_NotExist;
578  return value.GetAs< T >(out) ? kSDKResult_Succeeded :
580  }
581 
582  SDK_IMPLEMENT_IID(IWaypoint)
583  SDK_END_INTERFACE(IWaypoint)
584 };
585 SDK_DECLARE_IID(IWaypoint)
586 
587 class IFoundElementInfo : public ISDKComponent {
590 public:
593  virtual SDKResult SDK_CALLTYPE GetElement(
594  ISDKComponentSP& element) const throw() = 0;
595 
597  virtual SDKResult SDK_CALLTYPE GetPoint(
598  SDKGeoPoint& point) const throw() = 0;
599 
601  virtual SDKResult SDK_CALLTYPE GetDistanceFromWOP(
602  double& distance_nm) const throw() = 0;
603 
604  SDK_IMPLEMENT_IID(IFoundElementInfo)
605  SDK_END_INTERFACE(IFoundElementInfo)
606 };
607 SDK_DECLARE_IID(IFoundElementInfo)
608 
609 class IFoundElementInfoEnum : public ISDKComponent
612 {
613 public:
615  virtual SDKResult SDK_CALLTYPE GetCount(
616  SDKUInt32& count) const throw() = 0;
617 
619  virtual SDKResult SDK_CALLTYPE GetElementInfo(
620  SDKUInt32 index,
621  IFoundElementInfoSP& element_info) const throw() = 0;
622 
623  SDK_IMPLEMENT_IID(IFoundElementInfoEnum)
624  SDK_END_INTERFACE(IFoundElementInfoEnum)
625 };
626 SDK_DECLARE_IID(IFoundElementInfoEnum)
627 
628 class IRoute : public IGDBObject {
631 public:
633  virtual SDKResult SDK_CALLTYPE GetName(SDKString& name) const throw() = 0;
634 
636  virtual SDKResult SDK_CALLTYPE GetProperty(
638  SDKAny& value) const throw() = 0;
639 
641  virtual SDKResult SDK_CALLTYPE GetWaypointsCount(
642  SDKUInt32& count) const throw() = 0;
643 
645  virtual SDKResult SDK_CALLTYPE GetWaypoint(
646  SDKUInt32 index,
647  IWaypointSP& waypoint ) const throw() = 0;
648 
650  virtual SDKResult SDK_CALLTYPE Find(
651  RouteElementType type,
652  const SDKGeoPointRect& geo_rect,
653  IFoundElementInfoEnum** out_value) const throw() = 0;
654 
656  virtual SDKResult SDK_CALLTYPE GetCorridorGeometryAsSurface(
657  SDKUInt32 leg_index,
658  double split_distance,
659  SDK_GEOMETRY_NAMESPACE::IGeometrySP& geometry) const throw() = 0;
660 
662  virtual SDKResult SDK_CALLTYPE GetLegTrackGeometryAsSurface(
663  SDKUInt32 leg_index,
664  double split_distance,
665  double corridor_width,
666  SDK_GEOMETRY_NAMESPACE::IGeometrySP& geometry) const throw() = 0;
667 
669  virtual SDKResult SDK_CALLTYPE GetLegTrackGeometry(
670  SDKUInt32 leg_index,
671  double split_distance,
672  SDK_GEOMETRY_NAMESPACE::IGeometrySP& geometry) const throw() = 0;
673 
675  virtual SDKResult SDK_CALLTYPE GetWOP(
676  SDKUInt32 leg_index,
677  SDKGeoPoint& position) const throw() = 0;
678 
680  template< typename T >
681  SDKResult GetPropertyT(RoutePropertiesEnum id, T& out) const throw() {
682  SDK_NAMESPACE::ScopedAny value;
683  GDBResult res = GetProperty(id, value);
684  if (SDK_FAILED(res))
685  return res;
686  if (ANY_IS_EMPTY(&value))
687  return kSDKResult_NotExist;
688  return value.GetAs< T >(out) ? kSDKResult_Succeeded :
690  }
691 
692  SDK_IMPLEMENT_IID(IRoute)
693  SDK_END_INTERFACE(IRoute)
694 };
695 SDK_DECLARE_IID(IRoute)
696 
697 class IRoutePortrayalProperty : public IGDBObject {
700 public:
702  virtual SDKResult SDK_CALLTYPE SetRoutePortrayalProperty(
703  RoutePortrayalPropertiesEnum property_id,
704  const SDKAny& property_value) throw() = 0;
705 
706  SDK_IMPLEMENT_IID(IRoutePortrayalProperty)
707  SDK_END_INTERFACE(IRoutePortrayalProperty)
708 };
709 SDK_DECLARE_IID(IRoutePortrayalProperty)
710 
711 class IRouteEditorStateStack : public ISDKComponent {
714 public:
716  virtual SDKResult SDK_CALLTYPE PushCurrentState() throw() = 0;
717 
719  virtual SDKResult SDK_CALLTYPE PopState() throw() = 0;
720 
724  virtual SDKResult SDK_CALLTYPE GetStackSize(
725  SDKUInt32& size) const throw() = 0;
726 
730  virtual SDKResult SDK_CALLTYPE SetStackSizeLimit(
731  SDKUInt32 size_limit) throw() = 0;
732 
733  SDK_IMPLEMENT_IID(IRouteEditorStateStack)
734  SDK_END_INTERFACE(IRouteEditorStateStack)
735 };
736 SDK_DECLARE_IID(IRouteEditorStateStack)
737 
740 class IRouteEditor : public ISDKComponent {
741 public:
743  virtual SDKResult SDK_CALLTYPE GetWorkspace(
744  IWorkspace** workspace) throw() = 0;
745 
747  virtual SDKResult SDK_CALLTYPE SetName(
748  const SDKString& name) throw() = 0;
749 
751  virtual SDKResult SDK_CALLTYPE SetRouteProperty(
752  RoutePropertiesEnum property_id,
753  const SDKAny& property_value) throw() = 0;
754 
756  virtual SDKResult SDK_CALLTYPE InsertWaypoint(
757  SDKUInt32 before_index,
758  const SDKGeoPoint& position) throw() = 0;
759 
761  virtual SDKResult SDK_CALLTYPE RemoveWaypoint(
762  SDKUInt32 waypoint_index) throw() = 0;
763 
765  virtual SDKResult SDK_CALLTYPE SetWaypointPosition(
766  SDKUInt32 waypoint_index,
767  const SDKGeoPoint& position) throw() = 0;
768 
770  virtual SDKResult SDK_CALLTYPE SetWaypointProperty(
771  SDKUInt32 waypoint_index,
772  WaypointPropertiesEnum property_id,
773  const SDKAny& value) throw() = 0;
774 
776  virtual SDKResult SDK_CALLTYPE GetWaypointProperty(
777  SDKUInt32 waypoint_index,
778  WaypointPropertiesEnum property_id,
779  SDKAny& value) const throw() = 0;
780 
782  virtual SDKResult SDK_CALLTYPE SetLegProperty(
783  SDKUInt32 leg_index,
784  RouteLegPropertiesEnum property_id,
785  const SDKAny& value ) throw() = 0;
786 
788  virtual SDKResult SDK_CALLTYPE SetSelectorPosition(
789  SDKUInt32 selector_idx,
790  const SDKAny& selector_type,
791  const SDKGeoPoint& position) throw() = 0;
792 
794  virtual SDKResult SDK_CALLTYPE RemoveSelector(
795  SDKInt32 selector_idx) throw() = 0;
796 
798  virtual SDKResult SDK_CALLTYPE ReverseRoute() throw() = 0;
799 
801  virtual SDKResult SDK_CALLTYPE GetRoute(IRouteSP& route) throw() = 0;
802 
804  virtual SDKResult SDK_CALLTYPE UpdateChanges() throw() = 0;
805 
808  virtual SDKResult SDK_CALLTYPE UpdateChangesAsNew() throw() = 0;
809 
812  virtual SDKResult SDK_CALLTYPE CommitChanges() throw() = 0;
813 
816  virtual SDKResult SDK_CALLTYPE CommitChangesAsNew() throw() = 0;
817 
819  virtual SDKResult SDK_CALLTYPE SetBearingLines(
820  SDKUInt32 waypoint_index) throw() = 0;
821 
823  virtual SDKResult SDK_CALLTYPE RemoveBearingLines() throw() = 0;
824 
826  virtual SDKResult SDK_CALLTYPE SetBeamLines(
827  SDKUInt32 wp_index, double beam_line_length) throw() = 0;
828 
830  virtual SDKResult SDK_CALLTYPE RemoveBeamLines() throw() = 0;
831 
834  virtual SDKResult SDK_CALLTYPE IsModified() const throw() = 0;
835 
838  virtual SDKResult SDK_CALLTYPE AppendRoute(const IRouteSP& route) throw() = 0;
839 
840  SDK_IMPLEMENT_IID(IRouteEditor)
841  SDK_END_INTERFACE(IRouteEditor)
842 };
843 SDK_DECLARE_IID(IRouteEditor)
844 
845 class IRouteStorage : public ISDKComponent {
848 public:
850  virtual SDKResult SDK_CALLTYPE CreateParametersContainer(
851  ISDKParametersSP& parameters) throw() = 0;
852 
854  virtual SDKResult SDK_CALLTYPE Initialize(
855  RouteStorageTypes storage_type,
856  const ISDKParametersSP& parameters) throw() = 0;
857 
859  virtual SDKResult SDK_CALLTYPE GetRouteCount(
860  SDKUInt32& routes_count) const throw() = 0;
861 
863  virtual SDKResult SDK_CALLTYPE GetRoute(
864  SDKUInt32 route_index,
865  IRouteSP& route) const throw() = 0;
866 
868  virtual SDKResult SDK_CALLTYPE Find(
869  const SDKString& route_name,
870  IRouteSP& route) const throw() = 0;
871 
873  virtual SDKResult SDK_CALLTYPE CreateRoute(
874  const SDKString& route_name,
875  const SDKString& workspace_name,
876  IRouteEditorSP& route_editor) throw() = 0;
877 
879  virtual SDKResult SDK_CALLTYPE EditRoute(
880  const SDKString& route_name,
881  const SDKString& workspace_name,
882  IRouteEditorSP& route_editor) throw() = 0;
883 
885  virtual SDKResult SDK_CALLTYPE DeleteRoute(
886  const SDKString& route_name) throw() = 0;
887 
889  virtual SDKResult SDK_CALLTYPE GetRouteStatus(
890  const SDKAny& route_id,
891  SDKUInt64& status) throw() = 0;
892 
894  virtual SDKResult SDK_CALLTYPE SetRouteStatus(
895  const SDKAny& route_id,
896  const SDKUInt64& status) throw() = 0;
897 
899  virtual SDKResult SDK_CALLTYPE SaveRoute(
900  const SDKAny& route_id) throw() = 0;
901 
903  virtual SDKResult SDK_CALLTYPE GetFileNameFromRouteName(
904  SDKUInt32 route_format,
905  const SDKString& route_name,
906  SDKString& route_file_name) const throw() = 0;
907 
910  virtual SDKResult SDK_CALLTYPE GetNamesOfRoutesFromFile(
911  SDKUInt32& route_format,
912  const SDKString& route_file_pathname,
913  IEnumSDKStringSP& enum_route_name) throw() = 0;
914 
924  virtual SDKResult SDK_CALLTYPE ImportRoute(
925  SDKUInt32 route_format,
926  const SDKString& input_route_path,
927  const SDKString& output_route_filename,
928  const SDKString& route_name_to_import,
929  const SDKString& route_name_to_set,
930  IRouteEditorSP& route_editor) throw() = 0;
931 
937  virtual SDKResult SDK_CALLTYPE ImportRoute(
938  SDKUInt32 route_format,
939  const SDKString& input_route_path,
940  const ISDKParametersSP& parameters,
941  IRouteEditorSP& route_editor) throw() = 0;
942 
948  virtual SDKResult SDK_CALLTYPE ExportRoute(
949  SDKUInt32 route_format,
950  const SDKString& route_name,
951  const SDKString& route_dirname,
952  const SDKString& route_filename) const throw() = 0;
953 
959  virtual SDKResult SDK_CALLTYPE ExportRoute(
960  SDKUInt32 route_format,
961  const SDKString& route_name,
962  const SDKString& route_dirname,
963  const ISDKParametersSP& parameters) const throw() = 0;
964 
966  virtual SDKResult SDK_CALLTYPE ReloadRoute(
967  const SDKString& route_file_pathname) throw() = 0;
968 
972  virtual SDKResult SDK_CALLTYPE GetSupportedRouteFormats(
973  ICollectionSDKPropertiesSP& route_formats) const throw() = 0;
974 
979  virtual SDKResult SDK_CALLTYPE GetRouteFileContent(
980  const SDKString& route_name, SDKArray& route_content) const throw() = 0;
981 
983  virtual SDKResult SDK_CALLTYPE EditRouteFromRouteFileContent(
984  const SDKArray& route_file_content,
985  const SDKString& workspace_name,
986  IRouteEditorSP& route_editor) throw() = 0;
987 
989  virtual SDKResult SDK_CALLTYPE RestoreRoute(
990  const SDKString& route_name) throw() = 0;
991 
993  virtual SDKResult SDK_CALLTYPE DeleteRoutePermanently(
994  const SDKString& route_name) throw() = 0;
995 
1001  virtual SDKResult SDK_CALLTYPE ExportRouteToStream(
1002  SDKUInt32 route_format,
1003  const SDKString& route_name,
1004  const ISDKParametersSP& params,
1005  base::ISDKStreamSP& stream) const throw() = 0;
1006 
1007  SDK_IMPLEMENT_IID(IRouteStorage)
1008  SDK_END_INTERFACE(IRouteStorage)
1009 };
1010 SDK_DECLARE_IID(IRouteStorage)
1011 
1012 class IRouteUtil : public IGDBObject {
1015 public:
1016 
1018  virtual SDKResult SDK_CALLTYPE GetDistanceToCurve(
1019  const SDKGeoPoint& from,
1020  const SDK_GEOMETRY_NAMESPACE::IGeometrySP& to,
1021  SDKGeoPoint& point_on_curve,
1022  double& distance_to_curve) throw() = 0;
1023 
1024  SDK_IMPLEMENT_IID(IRouteUtil)
1025  SDK_END_INTERFACE(IRouteUtil)
1026 };
1027 SDK_DECLARE_IID(IRouteUtil)
1028 
1029 class IRouteEditorInternal : public ISDKComponent {
1032 public:
1034  virtual void SDK_CALLTYPE StartLoading() throw() = 0;
1035  virtual void SDK_CALLTYPE StopLoading() throw() = 0;
1036  virtual bool SDK_CALLTYPE IsBeingLoaded() const throw() = 0;
1037 
1039  virtual SDKResult SDK_CALLTYPE SetWaypointCount(size_t wp_count) throw() = 0;
1040 
1042  virtual SDKResult SDK_CALLTYPE AppendWaypoint(
1043  const SDKGeoPoint& position) throw() = 0;
1044 
1045  SDK_IMPLEMENT_IID(IRouteEditorInternal)
1046  SDK_END_INTERFACE(IRouteEditorInternal)
1047 };
1048 SDK_DECLARE_IID(IRouteEditorInternal)
1049 
1050 } // namespace routes
1051 SDK_GDB_END_NAMESPACE
1052 
1053 #endif // SDK_ROUTE_STORAGE_INTERFACES_H_
routes::RouteExportParameters
RouteExportParameters
Route export parameters.
Definition: route_storage_interfaces.h:237
routes::kRouteImportParameters_OutputRouteFilename
@ kRouteImportParameters_OutputRouteFilename
Output file name, string.
Definition: route_storage_interfaces.h:229
routes::kWaypointProperty_Leg_SpeedMin
@ kWaypointProperty_Leg_SpeedMin
Lowest cruising speed in knots on the leg.
Definition: route_storage_interfaces.h:139
routes::kRouteElementType_None
@ kRouteElementType_None
Empty mask.
Definition: route_storage_interfaces.h:45
routes::IRoute::GetCorridorGeometryAsSurface
virtual SDKResult SDK_CALLTYPE GetCorridorGeometryAsSurface(SDKUInt32 leg_index, double split_distance, SDK_GEOMETRY_NAMESPACE::IGeometrySP &geometry) const =0
Returns specified leg corridor.
routes::kRouteElementType_LegWithCurve
@ kRouteElementType_LegWithCurve
< Curve part of the leg
Definition: route_storage_interfaces.h:52
routes::kWaypointProperty_ScheduledETD
@ kWaypointProperty_ScheduledETD
Scheduled ETD.
Definition: route_storage_interfaces.h:128
routes::kRouteStorageParameter_BinPath
@ kRouteStorageParameter_BinPath
Bin path.
Definition: route_storage_interfaces.h:166
routes::kRouteProperty_VesselIMO
@ kRouteProperty_VesselIMO
Vessel IMO.
Definition: route_storage_interfaces.h:76
routes::IFoundElementInfo::GetPoint
virtual SDKResult SDK_CALLTYPE GetPoint(SDKGeoPoint &point) const =0
Returns found route element nearest point.
routes::kRouteLegProperty_Highlight
@ kRouteLegProperty_Highlight
Leg highlight type (RouteHighlightAttributeEnum)
Definition: route_storage_interfaces.h:95
kDSP_User
@ kDSP_User
Start for user properties.
Definition: gdb_dataset.h:229
SDKGeoPointRect
Geo rectangle in degree units.
Definition: geometry_base_types.h:1801
routes::kRouteExportParameters_OutputRouteFilename
@ kRouteExportParameters_OutputRouteFilename
The filename of the exported route, string.
Definition: route_storage_interfaces.h:238
routes::kWaypointProperty_Leg_PlannedSpeed
@ kWaypointProperty_Leg_PlannedSpeed
Outgoing leg planned speed.
Definition: route_storage_interfaces.h:136
IWorkspace
A Workspace is a container of spatial and non-spatial datasets. Workspace is a non-creatable object....
Definition: gdb_workspace.h:525
routes::IRoute::Find
virtual SDKResult SDK_CALLTYPE Find(RouteElementType type, const SDKGeoPointRect &geo_rect, IFoundElementInfoEnum **out_value) const =0
Finds the route object under specified geographic rectangle.
routes::kWaypointProperty_Selected
@ kWaypointProperty_Selected
Tells if way point is selected.
Definition: route_storage_interfaces.h:120
routes::kRouteProperty_VesselName
@ kRouteProperty_VesselName
Vessel name.
Definition: route_storage_interfaces.h:74
routes::kWaypointProperty_Leg_DynamicUKC
@ kWaypointProperty_Leg_DynamicUKC
Minimum dynamic UKC on the leg.
Definition: route_storage_interfaces.h:145
routes::kWaypointProperty_Leg_Masthead
@ kWaypointProperty_Leg_Masthead
Height of masthead.
Definition: route_storage_interfaces.h:146
sdk_results.h
A list of SDK error/return results.
routes::RoutePropertiesEnum
RoutePropertiesEnum
Route properties (extension of dataset properties).
Definition: route_storage_interfaces.h:58
routes::IRoute::GetWaypointsCount
virtual SDKResult SDK_CALLTYPE GetWaypointsCount(SDKUInt32 &count) const =0
Returns number of route way points.
routes::kVoyageProperty_LastValue
@ kVoyageProperty_LastValue
Last enum value.
Definition: voyage_properties.h:57
routes::kRouteElementType_EventMark
@ kRouteElementType_EventMark
Event mark.
Definition: route_storage_interfaces.h:48
routes::kRouteElementType_Leg
@ kRouteElementType_Leg
Leg.
Definition: route_storage_interfaces.h:47
routes::kRouteLegProperty_IsRhumbline
@ kRouteLegProperty_IsRhumbline
Marks leg as rhumb line (LegtypeAttributesEnum)
Definition: route_storage_interfaces.h:91
routes::kRouteLegProperty_DynamicUKC
@ kRouteLegProperty_DynamicUKC
Minimum dynamic UKC on the leg.
Definition: route_storage_interfaces.h:105
routes::RouteStatuses
RouteStatuses
Route statuses.
Definition: route_storage_interfaces.h:175
routes::kRouteProperty_WODistance
@ kRouteProperty_WODistance
WO distance.
Definition: route_storage_interfaces.h:77
routes::kRouteStorageParameter_NavBoxClient
@ kRouteStorageParameter_NavBoxClient
Pointer to the NavBox client.
Definition: route_storage_interfaces.h:165
routes::kRouteLegProperty_LegNote2
@ kRouteLegProperty_LegNote2
Local remarks.
Definition: route_storage_interfaces.h:110
routes::IRoute::GetPropertyT
SDKResult GetPropertyT(RoutePropertiesEnum id, T &out) const
Returns route properties.
Definition: route_storage_interfaces.h:681
routes::kWaypointProperty_Leg_StaticUKC
@ kWaypointProperty_Leg_StaticUKC
Minimum UKC on the leg.
Definition: route_storage_interfaces.h:144
routes::IRoute
Route interface.
Definition: route_storage_interfaces.h:630
routes::kRouteProperty_FileContent
@ kRouteProperty_FileContent
Route file content.
Definition: route_storage_interfaces.h:71
routes::kRouteLegProperty_LegNote1
@ kRouteLegProperty_LegNote1
Notes regarding the ETD/ETA.
Definition: route_storage_interfaces.h:109
routes::kRouteStatus_Invisible
@ kRouteStatus_Invisible
Route is invisible.
Definition: route_storage_interfaces.h:176
routes::kWaypointProperty_Leg_SafetyContour
@ kWaypointProperty_Leg_SafetyContour
Safety contour in meters.
Definition: route_storage_interfaces.h:140
routes::IWaypoint::GetProperty
virtual SDKResult SDK_CALLTYPE GetProperty(WaypointPropertiesEnum id, SDKAny &value) const =0
Returns way point properties.
routes::kWaypointProperty_Leg_LegInfo
@ kWaypointProperty_Leg_LegInfo
Nice to know.
Definition: route_storage_interfaces.h:148
routes::kRouteImportParameters_StrictMode
@ kRouteImportParameters_StrictMode
Use strict import mode (break on missed mandatory fields), bool.
Definition: route_storage_interfaces.h:232
routes::kRouteLegProperty_StaticUKC
@ kRouteLegProperty_StaticUKC
Minimum UKC on the leg.
Definition: route_storage_interfaces.h:104
routes::IWaypoint::GetPosition
virtual SDKResult SDK_CALLTYPE GetPosition(SDKGeoPoint &position) const =0
Returns way point position.
routes::IRouteEditorStateStack::SetStackSizeLimit
virtual SDKResult SDK_CALLTYPE SetStackSizeLimit(SDKUInt32 size_limit)=0
Set the stack size limit.
routes::kRouteStatus_Visible
@ kRouteStatus_Visible
Route is visible.
Definition: route_storage_interfaces.h:177
routes::RouteLegPropertiesEnum
RouteLegPropertiesEnum
Route leg properties.
Definition: route_storage_interfaces.h:90
routes::kRouteProperty_DeparturePort
@ kRouteProperty_DeparturePort
Reference to the port of departure.
Definition: route_storage_interfaces.h:61
routes::RouteFormat
RouteFormat
Route formats.
Definition: route_storage_interfaces.h:182
routes::IFoundElementInfo::GetDistanceFromWOP
virtual SDKResult SDK_CALLTYPE GetDistanceFromWOP(double &distance_nm) const =0
Returns distance from found nearest point from WOP.
routes::kNavtorRouteFileNameExtension
static const wchar_t kNavtorRouteFileNameExtension[]
Route file name extensions.
Definition: route_storage_interfaces.h:249
routes::IRoute::GetProperty
virtual SDKResult SDK_CALLTYPE GetProperty(RoutePropertiesEnum id, SDKAny &value) const =0
Returns route property.
gdb_workspace.h
Describes interfaces that manages a geodatabase workspace.
routes::kRouteElementType_ParallelIndexLine
@ kRouteElementType_ParallelIndexLine
PI.
Definition: route_storage_interfaces.h:49
routes::kRouteLegProperty_DeepContour
@ kRouteLegProperty_DeepContour
Deep contour in meters.
Definition: route_storage_interfaces.h:111
routes::IRouteEditorStateStack::GetStackSize
virtual SDKResult SDK_CALLTYPE GetStackSize(SDKUInt32 &size) const =0
Returns the stack size.
routes::kWaypointProperty_Leg_LegReport
@ kWaypointProperty_Leg_LegReport
Reporting information.
Definition: route_storage_interfaces.h:147
routes::kWaypointProperty_PilotBoarding
@ kWaypointProperty_PilotBoarding
Pilot boarding Undefined/Embarkment/Disembarkment.
Definition: route_storage_interfaces.h:125
routes::kWaypointProperty_WODistance
@ kWaypointProperty_WODistance
Distance from WO line to WO point.
Definition: route_storage_interfaces.h:126
routes::kRouteLegProperty_SafetyContour
@ kRouteLegProperty_SafetyContour
Safety contour in meters.
Definition: route_storage_interfaces.h:100
routes::IRoute::GetLegTrackGeometryAsSurface
virtual SDKResult SDK_CALLTYPE GetLegTrackGeometryAsSurface(SDKUInt32 leg_index, double split_distance, double corridor_width, SDK_GEOMETRY_NAMESPACE::IGeometrySP &geometry) const =0
Returns the leg track geometry as a corridor with the specified width.
routes::kRouteLegProperty_Masthead
@ kRouteLegProperty_Masthead
Height of masthead.
Definition: route_storage_interfaces.h:106
routes::IRoute::GetLegTrackGeometry
virtual SDKResult SDK_CALLTYPE GetLegTrackGeometry(SDKUInt32 leg_index, double split_distance, SDK_GEOMETRY_NAMESPACE::IGeometrySP &geometry) const =0
Returns the leg track geometry.
routes::kRouteLegProperty_DraughtAft
@ kRouteLegProperty_DraughtAft
Static draught aft in meters.
Definition: route_storage_interfaces.h:103
routes::kWaypointProperty_Leg_SafetyDepth
@ kWaypointProperty_Leg_SafetyDepth
Safety depth in meters.
Definition: route_storage_interfaces.h:141
routes::kWaypointProperty_Name
@ kWaypointProperty_Name
Name.
Definition: route_storage_interfaces.h:117
routes::IRoute::GetWaypoint
virtual SDKResult SDK_CALLTYPE GetWaypoint(SDKUInt32 index, IWaypointSP &waypoint) const =0
Returns route way point.
routes::kRouteLegProperty_DeviationPort
@ kRouteLegProperty_DeviationPort
Portside XTE.
Definition: route_storage_interfaces.h:93
kSDKResult_Succeeded
static const SDKResult kSDKResult_Succeeded
Operation completed successfully.
Definition: sdk_results.h:22
routes::kWaypointProperty_Leg_DeviationPort
@ kWaypointProperty_Leg_DeviationPort
Outgoing leg port deviation.
Definition: route_storage_interfaces.h:135
parameters_interface.h
Provides access to members for managing a parameter set.
routes::kRouteStorageParameter_ResourceLockComponent
@ kRouteStorageParameter_ResourceLockComponent
Lock reference.
Definition: route_storage_interfaces.h:164
routes::RouteImportParameters
RouteImportParameters
Route import parameters.
Definition: route_storage_interfaces.h:228
routes::IFoundElementInfoEnum::GetElementInfo
virtual SDKResult SDK_CALLTYPE GetElementInfo(SDKUInt32 index, IFoundElementInfoSP &element_info) const =0
Returns found element info.
routes::kWaypointProperty_BeamLineLength
@ kWaypointProperty_BeamLineLength
Beam lines length in NM.
Definition: route_storage_interfaces.h:127
routes::IWaypoint::GetWaypointIndex
virtual SDKResult SDK_CALLTYPE GetWaypointIndex(SDKUInt32 &index) const =0
Returns way point index.
routes::RouteFormatProperties
RouteFormatProperties
Route format properties.
Definition: route_storage_interfaces.h:434
routes::IRouteLegEdit::SetProperty
virtual SDKResult SDK_CALLTYPE SetProperty(RouteLegPropertiesEnum id, const SDKAny &value)=0
Returns route leg properties.
routes::kRouteProperty_IsCaution
@ kRouteProperty_IsCaution
Marks route as caution.
Definition: route_storage_interfaces.h:69
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
routes::kRouteLegProperty_DraughtForward
@ kRouteLegProperty_DraughtForward
Static draught forward in meters.
Definition: route_storage_interfaces.h:102
routes::IRouteExtensionProperties
Extension properties interface. It can be implemented by Route, RouteLeg, Waypoint and EvenMark.
Definition: route_storage_interfaces.h:448
routes::kRouteProperty_IsActive
@ kRouteProperty_IsActive
Marks route as active (specific visual representation, e.g. for monitoring)
Definition: route_storage_interfaces.h:64
routes::kRouteStorageParameter_RestorePath
@ kRouteStorageParameter_RestorePath
Restore path.
Definition: route_storage_interfaces.h:167
routes::IRoute::GetWOP
virtual SDKResult SDK_CALLTYPE GetWOP(SDKUInt32 leg_index, SDKGeoPoint &position) const =0
Returns wheel-over point position.
routes::kWaypointProperty_TurningRadius
@ kWaypointProperty_TurningRadius
Turning radius.
Definition: route_storage_interfaces.h:119
SDKGeoPoint
Geo point in degree units.
Definition: geometry_base_types.h:1727
stream_interface.h
Generic data stream interface.
routes::kRouteImportParameters_RouteNameToImport
@ kRouteImportParameters_RouteNameToImport
The route name to import (first route is imported if omitted), string.
Definition: route_storage_interfaces.h:230
routes::kRouteLegProperty_LegReport
@ kRouteLegProperty_LegReport
Reporting information.
Definition: route_storage_interfaces.h:107
routes::kRouteElementType_PositionReference
@ kRouteElementType_PositionReference
Position reference.
Definition: route_storage_interfaces.h:50
routes::kWaypointProperty_Leg_LegNote2
@ kWaypointProperty_Leg_LegNote2
Local remarks.
Definition: route_storage_interfaces.h:150
routes::kRouteStorageParameter_FolderPath
@ kRouteStorageParameter_FolderPath
Path to the storage location.
Definition: route_storage_interfaces.h:163
routes::IRouteLeg
Route leg interface.
Definition: route_storage_interfaces.h:509
routes::IRouteLeg::GetProperty
virtual SDKResult SDK_CALLTYPE GetProperty(RouteLegPropertiesEnum id, SDKAny &value) const =0
Returns route leg properties.
routes::kWaypointProperty_WODistanceSet
@ kWaypointProperty_WODistanceSet
Distance from WO line to WO point that set after calculation.
Definition: route_storage_interfaces.h:130
routes::IRouteLeg::GetPropertyT
SDKResult GetPropertyT(RouteLegPropertiesEnum id, T &out) const
Returns route leg properties.
Definition: route_storage_interfaces.h:518
routes::IRouteExtensionProperties::EnumExtensionProperties
virtual SDKResult SDK_CALLTYPE EnumExtensionProperties(IEnumSDKStringSP &enum_string) const =0
Returns extension property specified by property id.
SDK_FAILED
#define SDK_FAILED(res)
Checks failed result.
Definition: sdk_results_enum.h:69
routes::kRouteStorageType_FilesVersion1
@ kRouteStorageType_FilesVersion1
Set of files.
Definition: route_storage_interfaces.h:157
routes::RouteStorageTypes
RouteStorageTypes
Route storage types.
Definition: route_storage_interfaces.h:156
routes::IRouteStorage
Route storage interface.
Definition: route_storage_interfaces.h:847
routes::kWaypointProperty_Leg_DraughtAft
@ kWaypointProperty_Leg_DraughtAft
Static draught aft in meters.
Definition: route_storage_interfaces.h:143
routes::kRouteLegProperty_PassageType
@ kRouteLegProperty_PassageType
Leg passage type.
Definition: route_storage_interfaces.h:97
routes::kWaypointProperty_Leg_SpeedMax
@ kWaypointProperty_Leg_SpeedMax
Highest cruising speed in knots on the leg.
Definition: route_storage_interfaces.h:138
routes::IRouteEditorStateStack::PopState
virtual SDKResult SDK_CALLTYPE PopState()=0
Reverts the route editor state.
routes::kWaypointProperty_ID
@ kWaypointProperty_ID
ID.
Definition: route_storage_interfaces.h:121
routes::IWaypoint::GetOutgoingLeg
virtual SDKResult SDK_CALLTYPE GetOutgoingLeg(IRouteLegSP &leg) const =0
Returns way point outgoing leg.
routes::kRouteProperty_IsVisible
@ kRouteProperty_IsVisible
Marks route as visible.
Definition: route_storage_interfaces.h:63
routes::kRouteImportParameters_RouteNameToSet
@ kRouteImportParameters_RouteNameToSet
The route name of imported route (original route name is used if omitted), string.
Definition: route_storage_interfaces.h:231
routes::kWaypointProperty_Index
@ kWaypointProperty_Index
Index.
Definition: route_storage_interfaces.h:118
routes::IRouteExtensionProperties::GetExtensionProperty
virtual SDKResult SDK_CALLTYPE GetExtensionProperty(const SDKString &id, SDKAny &value) const =0
Returns extension property specified by property id.
routes::kWaypointProperty_ScheduledETA
@ kWaypointProperty_ScheduledETA
Scheduled ETA.
Definition: route_storage_interfaces.h:129
routes::kRouteProperty_VesselMMSI
@ kRouteProperty_VesselMMSI
Vessel MMSI.
Definition: route_storage_interfaces.h:75
ISDKComponent
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
routes::kRouteExportParameters_ExportEventMarks
@ kRouteExportParameters_ExportEventMarks
Export event marks (only for RTZ format), bool.
Definition: route_storage_interfaces.h:239
routes::kRouteElementType_Waypoint
@ kRouteElementType_Waypoint
Way point.
Definition: route_storage_interfaces.h:46
routes::IWaypoint
Route way point interface.
Definition: route_storage_interfaces.h:550
routes::kWaypointProperty_IsWrongGeometry
@ kWaypointProperty_IsWrongGeometry
Marks way point as being a part of wrong route segment.
Definition: route_storage_interfaces.h:123
routes::kRouteFormatDescr_Navtor
static const char kRouteFormatDescr_Navtor[]
Route formats import/export.
Definition: route_storage_interfaces.h:321
routes::kRouteLegProperty_DeviationStarboard
@ kRouteLegProperty_DeviationStarboard
Starboard XTE.
Definition: route_storage_interfaces.h:92
routes::IRoutePortrayalProperty::SetRoutePortrayalProperty
virtual SDKResult SDK_CALLTYPE SetRoutePortrayalProperty(RoutePortrayalPropertiesEnum property_id, const SDKAny &property_value)=0
Sets route properties.
routes::IFoundElementInfo::GetElement
virtual SDKResult SDK_CALLTYPE GetElement(ISDKComponentSP &element) const =0
Returns found route element object (IRouteLeg, IWaypoint, IEventMark, IParallelIndexLine,...
routes::IRouteEditorStateStack::PushCurrentState
virtual SDKResult SDK_CALLTYPE PushCurrentState()=0
Stores the current state of the route editor.
routes::kWaypointProperty_Leg_Highlight
@ kWaypointProperty_Leg_Highlight
Outgoing leg highlight type (RouteHighlightAttributeEnum)
Definition: route_storage_interfaces.h:137
routes::kWaypointProperty_Leg_LegNote1
@ kWaypointProperty_Leg_LegNote1
Notes regarding the ETD/ETA.
Definition: route_storage_interfaces.h:149
routes::kRouteLegProperty_LegInfo
@ kRouteLegProperty_LegInfo
Nice to know.
Definition: route_storage_interfaces.h:108
routes::kRouteProperty_IsReference
@ kRouteProperty_IsReference
Marks route as referenced (specific visual representation, CHGRF color for route)
Definition: route_storage_interfaces.h:78
routes::kRouteLegProperty_PlannedSpeed
@ kRouteLegProperty_PlannedSpeed
Planned speed on the leg.
Definition: route_storage_interfaces.h:94
routes::kRouteLegProperty_SpeedMin
@ kRouteLegProperty_SpeedMin
Lowest cruising speed in knots on the leg.
Definition: route_storage_interfaces.h:98
routes::kRouteProperty_Distance
@ kRouteProperty_Distance
Route distance.
Definition: route_storage_interfaces.h:70
routes::kWaypointProperty_Revision
@ kWaypointProperty_Revision
Revision.
Definition: route_storage_interfaces.h:122
routes::IRoute::GetName
virtual SDKResult SDK_CALLTYPE GetName(SDKString &name) const =0
Returns route name.
routes::IFoundElementInfoEnum::GetCount
virtual SDKResult SDK_CALLTYPE GetCount(SDKUInt32 &count) const =0
Returns number of found route elements.
routes::kWaypointProperty_Leg_PassageType
@ kWaypointProperty_Leg_PassageType
Passage type.
Definition: route_storage_interfaces.h:132
routes::kWaypointProperty_Leg_DeviationStarboard
@ kWaypointProperty_Leg_DeviationStarboard
Outgoing leg starboard deviation.
Definition: route_storage_interfaces.h:134
routes::kRouteProperty_RouteStatus
@ kRouteProperty_RouteStatus
Route status.
Definition: route_storage_interfaces.h:73
routes::WaypointPropertiesEnum
WaypointPropertiesEnum
Route way point properties.
Definition: route_storage_interfaces.h:116
kSDKResult_NotExist
static const SDKResult kSDKResult_NotExist
Something does not exist.
Definition: sdk_results.h:79
routes::kRouteProperty_IsTemporary
@ kRouteProperty_IsTemporary
Marks route as temporary (specific visual representation)
Definition: route_storage_interfaces.h:68
routes::RouteStorageParameters
RouteStorageParameters
Route storage parameters.
Definition: route_storage_interfaces.h:162
enum_interface.h
Describes a basic enumeration interfaces.
routes::kRouteFormatKey_Navtor
static const char kRouteFormatKey_Navtor[]
Route formats import/export.
Definition: route_storage_interfaces.h:286
routes::kRouteProperty_Comment
@ kRouteProperty_Comment
Comment.
Definition: route_storage_interfaces.h:60
kSDKResult_InvalidArgument
static const SDKResult kSDKResult_InvalidArgument
Wrong argument passed to function.
Definition: sdk_results.h:55
routes::kWaypointProperty_Leg_GeometryType
@ kWaypointProperty_Leg_GeometryType
Outgoing leg geometry type (is rhumb line)
Definition: route_storage_interfaces.h:133
routes::kNavBox_RouteStorageBinPath
static const wchar_t kNavBox_RouteStorageBinPath[]
Routes bin path in NavBox.
Definition: route_storage_interfaces.h:443
routes::kRouteLegProperty_SpeedMax
@ kRouteLegProperty_SpeedMax
Highest cruising speed in knots on the leg.
Definition: route_storage_interfaces.h:99
routes::RouteFormatParameters
RouteFormatParameters
Route formats parameters.
Definition: route_storage_interfaces.h:221
routes::kWaypointProperty_Leg_DeepContour
@ kWaypointProperty_Leg_DeepContour
Deep contour in meters.
Definition: route_storage_interfaces.h:151
routes::kRouteLegProperty_SafetyDepth
@ kRouteLegProperty_SafetyDepth
Safety depth in meters.
Definition: route_storage_interfaces.h:101
routes::IRouteEditor
Route editor interface.
Definition: route_storage_interfaces.h:740
routes::kRouteProperty_ArrivalPort
@ kRouteProperty_ArrivalPort
Reference to the port of arrival.
Definition: route_storage_interfaces.h:62
routes::RouteElementType
RouteElementType
Route element type mask.
Definition: route_storage_interfaces.h:44
routes::kRouteProperty_RouteAuthor
@ kRouteProperty_RouteAuthor
Route author.
Definition: route_storage_interfaces.h:72
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
routes::kRouteProperty_UpdateVersion
@ kRouteProperty_UpdateVersion
Route version in current session.
Definition: route_storage_interfaces.h:67
voyage_properties.h
Voyage properties.
Initialize
SDK_EXTERN_C SDK_EXPORT_API SDKResult Initialize()
Initializes module.
routes::kRouteElementType_All
@ kRouteElementType_All
All parts.
Definition: route_storage_interfaces.h:53
routes::IRouteExtensionProperties::GetExtensionPropertyT
SDKResult GetExtensionPropertyT(const SDKString &id, T &out) const
Returns route leg properties.
Definition: route_storage_interfaces.h:461
routes::kRouteLegProperty_Index
@ kRouteLegProperty_Index
Leg Index.
Definition: route_storage_interfaces.h:96
sdk_any_handler.h
Wrappers for work with SDKAny instance.
routes::kWaypointProperty_Leg_DraughtForward
@ kWaypointProperty_Leg_DraughtForward
Static draught forward in meters.
Definition: route_storage_interfaces.h:142
routes::IWaypoint::GetPropertyT
SDKResult GetPropertyT(WaypointPropertiesEnum id, T &out) const
Returns way point properties.
Definition: route_storage_interfaces.h:571