dotnet/NETGeographicLib/Ellipsoid.cpp
Go to the documentation of this file.
1 
11 #include "stdafx.h"
13 #include "Ellipsoid.h"
14 #include "NETGeographicLib.h"
15 
16 using namespace NETGeographicLib;
17 
18 const char BADALLOC[] = "Failed to allocate memory for a GeographicLib::Ellipsoid";
19 
20 //*****************************************************************************
22 {
23  if ( m_pEllipsoid != NULL )
24  {
25  delete m_pEllipsoid;
26  m_pEllipsoid = NULL;
27  }
28 }
29 
30 //*****************************************************************************
32 {
33  try
34  {
36  }
37  catch ( std::bad_alloc )
38  {
39  throw gcnew GeographicErr( BADALLOC );
40  }
41 }
42 
43 //*****************************************************************************
44 Ellipsoid::Ellipsoid(double a, double f)
45 {
46  try
47  {
49  }
50  catch ( std::bad_alloc err )
51  {
52  throw gcnew GeographicErr( BADALLOC );
53  }
54  catch ( const std::exception& err )
55  {
56  throw gcnew GeographicErr( err.what() );
57  }
58 }
59 
60 //*****************************************************************************
62 {
63  return m_pEllipsoid->ParametricLatitude( phi );
64 }
65 
66 //*****************************************************************************
68 {
70 }
71 
72 //*****************************************************************************
74 {
75  return m_pEllipsoid->GeocentricLatitude( phi );
76 }
77 
78 //*****************************************************************************
80 {
81  return m_pEllipsoid->InverseGeocentricLatitude( theta );
82 }
83 
84 //*****************************************************************************
86 {
87  return m_pEllipsoid->RectifyingLatitude( phi );
88 }
89 
90 //*****************************************************************************
92 {
94 }
95 
96 //*****************************************************************************
97 double Ellipsoid::AuthalicLatitude(double phi)
98 {
99  return m_pEllipsoid->AuthalicLatitude( phi );
100 }
101 
102 //*****************************************************************************
104 {
106 }
107 
108 //*****************************************************************************
110 {
111  return m_pEllipsoid->ConformalLatitude( phi );
112 }
113 
114 //*****************************************************************************
116 {
117  return m_pEllipsoid->InverseConformalLatitude( chi );
118 }
119 
120 //*****************************************************************************
122 {
123  return m_pEllipsoid->IsometricLatitude( phi );
124 }
125 
126 //*****************************************************************************
128 {
130 }
131 
132 //*****************************************************************************
133 double Ellipsoid::CircleRadius(double phi)
134 {
135  return m_pEllipsoid->CircleRadius( phi );
136 }
137 
138 //*****************************************************************************
139 double Ellipsoid::CircleHeight(double phi)
140 {
141  return m_pEllipsoid->CircleHeight( phi );
142 }
143 
144 //*****************************************************************************
145 double Ellipsoid::MeridianDistance(double phi)
146 {
147  return m_pEllipsoid->MeridianDistance( phi );
148 }
149 
150 //*****************************************************************************
152 {
154 }
155 
156 //*****************************************************************************
158 {
160 }
161 
162 //*****************************************************************************
163 double Ellipsoid::NormalCurvatureRadius(double phi, double azi)
164 {
165  return m_pEllipsoid->NormalCurvatureRadius( phi, azi );
166 }
167 
168 //*****************************************************************************
170 {
172 }
173 
174 //*****************************************************************************
176 {
178 }
179 
180 //*****************************************************************************
182 {
184 }
185 
186 //*****************************************************************************
188 {
190 }
191 
192 //*****************************************************************************
194 {
196 }
197 
198 //*****************************************************************************
200 {
202 }
203 
204 //*****************************************************************************
206 {
208 }
209 
210 //*****************************************************************************
212 {
214 }
215 
216 //*****************************************************************************
218 {
220 }
221 
222 //*****************************************************************************
224 {
226 }
227 
228 //*****************************************************************************
230 { return m_pEllipsoid->MajorRadius(); }
231 
232 //*****************************************************************************
234 { return m_pEllipsoid->MinorRadius(); }
235 
236 //*****************************************************************************
238 { return m_pEllipsoid->QuarterMeridian(); }
239 
240 //*****************************************************************************
241 double Ellipsoid::Area::get()
242 { return m_pEllipsoid->Area(); }
243 
244 //*****************************************************************************
245 double Ellipsoid::Volume::get()
246 { return m_pEllipsoid->Volume(); }
247 
248 //*****************************************************************************
250 { return m_pEllipsoid->Flattening(); }
251 
252 //*****************************************************************************
254 { return m_pEllipsoid->SecondFlattening(); }
255 
256 //*****************************************************************************
258 { return m_pEllipsoid->ThirdFlattening(); }
259 
260 //*****************************************************************************
262 { return m_pEllipsoid->EccentricitySq(); }
263 
264 //*****************************************************************************
266 { return m_pEllipsoid->SecondEccentricitySq(); }
267 
268 //*****************************************************************************
270 { return m_pEllipsoid->ThirdEccentricitySq(); }
GeographicLib::Ellipsoid::SecondFlatteningToFlattening
static Math::real SecondFlatteningToFlattening(real fp)
Definition: Ellipsoid.hpp:416
NETGeographicLib::Ellipsoid::FlatteningToThirdFlattening
static double FlatteningToThirdFlattening(double f)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:187
GeographicLib::Ellipsoid::InverseParametricLatitude
Math::real InverseParametricLatitude(real beta) const
Definition: src/Ellipsoid.cpp:51
GeographicLib::Ellipsoid::TransverseCurvatureRadius
Math::real TransverseCurvatureRadius(real phi) const
Definition: src/Ellipsoid.cpp:112
BADALLOC
const char BADALLOC[]
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:18
NETGeographicLib::Ellipsoid::InverseIsometricLatitude
double InverseIsometricLatitude(double psi)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:127
NETGeographicLib::Ellipsoid::EccentricitySqToFlattening
static double EccentricitySqToFlattening(double e2)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:193
psi
double psi(double x)
Definition: psi.c:146
NETGeographicLib::Ellipsoid::NormalCurvatureRadius
double NormalCurvatureRadius(double phi, double azi)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:163
screwPose2::xi
Vector xi
Definition: testPose2.cpp:148
mu
double mu
Definition: testBoundingConstraint.cpp:37
GeographicLib::Ellipsoid::ThirdFlatteningToFlattening
static Math::real ThirdFlatteningToFlattening(real n)
Definition: Ellipsoid.hpp:437
NETGeographicLib::Ellipsoid::ConformalLatitude
double ConformalLatitude(double phi)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:109
NETGeographicLib::Ellipsoid::InverseAuthalicLatitude
double InverseAuthalicLatitude(double xi)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:103
NETGeographicLib::Ellipsoid::m_pEllipsoid
GeographicLib::Ellipsoid * m_pEllipsoid
Definition: Ellipsoid.h:51
GeographicLib::Ellipsoid::FlatteningToSecondFlattening
static Math::real FlatteningToSecondFlattening(real f)
Definition: Ellipsoid.hpp:426
NETGeographicLib::Ellipsoid::TransverseCurvatureRadius
double TransverseCurvatureRadius(double phi)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:157
GeographicLib::Ellipsoid::IsometricLatitude
Math::real IsometricLatitude(real phi) const
Definition: src/Ellipsoid.cpp:84
NETGeographicLib::Ellipsoid::FlatteningToSecondEccentricitySq
static double FlatteningToSecondEccentricitySq(double f)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:211
NETGeographicLib::GeographicErr
Exception class for NETGeographicLib.
Definition: NETGeographicLib.h:132
NETGeographicLib::Ellipsoid::InverseGeocentricLatitude
double InverseGeocentricLatitude(double theta)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:79
beta
double beta(double a, double b)
Definition: beta.c:61
GeographicLib::Ellipsoid::InverseGeocentricLatitude
Math::real InverseGeocentricLatitude(real theta) const
Definition: src/Ellipsoid.cpp:57
NETGeographicLib::Ellipsoid::AuthalicLatitude
double AuthalicLatitude(double phi)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:97
NETGeographicLib::Ellipsoid::InverseConformalLatitude
double InverseConformalLatitude(double chi)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:115
GeographicLib::Ellipsoid::MeridianDistance
Math::real MeridianDistance(real phi) const
Definition: src/Ellipsoid.cpp:104
GeographicLib::Ellipsoid::RectifyingLatitude
Math::real RectifyingLatitude(real phi) const
Definition: src/Ellipsoid.cpp:60
n
int n
Definition: BiCGSTAB_simple.cpp:1
NETGeographicLib::Ellipsoid::InverseParametricLatitude
double InverseParametricLatitude(double beta)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:67
NETGeographicLib::Ellipsoid::ThirdFlatteningToFlattening
static double ThirdFlatteningToFlattening(double n)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:181
GeographicLib::Ellipsoid::NormalCurvatureRadius
Math::real NormalCurvatureRadius(real phi, real azi) const
Definition: src/Ellipsoid.cpp:117
GeographicLib::Ellipsoid::ConformalLatitude
Math::real ConformalLatitude(real phi) const
Definition: src/Ellipsoid.cpp:78
GeographicLib::Ellipsoid::InverseRectifyingLatitude
Math::real InverseRectifyingLatitude(real mu) const
Definition: src/Ellipsoid.cpp:65
GeographicLib::Ellipsoid::FlatteningToThirdEccentricitySq
static Math::real FlatteningToThirdEccentricitySq(real f)
Definition: Ellipsoid.hpp:522
NETGeographicLib::Ellipsoid::MeridionalCurvatureRadius
double MeridionalCurvatureRadius(double phi)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:151
GeographicLib::Ellipsoid::GeocentricLatitude
Math::real GeocentricLatitude(real phi) const
Definition: src/Ellipsoid.cpp:54
NETGeographicLib::Ellipsoid
.NET wrapper for GeographicLib::Ellipsoid.
Definition: Ellipsoid.h:47
NETGeographicLib::Ellipsoid::FlatteningToSecondFlattening
static double FlatteningToSecondFlattening(double f)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:175
NETGeographicLib::Ellipsoid::RectifyingLatitude
double RectifyingLatitude(double phi)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:85
GeographicLib::Ellipsoid::MeridionalCurvatureRadius
Math::real MeridionalCurvatureRadius(real phi) const
Definition: src/Ellipsoid.cpp:107
stdafx.h
GeographicLib::Ellipsoid::ThirdEccentricitySqToFlattening
static Math::real ThirdEccentricitySqToFlattening(real epp2)
Definition: Ellipsoid.hpp:508
NETGeographicLib.h
Header for NETGeographicLib::NETGeographicLib objects.
tree::f
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
Definition: testExpression.cpp:218
GeographicLib::Ellipsoid::InverseConformalLatitude
Math::real InverseConformalLatitude(real chi) const
Definition: src/Ellipsoid.cpp:81
GeographicLib::Ellipsoid::ParametricLatitude
Math::real ParametricLatitude(real phi) const
Definition: src/Ellipsoid.cpp:48
NETGeographicLib::Ellipsoid::ParametricLatitude
double ParametricLatitude(double phi)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:61
GeographicLib::Ellipsoid::SecondEccentricitySqToFlattening
static Math::real SecondEccentricitySqToFlattening(real ep2)
Definition: Ellipsoid.hpp:484
a
ArrayXXi a
Definition: Array_initializer_list_23_cxx11.cpp:1
Ellipsoid.hpp
Header for GeographicLib::Ellipsoid class.
GeographicLib::Ellipsoid::AuthalicLatitude
Math::real AuthalicLatitude(real phi) const
Definition: src/Ellipsoid.cpp:72
GeographicLib::Ellipsoid::FlatteningToSecondEccentricitySq
static Math::real FlatteningToSecondEccentricitySq(real f)
Definition: Ellipsoid.hpp:496
GeographicLib::Ellipsoid::InverseIsometricLatitude
Math::real InverseIsometricLatitude(real psi) const
Definition: src/Ellipsoid.cpp:88
NETGeographicLib::Ellipsoid::GeocentricLatitude
double GeocentricLatitude(double phi)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:73
GeographicLib::Ellipsoid::FlatteningToThirdFlattening
static Math::real FlatteningToThirdFlattening(real f)
Definition: Ellipsoid.hpp:448
GeographicLib::Ellipsoid::CircleHeight
Math::real CircleHeight(real phi) const
Definition: src/Ellipsoid.cpp:97
GeographicLib::Ellipsoid::FlatteningToEccentricitySq
static Math::real FlatteningToEccentricitySq(real f)
Definition: Ellipsoid.hpp:472
NETGeographicLib::Ellipsoid::CircleRadius
double CircleRadius(double phi)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:133
NETGeographicLib::Ellipsoid::FlatteningToEccentricitySq
static double FlatteningToEccentricitySq(double f)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:199
NETGeographicLib::Ellipsoid::InverseRectifyingLatitude
double InverseRectifyingLatitude(double mu)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:91
GeographicLib::Ellipsoid::InverseAuthalicLatitude
Math::real InverseAuthalicLatitude(real xi) const
Definition: src/Ellipsoid.cpp:75
NETGeographicLib::Ellipsoid::CircleHeight
double CircleHeight(double phi)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:139
NETGeographicLib::Ellipsoid::SecondFlatteningToFlattening
static double SecondFlatteningToFlattening(double fp)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:169
NETGeographicLib::Ellipsoid::IsometricLatitude
double IsometricLatitude(double phi)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:121
GeographicLib::Ellipsoid::EccentricitySqToFlattening
static Math::real EccentricitySqToFlattening(real e2)
Definition: Ellipsoid.hpp:460
NULL
#define NULL
Definition: ccolamd.c:609
Ellipsoid.h
Header for NETGeographicLib::Ellipsoid class.
NETGeographicLib::Ellipsoid::Ellipsoid
Ellipsoid()
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:31
NETGeographicLib::Ellipsoid::FlatteningToThirdEccentricitySq
static double FlatteningToThirdEccentricitySq(double f)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:223
GeographicLib::Ellipsoid
Properties of an ellipsoid.
Definition: Ellipsoid.hpp:39
GeographicLib::Ellipsoid::CircleRadius
Math::real CircleRadius(real phi) const
Definition: src/Ellipsoid.cpp:91
GeographicLib::Ellipsoid::WGS84
static const Ellipsoid & WGS84()
Definition: src/Ellipsoid.cpp:32
get
Container::iterator get(Container &c, Position position)
Definition: stdlist_overload.cpp:29
NETGeographicLib::Ellipsoid::SecondEccentricitySqToFlattening
static double SecondEccentricitySqToFlattening(double ep2)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:205
NETGeographicLib
Definition: Accumulator.h:13
NETGeographicLib::Ellipsoid::MeridianDistance
double MeridianDistance(double phi)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:145
NETGeographicLib::Ellipsoid::ThirdEccentricitySqToFlattening
static double ThirdEccentricitySqToFlattening(double epp2)
Definition: dotnet/NETGeographicLib/Ellipsoid.cpp:217


gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:02:15