21 #ifndef OPHIDIAN_LEGALIZATION_CHECK_H
22 #define OPHIDIAN_LEGALIZATION_CHECK_H
24 #include <boost/geometry.hpp>
25 #include <boost/geometry/index/rtree.hpp>
26 #include "placement.h"
27 #include "floorplan.h"
31 namespace legalization {
32 using point = geometry::point<double>;
33 using box = geometry::box<point>;
34 using rtree_node = std::pair<box, entity_system::entity>;
35 using rtree = boost::geometry::index::rtree<rtree_node, boost::geometry::index::rstar<16>>;
41 bool check_alignment();
42 bool check_boundaries();
43 bool check_cell_overlaps();
48 m_floorplan), m_placement(m_placement) { }
50 bool check_legality();
57 #endif //OPHIDIAN_LEGALIZATION_CHECK_H
Placement class.
Definition: placement.h:35
Definition: legalization_check.h:37
Floorplan class.
Definition: floorplan.h:37