Known bugs in SVR
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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