The mesh generated by the scanners is not smooth enough to perform accurate finite element analysis, hence we needed a method to smooth remesh the tooth. I settled on octree-based meshing.

The idea of this remeshing approach came from this blog: https://www.linkedin.com/pulse/remeshing-using-octree-volume-mesh-vincent-rivola/

I tried out the hypertree grid in VTK, but this is under heavy development hence this implementation uses ufo-cfd and Paraview filters. It creates an octree grid around the surface.

Test:

Now its just a matter of closing the volume so inside we have negative distance, and outside positive distance, and we then retrieve the isosurface at distance 0 to get the shape of the mesh.

Thats all folks, problem resolved!