solvespace/src/srf
EvilSpirit 89eb208660 Use a separate value of chord tolerance for exporting.
Before this commit, a single chord tolerance was used for both
displaying and exporting geometry. Moreover, this chord tolerance
was specified in screen pixels, and as such depended on zoom level.
This was inconvenient: exporting geometry with a required level of
precision required awkward manipulations of viewport. Moreover,
since some operations, e.g. mesh watertightness checking, were done
on triangle meshes which are generated differently depending on
the zoom level, these operations could report wildly different
and quite confusing results depending on zoom level.

The chord tolerance for display and export pursue completely distinct
goals: display chord tolerance should be set high enough to achieve
both fast regeneration and legible rendering, whereas export chord
tolerance should be set to match the dimension tolerance of
the fabrication process.

This commit introduces two distinct chord tolerances: a display
and an export one. Both chord tolerances are absolute and expressed
in millimeters; this is inappropriate for display purposes but
will be fixed in the next commits.

After exporting, the geometry is redrawn with the chord tolerance
configured for the export and an overlay message is displayed;
pressing Esc clears the message and returns the display back to
normal.
2016-02-13 16:16:47 +00:00
..
boolean.cpp Replace all ZERO and memset with C++11 brace-initialization. 2016-01-13 06:45:16 +00:00
curve.cpp Replace all ZERO and memset with C++11 brace-initialization. 2016-01-13 06:45:16 +00:00
merge.cpp Replace all ZERO and memset with C++11 brace-initialization. 2016-01-13 06:45:16 +00:00
ratpoly.cpp Use a separate value of chord tolerance for exporting. 2016-02-13 16:16:47 +00:00
raycast.cpp Replace all ZERO and memset with C++11 brace-initialization. 2016-01-13 06:45:16 +00:00
surface.cpp Generate primitives for lathe groups. 2016-01-13 06:45:17 +00:00
surface.h Improve Bezier to piecewise linear conversion. 2016-02-13 16:16:47 +00:00
surfinter.cpp Use a separate value of chord tolerance for exporting. 2016-02-13 16:16:47 +00:00
triangulate.cpp Use a separate value of chord tolerance for exporting. 2016-02-13 16:16:47 +00:00