/**
  * See the documentation for GeodesicLineExact::ArcPosition.
  **********************************************************************/
 void ArcPosition(real a12, real& lat2, real& lon2)
   const {
   real t;
   GenPosition(true, a12,
               LATITUDE | LONGITUDE,
               lat2, lon2, t, t, t, t, t, t);
 }
 /**
  * See the documentation for GeodesicLineExact::ArcPosition.
  **********************************************************************/
 void ArcPosition(real a12, real& lat2, real& lon2, real& azi2,
                  real& s12) const {
   real t;
   GenPosition(true, a12,
               LATITUDE | LONGITUDE | AZIMUTH | DISTANCE,
               lat2, lon2, azi2, s12, t, t, t, t);
 }
 /**
  * See the documentation for GeodesicLineExact::Position.
  **********************************************************************/
 Math::real Position(real s12, real& lat2, real& lon2,
                     real& azi2) const {
   real t;
   return GenPosition(false, s12,
                      LATITUDE | LONGITUDE | AZIMUTH,
                      lat2, lon2, azi2, t, t, t, t, t);
 }
 /**
  * Compute the position of point 2 which is an arc length \e a12 (degrees)
  * from point 1.
  *
  * @param[in] a12 arc length between point 1 and point 2 (degrees); it can
  *   be signed.
  * @param[out] lat2 latitude of point 2 (degrees).
  * @param[out] lon2 longitude of point 2 (degrees); requires that the
  *   GeodesicLineExact object was constructed with \e caps |=
  *   GeodesicLineExact::LONGITUDE.
  * @param[out] azi2 (forward) azimuth at point 2 (degrees).
  * @param[out] s12 distance between point 1 and point 2 (meters); requires
  *   that the GeodesicLineExact object was constructed with \e caps |=
  *   GeodesicLineExact::DISTANCE.
  * @param[out] m12 reduced length of geodesic (meters); requires that the
  *   GeodesicLineExact object was constructed with \e caps |=
  *   GeodesicLineExact::REDUCEDLENGTH.
  * @param[out] M12 geodesic scale of point 2 relative to point 1
  *   (dimensionless); requires that the GeodesicLineExact object was
  *   constructed with \e caps |= GeodesicLineExact::GEODESICSCALE.
  * @param[out] M21 geodesic scale of point 1 relative to point 2
  *   (dimensionless); requires that the GeodesicLineExact object was
  *   constructed with \e caps |= GeodesicLineExact::GEODESICSCALE.
  * @param[out] S12 area under the geodesic (meters<sup>2</sup>); requires
  *   that the GeodesicLineExact object was constructed with \e caps |=
  *   GeodesicLineExact::AREA.
  *
  * The values of \e lon2 and \e azi2 returned are in the range
  * [&minus;180&deg;, 180&deg;).
  *
  * Requesting a value which the GeodesicLineExact object is not capable of
  * computing is not an error; the corresponding argument will not be
  * altered.
  *
  * The following functions are overloaded versions of
  * GeodesicLineExact::ArcPosition which omit some of the output parameters.
  **********************************************************************/
 void ArcPosition(real a12, real& lat2, real& lon2, real& azi2,
                  real& s12, real& m12, real& M12, real& M21,
                  real& S12) const {
   GenPosition(true, a12,
               LATITUDE | LONGITUDE | AZIMUTH | DISTANCE |
               REDUCEDLENGTH | GEODESICSCALE | AREA,
               lat2, lon2, azi2, s12, m12, M12, M21, S12);
 }
Beispiel #5
0
 /**
  * See the documentation for GeodesicLine::ArcPosition.
  **********************************************************************/
 void ArcPosition(real a12, real& lat2, real& lon2, real& azi2,
                  real& s12, real& m12) const throw() {
   real t;
   GenPosition(true, a12,
               LATITUDE | LONGITUDE | AZIMUTH |
               DISTANCE | REDUCEDLENGTH,
               lat2, lon2, azi2, s12, m12, t, t, t);
 }
Beispiel #6
0
 /**
  * See the documentation for GeodesicLine::ArcPosition.
  **********************************************************************/
 void ArcPosition(real a12,
                  real& lat2, real& lon2, real& azi2)
   const throw() {
   real t;
   GenPosition(true, a12,
               LATITUDE | LONGITUDE | AZIMUTH,
               lat2, lon2, azi2, t, t, t, t, t);
 }
