311 void setStartingGeographicPoint(
double longitude,
double latitude);
323 void setDestinationGeographicPoint(
double longitude,
double latitude);
336 bool destinationGeographicPoint(
double* longitude,
double* latitude);
337 QPointF destinationGeographicPoint();
348 void setDirection(
double azimuth,
double distance);
373 double orthodromicDistance();
380 bool checkOrthodromicDistance();
386 bool computeDestinationPoint();
396 double meridianArcLength(
double latitude1,
double latitude2);
406 double meridianArcLengthRadians(
double P1,
double P2);
413 bool computeDirection();
417 double castToAngleRange(
const double alpha);
426 bool checkLatitude(
double* latitude);
435 bool checkLongitude(
double* longitude);
444 bool checkAzimuth(
double* azimuth);
452 bool checkOrthodromicDistance(
const double distance);
460 double m_TOLERANCE_0 = 5.0e-15;
461 double m_TOLERANCE_1 = 5.0e-14;
462 double m_TOLERANCE_2 = 5.0e-13;
463 double m_TOLERANCE_3 = 7.0e-3;
468 double m_TOLERANCE_CHECK = 1E-8;
478 double m_semiMajorAxis = 0.0;
483 double m_semiMinorAxis = 0.0;
488 double m_eccentricitySquared = 0.0;
493 double m_maxOrthodromicDistance = 0.0;
544 double m_long1 = 0.0;
551 double m_long2 = 0.0;
558 double m_distance = 0.0;
559 double m_azimuth = 0.0;
565 bool m_destinationValid =
false;
571 bool m_directionValid =
false;