20 const char BADALLOC[] =
"Failed to allocate memory for a GeographicLib::Geodesic";
25 if ( m_pGeodesic !=
NULL )
39 catch ( std::bad_alloc err )
56 catch ( std::bad_alloc )
64 [System::Runtime::InteropServices::Out]
double% lat2,
65 [System::Runtime::InteropServices::Out]
double% lon2,
66 [System::Runtime::InteropServices::Out]
double% azi2,
67 [System::Runtime::InteropServices::Out]
double% m12,
68 [System::Runtime::InteropServices::Out]
double% M12,
69 [System::Runtime::InteropServices::Out]
double% M21,
70 [System::Runtime::InteropServices::Out]
double% S12)
72 double llat2, llon2, lazi2, lm12, lM12, lM21, lS12;
74 llat2, llon2, lazi2, lm12, lM12, lM21, lS12);
87 [System::Runtime::InteropServices::Out]
double% lat2,
88 [System::Runtime::InteropServices::Out]
double% lon2)
100 [System::Runtime::InteropServices::Out]
double% lat2,
101 [System::Runtime::InteropServices::Out]
double% lon2,
102 [System::Runtime::InteropServices::Out]
double% azi2)
104 double llat2, llon2, lazi2;
106 llat2, llon2, lazi2 );
115 [System::Runtime::InteropServices::Out]
double% lat2,
116 [System::Runtime::InteropServices::Out]
double% lon2,
117 [System::Runtime::InteropServices::Out]
double% azi2,
118 [System::Runtime::InteropServices::Out]
double% m12)
120 double llat2, llon2, lazi2, lm12;
122 llat2, llon2, lazi2, lm12 );
132 [System::Runtime::InteropServices::Out]
double% lat2,
133 [System::Runtime::InteropServices::Out]
double% lon2,
134 [System::Runtime::InteropServices::Out]
double% azi2,
135 [System::Runtime::InteropServices::Out]
double% M12,
136 [System::Runtime::InteropServices::Out]
double% M21)
138 double llat2, llon2, lazi2, lM12, lM21;
140 llat2, llon2, lazi2, lM12, lM21);
151 [System::Runtime::InteropServices::Out]
double% lat2,
152 [System::Runtime::InteropServices::Out]
double% lon2,
153 [System::Runtime::InteropServices::Out]
double% azi2,
154 [System::Runtime::InteropServices::Out]
double% m12,
155 [System::Runtime::InteropServices::Out]
double% M12,
156 [System::Runtime::InteropServices::Out]
double% M21)
158 double llat2, llon2, lazi2, lm12, lM12, lM21;
160 llat2, llon2, lazi2, lm12, lM12, lM21 );
172 [System::Runtime::InteropServices::Out]
double% lat2,
173 [System::Runtime::InteropServices::Out]
double% lon2,
174 [System::Runtime::InteropServices::Out]
double% azi2,
175 [System::Runtime::InteropServices::Out]
double% s12,
176 [System::Runtime::InteropServices::Out]
double% m12,
177 [System::Runtime::InteropServices::Out]
double% M12,
178 [System::Runtime::InteropServices::Out]
double% M21,
179 [System::Runtime::InteropServices::Out]
double% S12)
181 double llat2, llon2, lazi2, ls12, lm12, lM12, lM21, lS12;
183 llat2, llon2, lazi2, ls12, lm12, lM12, lM21, lS12);
196 [System::Runtime::InteropServices::Out]
double% lat2,
197 [System::Runtime::InteropServices::Out]
double% lon2)
207 [System::Runtime::InteropServices::Out]
double% lat2,
208 [System::Runtime::InteropServices::Out]
double% lon2,
209 [System::Runtime::InteropServices::Out]
double% azi2)
211 double llat2, llon2, lazi2;
220 [System::Runtime::InteropServices::Out]
double% lat2,
221 [System::Runtime::InteropServices::Out]
double% lon2,
222 [System::Runtime::InteropServices::Out]
double% azi2,
223 [System::Runtime::InteropServices::Out]
double% s12)
225 double llat2, llon2, lazi2, ls12;
227 llat2, llon2, lazi2, ls12 );
236 [System::Runtime::InteropServices::Out]
double% lat2,
237 [System::Runtime::InteropServices::Out]
double% lon2,
238 [System::Runtime::InteropServices::Out]
double% azi2,
239 [System::Runtime::InteropServices::Out]
double% s12,
240 [System::Runtime::InteropServices::Out]
double% m12)
242 double llat2, llon2, lazi2, ls12, lm12;
244 llat2, llon2, lazi2, ls12, lm12 );
254 [System::Runtime::InteropServices::Out]
double% lat2,
255 [System::Runtime::InteropServices::Out]
double% lon2,
256 [System::Runtime::InteropServices::Out]
double% azi2,
257 [System::Runtime::InteropServices::Out]
double% s12,
258 [System::Runtime::InteropServices::Out]
double% M12,
259 [System::Runtime::InteropServices::Out]
double% M21)
261 double llat2, llon2, lazi2, ls12, lM12, lM21;
263 llat2, llon2, lazi2, ls12, lM12, lM21 );
274 [System::Runtime::InteropServices::Out]
double% lat2,
275 [System::Runtime::InteropServices::Out]
double% lon2,
276 [System::Runtime::InteropServices::Out]
double% azi2,
277 [System::Runtime::InteropServices::Out]
double% s12,
278 [System::Runtime::InteropServices::Out]
double% m12,
279 [System::Runtime::InteropServices::Out]
double% M12,
280 [System::Runtime::InteropServices::Out]
double% M21)
282 double llat2, llon2, lazi2, ls12, lm12, lM12, lM21;
284 llat2, llon2, lazi2, ls12, lm12, lM12, lM21);
296 bool arcmode,
double s12_a12,
298 [System::Runtime::InteropServices::Out]
double% lat2,
299 [System::Runtime::InteropServices::Out]
double% lon2,
300 [System::Runtime::InteropServices::Out]
double% azi2,
301 [System::Runtime::InteropServices::Out]
double% s12,
302 [System::Runtime::InteropServices::Out]
double% m12,
303 [System::Runtime::InteropServices::Out]
double% M12,
304 [System::Runtime::InteropServices::Out]
double% M21,
305 [System::Runtime::InteropServices::Out]
double% S12)
307 double llat2, llon2, lazi2, lm12, lM12, lM21, ls12, lS12;
309 static_cast<unsigned>(outmask),
310 llat2, llon2, lazi2, ls12, lm12, lM12, lM21, lS12);
324 [System::Runtime::InteropServices::Out]
double% s12,
325 [System::Runtime::InteropServices::Out]
double% azi1,
326 [System::Runtime::InteropServices::Out]
double% azi2,
327 [System::Runtime::InteropServices::Out]
double% m12,
328 [System::Runtime::InteropServices::Out]
double% M12,
329 [System::Runtime::InteropServices::Out]
double% M21,
330 [System::Runtime::InteropServices::Out]
double% S12)
332 double ls12, lazi1, lazi2, lm12, lM12, lM21, lS12;
334 ls12, lazi1, lazi2, lm12, lM12, lM21, lS12);
347 [System::Runtime::InteropServices::Out]
double% s12)
357 [System::Runtime::InteropServices::Out]
double% azi1,
358 [System::Runtime::InteropServices::Out]
double% azi2)
369 [System::Runtime::InteropServices::Out]
double% s12,
370 [System::Runtime::InteropServices::Out]
double% azi1,
371 [System::Runtime::InteropServices::Out]
double% azi2)
373 double ls12, lazi1, lazi2;
375 ls12, lazi1, lazi2 );
384 [System::Runtime::InteropServices::Out]
double% s12,
385 [System::Runtime::InteropServices::Out]
double% azi1,
386 [System::Runtime::InteropServices::Out]
double% azi2,
387 [System::Runtime::InteropServices::Out]
double% m12)
389 double ls12, lazi1, lazi2, lm12;
391 ls12, lazi1, lazi2, lm12 );
401 [System::Runtime::InteropServices::Out]
double% s12,
402 [System::Runtime::InteropServices::Out]
double% azi1,
403 [System::Runtime::InteropServices::Out]
double% azi2,
404 [System::Runtime::InteropServices::Out]
double% M12,
405 [System::Runtime::InteropServices::Out]
double% M21)
407 double ls12, lazi1, lazi2, lM12, lM21;
409 ls12, lazi1, lazi2, lM12, lM21 );
420 [System::Runtime::InteropServices::Out]
double% s12,
421 [System::Runtime::InteropServices::Out]
double% azi1,
422 [System::Runtime::InteropServices::Out]
double% azi2,
423 [System::Runtime::InteropServices::Out]
double% m12,
424 [System::Runtime::InteropServices::Out]
double% M12,
425 [System::Runtime::InteropServices::Out]
double% M21)
427 double ls12, lazi1, lazi2, lm12, lM12, lM21;
429 ls12, lazi1, lazi2, lm12, lM12, lM21 );
442 [System::Runtime::InteropServices::Out]
double% s12,
443 [System::Runtime::InteropServices::Out]
double% azi1,
444 [System::Runtime::InteropServices::Out]
double% azi2,
445 [System::Runtime::InteropServices::Out]
double% m12,
446 [System::Runtime::InteropServices::Out]
double% M12,
447 [System::Runtime::InteropServices::Out]
double% M21,
448 [System::Runtime::InteropServices::Out]
double% S12)
450 double ls12, lazi1, lazi2, lm12, lM12, lM21, lS12;
452 static_cast<unsigned>(outmask),
453 ls12, lazi1, lazi2, lm12, lM12, lM21, lS12);
474 return gcnew GeodesicLine(
this, lat1, lon1, azi1, caps );
482 lon2, static_cast<unsigned int>(caps)));
490 s12, static_cast<unsigned int>(caps)));
498 a12, static_cast<unsigned int>(caps)));
506 arcmode, s12_a12, static_cast<unsigned int>(caps)));
GeodesicLine ArcDirectLine(real lat1, real lon1, real azi1, real a12, unsigned caps=ALL) const
Header for GeographicLib::GeodesicLine class.
GeodesicLine ArcDirectLine(double lat1, double lon1, double azi1, double a12, NETGeographicLib::Mask caps)
double GenInverse(double lat1, double lon1, double lat2, double lon2, Geodesic::mask outmask, [System::Runtime::InteropServices::Out] double%s12, [System::Runtime::InteropServices::Out] double%azi1, [System::Runtime::InteropServices::Out] double%azi2, [System::Runtime::InteropServices::Out] double%m12, [System::Runtime::InteropServices::Out] double%M12, [System::Runtime::InteropServices::Out] double%M21, [System::Runtime::InteropServices::Out] double%S12)
GeodesicLine Line(double lat1, double lon1, double azi1, NETGeographicLib::Mask caps)
Header for NETGeographicLib::NETGeographicLib objects.
Math::real Direct(real lat1, real lon1, real azi1, real s12, real &lat2, real &lon2, real &azi2, real &m12, real &M12, real &M21, real &S12) const
static const Geodesic & WGS84()
Exception class for NETGeographicLib.
Math::real Inverse(real lat1, real lon1, real lat2, real lon2, real &s12, real &azi1, real &azi2, real &m12, real &M12, real &M21, real &S12) const
GeodesicLine GenDirectLine(double lat1, double lon1, double azi1, bool arcmode, double s12_a12, NETGeographicLib::Mask caps)
double GenDirect(double lat1, double lon1, double azi1, bool arcmode, double s12_a12, Geodesic::mask outmask, [System::Runtime::InteropServices::Out] double%lat2, [System::Runtime::InteropServices::Out] double%lon2, [System::Runtime::InteropServices::Out] double%azi2, [System::Runtime::InteropServices::Out] double%s12, [System::Runtime::InteropServices::Out] double%m12, [System::Runtime::InteropServices::Out] double%M12, [System::Runtime::InteropServices::Out] double%M21, [System::Runtime::InteropServices::Out] double%S12)
const GeographicLib::Geodesic * m_pGeodesic
Math::real MajorRadius() const
real GenInverse(real lat1, real lon1, real lat2, real lon2, unsigned outmask, real &s12, real &salp1, real &calp1, real &salp2, real &calp2, real &m12, real &M12, real &M21, real &S12) const
Header for NETGeographicLib::GeodesicLine class.
GeodesicLine InverseLine(double lat1, double lon1, double lat2, double lon2, NETGeographicLib::Mask caps)
GeodesicLine DirectLine(real lat1, real lon1, real azi1, real s12, unsigned caps=ALL) const
Header for GeographicLib::Geodesic class.
System::IntPtr GetUnmanaged()
.NET wrapper for GeographicLib::GeodesicLine.
Math::real GenDirect(real lat1, real lon1, real azi1, bool arcmode, real s12_a12, unsigned outmask, real &lat2, real &lon2, real &azi2, real &s12, real &m12, real &M12, real &M21, real &S12) const
.NET wrapper for GeographicLib::Geodesic.
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
GeodesicLine DirectLine(double lat1, double lon1, double azi1, double s12, NETGeographicLib::Mask caps)
double Inverse(double lat1, double lon1, double lat2, double lon2, [System::Runtime::InteropServices::Out] double%s12, [System::Runtime::InteropServices::Out] double%azi1, [System::Runtime::InteropServices::Out] double%azi2, [System::Runtime::InteropServices::Out] double%m12, [System::Runtime::InteropServices::Out] double%M12, [System::Runtime::InteropServices::Out] double%M21, [System::Runtime::InteropServices::Out] double%S12)
double Direct(double lat1, double lon1, double azi1, double s12, [System::Runtime::InteropServices::Out] double%lat2, [System::Runtime::InteropServices::Out] double%lon2, [System::Runtime::InteropServices::Out] double%azi2, [System::Runtime::InteropServices::Out] double%m12, [System::Runtime::InteropServices::Out] double%M12, [System::Runtime::InteropServices::Out] double%M21, [System::Runtime::InteropServices::Out] double%S12)
Math::real EllipsoidArea() const
void ArcDirect(real lat1, real lon1, real azi1, real a12, real &lat2, real &lon2, real &azi2, real &s12, real &m12, real &M12, real &M21, real &S12) const
Exception handling for GeographicLib.
GeodesicLine InverseLine(real lat1, real lon1, real lat2, real lon2, unsigned caps=ALL) const
Math::real Flattening() const
GeodesicLine GenDirectLine(real lat1, real lon1, real azi1, bool arcmode, real s12_a12, unsigned caps=ALL) const
Container::iterator get(Container &c, Position position)
Header for NETGeographicLib::Geodesic class.
void ArcDirect(double lat1, double lon1, double azi1, double a12, [System::Runtime::InteropServices::Out] double%lat2, [System::Runtime::InteropServices::Out] double%lon2, [System::Runtime::InteropServices::Out] double%azi2, [System::Runtime::InteropServices::Out] double%s12, [System::Runtime::InteropServices::Out] double%m12, [System::Runtime::InteropServices::Out] double%M12, [System::Runtime::InteropServices::Out] double%M21, [System::Runtime::InteropServices::Out] double%S12)