Geodesic.h
Go to the documentation of this file.
1 
11 #pragma once
12 #include "NETGeographicLib.h"
13 
14 namespace NETGeographicLib
15 {
16  ref class GeodesicLine;
170  public ref class Geodesic
171  {
172  private:
173  // The pointer to the unmanaged GeographicLib::Geodesic.
175 
176  // Frees the unmanaged memory when this object is destroyed.
177  !Geodesic();
178  public:
187  enum class mask {
192  NONE = 0U,
198  LATITUDE = 1U<<7 | unsigned(captype::CAP_NONE),
203  LONGITUDE = 1U<<8 | unsigned(captype::CAP_C3),
210  AZIMUTH = 1U<<9 | unsigned(captype::CAP_NONE),
215  DISTANCE = 1U<<10 | unsigned(captype::CAP_C1),
221  DISTANCE_IN = 1U<<11 | unsigned(captype::CAP_C1) | unsigned(captype::CAP_C1p),
226  REDUCEDLENGTH = 1U<<12 | unsigned(captype::CAP_C1) | unsigned(captype::CAP_C2),
231  GEODESICSCALE = 1U<<13 | unsigned(captype::CAP_C1) | unsigned(captype::CAP_C2),
236  AREA = 1U<<14 | unsigned(captype::CAP_C4),
241  LONG_UNROLL = 1U<<15,
247  ALL = unsigned(captype::OUT_ALL)| unsigned(captype::CAP_ALL),
248  };
251 
261  Geodesic(double a, double f);
262 
266  Geodesic();
268 
272  ~Geodesic() { this->!Geodesic(); }
273 
276 
312  double Direct(double lat1, double lon1, double azi1, double s12,
313  [System::Runtime::InteropServices::Out] double% lat2,
314  [System::Runtime::InteropServices::Out] double% lon2,
315  [System::Runtime::InteropServices::Out] double% azi2,
316  [System::Runtime::InteropServices::Out] double% m12,
317  [System::Runtime::InteropServices::Out] double% M12,
318  [System::Runtime::InteropServices::Out] double% M21,
319  [System::Runtime::InteropServices::Out] double% S12);
320 
324  double Direct(double lat1, double lon1, double azi1, double s12,
325  [System::Runtime::InteropServices::Out] double% lat2,
326  [System::Runtime::InteropServices::Out] double% lon2);
327 
331  double Direct(double lat1, double lon1, double azi1, double s12,
332  [System::Runtime::InteropServices::Out] double% lat2,
333  [System::Runtime::InteropServices::Out] double% lon2,
334  [System::Runtime::InteropServices::Out] double% azi2);
335 
339  double Direct(double lat1, double lon1, double azi1, double s12,
340  [System::Runtime::InteropServices::Out] double% lat2,
341  [System::Runtime::InteropServices::Out] double% lon2,
342  [System::Runtime::InteropServices::Out] double% azi2,
343  [System::Runtime::InteropServices::Out] double% m12);
344 
348  double Direct(double lat1, double lon1, double azi1, double s12,
349  [System::Runtime::InteropServices::Out] double% lat2,
350  [System::Runtime::InteropServices::Out] double% lon2,
351  [System::Runtime::InteropServices::Out] double% azi2,
352  [System::Runtime::InteropServices::Out] double% M12,
353  [System::Runtime::InteropServices::Out] double% M21);
354 
358  double Direct(double lat1, double lon1, double azi1, double s12,
359  [System::Runtime::InteropServices::Out] double% lat2,
360  [System::Runtime::InteropServices::Out] double% lon2,
361  [System::Runtime::InteropServices::Out] double% azi2,
362  [System::Runtime::InteropServices::Out] double% m12,
363  [System::Runtime::InteropServices::Out] double% M12,
364  [System::Runtime::InteropServices::Out] double% M21);
366 
369 
404  void ArcDirect(double lat1, double lon1, double azi1, 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% M12,
411  [System::Runtime::InteropServices::Out] double% M21,
412  [System::Runtime::InteropServices::Out] double% S12);
413 
417  void ArcDirect(double lat1, double lon1, double azi1, double a12,
418  [System::Runtime::InteropServices::Out] double% lat2,
419  [System::Runtime::InteropServices::Out] double% lon2);
420 
424  void ArcDirect(double lat1, double lon1, double azi1, double a12,
425  [System::Runtime::InteropServices::Out] double% lat2,
426  [System::Runtime::InteropServices::Out] double% lon2,
427  [System::Runtime::InteropServices::Out] double% azi2);
428 
432  void ArcDirect(double lat1, double lon1, double azi1, double a12,
433  [System::Runtime::InteropServices::Out] double% lat2,
434  [System::Runtime::InteropServices::Out] double% lon2,
435  [System::Runtime::InteropServices::Out] double% azi2,
436  [System::Runtime::InteropServices::Out] double% s12);
437 
441  void ArcDirect(double lat1, double lon1, double azi1, double a12,
442  [System::Runtime::InteropServices::Out] double% lat2,
443  [System::Runtime::InteropServices::Out] double% lon2,
444  [System::Runtime::InteropServices::Out] double% azi2,
445  [System::Runtime::InteropServices::Out] double% s12,
446  [System::Runtime::InteropServices::Out] double% m12);
447 
451  void ArcDirect(double lat1, double lon1, double azi1, double a12,
452  [System::Runtime::InteropServices::Out] double% lat2,
453  [System::Runtime::InteropServices::Out] double% lon2,
454  [System::Runtime::InteropServices::Out] double% azi2,
455  [System::Runtime::InteropServices::Out] double% s12,
456  [System::Runtime::InteropServices::Out] double% M12,
457  [System::Runtime::InteropServices::Out] double% M21);
458 
462  void ArcDirect(double lat1, double lon1, double azi1, double a12,
463  [System::Runtime::InteropServices::Out] double% lat2,
464  [System::Runtime::InteropServices::Out] double% lon2,
465  [System::Runtime::InteropServices::Out] double% azi2,
466  [System::Runtime::InteropServices::Out] double% s12,
467  [System::Runtime::InteropServices::Out] double% m12,
468  [System::Runtime::InteropServices::Out] double% M12,
469  [System::Runtime::InteropServices::Out] double% M21);
471 
474 
526  double GenDirect(double lat1, double lon1, double azi1,
527  bool arcmode, double s12_a12,
528  Geodesic::mask outmask,
529  [System::Runtime::InteropServices::Out] double% lat2,
530  [System::Runtime::InteropServices::Out] double% lon2,
531  [System::Runtime::InteropServices::Out] double% azi2,
532  [System::Runtime::InteropServices::Out] double% s12,
533  [System::Runtime::InteropServices::Out] double% m12,
534  [System::Runtime::InteropServices::Out] double% M12,
535  [System::Runtime::InteropServices::Out] double% M21,
536  [System::Runtime::InteropServices::Out] double% S12);
538 
541 
577  double Inverse(double lat1, double lon1, double lat2, double lon2,
578  [System::Runtime::InteropServices::Out] double% s12,
579  [System::Runtime::InteropServices::Out] double% azi1,
580  [System::Runtime::InteropServices::Out] double% azi2,
581  [System::Runtime::InteropServices::Out] double% m12,
582  [System::Runtime::InteropServices::Out] double% M12,
583  [System::Runtime::InteropServices::Out] double% M21,
584  [System::Runtime::InteropServices::Out] double% S12);
585 
589  double Inverse(double lat1, double lon1, double lat2, double lon2,
590  [System::Runtime::InteropServices::Out] double% s12);
591 
595  double Inverse(double lat1, double lon1, double lat2, double lon2,
596  [System::Runtime::InteropServices::Out] double% azi1,
597  [System::Runtime::InteropServices::Out] double% azi2);
598 
602  double Inverse(double lat1, double lon1, double lat2, double lon2,
603  [System::Runtime::InteropServices::Out] double% s12,
604  [System::Runtime::InteropServices::Out] double% azi1,
605  [System::Runtime::InteropServices::Out] double% azi2);
606 
610  double Inverse(double lat1, double lon1, double lat2, double lon2,
611  [System::Runtime::InteropServices::Out] double% s12,
612  [System::Runtime::InteropServices::Out] double% azi1,
613  [System::Runtime::InteropServices::Out] double% azi2,
614  [System::Runtime::InteropServices::Out] double% m12);
615 
619  double Inverse(double lat1, double lon1, double lat2, double lon2,
620  [System::Runtime::InteropServices::Out] double% s12,
621  [System::Runtime::InteropServices::Out] double% azi1,
622  [System::Runtime::InteropServices::Out] double% azi2,
623  [System::Runtime::InteropServices::Out] double% M12,
624  [System::Runtime::InteropServices::Out] double% M21);
625 
629  double Inverse(double lat1, double lon1, double lat2, double lon2,
630  [System::Runtime::InteropServices::Out] double% s12,
631  [System::Runtime::InteropServices::Out] double% azi1,
632  [System::Runtime::InteropServices::Out] double% azi2,
633  [System::Runtime::InteropServices::Out] double% m12,
634  [System::Runtime::InteropServices::Out] double% M12,
635  [System::Runtime::InteropServices::Out] double% M21);
637 
640 
674  double GenInverse(double lat1, double lon1, double lat2, double lon2,
675  Geodesic::mask outmask,
676  [System::Runtime::InteropServices::Out] double% s12,
677  [System::Runtime::InteropServices::Out] double% azi1,
678  [System::Runtime::InteropServices::Out] double% azi2,
679  [System::Runtime::InteropServices::Out] double% m12,
680  [System::Runtime::InteropServices::Out] double% M12,
681  [System::Runtime::InteropServices::Out] double% M21,
682  [System::Runtime::InteropServices::Out] double% S12);
684 
687 
724  GeodesicLine^ Line(double lat1, double lon1, double azi1,
725  NETGeographicLib::Mask caps );
726 
745  GeodesicLine^ InverseLine(double lat1, double lon1, double lat2,
746  double lon2, NETGeographicLib::Mask caps);
747 
768  GeodesicLine^ DirectLine(double lat1, double lon1, double azi1,
769  double s12, NETGeographicLib::Mask caps);
770 
791  GeodesicLine^ ArcDirectLine(double lat1, double lon1, double azi1,
792  double a12, NETGeographicLib::Mask caps);
793 
817  GeodesicLine^ GenDirectLine(double lat1, double lon1, double azi1,
818  bool arcmode, double s12_a12,
821 
824 
830  property double MajorRadius { double get(); }
831 
836  property double Flattening { double get(); }
837 
844  property double EllipsoidArea { double get(); }
845 
853  };
854 } // namespace NETGeographicLib
NETGeographicLib::captype::CAP_C2
@ CAP_C2
NETGeographicLib::Geodesic::DirectLine
GeodesicLine DirectLine(double lat1, double lon1, double azi1, double s12, NETGeographicLib::Mask caps)
Definition: dotnet/NETGeographicLib/Geodesic.cpp:486
NETGeographicLib::Geodesic::mask::DISTANCE
@ DISTANCE
NETGeographicLib::Geodesic::mask::LONG_UNROLL
@ LONG_UNROLL
NETGeographicLib::Geodesic::Flattening
property double Flattening
Definition: Geodesic.h:836
NETGeographicLib::Geodesic::Inverse
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)
Definition: dotnet/NETGeographicLib/Geodesic.cpp:323
NETGeographicLib::GeodesicLine
.NET wrapper for GeographicLib::GeodesicLine.
Definition: GeodesicLine.h:75
NETGeographicLib::Geodesic::Geodesic
Geodesic()
Definition: dotnet/NETGeographicLib/Geodesic.cpp:50
NETGeographicLib::Geodesic::mask::LONGITUDE
@ LONGITUDE
NETGeographicLib::Geodesic::mask::DISTANCE_IN
@ DISTANCE_IN
NETGeographicLib::captype::CAP_C1p
@ CAP_C1p
NETGeographicLib::captype::CAP_C1
@ CAP_C1
NETGeographicLib::captype::OUT_ALL
@ OUT_ALL
NETGeographicLib::Geodesic::~Geodesic
~Geodesic()
the destructor calls the finalizer.
Definition: Geodesic.h:272
NETGeographicLib::captype::CAP_C4
@ CAP_C4
NETGeographicLib::Geodesic::GenInverse
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)
Definition: dotnet/NETGeographicLib/Geodesic.cpp:440
NETGeographicLib::Geodesic::Line
GeodesicLine Line(double lat1, double lon1, double azi1, NETGeographicLib::Mask caps)
Definition: dotnet/NETGeographicLib/Geodesic.cpp:471
NETGeographicLib::Geodesic::ArcDirectLine
GeodesicLine ArcDirectLine(double lat1, double lon1, double azi1, double a12, NETGeographicLib::Mask caps)
Definition: dotnet/NETGeographicLib/Geodesic.cpp:494
NETGeographicLib::Geodesic
.NET wrapper for GeographicLib::Geodesic.
Definition: Geodesic.h:170
NETGeographicLib::Geodesic::EllipsoidArea
property double EllipsoidArea
Definition: Geodesic.h:844
NETGeographicLib.h
Header for NETGeographicLib::NETGeographicLib objects.
tree::f
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
Definition: testExpression.cpp:218
NETGeographicLib::Geodesic::GenDirectLine
GeodesicLine GenDirectLine(double lat1, double lon1, double azi1, bool arcmode, double s12_a12, NETGeographicLib::Mask caps)
Definition: dotnet/NETGeographicLib/Geodesic.cpp:502
NETGeographicLib::Geodesic::ArcDirect
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)
Definition: dotnet/NETGeographicLib/Geodesic.cpp:171
a
ArrayXXi a
Definition: Array_initializer_list_23_cxx11.cpp:1
NETGeographicLib::captype::CAP_C3
@ CAP_C3
NETGeographicLib::captype::CAP_ALL
@ CAP_ALL
NETGeographicLib::Geodesic::m_pGeodesic
const GeographicLib::Geodesic * m_pGeodesic
Definition: Geodesic.h:174
NETGeographicLib::Geodesic::mask::AZIMUTH
@ AZIMUTH
NETGeographicLib::Geodesic::mask
mask
Definition: Geodesic.h:187
NETGeographicLib::Geodesic::mask::LATITUDE
@ LATITUDE
NETGeographicLib::Geodesic::InverseLine
GeodesicLine InverseLine(double lat1, double lon1, double lat2, double lon2, NETGeographicLib::Mask caps)
Definition: dotnet/NETGeographicLib/Geodesic.cpp:478
NETGeographicLib::captype::CAP_NONE
@ CAP_NONE
NETGeographicLib::Geodesic::MajorRadius
property double MajorRadius
Definition: Geodesic.h:830
NETGeographicLib::Mask
Mask
Definition: NETGeographicLib.h:38
U
@ U
Definition: testDecisionTree.cpp:342
NETGeographicLib::Geodesic::mask::ALL
@ ALL
NETGeographicLib::Geodesic::mask::REDUCEDLENGTH
@ REDUCEDLENGTH
NETGeographicLib::Geodesic::mask::GEODESICSCALE
@ GEODESICSCALE
NETGeographicLib::Geodesic::mask::AREA
@ AREA
get
Container::iterator get(Container &c, Position position)
Definition: stdlist_overload.cpp:29
NETGeographicLib
Definition: Accumulator.h:13
Eigen::internal::IntPtr
std::ptrdiff_t IntPtr
Definition: Meta.h:91
NETGeographicLib::Geodesic::GenDirect
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)
Definition: dotnet/NETGeographicLib/Geodesic.cpp:295
NETGeographicLib::Geodesic::Direct
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)
Definition: dotnet/NETGeographicLib/Geodesic.cpp:63
GeographicLib::Geodesic
Geodesic calculations
Definition: Geodesic.hpp:172
NETGeographicLib::Geodesic::mask::NONE
@ NONE
NETGeographicLib::Geodesic::GetUnmanaged
System::IntPtr GetUnmanaged()
Definition: dotnet/NETGeographicLib/Geodesic.cpp:465


gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:11:36