NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
crs_projected_coordinate_system.h
Go to the documentation of this file.
1 #ifndef SDK_CRS_PROJECTED_COORDINATE_SYSTEM_INTERFACE_H_
11 #define SDK_CRS_PROJECTED_COORDINATE_SYSTEM_INTERFACE_H_
12 #pragma once
13 
14 #include <base/inc/platform.h>
15 #include <base/inc/base_types.h>
21 
22 namespace sdk {
23 namespace crs {
24 
25 // Classes declared in other files.
26 class IGeographicCoordinateSystem;
27 class IProjection;
28 
29 // Classes declared in this file.
30 FWD_DECL_INTERFACE(IProjectedCoordinateSystem);
31 
36 public:
39  virtual SDKResult SDK_CALLTYPE GetGeographicCoordinateSystem(
40  IGeographicCoordinateSystem** gcrs) const throw() = 0;
41 
44  virtual SDKResult SDK_CALLTYPE SetGeographicCoordinateSystem(
45  IGeographicCoordinateSystem* gcrs) throw() = 0;
46 
49  virtual LinearUnit GetLinearUnit() const throw() = 0;
50 
53  virtual void SetLinearUnit(LinearUnit unit) throw() = 0;
54 
60  virtual SDKResult SDK_CALLTYPE GetHorizon(
61  bool* inclusive,
62  sdk::geometry::IGeometry** horizon) const throw() = 0;
63 
65  virtual SDKResult SDK_CALLTYPE GetProjection(
66  IProjection** projection) const throw() = 0;
67 
69  virtual SDKResult SDK_CALLTYPE SetProjection(
70  IProjection* projection) throw() = 0;
71 
72  SDK_IMPLEMENT_IID(IProjectedCoordinateSystem)
73  SDK_END_INTERFACE(IProjectedCoordinateSystem)
74 };
75 SDK_DECLARE_IID(IProjectedCoordinateSystem)
76 
77 } // namespace crs
78 } // namespace sdk
79 
80 #endif // SDK_CRS_PROJECTED_COORDINATE_SYSTEM_INTERFACE_H_
sdk::crs::IProjectedCoordinateSystem::GetHorizon
virtual SDKResult SDK_CALLTYPE GetHorizon(bool *inclusive, sdk::geometry::IGeometry **horizon) const =0
The mathematical limits of a projected coordinate system.
sdk::crs::IGeographicCoordinateSystem
Provides access to members that control access to all properties of horizontal (geographic) coordinat...
Definition: crs_geographic_coordinate_system.h:42
geometry.h
Describes interfaces that manages a geometry objects.
base_types.h
SDK base types.
sdk::crs::IProjectedCoordinateSystem::GetGeographicCoordinateSystem
virtual SDKResult SDK_CALLTYPE GetGeographicCoordinateSystem(IGeographicCoordinateSystem **gcrs) const =0
Gets the geographic coordinate system associated with the projected coordinate system.
sdk::crs::IProjectedCoordinateSystem::SetLinearUnit
virtual void SetLinearUnit(LinearUnit unit)=0
Sets the linear (projected) units of the projected coordinate system.
sdk::crs::IProjectedCoordinateSystem::SetGeographicCoordinateSystem
virtual SDKResult SDK_CALLTYPE SetGeographicCoordinateSystem(IGeographicCoordinateSystem *gcrs)=0
Sets the geographic coordinate system associated with the projected coordinate system.
sdk_string_handler.h
Wrappers and helper functions for SDKString.
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
sdk_component_interface.h
Common base SDK interfaces.
sdk::crs::IProjectedCoordinateSystem
Provides access to members that control the properties and methods for the projected coordinate syste...
Definition: crs_projected_coordinate_system.h:35
platform.h
Describes the platform constants.
sdk::crs::IProjectedCoordinateSystem::GetProjection
virtual SDKResult SDK_CALLTYPE GetProjection(IProjection **projection) const =0
Gets the projection for the projected coordinate system.
crs_const.h
Defines constants for the coordinate systems.
sdk::crs::IHorizontalCoordinateSystem
Describes member that manage the horizontal coordinate system
Definition: crs_horizontal_coordinate_system.h:137
crs_horizontal_coordinate_system.h
Describes the interface that manages a horizontal coordinate system parameters.
sdk::crs::IProjectedCoordinateSystem::SetProjection
virtual SDKResult SDK_CALLTYPE SetProjection(IProjection *projection)=0
Sets the projection for the projected coordinate system.
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::IProjectedCoordinateSystem::GetLinearUnit
virtual LinearUnit GetLinearUnit() const =0
Gets the linear (projected) units of the projected coordinate system.
sdk::crs::IProjection
Provides access to members that control the properties and methods for the projection.
Definition: crs_projection.h:31