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

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

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()

RhumbLine::!RhumbLine ( void  )
private

Definition at line 154 of file dotnet/NETGeographicLib/Rhumb.cpp.

◆ RhumbLine()

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.

◆ ~RhumbLine()

NETGeographicLib::RhumbLine::~RhumbLine ( )
inline

The destructor calls the finalizer.

Definition at line 435 of file Rhumb.h.

Member Function Documentation

◆ GenPosition()

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.

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

Definition at line 196 of file dotnet/NETGeographicLib/Rhumb.cpp.

◆ Position() [1/2]

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.

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

Definition at line 185 of file dotnet/NETGeographicLib/Rhumb.cpp.

◆ Position() [2/2]

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.

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

Definition at line 172 of file dotnet/NETGeographicLib/Rhumb.cpp.

Member Data Documentation

◆ Azimuth

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

Definition at line 528 of file Rhumb.h.

◆ Flattening

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

Definition at line 540 of file Rhumb.h.

◆ Latitude

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

Definition at line 518 of file Rhumb.h.

◆ Longitude

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

Definition at line 523 of file Rhumb.h.

◆ m_pRhumbLine

GeographicLib::RhumbLine* NETGeographicLib::RhumbLine::m_pRhumbLine
private

Definition at line 377 of file Rhumb.h.

◆ MajorRadius

property double NETGeographicLib::RhumbLine::MajorRadius { double 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 534 of file Rhumb.h.


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


gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:16:46