NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
crs_vertical_coordinate_system.h
Go to the documentation of this file.
1 #ifndef SDK_CRS_VERTICAL_COORDINATE_SYSTEM_INTERFACE_H_
12 #define SDK_CRS_VERTICAL_COORDINATE_SYSTEM_INTERFACE_H_
13 #pragma once
14 
15 #include <base/inc/platform.h>
16 #include <base/inc/base_types.h>
19 #include <base/inc/sdk_ref_ptr.h>
20 #include <base/inc/sdk_results.h>
23 
24 namespace sdk {
25 namespace crs {
26 
27 // Classes declared in this file.
28 FWD_DECL_INTERFACE(IVerticalCoordinateSystem);
29 
32 typedef enum VerticalDatum {
65 
75 
77 typedef enum PositiveDirection {
80 } PositiveDirection;
81 
86 public:
89  virtual VerticalDatum SDK_CALLTYPE GetVerticalDatum() const throw() = 0;
92  virtual void SDK_CALLTYPE SetVerticalDatum(VerticalDatum datum) throw() = 0;
93 
95  virtual LinearUnit SDK_CALLTYPE GetVerticalUnit() const throw() = 0;
97  virtual void SDK_CALLTYPE SetVerticalUnit(LinearUnit unit) throw() = 0;
98 
101  virtual PositiveDirection SDK_CALLTYPE GetPositiveDirection(
102  ) const throw() = 0;
105  virtual void SDK_CALLTYPE SetPositiveDirection(
106  PositiveDirection direction) throw() = 0;
107 
108 // Gets or sets the value of the VCRS parameter.
109 // virtual SDKResult SDK_CALLTYPE GetParameter(
110 // VerticalCoordinateSystemParameter parameter,
111 // SDKAny& value) const throw() = 0;
112 // virtual SDKResult SDK_CALLTYPE SetParameter(
113 // VerticalCoordinateSystemParameter parameter,
114 // const SDKAny& value) const throw() = 0;
115 
116  SDK_IMPLEMENT_IID(IVerticalCoordinateSystem)
117  SDK_END_INTERFACE(IVerticalCoordinateSystem)
118 };
119 SDK_DECLARE_IID(IVerticalCoordinateSystem)
120 
121 } // namespace crs
122 } // namespace sdk
123 
124 #endif // SDK_CRS_VERTICAL_COORDINATE_SYSTEM_INTERFACE_H_
sdk::crs::kVerDat_ApproximateMeanLowerLowWater
@ kVerDat_ApproximateMeanLowerLowWater
15 : Approximate mean lower low water
Definition: crs_vertical_coordinate_system.h:48
sdk::crs::kVerDat_LowerLowWaterLargeTide
@ kVerDat_LowerLowWaterLargeTide
27 : Lower low water large tide
Definition: crs_vertical_coordinate_system.h:60
sdk_results.h
A list of SDK error/return results.
sdk::crs::kVerDat_MeanHighWater
@ kVerDat_MeanHighWater
16 : Mean high water
Definition: crs_vertical_coordinate_system.h:49
sdk::crs::kVerDat_InternationalGreatLakesDatum1985
@ kVerDat_InternationalGreatLakesDatum1985
25 : International Great Lakes Datum 1985
Definition: crs_vertical_coordinate_system.h:58
base_types.h
SDK base types.
sdk::crs::kVerDat_HighWaterSprings
@ kVerDat_HighWaterSprings
20 : High water springs
Definition: crs_vertical_coordinate_system.h:53
sdk::crs::IVerticalCoordinateSystem
Provides access to members that control access to the properties of the vertical coordinate system.
Definition: crs_vertical_coordinate_system.h:85
sdk::crs::kVerDat_HighestAstronomicalTideHAT
@ kVerDat_HighestAstronomicalTideHAT
30 : Highest astronomical tide (HAT)
Definition: crs_vertical_coordinate_system.h:63
sdk::crs::kVerDat_ApproximateMeanSeaLevel
@ kVerDat_ApproximateMeanSeaLevel
19 : Approximate mean sea level
Definition: crs_vertical_coordinate_system.h:52
sdk::crs::IVerticalCoordinateSystem::GetVerticalDatum
virtual VerticalDatum SDK_CALLTYPE GetVerticalDatum() const =0
Gets the vertical datum, which indicates the measurement method.
sdk_ref_ptr.h
Interfaces wrapper with reference count control.
crs_coordinate_system.h
Base interface for coordinate system. Describes very common parameters.
sdk::crs::kVerDat_MeanLowerLowWater
@ kVerDat_MeanLowerLowWater
12 : Mean lower low water
Definition: crs_vertical_coordinate_system.h:45
sdk::crs::kVerDat_MeanLowWaterSprings
@ kVerDat_MeanLowWaterSprings
1 : Mean low water springs
Definition: crs_vertical_coordinate_system.h:34
sdk::crs::kVerDat_ApproximateMeanLowWaterSprings
@ kVerDat_ApproximateMeanLowWaterSprings
7 : Approximate mean low water springs
Definition: crs_vertical_coordinate_system.h:40
sdk::crs::kVerDat_IndianSpringLowWater
@ kVerDat_IndianSpringLowWater
8 : Indian spring low water
Definition: crs_vertical_coordinate_system.h:41
sdk::crs::kVerDat_MeanHigherHighWater
@ kVerDat_MeanHigherHighWater
21 : Mean higher high water
Definition: crs_vertical_coordinate_system.h:54
sdk::crs::IVerticalCoordinateSystem::SetVerticalDatum
virtual void SDK_CALLTYPE SetVerticalDatum(VerticalDatum datum)=0
Sets the vertical datum, which indicates the measurement method.
sdk_string_handler.h
Wrappers and helper functions for SDKString.
sdk::crs::IVerticalCoordinateSystem::GetPositiveDirection
virtual PositiveDirection SDK_CALLTYPE GetPositiveDirection() const =0
Gets the positive direction of Z coordinates. Up is 1. Down (in the direction of gravity) is -1.
sdk::crs::kVerDat_LowWaterSprings
@ kVerDat_LowWaterSprings
9 : Low water springs
Definition: crs_vertical_coordinate_system.h:42
sdk::crs::kVerDat_LowestLowWater
@ kVerDat_LowestLowWater
4 : Lowest low water
Definition: crs_vertical_coordinate_system.h:37
sdk::crs::kVerDat_MeanSeaLevel
@ kVerDat_MeanSeaLevel
3 : Mean sea level
Definition: crs_vertical_coordinate_system.h:36
sdk::crs::IVerticalCoordinateSystem::GetVerticalUnit
virtual LinearUnit SDK_CALLTYPE GetVerticalUnit() const =0
Gets the units used along the vertical axis.
sdk::crs::kVerDat_MeanHighWaterSprings
@ kVerDat_MeanHighWaterSprings
17 : Mean high water springs
Definition: crs_vertical_coordinate_system.h:50
sdk_component_interface.h
Common base SDK interfaces.
sdk::crs::kVerDat_MeanLowLowWaterSprings
@ kVerDat_MeanLowLowWaterSprings
2 : Mean lower low water springs
Definition: crs_vertical_coordinate_system.h:35
sdk::crs::kVerDat_EquinoctialSpringLowWater
@ kVerDat_EquinoctialSpringLowWater
22 : Equinoctial spring low water
Definition: crs_vertical_coordinate_system.h:55
sdk::crs::kVCRSPar_CoordinateUnit
@ kVCRSPar_CoordinateUnit
The linear unit of a vertical coordinate system. Returns meters per unit.
Definition: crs_vertical_coordinate_system.h:70
sdk::crs::kVerDat_ApproximateMeanLowWater
@ kVerDat_ApproximateMeanLowWater
14 : Approximate mean low water
Definition: crs_vertical_coordinate_system.h:47
sdk::crs::kVerDat_LowWater
@ kVerDat_LowWater
13 : Low water
Definition: crs_vertical_coordinate_system.h:46
sdk::crs::kVerDat_HighWater
@ kVerDat_HighWater
18 : High water
Definition: crs_vertical_coordinate_system.h:51
platform.h
Describes the platform constants.
sdk::crs::kVCRSPar_Datum
@ kVCRSPar_Datum
VerticalDatum.
Definition: crs_vertical_coordinate_system.h:69
sdk::crs::kVerDat_MeanWaterLevel
@ kVerDat_MeanWaterLevel
26 : Mean water level
Definition: crs_vertical_coordinate_system.h:59
sdk::crs::IVerticalCoordinateSystem::SetPositiveDirection
virtual void SDK_CALLTYPE SetPositiveDirection(PositiveDirection direction)=0
Sets the positive direction of Z coordinates. Up is 1. Down (in the direction of gravity) is -1.
sdk::crs::kVerDat_LowestLowWaterSprings
@ kVerDat_LowestLowWaterSprings
6 : Lowest low water springs
Definition: crs_vertical_coordinate_system.h:39
crs_const.h
Defines constants for the coordinate systems.
sdk::crs::kVerDat_ApproximateLowestAstronomicalTide
@ kVerDat_ApproximateLowestAstronomicalTide
10 : Approximate lowest astronomical tide
Definition: crs_vertical_coordinate_system.h:43
sdk::crs::VerticalDatum
VerticalDatum
List of the vertical datums.
Definition: crs_vertical_coordinate_system.h:32
sdk::crs::kPositiveDirection_Up
@ kPositiveDirection_Up
Up direction.
Definition: crs_vertical_coordinate_system.h:78
sdk::crs::IVerticalCoordinateSystem::SetVerticalUnit
virtual void SDK_CALLTYPE SetVerticalUnit(LinearUnit unit)=0
Sets the units used along the vertical axis.
sdk::crs::ICoordinateSystem
Base interface for coordinate systems.
Definition: crs_coordinate_system.h:30
sdk::crs::kVerDat_LocalDatum
@ kVerDat_LocalDatum
24 : Local datum
Definition: crs_vertical_coordinate_system.h:57
sdk::crs::kVerDat_NearlyHighestHighWater
@ kVerDat_NearlyHighestHighWater
29 : Nearly highest high water
Definition: crs_vertical_coordinate_system.h:62
sdk::crs::PositiveDirection
PositiveDirection
Defines the positive direction.
Definition: crs_vertical_coordinate_system.h:77
sdk::crs::VerticalCoordinateSystemParameter
VerticalCoordinateSystemParameter
Parameters of the vertical coordinate system.
Definition: crs_vertical_coordinate_system.h:68
sdk::crs::kVerDat_MeanLowWater
@ kVerDat_MeanLowWater
5 : Mean low water
Definition: crs_vertical_coordinate_system.h:38
sdk::crs::kVerDat_Unknown
@ kVerDat_Unknown
0 : Unknown
Definition: crs_vertical_coordinate_system.h:33
sdk::crs::kVerDat_NearlyLowestLowWater
@ kVerDat_NearlyLowestLowWater
11 : Nearly lowest low water
Definition: crs_vertical_coordinate_system.h:44
sdk::crs::kPositiveDirection_Down
@ kPositiveDirection_Down
Down direction.
Definition: crs_vertical_coordinate_system.h:79
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
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
sdk::crs::kVCRSPar_PositiveDirection
@ kVCRSPar_PositiveDirection
Up is 1. Down (in the direction of gravity) is -1.
Definition: crs_vertical_coordinate_system.h:72
sdk::crs::kVerDat_LowestAstronomicalTide
@ kVerDat_LowestAstronomicalTide
23 : Lowest astronomical tide
Definition: crs_vertical_coordinate_system.h:56
sdk::crs::kVerDat_HigherHighWaterLargeTide
@ kVerDat_HigherHighWaterLargeTide
28 : Higher high water large tide
Definition: crs_vertical_coordinate_system.h:61