blob: 56f755c7d78caec51b352f62272b27a499f5edfb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#pragma once
#include <array>
#include <limits>
#include <mbgl/util/geometry.hpp>
namespace mbgl {
// contains minX, minY, maxX, maxY
using WithinBBox = std::array<double, 4>;
const WithinBBox DefaultBBox = WithinBBox{std::numeric_limits<double>::infinity(),
std::numeric_limits<double>::infinity(),
-std::numeric_limits<double>::infinity(),
-std::numeric_limits<double>::infinity()};
// check if bbox1 is within bbox2
bool boxWithinBox(const WithinBBox& bbox1, const WithinBBox& bbox2);
WithinBBox calculateBBox(const Geometry<double>& geometries);
bool pointWithinPolygon(const Point<double>& point, const Polygon<double>& polygon);
bool pointWithinPolygons(const Point<double>& point, const MultiPolygon<double>& polygons);
bool lineStringWithinPolygon(const LineString<double>& lineString, const Polygon<double>& polygon);
bool lineStringWithinPolygons(const LineString<double>& line, const MultiPolygon<double>& polygons);
} // namespace mbgl
|