#pragma once #include #include #include namespace mbgl { // contains minX, minY, maxX, maxY using WithinBBox = std::array; const WithinBBox DefaultBBox = WithinBBox{std::numeric_limits::max(), std::numeric_limits::max(), std::numeric_limits::min(), std::numeric_limits::min()}; // check if bbox1 is within bbox2 bool boxWithinBox(const WithinBBox& bbox1, const WithinBBox& bbox2); void updateBBox(WithinBBox& bbox, const Point& p); bool pointWithinPolygon(const Point& point, const Polygon& polygon); bool pointWithinPolygons(const Point& point, const MultiPolygon& polygons); bool lineStringWithinPolygon(const LineString& lineString, const Polygon& polygon); bool lineStringWithinPolygons(const LineString& line, const MultiPolygon& polygons); } // namespace mbgl