eckit::geo::polygon::LonLatPolygon class

Public types

using container_type = std::vector<Point2>

Constructors, destructors, conversion operators

LonLatPolygon(const container_type& points, bool includePoles = true) explicit
template<typename Point2Iterator>
LonLatPolygon(Point2Iterator begin, Point2Iterator end, bool includePoles = true)
LonLatPolygon(const LonLatPolygon&) defaulted
LonLatPolygon(LonLatPolygon&&) defaulted
~LonLatPolygon() defaulted virtual

Public functions

auto operator=(const LonLatPolygon&) -> LonLatPolygon& defaulted
auto operator=(LonLatPolygon&&) -> LonLatPolygon& defaulted
auto max() const -> const Point2&
auto min() const -> const Point2&
auto contains(const Point2& Plonlat, bool normalise_angle = false) const -> bool
Point-in-polygon test based on winding number.

Friends

auto operator<<(std::ostream&, const LonLatPolygon&) -> std::ostream&

Function documentation

bool eckit::geo::polygon::LonLatPolygon::contains(const Point2& Plonlat, bool normalise_angle = false) const

Point-in-polygon test based on winding number.

Parameters
Plonlat
normalise_angle in normalise point angles
Returns if point (lon,lat) is in polygon