FlowEngine 7.517
Photogrammetry Software Development Kit
Loading...
Searching...
No Matches
ProjectedCoordinateSystemInterface.h
Go to the documentation of this file.
1/*
2 *
3 * C@@o ____ _____ __ _
4 * oC8@@@@@@@o |___ \| __ \ / _| |
5 * o@@@@@@@@@@@@O __) | | | | |_| | _____ __
6 * O@O 8@@@@@@@@@O |__ <| | | | _| |/ _ \ \ /\ / /
7 * o@@@@@@@O OOOOOCo ___) | |__| | | | | (_) \ V V /
8 * C@@@@@@@@@@@@Oo |____/|_____/|_| |_|\___/ \_/\_/
9 * o8@@@@@@@@@@@@@@@@8OOCCCC
10 * oO@@@@@@@@@@@@@@@@@@@o 3Dflow s.r.l. - www.3dflow.net
11 * oO8@@@@@@@@@@@@o Copyright 2022
12 * oO88@@@@@@@@8OCo All Rights Reserved
13 * O@@@@@@@@@@@@@@@@@@@@@@@@@8OCCoooooooCCo
14 * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O
15 * @@@Oo oO8@@@@@@@@@@@@@@@@8
16 *
17 */
18
19#ifndef FLOWENGINEPCS_H
20#define FLOWENGINEPCS_H
21
22#pragma once
23
24#include "CommonDef.h"
25
26namespace FlowEngine
27{
35 {
36 public:
37
38 FLE_DLL virtual ~ProjectedCoordinateSystemInterface() = default;
39
40 public:
41
44 FLE_DLL virtual bool isValid() const = 0;
45
46 public:
47
54 FLE_DLL virtual Result importFromWTK( ConstStringBuffer wtk ) = 0;
55
58
61 FLE_DLL virtual Size getWellKnownTextLength() const = 0;
62
71 FLE_DLL virtual Result getWellKnownText( StringBuffer outWtk ) const = 0;
72
73 public:
74
76 FLE_DLL virtual Size getNameLength() const = 0;
77
87 FLE_DLL virtual Result getName( StringBuffer outName ) const = 0;
88
89 public:
90
92 FLE_DLL virtual Size getUnitNameLength() const = 0;
93
103 FLE_DLL virtual Result getUnitName( StringBuffer outUnitName ) const = 0;
104
105 public:
106
108 FLE_DLL virtual Size getProjectionNameLength() const = 0;
109
119 FLE_DLL virtual Result getProjectionName( StringBuffer outProjectionName ) const = 0;
120
122 FLE_DLL virtual void getProjectionParameters( double &outScaleFactor,
123 double &outCentralMeridian,
124 double &outLatitudeOfOrigin,
125 double &outFalseEasting,
126 double &outFalseNorthing ) const = 0;
127
128 public:
129
131 FLE_DLL virtual Size getSpheroidNameLength() const = 0;
132
142 FLE_DLL virtual Result getSpheroidName( StringBuffer outSpheroidName ) const = 0;
143
146 FLE_DLL virtual void getSpheroidParameters( double &outInverseFlattening,
147 double &outSemiMajorAxis ) const = 0;
148
149 public:
150
152 FLE_DLL virtual Size getPrimeMeridianNameLength() const = 0;
153
163 FLE_DLL virtual Result getPrimeMeridianName( StringBuffer outPrimeMeridianName ) const = 0;
164
166 FLE_DLL virtual Size getGeodeticDatumNameLength() const = 0;
167
177 FLE_DLL virtual Result getGeodeticDatumName( StringBuffer outGeodeticDatumName ) const = 0;
178
179 public:
180
183 FLE_DLL virtual Size getEPSGCodeLength() const = 0;
184
193 FLE_DLL virtual Result getEPSGCode( StringBuffer outId ) const = 0;
194
195 public:
196
203 FLE_DLL virtual Result convertToGS( Point3 &inOutCoordinates ) const = 0;
204
211 FLE_DLL virtual Result convertFromGS( Point3 &inOutCoordinates ) const = 0;
212 };
213
217
221}
222
223#endif
#define FLOWENGINE_FACTORY
Definition: CommonDef.h:32
Represents a Projected Coordinate System (PCS).
Definition: ProjectedCoordinateSystemInterface.h:35
virtual FLE_DLL Result convertToGS(Point3 &inOutCoordinates) const =0
virtual FLE_DLL Result getSpheroidName(StringBuffer outSpheroidName) const =0
virtual FLE_DLL ~ProjectedCoordinateSystemInterface()=default
virtual FLE_DLL Size getSpheroidNameLength() const =0
Retrieves the length of this PCS spheroid name.
virtual FLE_DLL Result getProjectionName(StringBuffer outProjectionName) const =0
virtual FLE_DLL Size getProjectionNameLength() const =0
Retrieves the length of this PCS projection name.
virtual FLE_DLL Result convertFromGS(Point3 &inOutCoordinates) const =0
virtual FLE_DLL Result importFromWTK(ConstStringBuffer wtk)=0
virtual FLE_DLL Size getEPSGCodeLength() const =0
virtual FLE_DLL Result getPrimeMeridianName(StringBuffer outPrimeMeridianName) const =0
virtual FLE_DLL Size getWellKnownTextLength() const =0
virtual FLE_DLL Size getPrimeMeridianNameLength() const =0
virtual FLE_DLL Result getWellKnownText(StringBuffer outWtk) const =0
virtual FLE_DLL void getSpheroidParameters(double &outInverseFlattening, double &outSemiMajorAxis) const =0
virtual FLE_DLL Result loadFromWellKnownText(ConstStringBuffer wtk)=0
Equivalent to importFromWTK.
virtual FLE_DLL void getProjectionParameters(double &outScaleFactor, double &outCentralMeridian, double &outLatitudeOfOrigin, double &outFalseEasting, double &outFalseNorthing) const =0
Retrieves information about this PCS projection method parameters.
virtual FLE_DLL Result getGeodeticDatumName(StringBuffer outGeodeticDatumName) const =0
virtual FLE_DLL Size getNameLength() const =0
virtual FLE_DLL Result getUnitName(StringBuffer outUnitName) const =0
virtual FLE_DLL Result getEPSGCode(StringBuffer outId) const =0
virtual FLE_DLL Size getUnitNameLength() const =0
Retrieves the length of this PCS unit.
virtual FLE_DLL Result getName(StringBuffer outName) const =0
virtual FLE_DLL bool isValid() const =0
virtual FLE_DLL Size getGeodeticDatumNameLength() const =0
Definition: BoundingBoxInterface.cpp:26
void DestroyProjectedCoordinateSystem(ProjectedCoordinateSystemInterface *pcs)
Definition: ProjectedCoordinateSystemInterface.cpp:32
ProjectedCoordinateSystemInterface * CreateProjectedCoordinateSystem()
Definition: ProjectedCoordinateSystemInterface.cpp:27
std::size_t Size
Size type.
Definition: CommonDef.h:103
Result
Enumerates possible results generated by FlowEngine.
Definition: CommonDef.h:45
Specialization for a Buffer of characters.
Definition: CommonDef.h:255
Specialization for a const buffer characters.
Definition: CommonDef.h:296
a three dimensional point
Definition: CommonDef.h:375