Release 0.7.0
steph - November 8th 2002
I consider this new release to be a major step forward with a new very robust implementation of boolean operations as well as several very interesting contributions from other people: marching tetrahedra for isosurface extraction (Gert Wollny) and differential geometry operators (Ray Jones) in particular. Thanks to all people who contributed, reported bugs etc... A summary of the most significant changes follows:
Boolean operations have been almost entirely rewritten and now use a
Simulation of Simplicity (SoS) technique to deal with degenerate
cases. This should fix most of the problems encountered when dealing
with "simple" geometric objects (i.e. cube/cube intersections with
coplanar faces etc...) Almost all the test cases in the test suite
(including significant tests submitted by users) now pass. Difficult
test cases like an object intersecting with a simplified version of
itself (created using coarsen for example) work fine despite the huge
number of degenerate cases (coincident and nearly coincident edges,
faces, vertices).
There is still a caveat however for intersections which creates
multiple closed loops contained within one another (note that this
was not a problem in the previous version). This needs to be fixed at
some point.
Another problem is that the surfaces resulting from a boolean
operation while guaranteed to be topologically consistent may contain
degenerate edges/faces which will prevent them from being used in a
subsequent boolean operation. The degenerate entities need first to be
eliminated (through edge/face collapse).
The gts_point_is_inside_surface() function has been rewritten using SoS.
A new stl2gts tool provides conversion between STL (stereolithography)
format and GTS format.
Ray Jones has added new functions to compute gaussian curvature,
principal curvature directions etc...
The gts_file_close() function call has been replaced by a
gts_file_destroy() function which does not close the file. This is
better left to the caller. Your application might need a slight
modification there.
The whole automake/autoconf stuff has been upgraded to use version
1.6.3 of automake.
Gert Wollny has added a marching tetrahedra isosurface construction
technique which should avoid topological defects in isosurfaces
(created by inconsistencies inherent to the marching cube technique).
A number of bugs have been fixed (thanks to bug reporters).