For visualization and finite element mesh generation, feature-preserving meshing of piecewise-smooth implicit surfaces has been a challenge since the marching cubes technique was introduced in the 1980s. Such tessellation-based techniques have been used with varying degrees of success for this purpose, but they have consistently failed to reproduce smooth curves of surface-surface intersection when two surfaces intersect at sharp angles. Such techniques attempt to discretize all surfaces within a given cell in a single pass by computing edge-surface points of intersection for each edge in the cell and use predefined stencils to generate the surface mesh elements. This approach limits the number of surface-edge intersections on every edge to just one (or some small finite number) because the number of stencils grows exponentially with the number of surfaces. In our tessellation-based approach, we discretize only one surface in each pass over the tetrahedral cells and retetrahedralize the affected cells for the next surface during the next pass. As a result, we manage to preserve sharp features in the domain, and our algorithm scales almost linearly with the number of surfaces. As in the isosurface-stuffing algorithm, we locally warp the initial tessellated domain to ensure that a high-quality surface mesh is generated.
Bagley, B., Sastry, S. P., & Whitaker, R. T. (2016). A Marching-tetrahedra Algorithm for Feature-preserving Meshing of Piecewise-smooth Implicit Surfaces. In Procedia Engineering (Vol. 163, pp. 162–174). Elsevier Ltd. https://doi.org/10.1016/j.proeng.2016.11.042