NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
crs_geodesic_calculation.h
Go to the documentation of this file.
1 
9 #ifndef SDK_CRS_GEODESIC_CALCULATION_INTERFACE_H_
10 #define SDK_CRS_GEODESIC_CALCULATION_INTERFACE_H_
11 #pragma once
12 
13 #include <base/inc/platform.h>
14 #include <base/inc/base_types.h>
16 #include <base/inc/sdk_ref_ptr.h>
19 
20 namespace sdk {
21 namespace crs {
22 
23 // Classes declared in this file.
24 FWD_DECL_INTERFACE(IGeodesicCalculation);
25 
32 
35 typedef enum GeodesicLineType {
39 
43 public:
54  virtual SDKResult SDK_CALLTYPE Direct(double lat1, double lon1, double azi,
55  double dist, double& lat2, double& lon2) const throw() = 0;
56 
65  virtual SDKResult SDK_CALLTYPE Inverse(double lat1, double lon1, double lat2,
66  double lon2, double& dist, double& azi1, double& azi2) const throw() = 0;
67 
75  virtual SDKResult SDK_CALLTYPE GeodesicLine(double lat1, double lon1,
76  double lat2, double lon2, double distance_between_wp, GeodesicLineType type,
77  geometry::IPointCollection** points) const throw() = 0;
78 
79  SDK_IMPLEMENT_IID(IGeodesicCalculation)
80  SDK_END_INTERFACE(IGeodesicCalculation)
81 };
82 SDK_DECLARE_IID(IGeodesicCalculation)
83 
84 } // namespace crs
85 } // namespace sdk
86 
87 #endif // SDK_CRS_GEODESIC_CALCULATION_INTERFACE_H_
sdk::crs::kGeodesicLineType_IntervalsOfEqualLength
@ kGeodesicLineType_IntervalsOfEqualLength
Equal length.
Definition: crs_geodesic_calculation.h:36
geometry.h
Describes interfaces that manages a geometry objects.
base_types.h
SDK base types.
sdk_ref_ptr.h
Interfaces wrapper with reference count control.
sdk::crs::kGeodesicCalculationType_GreatCircle
@ kGeodesicCalculationType_GreatCircle
Great circle calculations.
Definition: crs_geodesic_calculation.h:29
sdk::crs::GeodesicCalculationType
GeodesicCalculationType
Type of geodesic calculations.
Definition: crs_geodesic_calculation.h:28
sdk::crs::kGeodesicLineType_IntervalsOfEqualArcLength
@ kGeodesicLineType_IntervalsOfEqualArcLength
Equal arc length..
Definition: crs_geodesic_calculation.h:37
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
sdk::crs::GeodesicLineType
GeodesicLineType
Type of geodesic calculations.
Definition: crs_geodesic_calculation.h:35
sdk::crs::IGeodesicCalculation::Inverse
virtual SDKResult SDK_CALLTYPE Inverse(double lat1, double lon1, double lat2, double lon2, double &dist, double &azi1, double &azi2) const =0
Perform the inverse geodesic calculation.
sdk_component_interface.h
Common base SDK interfaces.
platform.h
Describes the platform constants.
ISDKComponent
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
crs_const.h
Defines constants for the coordinate systems.
sdk::crs::IGeodesicCalculation::GeodesicLine
virtual SDKResult SDK_CALLTYPE GeodesicLine(double lat1, double lon1, double lat2, double lon2, double distance_between_wp, GeodesicLineType type, geometry::IPointCollection **points) const =0
Perform the Great Circle approximation.
sdk::crs::IGeodesicCalculation::Direct
virtual SDKResult SDK_CALLTYPE Direct(double lat1, double lon1, double azi, double dist, double &lat2, double &lon2) const =0
Perform the direct geodesic calculation.
sdk::crs::kGeodesicCalculationType_RhumbLine
@ kGeodesicCalculationType_RhumbLine
Rhumb line calculations.
Definition: crs_geodesic_calculation.h:30
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
sdk::crs::IGeodesicCalculation
Provides basic transformations.
Definition: crs_geodesic_calculation.h:42