NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
crs_ellipsoid.h
Go to the documentation of this file.
1 #ifndef SDK_CRS_ELLIPSOID_INTERFACE_H_
11 #define SDK_CRS_ELLIPSOID_INTERFACE_H_
12 #pragma once
13 
14 #include <base/inc/platform.h>
15 #include <base/inc/base_types.h>
19 
20 namespace sdk {
21 namespace crs { // coordinate systems
22 
23 // Classes declared in this file.
24 class IEllipsoid;
25 
30 class IEllipsoid : public ISDKComponent {
31 public:
33  virtual HorizontalDatum SDK_CALLTYPE GetHorizontalDatum() const throw() = 0;
35  virtual SDKResult SDK_CALLTYPE SetHorizontalDatum(
36  HorizontalDatum hordat) throw() = 0;
37 
40  virtual double SDK_CALLTYPE GetInverseFlattening() const throw() = 0;
43  virtual SDKResult SDK_CALLTYPE SetInverseFlattening(
44  double inverse_flattening) throw() = 0;
45 
47  virtual double SDK_CALLTYPE GetSemiMajorAxis() const throw() = 0;
49  virtual SDKResult SDK_CALLTYPE SetSemiMajorAxis(
50  double semi_major_axis) throw() = 0;
51 
53  virtual double SDK_CALLTYPE GetSemiMinorAxis() const throw() = 0;
55  virtual SDKResult SDK_CALLTYPE SetSemiMinorAxis(
56  double semi_minor_axis) throw() = 0;
57 
59  virtual LinearUnit SDK_CALLTYPE GetAxisUnit() const throw() = 0;
61  virtual SDKResult SDK_CALLTYPE SetAxisUnit(LinearUnit axis_unit) throw() = 0;
62 
63  SDK_IMPLEMENT_IID(IEllipsoid)
64  SDK_END_INTERFACE(IEllipsoid)
65 };
66 SDK_DECLARE_IID(IEllipsoid)
67 
68 } // namespace crs
69 } // namespace sdk
70 
71 #endif // SDK_CRS_ELLIPSOID_INTERFACE_H_
sdk::crs::IEllipsoid
Provides access to members that control the properties of the ellipsoids.
Definition: crs_ellipsoid.h:30
sdk::crs::IEllipsoid::GetAxisUnit
virtual LinearUnit SDK_CALLTYPE GetAxisUnit() const =0
Gets the value of the axis unit.
base_types.h
SDK base types.
sdk::crs::IEllipsoid::SetSemiMajorAxis
virtual SDKResult SDK_CALLTYPE SetSemiMajorAxis(double semi_major_axis)=0
Sets the value of the semi-major axis.
sdk::crs::HorizontalDatum
HorizontalDatum
The horizontal datums.
Definition: crs_horizontal_coordinate_system.h:41
sdk::crs::IEllipsoid::GetSemiMinorAxis
virtual double SDK_CALLTYPE GetSemiMinorAxis() const =0
Gets sets the value of the semi-minor axis.
sdk::crs::IEllipsoid::SetSemiMinorAxis
virtual SDKResult SDK_CALLTYPE SetSemiMinorAxis(double semi_minor_axis)=0
Sets the value of the semi-minor axis.
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
sdk::crs::IEllipsoid::SetAxisUnit
virtual SDKResult SDK_CALLTYPE SetAxisUnit(LinearUnit axis_unit)=0
Sets the value of the axis unit.
sdk::crs::IEllipsoid::GetSemiMajorAxis
virtual double SDK_CALLTYPE GetSemiMajorAxis() const =0
Gets the value of the semi-major axis.
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
sdk::crs::IEllipsoid::SetHorizontalDatum
virtual SDKResult SDK_CALLTYPE SetHorizontalDatum(HorizontalDatum hordat)=0
Sets the name of the ellipsoid.
crs_const.h
Defines constants for the coordinate systems.
sdk::crs::IEllipsoid::GetInverseFlattening
virtual double SDK_CALLTYPE GetInverseFlattening() const =0
Gets the value of the inverse of the flattening constant of the ellipsoid.
sdk::crs::IEllipsoid::SetInverseFlattening
virtual SDKResult SDK_CALLTYPE SetInverseFlattening(double inverse_flattening)=0
Sets the value of the inverse of the flattening constant of the ellipsoid.
crs_horizontal_coordinate_system.h
Describes the interface that manages a horizontal coordinate system parameters.
sdk::crs::IEllipsoid::GetHorizontalDatum
virtual HorizontalDatum SDK_CALLTYPE GetHorizontalDatum() const =0
Gets the name of the ellipsoid.
LinearUnit
SDK_CRS_BEGIN_NAMESPACE typedef double LinearUnit
Defines the linear unit. The value is the number of meters per linear unit.
Definition: crs_const.h:128