CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
OdEllipsoidDefinition.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, Open Design Alliance (the "Alliance").
3// All rights reserved.
4//
5// This software and its documentation and related materials are owned by
6// the Alliance. The software may only be incorporated into application
7// programs owned by members of the Alliance, subject to a signed
8// Membership Agreement and Supplemental Software License Agreement with the
9// Alliance. The structure and organization of this software are the valuable
10// trade secrets of the Alliance and its suppliers. The software is also
11// protected by copyright law and international treaty provisions. Application
12// programs incorporating this software must include the following statement
13// with their copyright notices:
14//
15// This application incorporates Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2024 by Open Design Alliance.
18// All rights reserved.
19//
20// By use of this software, its documentation or related materials, you
21// acknowledge and accept the above terms.
23#ifndef _ODSPATIALREFERENCE_ODELLIPSOIDDEFINITION_INCLUDED_
24#define _ODSPATIALREFERENCE_ODELLIPSOIDDEFINITION_INCLUDED_
25
26#include "OdDefinitionBase.h"
27
28namespace OdSpatialReference
29{
31
36
41
42 class OdEllipsoidDefinitionImpl;
43
50 {
52 public:
61 static OdResult load(const OdString& sCode, OdEllipsoidDefinitionPtr& pEllipsoidDefinition);
62
70 static OdResult loadAll(OdEllipsoidDefinitionArray& arrEllipsoidDefinition);
71
76
81
86
91
99 static bool isLegalRadius(double dRadius);
100
109 static bool isLegalFlatteningRatio(double dEquatorial, double dPolar);
110
118 static bool isLegalFlatteningRatio(double dFlat);
119
128 static double flatteningRatio(double dEquatorial, double dPolar);
129
137 static double flatteningRatio(double dEccentricity);
138
146 static double eccentricity(double dFlat);
147
155 OdResult getEquatorialRadius(double& dRadius) const;
156
165
173 OdResult getPolarRadius(double& dRadius) const;
174
182 OdResult setPolarRadius(double dRadius);
183
191 OdResult getFlatteningRatio(double& dFlatteningRatio) const;
192
200 OdResult getEccentricity(double& dEccentricity) const;
201
209 OdResult isProtected(bool& bProtected) const;
210
218 OdResult setProtected(bool bProtected);
219
232 OdResult getGreatCircle(double dLongitude1, double dLatitude1, double dLongitude2, double dLatitude2, double& dDistance, double& dAzimuth) const;
233
241 OdResult getGroup(OdString& sGroup) const;
242
250 OdResult setGroup(const OdString& sGroup);
251
259 OdResult getEpsgCode(OdInt16& nEpsgCode) const;
260
269
277 static bool isLegalCode(const OdString& sCode);
278
286 static bool isLegalDescription(const OdString& sDescription);
287
295 static bool isLegalSource(const OdString& sSource);
296
304 static bool isLegalGroup(const OdString& sGroup);
305 };
306}
307
308#endif //_ODSPATIALREFERENCE_ODELLIPSOIDDEFINITION_INCLUDED_
short OdInt16
OdResult
Definition OdResult.h:29
#define ODSPREF_RX_DECLARE_MEMBERS(ClassName)
#define TD_SPATIALREFERENCE_API_STATIC
#define TD_SPATIALREFERENCE_API
static bool isLegalSource(const OdString &sSource)
OdResult setEpsgCode(OdInt16 nEpsgCode)
static TD_SPATIALREFERENCE_API_STATIC const double kdMaxEllipsoidRadius
static bool isLegalRadius(double dRadius)
static TD_SPATIALREFERENCE_API_STATIC const double kdMinEllipsoidFlat
OdResult setPolarRadius(double dRadius)
OdResult isProtected(bool &bProtected) const
OdResult setGroup(const OdString &sGroup)
static OdResult load(const OdString &sCode, OdEllipsoidDefinitionPtr &pEllipsoidDefinition)
static bool isLegalGroup(const OdString &sGroup)
static OdResult loadAll(OdEllipsoidDefinitionArray &arrEllipsoidDefinition)
static bool isLegalCode(const OdString &sCode)
static bool isLegalFlatteningRatio(double dFlat)
static double flatteningRatio(double dEccentricity)
OdResult setProtected(bool bProtected)
static bool isLegalDescription(const OdString &sDescription)
static TD_SPATIALREFERENCE_API_STATIC const double kdMaxEllipsoidFlat
static bool isLegalFlatteningRatio(double dEquatorial, double dPolar)
static double flatteningRatio(double dEquatorial, double dPolar)
static double eccentricity(double dFlat)
OdResult getEccentricity(double &dEccentricity) const
OdResult getFlatteningRatio(double &dFlatteningRatio) const
OdResult getGroup(OdString &sGroup) const
OdResult getPolarRadius(double &dRadius) const
static TD_SPATIALREFERENCE_API_STATIC const double kdMinEllipsoidRadius
OdResult getEquatorialRadius(double &dRadius) const
OdResult setEquatorialRadius(double dRadius)
OdResult getEpsgCode(OdInt16 &nEpsgCode) const
OdResult getGreatCircle(double dLongitude1, double dLatitude1, double dLongitude2, double dLatitude2, double &dDistance, double &dAzimuth) const
OdSmartPtr< OdEllipsoidDefinition > OdEllipsoidDefinitionPtr
OdArray< OdEllipsoidDefinitionPtr > OdEllipsoidDefinitionArray