GeodesicLine.h
Go to the documentation of this file.
1 #pragma once
2 
12 #include "NETGeographicLib.h"
13 
14 namespace NETGeographicLib
15 {
75  public ref class GeodesicLine
76  {
77  private:
78  // pointer to the unmanaged GeographicLib::GeodesicLine.
80 
81  // The finalizer frees the unmanaged memory when this object is destroyed.
82  !GeodesicLine(void);
83  public:
84 
91  enum class mask {
96  NONE = 0U,
102  LATITUDE = 1U<<7 | unsigned(captype::CAP_NONE),
107  LONGITUDE = 1U<<8 | unsigned(captype::CAP_C3),
114  AZIMUTH = 1U<<9 | unsigned(captype::CAP_NONE),
119  DISTANCE = 1U<<10 | unsigned(captype::CAP_C1),
125  DISTANCE_IN = 1U<<11 | unsigned(captype::CAP_C1) | unsigned(captype::CAP_C1p),
130  REDUCEDLENGTH = 1U<<12 | unsigned(captype::CAP_C1) | unsigned(captype::CAP_C2),
135  GEODESICSCALE = 1U<<13 | unsigned(captype::CAP_C1) | unsigned(captype::CAP_C2),
140  AREA = 1U<<14 | unsigned(captype::CAP_C4),
145  LONG_UNROLL = 1U<<15,
151  ALL = unsigned(captype::OUT_ALL)| unsigned(captype::CAP_ALL),
152  };
155 
195  GeodesicLine( Geodesic^ g, double lat1, double lon1, double azi1,
196  NETGeographicLib::Mask caps );
197 
201  GeodesicLine(double lat1, double lon1, double azi1,
203 
210 
215  { this->!GeodesicLine(); }
216 
219 
260  double Position(double s12,
261  [System::Runtime::InteropServices::Out] double% lat2,
262  [System::Runtime::InteropServices::Out] double% lon2,
263  [System::Runtime::InteropServices::Out] double% azi2,
264  [System::Runtime::InteropServices::Out] double% m12,
265  [System::Runtime::InteropServices::Out] double% M12,
266  [System::Runtime::InteropServices::Out] double% M21,
267  [System::Runtime::InteropServices::Out] double% S12);
268 
272  double Position(double s12,
273  [System::Runtime::InteropServices::Out] double% lat2,
274  [System::Runtime::InteropServices::Out] double% lon2);
275 
279  double Position(double s12,
280  [System::Runtime::InteropServices::Out] double% lat2,
281  [System::Runtime::InteropServices::Out] double% lon2,
282  [System::Runtime::InteropServices::Out] double% azi2);
283 
287  double Position(double s12,
288  [System::Runtime::InteropServices::Out] double% lat2,
289  [System::Runtime::InteropServices::Out] double% lon2,
290  [System::Runtime::InteropServices::Out] double% azi2,
291  [System::Runtime::InteropServices::Out] double% m12);
292 
296  double Position(double s12,
297  [System::Runtime::InteropServices::Out] double% lat2,
298  [System::Runtime::InteropServices::Out] double% lon2,
299  [System::Runtime::InteropServices::Out] double% azi2,
300  [System::Runtime::InteropServices::Out] double% M12,
301  [System::Runtime::InteropServices::Out] double% M21);
302 
306  double Position(double s12,
307  [System::Runtime::InteropServices::Out] double% lat2,
308  [System::Runtime::InteropServices::Out] double% lon2,
309  [System::Runtime::InteropServices::Out] double% azi2,
310  [System::Runtime::InteropServices::Out] double% m12,
311  [System::Runtime::InteropServices::Out] double% M12,
312  [System::Runtime::InteropServices::Out] double% M21);
313 
315 
318 
357  void ArcPosition(double a12,
358  [System::Runtime::InteropServices::Out] double% lat2,
359  [System::Runtime::InteropServices::Out] double% lon2,
360  [System::Runtime::InteropServices::Out] double% azi2,
361  [System::Runtime::InteropServices::Out] double% s12,
362  [System::Runtime::InteropServices::Out] double% m12,
363  [System::Runtime::InteropServices::Out] double% M12,
364  [System::Runtime::InteropServices::Out] double% M21,
365  [System::Runtime::InteropServices::Out] double% S12);
366 
370  void ArcPosition(double a12,
371  [System::Runtime::InteropServices::Out] double% lat2,
372  [System::Runtime::InteropServices::Out] double% lon2);
373 
377  void ArcPosition(double a12,
378  [System::Runtime::InteropServices::Out] double% lat2,
379  [System::Runtime::InteropServices::Out] double% lon2,
380  [System::Runtime::InteropServices::Out] double% azi2);
381 
385  void ArcPosition(double a12,
386  [System::Runtime::InteropServices::Out] double% lat2,
387  [System::Runtime::InteropServices::Out] double% lon2,
388  [System::Runtime::InteropServices::Out] double% azi2,
389  [System::Runtime::InteropServices::Out] double% s12);
390 
394  void ArcPosition(double a12,
395  [System::Runtime::InteropServices::Out] double% lat2,
396  [System::Runtime::InteropServices::Out] double% lon2,
397  [System::Runtime::InteropServices::Out] double% azi2,
398  [System::Runtime::InteropServices::Out] double% s12,
399  [System::Runtime::InteropServices::Out] double% m12);
400 
404  void ArcPosition(double a12,
405  [System::Runtime::InteropServices::Out] double% lat2,
406  [System::Runtime::InteropServices::Out] double% lon2,
407  [System::Runtime::InteropServices::Out] double% azi2,
408  [System::Runtime::InteropServices::Out] double% s12,
409  [System::Runtime::InteropServices::Out] double% M12,
410  [System::Runtime::InteropServices::Out] double% M21);
411 
415  void ArcPosition(double a12,
416  [System::Runtime::InteropServices::Out] double% lat2,
417  [System::Runtime::InteropServices::Out] double% lon2,
418  [System::Runtime::InteropServices::Out] double% azi2,
419  [System::Runtime::InteropServices::Out] double% s12,
420  [System::Runtime::InteropServices::Out] double% m12,
421  [System::Runtime::InteropServices::Out] double% M12,
422  [System::Runtime::InteropServices::Out] double% M21);
424 
427 
486  double GenPosition(bool arcmode, double s12_a12,
487  GeodesicLine::mask outmask,
488  [System::Runtime::InteropServices::Out] double% lat2,
489  [System::Runtime::InteropServices::Out] double% lon2,
490  [System::Runtime::InteropServices::Out] double% azi2,
491  [System::Runtime::InteropServices::Out] double% s12,
492  [System::Runtime::InteropServices::Out] double% m12,
493  [System::Runtime::InteropServices::Out] double% M12,
494  [System::Runtime::InteropServices::Out] double% M21,
495  [System::Runtime::InteropServices::Out] double% S12);
496 
498 
501 
512  void SetDistance(double s13);
513 
523  void SetArc(double a13);
524 
535  void GenSetDistance(bool arcmode, double s13_a13);
537 
540 
547  void AzimuthSinCos([System::Runtime::InteropServices::Out] double% sazi1,
548  [System::Runtime::InteropServices::Out] double% cazi1);
549 
557  [System::Runtime::InteropServices::Out] double% sazi0,
558  [System::Runtime::InteropServices::Out] double% cazi0);
559 
567  double GenDistance(bool arcmode);
569 
572 
577  property double Latitude { double get(); }
578 
582  property double Longitude { double get(); }
583 
587  property double Azimuth { double get(); }
588 
593  property double EquatorialAzimuth { double get(); }
594 
599  property double EquatorialArc { double get(); }
600 
605  property double MajorRadius { double get(); }
606 
611  property double Flattening { double get(); }
612 
616  property double Distance { double get(); }
617 
621  property double Arc { double get(); }
622 
628 
633  bool Capabilities(GeodesicLine::mask testcaps);
635  };
636 } // namespace NETGeographicLib
Header for NETGeographicLib::NETGeographicLib objects.
void GenSetDistance(bool arcmode, double s13_a13)
void AzimuthSinCos([System::Runtime::InteropServices::Out] double%sazi1, [System::Runtime::InteropServices::Out] double%cazi1)
property double EquatorialAzimuth
Definition: GeodesicLine.h:593
GeodesicLine(Geodesic^g, double lat1, double lon1, double azi1, NETGeographicLib::Mask caps)
void g(const string &key, int i)
Definition: testBTree.cpp:43
void EquatorialAzimuthSinCos([System::Runtime::InteropServices::Out] double%sazi0, [System::Runtime::InteropServices::Out] double%cazi0)
.NET wrapper for GeographicLib::GeodesicLine.
Definition: GeodesicLine.h:75
double GenPosition(bool arcmode, double s12_a12, GeodesicLine::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)
.NET wrapper for GeographicLib::Geodesic.
Definition: Geodesic.h:170
void ArcPosition(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)
double Position(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)
GeographicLib::GeodesicLine * m_pGeodesicLine
Definition: GeodesicLine.h:79


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:42:08