10 #if !defined(GEOGRAPHICLIB_CASSINISOLDNER_HPP)
11 #define GEOGRAPHICLIB_CASSINISOLDNER_HPP 1
17 namespace GeographicLib {
75 static const real eps1_;
76 static const real tiny_;
77 static const unsigned maxit_ = 10;
80 static inline real AngRound(real x)
throw() {
86 const real z = 1/
real(16);
87 volatile real y = std::abs(x);
89 y = y < z ? z - (z - y) : y;
90 return x < 0 ? -y : y;
92 static inline void SinCosNorm(real& sinx, real& cosx)
throw() {
137 void Reset(
real lat0,
real lon0)
throw();
180 real& x, real& y)
const throw() {
182 Forward(lat, lon, x, y, azi, rk);
189 real& lat, real& lon)
const throw() {
191 Reverse(x, y, lat, lon, azi, rk);
200 bool Init()
const throw() {
return _meridian.Init(); }
206 {
return _meridian.Latitude(); }
212 {
return _meridian.Longitude(); }
233 {
return _earth.InverseFlattening(); }
239 #endif // GEOGRAPHICLIB_CASSINISOLDNER_HPP
Header for GeographicLib::GeodesicLine class.
#define GEOGRAPHICLIB_EXPORT
Math::real LatitudeOrigin() const
void Reverse(real x, real y, real &lat, real &lon) const
GeographicLib::Math::real real
CassiniSoldner(real lat0, real lon0, const Geodesic &earth=Geodesic::WGS84)
Cassini-Soldner projection.
Header for GeographicLib::Geodesic class.
Math::real Flattening() const
Math::real MajorRadius() const
static const Geodesic WGS84
Header for GeographicLib::Constants class.
void Forward(real lat, real lon, real &x, real &y) const
CassiniSoldner(const Geodesic &earth=Geodesic::WGS84)
Math::real LongitudeOrigin() const