kaben/openvoronoi — comment on commit bed1c30978dd20c519f526b098e662bed4cac5fd
File:  line 0
By aewallin:

This looks interesting. Did you get the inspiration from Andri Sydorchuck's boost-sweepline code? He is doing something very similar at:
https://svn.boost.org/svn/boost/sandbox/SOC/2010/sweepline/

I think we need a way to estimate the quality of a Solution. In vertex_positioner I am now using simply the difference in distance to the three defining sites of a vertex. I'm not sure if this is good enough. The quality number could be stored in each vertex, so that statistics on the quality of all vertices could be generated. We could then run all examples&tests with different solvers, or different implementations of the same solver, and compare the overall quality of the diagram. Using high-precision number-types is more accurate but also slower. So there is a trade-off between accuracy and speed.

If you could re-name these solvers so they are distinct from the current ones, then I could merge it into master, and they could be turned on/off by #ifdef's or some other mechanism. OR, it could even be possible for the user to select a set of solvers at run-time?

The real show-stopper right now is a parallel line-segment case for LLLSolver. It happens for "-" (minus-sign) or "+" (plus sign) with certain fonts from truetype-tracer. When two line-segments are parallel the offset-distance (t) is not a good parameter at all for defining points along the bisector edge.

AW