10 #if !defined(GEOGRAPHICLIB_POLYGONAREA_HPP)
11 #define GEOGRAPHICLIB_POLYGONAREA_HPP 1
17 namespace GeographicLib {
61 template <
class GeodType = Geodesic>
72 real _lat0, _lon0, _lat1, _lon1;
73 static inline int transit(real lon1, real lon2) {
81 lon1 < 0 && lon2 >= 0 && lon12 > 0 ? 1 :
82 (lon2 < 0 && lon1 >= 0 && lon12 < 0 ? -1 : 0);
96 , _area0(_earth.EllipsoidArea())
98 , _mask(GeodType::LATITUDE | GeodType::LONGITUDE | GeodType::DISTANCE |
99 (_polyline ? GeodType::NONE : GeodType::AREA))
110 _lat0 = _lon0 = _lat1 = _lon1 =
Math::NaN();
150 unsigned Compute(
bool reverse,
bool sign,
215 unsigned TestCompute(
real lat,
real lon,
bool reverse,
bool sign,
216 real& perimeter,
real& area)
const {
217 return TestPoint(lat, lon, reverse, sign, perimeter, area);
247 { lat = _lat1; lon = _lon1; }
270 #endif // GEOGRAPHICLIB_POLYGONAREA_HPP