.NET wrapper for GeographicLib::RhumbLine. More...
#include <Rhumb.h>
Public Types | |
enum | mask { mask::NONE, mask::LATITUDE, mask::LONGITUDE, mask::AZIMUTH, mask::DISTANCE, mask::AREA, mask::LONG_UNROLL, mask::ALL } |
Public Member Functions | |
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) |
void | Position (double s12, [System::Runtime::InteropServices::Out] double% lat2, [System::Runtime::InteropServices::Out] double% lon2) |
void | Position (double s12, [System::Runtime::InteropServices::Out] double% lat2, [System::Runtime::InteropServices::Out] double% lon2, [System::Runtime::InteropServices::Out] double% S12) |
RhumbLine (GeographicLib::RhumbLine *pRhumbLine) | |
Constructor. More... | |
~RhumbLine () | |
The destructor calls the finalizer. More... | |
Public Attributes | |
Inspector functions | |
property double | Latitude { double get() |
property double | Longitude { double get() |
property double | Azimuth { double get() |
property double | MajorRadius { double get() |
property double | Flattening { double get() |
Private Member Functions | |
!RhumbLine (void) | |
Private Attributes | |
GeographicLib::RhumbLine * | m_pRhumbLine |
.NET wrapper for GeographicLib::RhumbLine.
This class allows .NET applications to access GeographicLib::RhumbLine.
Find a sequence of points on a single rhumb line.
RhumbLine facilitates the determination of a series of points on a single rhumb line. The starting point (lat1, lon1) and the azimuth azi12 are specified in the call to Rhumb::Line which returns a RhumbLine object. RhumbLine.Position returns the location of point 2 a distance s12 along the rhumb line.
There is no public constructor for this class. (Use Rhumb::Line to create an instance.) The Rhumb object used to create a RhumbLine must stay in scope as long as the RhumbLine.
|
strong |
|
private |
Definition at line 154 of file dotnet/NETGeographicLib/Rhumb.cpp.
RhumbLine::RhumbLine | ( | GeographicLib::RhumbLine * | pRhumbLine | ) |
Constructor.
For internal use only. Developers should not call this constructor directly. Use the Rhumb::Line function to create RhumbLine objects.
Definition at line 164 of file dotnet/NETGeographicLib/Rhumb.cpp.
|
inline |
void RhumbLine::GenPosition | ( | double | s12, |
RhumbLine::mask | outmask, | ||
[System::Runtime::InteropServices::Out] double% | lat2, | ||
[System::Runtime::InteropServices::Out] double% | lon2, | ||
[System::Runtime::InteropServices::Out] double% | S12 | ||
) |
The general position routine. RhumbLine::Position is defined in term so this function.
[in] | s12 | distance between point 1 and point 2 (meters); it can be negative. |
[in] | outmask | a bitor'ed combination of RhumbLine::mask values specifying which of the following parameters should be set. |
[out] | lat2 | latitude of point 2 (degrees). |
[out] | lon2 | longitude of point 2 (degrees). |
[out] | S12 | area under the rhumb line (meters2). |
The RhumbLine::mask values possible for outmask are
With the LONG_UNROLL bit set, the quantity lon2 − lon1 indicates how many times and in what sense the rhumb line encircles the ellipsoid.
If s12 is large enough that the rhumb line crosses a pole, the longitude of point 2 is indeterminate (a NaN is returned for lon2 and S12).
Definition at line 196 of file dotnet/NETGeographicLib/Rhumb.cpp.
void RhumbLine::Position | ( | double | s12, |
[System::Runtime::InteropServices::Out] double% | lat2, | ||
[System::Runtime::InteropServices::Out] double% | lon2 | ||
) |
Compute the position of point 2 which is a distance s12 (meters) from point 1.
[in] | s12 | distance between point 1 and point 2 (meters); it can be negative. |
[out] | lat2 | latitude of point 2 (degrees). |
[out] | lon2 | longitude of point 2 (degrees). |
The values of lon2 and azi2 returned are in the range [−180°, 180°).
If s12 is large enough that the rhumb line crosses a pole, the longitude of point 2 is indeterminate (a NaN is returned for lon2).
Definition at line 185 of file dotnet/NETGeographicLib/Rhumb.cpp.
void RhumbLine::Position | ( | double | s12, |
[System::Runtime::InteropServices::Out] double% | lat2, | ||
[System::Runtime::InteropServices::Out] double% | lon2, | ||
[System::Runtime::InteropServices::Out] double% | S12 | ||
) |
Compute the position of point 2 which is a distance s12 (meters) from point 1. The area is also computed.
[in] | s12 | distance between point 1 and point 2 (meters); it can be negative. |
[out] | lat2 | latitude of point 2 (degrees). |
[out] | lon2 | longitude of point 2 (degrees). |
[out] | S12 | area under the rhumb line (meters2). |
The value of lon2 returned is in the range [−180°, 180°).
If s12 is large enough that the rhumb line crosses a pole, the longitude of point 2 is indeterminate (a NaN is returned for lon2 and S12).
Definition at line 172 of file dotnet/NETGeographicLib/Rhumb.cpp.
property double NETGeographicLib::RhumbLine::Azimuth { double get() |
property double NETGeographicLib::RhumbLine::Flattening { double get() |
property double NETGeographicLib::RhumbLine::Latitude { double get() |
property double NETGeographicLib::RhumbLine::Longitude { double get() |
|
private |
property double NETGeographicLib::RhumbLine::MajorRadius { double get() |