Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
AbstractLocal3dCrs.h
1 /*-----------------------------------------------------------------------
2 Licensed to the Apache Software Foundation (ASF) under one
3 or more contributor license agreements. See the NOTICE file
4 distributed with this work for additional information
5 regarding copyright ownership. The ASF licenses this file
6 to you under the Apache License, Version 2.0 (the
7 "License"; you may not use this file except in compliance
8 with the License. You may obtain a copy of the License at
9 
10  http://www.apache.org/licenses/LICENSE-2.0
11 
12 Unless required by applicable law or agreed to in writing,
13 software distributed under the License is distributed on an
14 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 KIND, either express or implied. See the License for the
16 specific language governing permissions and limitations
17 under the License.
18 -----------------------------------------------------------------------*/
19 #pragma once
20 
21 #include "../common/AbstractObject.h"
22 
23 namespace RESQML2_NS
24 {
26  class AbstractLocal3dCrs : public COMMON_NS::AbstractObject
27  {
28  public:
29 
31  virtual ~AbstractLocal3dCrs() = default;
32 
40  DLL_IMPORT_OR_EXPORT double getOriginOrdinal1() const;
41 
49  DLL_IMPORT_OR_EXPORT double getOriginOrdinal2() const;
50 
60  DLL_IMPORT_OR_EXPORT double getOriginDepthOrElevation() const;
61 
70  DLL_IMPORT_OR_EXPORT double getArealRotation() const;
71 
79  DLL_IMPORT_OR_EXPORT bool isDepthOriented() const;
80 
86  DLL_IMPORT_OR_EXPORT bool isProjectedCrsDefinedWithEpsg() const;
87 
93  DLL_IMPORT_OR_EXPORT virtual bool isProjectedCrsUnknown() const;
94 
102  DLL_IMPORT_OR_EXPORT const std::string & getProjectedCrsUnknownReason() const;
103 
111  DLL_IMPORT_OR_EXPORT unsigned long long getProjectedCrsEpsgCode() const;
112 
118  DLL_IMPORT_OR_EXPORT bool isVerticalCrsDefinedWithEpsg() const;
119 
125  DLL_IMPORT_OR_EXPORT bool isVerticalCrsUnknown() const;
126 
134  DLL_IMPORT_OR_EXPORT const std::string & getVerticalCrsUnknownReason() const;
135 
143  DLL_IMPORT_OR_EXPORT unsigned long long getVerticalCrsEpsgCode() const;
144 
150  DLL_IMPORT_OR_EXPORT std::string getVerticalCrsUnitAsString() const;
151 
157  gsoap_resqml2_0_1::eml20__PlaneAngleUom getArealRotationUom() const;
158 
164  DLL_IMPORT_OR_EXPORT gsoap_resqml2_0_1::eml20__LengthUom getProjectedCrsUnit() const;
165 
171  DLL_IMPORT_OR_EXPORT std::string getProjectedCrsUnitAsString() const;
172 
178  DLL_IMPORT_OR_EXPORT gsoap_resqml2_0_1::eml20__LengthUom getVerticalCrsUnit() const;
179 
185  DLL_IMPORT_OR_EXPORT gsoap_resqml2_0_1::eml20__AxisOrder2d getAxisOrder() const;
186 
194  DLL_IMPORT_OR_EXPORT void setAxisOrder(gsoap_resqml2_0_1::eml20__AxisOrder2d axisOrder) const;
195 
207  DLL_IMPORT_OR_EXPORT void convertXyzPointsToGlobalCrs(double * xyzPoints, uint64_t xyzPointCount, bool withoutTranslation = false) const;
208 
209  protected:
210 
218  AbstractLocal3dCrs(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : COMMON_NS::AbstractObject(partialObject) {}
219 
221  AbstractLocal3dCrs() {}
222 
228  AbstractLocal3dCrs(gsoap_resqml2_0_1::resqml20__AbstractLocal3dCrs* fromGsoap) :
229  COMMON_NS::AbstractObject(fromGsoap) {}
230 
236  AbstractLocal3dCrs(gsoap_eml2_3::resqml22__AbstractLocal3dCrs* fromGsoap) :
237  COMMON_NS::AbstractObject(fromGsoap) {}
238 
245  virtual double getZOffset() const = 0;
246 
248  void loadTargetRelationships();
249  };
250 }
Proxy class for an abstract local 3D coordinate reference system (CRS).
Definition: AbstractLocal3dCrs.h:27
const std::string & getVerticalCrsUnknownReason() const
void convertXyzPointsToGlobalCrs(double *xyzPoints, uint64_t xyzPointCount, bool withoutTranslation=false) const
std::string getProjectedCrsUnitAsString() const
double getOriginDepthOrElevation() const
gsoap_resqml2_0_1::eml20__LengthUom getProjectedCrsUnit() const
const std::string & getProjectedCrsUnknownReason() const
double getArealRotation() const
gsoap_resqml2_0_1::eml20__LengthUom getVerticalCrsUnit() const
bool isProjectedCrsDefinedWithEpsg() const
gsoap_resqml2_0_1::eml20__PlaneAngleUom getArealRotationUom() const
virtual ~AbstractLocal3dCrs()=default
double getOriginOrdinal2() const
unsigned long long getProjectedCrsEpsgCode() const
gsoap_resqml2_0_1::eml20__AxisOrder2d getAxisOrder() const
virtual bool isProjectedCrsUnknown() const
double getOriginOrdinal1() const
void setAxisOrder(gsoap_resqml2_0_1::eml20__AxisOrder2d axisOrder) const
unsigned long long getVerticalCrsEpsgCode() const
bool isVerticalCrsUnknown() const
std::string getVerticalCrsUnitAsString() const
bool isVerticalCrsDefinedWithEpsg() const