Beispiel #7
0
 /**
  * See the documentation for GeodesicLine::Position.
  **********************************************************************/
 Math::real Position(real s12, real& lat2, real& lon2,
                     real& azi2, real& m12) const throw() {
   real t;
   return GenPosition(false, s12,
                      LATITUDE | LONGITUDE |
                      AZIMUTH | REDUCEDLENGTH,
                      lat2, lon2, azi2, t, m12, t, t, t);
 }
 /**
  * See the documentation for GeodesicLineExact::ArcPosition.
  **********************************************************************/
 void ArcPosition(real a12, real& lat2, real& lon2, real& azi2,
                  real& s12, real& M12, real& M21)
   const {
   real t;
   GenPosition(true, a12,
               LATITUDE | LONGITUDE | AZIMUTH |
               DISTANCE | GEODESICSCALE,
               lat2, lon2, azi2, s12, t, M12, M21, t);
 }
 /**
  * See the documentation for GeodesicLineExact::Position.
  **********************************************************************/
 Math::real Position(real s12, real& lat2, real& lon2,
                     real& azi2, real& M12, real& M21)
   const {
   real t;
   return GenPosition(false, s12,
                      LATITUDE | LONGITUDE |
                      AZIMUTH | GEODESICSCALE,
                      lat2, lon2, azi2, t, t, M12, M21, t);
 }
Beispiel #10
0
 /**
  * See the documentation for GeodesicLine::ArcPosition.
  **********************************************************************/
 void ArcPosition(real a12, real& lat2, real& lon2, real& azi2,
                  real& s12, real& m12, real& M12, real& M21)
   const throw() {
   real t;
   GenPosition(true, a12,
               LATITUDE | LONGITUDE | AZIMUTH |
               DISTANCE | REDUCEDLENGTH | GEODESICSCALE,
               lat2, lon2, azi2, s12, m12, M12, M21, t);
 }
 /**
  * Compute the position of point 2 which is a distance \e s12 (meters)
  * from point 1.
  *
  * @param[in] s12 distance between point 1 and point 2 (meters); it can be
  *   signed.
  * @param[out] lat2 latitude of point 2 (degrees).
  * @param[out] lon2 longitude of point 2 (degrees); requires that the
  *   GeodesicLineExact object was constructed with \e caps |=
  *   GeodesicLineExact::LONGITUDE.
  * @param[out] azi2 (forward) azimuth at point 2 (degrees).
  * @param[out] m12 reduced length of geodesic (meters); requires that the
  *   GeodesicLineExact object was constructed with \e caps |=
  *   GeodesicLineExact::REDUCEDLENGTH.
  * @param[out] M12 geodesic scale of point 2 relative to point 1
  *   (dimensionless); requires that the GeodesicLineExact object was
  *   constructed with \e caps |= GeodesicLineExact::GEODESICSCALE.
  * @param[out] M21 geodesic scale of point 1 relative to point 2
  *   (dimensionless); requires that the GeodesicLineExact object was
  *   constructed with \e caps |= GeodesicLineExact::GEODESICSCALE.
  * @param[out] S12 area under the geodesic (meters<sup>2</sup>); requires
  *   that the GeodesicLineExact object was constructed with \e caps |=
  *   GeodesicLineExact::AREA.
  * @return \e a12 arc length of between point 1 and point 2 (degrees).
  *
  * The values of \e lon2 and \e azi2 returned are in the range
  * [&minus;180&deg;, 180&deg;).
  *
  * The GeodesicLineExact object \e must have been constructed with \e caps
  * |= GeodesicLineExact::DISTANCE_IN; otherwise Math::NaN() is returned and
  * no parameters are set.  Requesting a value which the GeodesicLineExact
  * object is not capable of computing is not an error; the corresponding
  * argument will not be altered.
  *
  * The following functions are overloaded versions of
  * GeodesicLineExact::Position which omit some of the output parameters.
  * Note, however, that the arc length is always computed and returned as
  * the function value.
  **********************************************************************/
 Math::real Position(real s12,
                     real& lat2, real& lon2, real& azi2,
                     real& m12, real& M12, real& M21,
                     real& S12) const {
   real t;
   return GenPosition(false, s12,
                      LATITUDE | LONGITUDE | AZIMUTH |
                      REDUCEDLENGTH | GEODESICSCALE | AREA,
                      lat2, lon2, azi2, t, m12, M12, M21, S12);
 }
Beispiel #12
0
 /**
  * See the documentation for GeodesicLine::Position.
  **********************************************************************/
 Math::real Position(real s12, real& lat2, real& lon2) const throw() {
   real t;
   return GenPosition(false, s12,
                      LATITUDE | LONGITUDE,
                      lat2, lon2, t, t, t, t, t, t);
 }