Known bugs in SVR

  1. Points within distance about 1e-6 of each other can cause numerical issues and crashes.
    The problem is presumed to be that intermediate calculations use denormalized floating-point numbers. The proper fix requires fixing the geometric predicates and circumcenter computations to still work in the face of denormalization. The easiest workaround is to rescale all the points before handing them to SVR.
  2. Sliver elimination on point clouds does not always terminate.
    Sliver elimination remains a fundamental research question, and the technique used by SVR does not provably work except with unpalatably poor angle guarantees. The current workaround is to try various settings of the sliver parameters: sometimes, even improving the quality bound desired will work. There are likely engineering ways to improve the situation; expect to see more work on this issue in the future.
  3. Sliver elimination on PLC input rarely terminates.
    SVR is overly conservative in this case. A rewrite of the sliver-elimination code for PLC input is required.
  4. Inputs given as surface meshes cannot be handled.
    Surface meshes are a poor way to describe the input geometry; nevertheless, they are common. Hacks such as those TetGen uses to discover a proper PLC for a surface mesh would be useful in many applications.
  5. PLC inputs with acute angles sometimes cause crashes.
    This is a fundamental issue with SVR and many other refinement algorithms. Fixing this is a research question. Hacks such as those TetGen uses may make it practical, albeit by leaving arbitrarily bad quality near small angles.
  6. Cleanup on a PLC with holes sometimes fails to discover a hole.
    The issue is that the cleanup code assumes that individual polygons are convex. The cleanup code assumes that a triangular face is a PLC subfacet when all three of its vertices lie on a common polygonal feature. This wrongly labels a triangle that lies entirely outside the polygon but happens to have all its vertices be on the boundary of the polygon as being part of the boundary -- thereby missing holes.
  7. Attributes on a node or poly file are ignored.
    This would be a fairly major change, and likely will never actually be done.

Back to SVR home
Last modified by Benoît Hudson
Thu Oct 4 18:11:51 CDT 2007