All Classes Functions Variables
Public Member Functions | List of all members
EnjoLib::GreatCircleMath Class Reference

Contains math for Great Circle calculations. More...

#include <GreatCircleMath.hpp>

Public Member Functions

Geo CalcPointOnGC (double angRatio, const Geo &geoStart, const Geo &geoEnd, bool bQuartDistOptimisation)
 Calculates a geographical point on a great circle.
Vect3 CalcPointOnGCNumerical (double angRatio, const Vect3 &v1, const Vect3 &v2)
 Calculates an approximate geographical point on a great circle on its portion, smaller or equal than its quarter.
double CalcDistBetweenPoints (const Geo &geoStart, const Geo &geoEnd)
 Calculates radial distance between two geographical locations.
Geo CalcPointOnWholeGC (double angRatio, const Geo &geoStart)
 Calculates a geographical point on a great circle.

Detailed Description

Contains math for Great Circle calculations.

Member Function Documentation

double GreatCircleMath::CalcDistBetweenPoints ( const Geo geoStart,
const Geo geoEnd 
)

Calculates radial distance between two geographical locations.

Calculates radial distance between two geographical locations

Parameters
geoStartstarting geographical position
geoEndending geographical position
Returns
radial distance between two geographical locations
See Also
Geo
Geo GreatCircleMath::CalcPointOnGC ( double  angRatio,
const Geo geoStart,
const Geo geoEnd,
bool  bQuartDistOptimisation 
)

Calculates a geographical point on a great circle.

Calculates a geographical point on a great circle, given ratio (0,1) between starting and ending geographical locations. If the distance between them is equal to 90*, you can speed up the calculations by setting the last parameter to true

Parameters
angRatioangular ratio of position between the two defined points (0,1)
geoStartstarting geographical position
geoEndending geographical position
bQuartDistOptimisationset it to true if distance between positions = 90*, which would speed up calculations
Returns
geographical location between starting and ending geographical position
See Also
Geo
CalcPointOnGCNumerical
Vect3 GreatCircleMath::CalcPointOnGCNumerical ( double  angRatio,
const Vect3 v1,
const Vect3 v2 
)

Calculates an approximate geographical point on a great circle on its portion, smaller or equal than its quarter.

Calculates an approximate geographical point on a great circle, given ratio (0,1) between starting and ending locations. The calculation is just a bit faster but approximate so should never be used for other calculations, but rather for displaying data. For getting the great circle data, it is wise to loop this method with angRatio being the control variable.

Parameters
angRatioangular ratio of position between the two defined points (0,1)
v1starting position
v2ending position. Usually it should be rotated 90* from v1, and not more
Returns
approximate geographical location between starting and ending geographical position
See Also
Vect3
CalcPointOnGC
Geo GreatCircleMath::CalcPointOnWholeGC ( double  angRatio,
const Geo geoStart 
)

Calculates a geographical point on a great circle.

Calculates a geographical point on a great circle, given ratio (0,1) of the whole distance of the circle

Parameters
angRatioangular ratio of position between the two defined points (0,1)
geoStartstarting geographical position. Could consist of satellite's inclination and longitude of its most northern GC point
Returns
geographical location between starting and ending geographical position
See Also
Geo
CalcPointOnGCNumerical

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