#pragma once #include #include #include namespace mbgl { // contains minX, minY, maxX, maxY using WithinBBox = std::array; const WithinBBox DefaultBBox = WithinBBox{std::numeric_limits::infinity(), std::numeric_limits::infinity(), -std::numeric_limits::infinity(), -std::numeric_limits::infinity()}; // check if bbox1 is within bbox2 bool boxWithinBox(const WithinBBox& bbox1, const WithinBBox& bbox2); WithinBBox calculateBBox(const Geometry& geometries); 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