Files
comaps/geometry/bounding_box.cpp
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

31 lines
703 B
C++

#include "geometry/bounding_box.hpp"
#include <algorithm> // std::min, std::max
namespace m2
{
BoundingBox::BoundingBox(std::vector<PointD> const & points)
{
for (auto const & p : points)
Add(p);
}
void BoundingBox::Add(double x, double y)
{
m_min.x = std::min(m_min.x, x);
m_min.y = std::min(m_min.y, y);
m_max.x = std::max(m_max.x, x);
m_max.y = std::max(m_max.y, y);
}
bool BoundingBox::HasPoint(double x, double y) const
{
return x >= m_min.x && x <= m_max.x && y >= m_min.y && y <= m_max.y;
}
bool BoundingBox::HasPoint(double x, double y, double eps) const
{
return x >= m_min.x - eps && x <= m_max.x + eps && y >= m_min.y - eps && y <= m_max.y + eps;
}
} // namespace m2