Expand description
Mesh refinement: more triangles, and optionally closer to the truth.
Splitting a triangle is easy. The question this module exists to answer is where the new vertex goes.
A mesh-only kernel has one option: the edge midpoint. That subdivides the approximation without improving it – refining a faceted cylinder forever leaves the same faceted cylinder, with more triangles.
When the mesh came from a tessellated B-rep and the source surface is still known, there is a better answer: invert the midpoint into the surface’s parameter domain and evaluate the surface there. The new vertex lands on the ACTUAL cylinder. Refinement then converges on the real geometry instead of preserving a facet forever.
Keeping the analytic surface alongside the mesh is what makes that possible, so it is the capability this module is really for.
Modules§
- smooth
- Laplacian smoothing with an explicitly fixed boundary.
Structs§
- Refine
Report - What a refinement actually did.
- Smooth
Report - What a smoothing pass actually did.
Enums§
- Refine
Error - Why a refinement could not be performed.
- Refine
Target - How much to refine.
Functions§
- refine
- Refine a mesh, optionally snapping new vertices onto a known surface.