21 if ( m_pRhumb !=
NULL )
39 catch ( std::bad_alloc )
41 throw gcnew System::Exception(
"Failed to allocate memory for a Rhumb.");
47 [System::Runtime::InteropServices::Out]
double% lat2,
48 [System::Runtime::InteropServices::Out]
double% lon2,
49 [System::Runtime::InteropServices::Out]
double% S12)
51 double ilat2, ilon2, iS12;
60 [System::Runtime::InteropServices::Out]
double% lat2,
61 [System::Runtime::InteropServices::Out]
double% lon2)
72 [System::Runtime::InteropServices::Out]
double% lat2,
73 [System::Runtime::InteropServices::Out]
double% lon2,
74 [System::Runtime::InteropServices::Out]
double% S12)
76 double ilat2, ilon2, iS12;
77 unsigned int iMask = (
unsigned int)outmask;
86 [System::Runtime::InteropServices::Out]
double% s12,
87 [System::Runtime::InteropServices::Out]
double% azi12,
88 [System::Runtime::InteropServices::Out]
double% S12)
90 double is12, iazi12, iS12;
99 [System::Runtime::InteropServices::Out]
double% s12,
100 [System::Runtime::InteropServices::Out]
double% azi12)
111 [System::Runtime::InteropServices::Out]
double% s12,
112 [System::Runtime::InteropServices::Out]
double% azi12,
113 [System::Runtime::InteropServices::Out]
double% S12)
115 double is12, iazi12, iS12;
116 unsigned int iMask = (
unsigned int)outmask;
156 if ( m_pRhumbLine !=
NULL )
166 if ( pRhumbLine ==
NULL )
167 throw gcnew System::Exception(
"Invalid pointer in RhumbLine constructor.");
168 m_pRhumbLine = pRhumbLine;
173 [System::Runtime::InteropServices::Out]
double% lat2,
174 [System::Runtime::InteropServices::Out]
double% lon2,
175 [System::Runtime::InteropServices::Out]
double% S12)
177 double ilat2, ilon2, iS12;
178 m_pRhumbLine->Position( s12, ilat2, ilon2, iS12);
186 [System::Runtime::InteropServices::Out]
double% lat2,
187 [System::Runtime::InteropServices::Out]
double% lon2)
190 m_pRhumbLine->Position( s12, ilat2, ilon2 );
197 [System::Runtime::InteropServices::Out]
double% lat2,
198 [System::Runtime::InteropServices::Out]
double% lon2,
199 [System::Runtime::InteropServices::Out]
double% S12)
201 double ilat2, ilon2, iS12;
202 unsigned int iMask = (
unsigned int)outmask;
203 m_pRhumbLine->GenPosition( s12, iMask, ilat2, ilon2, iS12);
212 return m_pRhumbLine->Latitude();
218 return m_pRhumbLine->Longitude();
224 return m_pRhumbLine->Azimuth();
230 return m_pRhumbLine->MajorRadius();
236 return m_pRhumbLine->Flattening();
void Inverse(real lat1, real lon1, real lat2, real lon2, real &s12, real &azi12, real &S12) const
Header for NETGeographicLib::NETGeographicLib objects.
Exception class for NETGeographicLib.
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)
Header for GeographicLib::Rhumb and GeographicLib::RhumbLine classes.
.NET wrapper for GeographicLib::RhumbLine.
Math::real MajorRadius() const
Math::real EllipsoidArea() const
void Position(double s12, [System::Runtime::InteropServices::Out] double%lat2, [System::Runtime::InteropServices::Out] double%lon2, [System::Runtime::InteropServices::Out] double%S12)
RhumbLine Line(real lat1, real lon1, real azi12) const
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
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)
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)
Header for NETGeographicLib::Rhumb and NETGeographicLib::RhumbLine classes.
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)
Math::real Flattening() const
RhumbLine Line(double lat1, double lon1, double azi12)
Exception handling for GeographicLib.
Solve of the direct and inverse rhumb problems.
.NET wrapper for GeographicLib::Rhumb.
RhumbLine(GeographicLib::RhumbLine *pRhumbLine)
Constructor.
void GenInverse(real lat1, real lon1, real lat2, real lon2, unsigned outmask, real &s12, real &azi12, real &, real &, real &, real &, real &S12) const
Find a sequence of points on a single rhumb line.
System::IntPtr GetUnmanaged()
GeographicLib::Rhumb * m_pRhumb
void GenDirect(real lat1, real lon1, real azi12, bool, real s12, unsigned outmask, real &lat2, real &lon2, real &, real &, real &, real &, real &, real &S12) const
Container::iterator get(Container &c, Position position)
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)
void Direct(real lat1, real lon1, real azi12, real s12, real &lat2, real &lon2, real &S12) const
Rhumb(double a, double f, bool exact)