33#ifdef OGDF_INCLUDE_CGAL
45template<
typename Kernel,
typename Graph,
typename CRegion = CrossingMinimalRegion<Kernel, Graph>>
48 using Point = geometry::Point_t<Kernel>;
49 using Segment = geometry::LineSegment_t<Kernel>;
50 using Polygon = geometry::Polygon_t<Kernel>;
51 using Drawing = graph::GeometricDrawing<Kernel, Graph>;
52 using Node =
typename Graph::Node;
53 using Edge =
typename Graph::Edge;
56 static Point compute(
const Drawing&
d,
const Node& v,
const std::vector<Edge>&
sample,
58 geometry::Rectangle_t<Kernel>&
rect_box,
61 std::mt19937_64& rnd) {
76 unsigned int n_cr = 0;
77 for (
auto edge :
d.get_graph().edges()) {
83 n_cr += CGAL::do_intersect(s,
s_f);
105 if (geometry::is_clockwise(
region)) {
124 auto rnd_points = RandomPointsInCell<Kernel>::compute(
cr.bd,
cr.left_to_right_cost,
139 p =
Point(CGAL::to_double(p.x()), CGAL::to_double(p.y()));
bool isIncident(node v) const
Returns true iff v is incident to the edge.
EdgeElement * edge
The type of edges.
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.