NETGeographicLib  1.51
Public Types | Public Member Functions | List of all members
NETGeographicLib::RhumbLine Class Reference

.NET wrapper for GeographicLib::RhumbLine. More...

#include <NETGeographicLib/Rhumb.h>

Public Types

enum class  mask {
  NONE , LATITUDE , LONGITUDE , AZIMUTH ,
  DISTANCE , AREA , LONG_UNROLL , ALL
}
 

Public Member Functions

 RhumbLine (GeographicLib::RhumbLine *pRhumbLine)
 Constructor. More...
 
 ~RhumbLine ()
 The destructor calls the finalizer. More...
 
void Position (double s12, [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 GenPosition (double s12, RhumbLine::mask outmask, [System::Runtime::InteropServices::Out] double% lat2, [System::Runtime::InteropServices::Out] double% lon2, [System::Runtime::InteropServices::Out] double% S12)
 

Properties

Inspector functions
double Latitude [get]
 
double Longitude [get]
 
double Azimuth [get]
 
double EquatorialRadius [get]
 
double Flattening [get]
 

Detailed Description

.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.

Definition at line 374 of file Rhumb.h.

Member Enumeration Documentation

◆ mask

Enumerator
NONE 

No output.

LATITUDE 

Calculate latitude lat2.

LONGITUDE 

Calculate longitude lon2.

AZIMUTH 

Calculate azimuth azi12.

DISTANCE 

Calculate distance s12.

AREA 

Calculate area S12.

LONG_UNROLL 

Unroll lon2 in the direct calculation.

ALL 

Calculate everything. (LONG_UNROLL is not included in this mask.)

Definition at line 382 of file Rhumb.h.

Constructor & Destructor Documentation

◆ RhumbLine()

NETGeographicLib::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.

Referenced by ~RhumbLine().

◆ ~RhumbLine()

NETGeographicLib::RhumbLine::~RhumbLine ( )
inline

The destructor calls the finalizer.

Definition at line 435 of file Rhumb.h.

References RhumbLine().

Member Function Documentation

◆ Position() [1/2]

void NETGeographicLib::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.

Parameters
[in]s12distance between point 1 and point 2 (meters); it can be negative.
[out]lat2latitude of point 2 (degrees).
[out]lon2longitude of point 2 (degrees).
[out]S12area 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).

◆ Position() [2/2]

void NETGeographicLib::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.

Parameters
[in]s12distance between point 1 and point 2 (meters); it can be negative.
[out]lat2latitude of point 2 (degrees).
[out]lon2longitude 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).

◆ GenPosition()

void NETGeographicLib::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.

Parameters
[in]s12distance between point 1 and point 2 (meters); it can be negative.
[in]outmaska bitor'ed combination of RhumbLine::mask values specifying which of the following parameters should be set.
[out]lat2latitude of point 2 (degrees).
[out]lon2longitude of point 2 (degrees).
[out]S12area under the rhumb line (meters2).

The RhumbLine::mask values possible for outmask are

  • outmask |= RhumbLine::LATITUDE for the latitude lat2;
  • outmask |= RhumbLine::LONGITUDE for the latitude lon2;
  • outmask |= RhumbLine::AREA for the area S12;
  • outmask |= RhumbLine::ALL for all of the above;
  • outmask |= RhumbLine::LONG_UNROLL to unroll lon2 instead of wrapping it into the range [−180°, 180°).

With the LONG_UNROLL bit set, the quantity lon2lon1 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).

Property Documentation

◆ Latitude

double NETGeographicLib::RhumbLine::Latitude
get
Returns
the latitude of point 1 (degrees).

Definition at line 506 of file Rhumb.h.

◆ Longitude

double NETGeographicLib::RhumbLine::Longitude
get
Returns
the longitude of point 1 (degrees).

Definition at line 506 of file Rhumb.h.

◆ Azimuth

double NETGeographicLib::RhumbLine::Azimuth
get
Returns
the azimuth of the rhumb line (degrees).

Definition at line 506 of file Rhumb.h.

◆ EquatorialRadius

double NETGeographicLib::RhumbLine::EquatorialRadius
get
Returns
the equatorial radius of the ellipsoid (meters). This is the value inherited from the Rhumb object used in the constructor.

Definition at line 506 of file Rhumb.h.

◆ Flattening

double NETGeographicLib::RhumbLine::Flattening
get
Returns
the flattening of the ellipsoid. This is the value inherited from the Rhumb object used in the constructor.

Definition at line 506 of file Rhumb.h.


The documentation for this class was generated from the following file: