cgal icon indicating copy to clipboard operation
cgal copied to clipboard

Segment_Delaunay_graph_2 draw_dual_edge linearizes Parabola_segment_2

Open Yvee1 opened this issue 1 year ago • 0 comments

The draw_dual function of Segment_Delaunay_graph_2 provides a way to draw the dual segment Voronoi diagram. It passes lines, segments, and rays to a stream provided by the caller such that they can provide their own drawing implementation. However, the parabolic segments present in such a Voronoi diagram are linearized with a coarse step size of 2, which cannot be customized. In line with the goal of providing the caller flexibility on how to draw the geometric primitives, it would be better if the parabolic segment was not linearized, but instead passed directly, such that the caller can, for example, use a quadratic Bézier curve to draw it.

A related issue is that the start and end point of a parabolic segment are protected members of the Parabola_segment_2 class, so cannot be accessed if it would be passed to a caller. Let me know if I should make a separate issue for this.

Yvee1 avatar Jan 10 '24 17:01 Yvee1