Rhumb.h
Go to the documentation of this file.
1 #pragma once
2 
13 namespace NETGeographicLib {
14 
15  ref class RhumbLine;
16 
65  public ref class Rhumb {
66  private:
67  // pointer to the unmanaged Rhumb object
69 
70  // The finalizer destroys m_pRhumb when this object is destroyed.
71  !Rhumb(void);
72  public:
78  enum class mask {
83  NONE = 0U,
88  LATITUDE = 1U<<7,
93  LONGITUDE = 1U<<8,
98  AZIMUTH = 1U<<9,
103  DISTANCE = 1U<<10,
108  AREA = 1U<<14,
113  LONG_UNROLL = 1U<<15,
118  ALL = 0x7F80U,
119  };
120 
135  Rhumb(double a, double f, bool exact);
136 
140  ~Rhumb() { this->!Rhumb(); }
141 
164  void Direct(double lat1, double lon1, double azi12, double s12,
165  [System::Runtime::InteropServices::Out] double% lat2,
166  [System::Runtime::InteropServices::Out] double% lon2,
167  [System::Runtime::InteropServices::Out] double% S12);
168 
191  void Direct(double lat1, double lon1, double azi12, double s12,
192  [System::Runtime::InteropServices::Out] double% lat2,
193  [System::Runtime::InteropServices::Out] double% lon2);
194 
221  void GenDirect(double lat1, double lon1, double azi12, double s12,
222  Rhumb::mask outmask,
223  [System::Runtime::InteropServices::Out] double% lat2,
224  [System::Runtime::InteropServices::Out] double% lon2,
225  [System::Runtime::InteropServices::Out] double% S12);
226 
249  void Inverse(double lat1, double lon1, double lat2, double lon2,
250  [System::Runtime::InteropServices::Out] double% s12,
251  [System::Runtime::InteropServices::Out] double% azi12,
252  [System::Runtime::InteropServices::Out] double% S12);
253 
273  void Inverse(double lat1, double lon1, double lat2, double lon2,
274  [System::Runtime::InteropServices::Out] double% s12,
275  [System::Runtime::InteropServices::Out] double% azi12);
276 
297  void GenInverse(double lat1, double lon1, double lat2, double lon2,
298  Rhumb::mask outmask,
299  [System::Runtime::InteropServices::Out] double% s12,
300  [System::Runtime::InteropServices::Out] double% azi12,
301  [System::Runtime::InteropServices::Out] double% S12);
302 
318  RhumbLine^ Line(double lat1, double lon1, double azi12);
319 
322 
328  property double MajorRadius { double get(); }
329 
334  property double Flattening { double get(); }
335 
339  property double EllipsoidArea { double get(); }
340 
347 
352  static Rhumb^ WGS84();
353  };
354 
374  public ref class RhumbLine {
375  private:
376  // pointer to the unmanaged RhumbLine object.
378 
379  // The finalizer destroys m_pRhumbLine when this object is destroyed.
380  !RhumbLine(void);
381  public:
382  enum class mask {
387  NONE = 0, //NETGeographicLib::Rhumb::NONE,
392  LATITUDE = 1U<<7, //Rhumb::LATITUDE,
397  LONGITUDE = 1U<<8, //Rhumb::LONGITUDE,
402  AZIMUTH = 1U<<9, //Rhumb::AZIMUTH,
407  DISTANCE = 1U<<10, //Rhumb::DISTANCE,
412  AREA = 1U<<14, //Rhumb::AREA,
417  LONG_UNROLL = 1U<<15, //Rhumb::LONG_UNROLL,
422  ALL = 0x7F80U, //Rhumb::ALL,
423  };
430  RhumbLine( GeographicLib::RhumbLine* pRhumbLine );
431 
435  ~RhumbLine() { this->!RhumbLine(); }
436 
454  void Position(double s12,
455  [System::Runtime::InteropServices::Out] double% lat2,
456  [System::Runtime::InteropServices::Out] double% lon2,
457  [System::Runtime::InteropServices::Out] double% S12);
458 
474  void Position(double s12,
475  [System::Runtime::InteropServices::Out] double% lat2,
476  [System::Runtime::InteropServices::Out] double% lon2);
477 
506  void GenPosition(double s12, RhumbLine::mask outmask,
507  [System::Runtime::InteropServices::Out] double% lat2,
508  [System::Runtime::InteropServices::Out] double% lon2,
509  [System::Runtime::InteropServices::Out] double% S12);
510 
513 
518  property double Latitude { double get(); }
519 
523  property double Longitude { double get(); }
524 
528  property double Azimuth { double get(); }
529 
534  property double MajorRadius { double get(); }
535 
540  property double Flattening { double get(); }
541  };
542 
543 } // namespace NETGeographicLib
NETGeographicLib::RhumbLine::mask::AREA
@ AREA
NETGeographicLib::RhumbLine::Azimuth
property double Azimuth
Definition: Rhumb.h:528
NETGeographicLib::Rhumb::mask::NONE
@ NONE
NETGeographicLib::RhumbLine::mask::LATITUDE
@ LATITUDE
NETGeographicLib::RhumbLine::~RhumbLine
~RhumbLine()
The destructor calls the finalizer.
Definition: Rhumb.h:435
NETGeographicLib::Rhumb::GetUnmanaged
System::IntPtr GetUnmanaged()
Definition: dotnet/NETGeographicLib/Rhumb.cpp:146
NETGeographicLib::RhumbLine::Latitude
property double Latitude
Definition: Rhumb.h:518
GeographicLib::Rhumb
Solve of the direct and inverse rhumb problems.
Definition: Rhumb.hpp:66
NETGeographicLib::RhumbLine::mask::LONG_UNROLL
@ LONG_UNROLL
NETGeographicLib::Rhumb::Direct
void Direct(double lat1, double lon1, double azi12, double s12, [System::Runtime::InteropServices::Out] double% lat2, [System::Runtime::InteropServices::Out] double% lon2, [System::Runtime::InteropServices::Out] double% S12)
Definition: dotnet/NETGeographicLib/Rhumb.cpp:46
NETGeographicLib::Rhumb::mask::AREA
@ AREA
NETGeographicLib::Rhumb::GenInverse
void GenInverse(double lat1, double lon1, double lat2, double lon2, Rhumb::mask outmask, [System::Runtime::InteropServices::Out] double% s12, [System::Runtime::InteropServices::Out] double% azi12, [System::Runtime::InteropServices::Out] double% S12)
Definition: dotnet/NETGeographicLib/Rhumb.cpp:109
NETGeographicLib::Rhumb::Line
RhumbLine Line(double lat1, double lon1, double azi12)
Definition: dotnet/NETGeographicLib/Rhumb.cpp:124
NETGeographicLib::RhumbLine::mask::LONGITUDE
@ LONGITUDE
NETGeographicLib::Rhumb::GenDirect
void GenDirect(double lat1, double lon1, double azi12, double s12, Rhumb::mask outmask, [System::Runtime::InteropServices::Out] double% lat2, [System::Runtime::InteropServices::Out] double% lon2, [System::Runtime::InteropServices::Out] double% S12)
Definition: dotnet/NETGeographicLib/Rhumb.cpp:70
NETGeographicLib::RhumbLine::mask::NONE
@ NONE
NETGeographicLib::Rhumb::Rhumb
Rhumb(double a, double f, bool exact)
Definition: dotnet/NETGeographicLib/Rhumb.cpp:29
NETGeographicLib::RhumbLine::Longitude
property double Longitude
Definition: Rhumb.h:523
NETGeographicLib::Rhumb::Inverse
void Inverse(double lat1, double lon1, double lat2, double lon2, [System::Runtime::InteropServices::Out] double% s12, [System::Runtime::InteropServices::Out] double% azi12, [System::Runtime::InteropServices::Out] double% S12)
Definition: dotnet/NETGeographicLib/Rhumb.cpp:85
NETGeographicLib::Rhumb::mask::LATITUDE
@ LATITUDE
NETGeographicLib::RhumbLine::RhumbLine
RhumbLine(GeographicLib::RhumbLine *pRhumbLine)
Constructor.
Definition: dotnet/NETGeographicLib/Rhumb.cpp:164
GeographicLib::RhumbLine
Find a sequence of points on a single rhumb line.
Definition: Rhumb.hpp:437
NETGeographicLib::Rhumb::mask::DISTANCE
@ DISTANCE
NETGeographicLib::RhumbLine::m_pRhumbLine
GeographicLib::RhumbLine * m_pRhumbLine
Definition: Rhumb.h:377
tree::f
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
Definition: testExpression.cpp:218
NETGeographicLib::RhumbLine::MajorRadius
property double MajorRadius
Definition: Rhumb.h:534
NETGeographicLib::RhumbLine::mask::ALL
@ ALL
NETGeographicLib::RhumbLine::Position
void Position(double s12, [System::Runtime::InteropServices::Out] double% lat2, [System::Runtime::InteropServices::Out] double% lon2, [System::Runtime::InteropServices::Out] double% S12)
Definition: dotnet/NETGeographicLib/Rhumb.cpp:172
NETGeographicLib::Rhumb::WGS84
static Rhumb WGS84()
Definition: dotnet/NETGeographicLib/Rhumb.cpp:139
a
ArrayXXi a
Definition: Array_initializer_list_23_cxx11.cpp:1
NETGeographicLib::Rhumb::~Rhumb
~Rhumb()
The destructor calls the finalizer.
Definition: Rhumb.h:140
NETGeographicLib::Rhumb::MajorRadius
property double MajorRadius
Definition: Rhumb.h:328
NETGeographicLib::Rhumb
.NET wrapper for GeographicLib::Rhumb.
Definition: Rhumb.h:65
NETGeographicLib::Rhumb::m_pRhumb
GeographicLib::Rhumb * m_pRhumb
Definition: Rhumb.h:68
NETGeographicLib::RhumbLine::GenPosition
void GenPosition(double s12, RhumbLine::mask outmask, [System::Runtime::InteropServices::Out] double% lat2, [System::Runtime::InteropServices::Out] double% lon2, [System::Runtime::InteropServices::Out] double% S12)
Definition: dotnet/NETGeographicLib/Rhumb.cpp:196
NETGeographicLib::Rhumb::mask::LONG_UNROLL
@ LONG_UNROLL
NETGeographicLib::Rhumb::Flattening
property double Flattening
Definition: Rhumb.h:334
NETGeographicLib::Rhumb::mask::ALL
@ ALL
NETGeographicLib::RhumbLine::Flattening
property double Flattening
Definition: Rhumb.h:540
U
@ U
Definition: testDecisionTree.cpp:296
NETGeographicLib::Rhumb::mask
mask
Definition: Rhumb.h:78
NETGeographicLib::RhumbLine::mask
mask
Definition: Rhumb.h:382
NETGeographicLib::Rhumb::mask::LONGITUDE
@ LONGITUDE
NETGeographicLib::RhumbLine::mask::AZIMUTH
@ AZIMUTH
NETGeographicLib::Rhumb::mask::AZIMUTH
@ AZIMUTH
get
Container::iterator get(Container &c, Position position)
Definition: stdlist_overload.cpp:29
NETGeographicLib::RhumbLine::mask::DISTANCE
@ DISTANCE
NETGeographicLib
Definition: Accumulator.h:13
Eigen::internal::IntPtr
std::ptrdiff_t IntPtr
Definition: Meta.h:91
NETGeographicLib::Rhumb::EllipsoidArea
property double EllipsoidArea
Definition: Rhumb.h:339
NETGeographicLib::RhumbLine
.NET wrapper for GeographicLib::RhumbLine.
Definition: Rhumb.h:374


gtsam
Author(s):
autogenerated on Mon Jul 1 2024 03:03:05