Crates fieldcraft-*, binaries fieldcraft and fieldcraft-cli, the .fieldcraft file (format tag fieldcraft/1, manifest fieldcraft.json), FIELDCRAFT_* environment variables, the MCP server name, egui widget ids (fc_*), the app icon document FieldCraft.icon and its generated family, docs and licences. No compatibility shim: no files of the earlier name exist. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm
77 KiB
Volume meshing literature survey for FieldCraft (tet → hex)
Compiled 2026-10-13. Scope: watertight triangulated B-rep tessellation in, then (1) tetrahedral mesh by Delaunay methods with Voronoi/ODT improvement, then (2) all-hex and hex-dominant meshes.
How this was verified
- DOIs. Every DOI below resolved through the DOI handle API (
doi.org/api/handles/<doi>→ responseCode 1). Each title, first author, year and venue was also checked against Crossref metadata. One wrong DOI was caught and fixed:10.1145/276884.276889is Amenta's Voronoi filtering, and Shewchuk's SoCG'98 paper is.276894. - Other URLs (author PDFs, arXiv, project pages, repos) returned HTTP 200 on 2026-10-13. Two exceptions:
cs.nyu.edu/~yixinhu/tetwild.pdf(403) andzenodo.org/record/6642020(403 to a scripted client, though the Zenodo REST API returned the record). Neither is used as a primary link; I cite the DOI instead. - Section numbers were read from the PDFs for: Shewchuk 1997, 1998, 2002; Klingner–Shewchuk; Labelle–Shewchuk; Diazzi 2021 and 2023; fTetWild; Attene 2020; Livesu 2021; Garanzha 2021; Pietroni survey; HexMe; DualCube. For any other paper I give no section number rather than guess one.
- Licences come from GitHub/GitLab licence metadata, LICENSE files or README licence statements. I read no source code. "none" means the repo has no licence, which makes it all-rights-reserved: treat it as unreadable for a clean-room project, same as GPL.
Licence legend for associated code
| Status | Meaning |
|---|---|
| READ OK | Permissive (MIT, BSD, Apache-2.0, ISC, MPL-2.0 file-level, public domain). May be read for reference. Still re-implement from the paper. |
| FORBIDDEN | GPL, LGPL or AGPL. Do not open. |
| NO LICENCE | All rights reserved. Do not open. |
Part A: Tetrahedral meshing
A0. Robust predicates and exactness (foundation for everything)
A0.1 Shewchuk 1997, adaptive-precision predicates. Verdict: build on.
- Citation. J. R. Shewchuk. Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates. Discrete & Computational Geometry 18(3):305–363, 1997.
- Links. DOI 10.1007/PL00009321. PDF: https://people.eecs.berkeley.edu/~jrs/papers/robustr.pdf
- Method. Floating-point expansions (non-overlapping sums of doubles) with error-free transforms:
- Two-Sum and Fast-Two-Sum (§2.3).
- Expansion-Sum / Fast-Expansion-Sum (§2.4).
- Two-Product with Dekker splitting (§2.5).
- Scale-Expansion (§2.6).
- Compression (§2.7).
- Adaptive evaluation (§3): compute the determinant in plain doubles with a certified error bound. Escalate through increasingly exact stages only when the sign is uncertain.
- Predicates.
orient2d,orient3d,incircleandinsphere, each with stage-wise error bounds (§4.2). §5 lists caveats: overflow, underflow, and the assumption of round-to-even IEEE arithmetic. - Problem solved. Exact sign of the core Delaunay predicates at near-double speed.
- Robustness. Exact for inputs in double precision. It does not handle constructed points such as intersections or Steiner points; that is what A0.3 is for. It does not resolve true degeneracies (cospherical points); that is what A0.2 is for.
- Complexity. Low to moderate: about 1–2k lines. The error-bound constants must be derived exactly as in the paper.
- Code.
predicates.cat https://www.cs.cmu.edu/~quake/robust.html is public domain (the page says so explicitly): READ OK. The same page notes that Triangle is copyrighted and not public domain; don't read it.- Rust port
georust/robust(Apache-2.0, https://github.com/georust/robust): READ OK. Useful as a differential test oracle.
- Why. Every downstream algorithm (Bowyer–Watson, CDT, refinement, octree/surface classification) assumes
exact
orient3dandinsphere.
A0.2 Symbolic perturbation (Simulation of Simplicity). Verdict: build on.
- Citations.
- H. Edelsbrunner, E. P. Mücke. Simulation of Simplicity: a technique to cope with degenerate cases in geometric algorithms. ACM TOG 9(1):66–104, 1990. DOI 10.1145/77635.77639.
- O. Devillers, M. Teillaud. Perturbations for Delaunay and weighted Delaunay 3D triangulations. CGTA 44(3):160–168, 2011. DOI 10.1016/j.comgeo.2010.09.010.
- Method. When
insphereis exactly zero, break the tie with a consistent symbolic perturbation. Devillers–Teillaud give a perturbation forinspherethat needs onlyorient3devaluations on sorted point indices. That is much simpler than general SoS. - Problem solved. Cospherical and coplanar inputs, which are ubiquitous in CAD tessellations (grids, cylinders, regular polygons). The Delaunay triangulation stays unique and the Bowyer–Watson cavity stays a star-shaped ball.
- Complexity. Low, given A0.1.
- Code. No code was read.
A0.3 Attene 2020, indirect predicates. Verdict: build on (from the paper only).
- Citation. M. Attene. Indirect Predicates for Geometric Constructions. Computer-Aided Design 126:102856, 2020.
- Links. DOI 10.1016/j.cad.2020.102856. arXiv: https://arxiv.org/abs/2105.09772
- Method. Represent constructed points implicitly, never rounding them:
- LPI: line–plane intersection.
- TPI: three-plane intersection.
- LNC: point on a segment.
- Evaluation. Predicates on implicit points are expanded symbolically into homogeneous polynomials. They are then
evaluated with a three-level filter (§5):
- static/semi-static floating-point filter (§5.1);
- interval arithmetic (§5.2);
- exact expansions (§5.3).
- The paper also covers caching (§5.4) and generating predicate code automatically from a description (§6).
- Problem solved. Exact predicates on Steiner and intersection points without rational or bignum arithmetic. This is the enabling trick of A2.3 and A2.4.
- Robustness. Exact. The cost grows with the "depth" of the construction, so the method is designed for one level of implicit points defined by explicit inputs.
- Complexity. Moderate: about 3–5k lines, mostly generated. Write a small Rust code generator, as the paper does.
- Code.
MarcoAttene/Indirect_Predicatesis LGPL-2.1: FORBIDDEN. - Reference alternative. Lévy's PCK (next entry) is BSD.
A0.4 Lévy 2016, Predicate Construction Kit (PCK). Verdict: reference.
- Citation. B. Lévy. Robustness and efficiency of geometric programs: The Predicate Construction Kit (PCK). Computer-Aided Design 72:3–12, 2016. DOI 10.1016/j.cad.2015.10.004.
- Method. A code generator from a predicate formula to:
- a semi-static filter;
- an exact expansion fallback;
- SoS for degenerate cases.
- It is used in geogram's Delaunay and restricted-Voronoi code.
- Code.
BrunoLevy/geogramis BSD-3-Clause (LICENSE file): READ OK, with one caveat. geogram vendorsthird_party/tetgen(AGPL) andthird_party/triangle(non-free), and has wrappersdelaunay/delaunay_tetgen.*anddelaunay/delaunay_triangle.*. Never open those. Geogram's owndelaunay_3d.cpp,parallel_delaunay_3d.cpp,voronoi/RVD*.cpp,CVT.cppand its numerics/PCK files are BSD. - Verdict reason. It is the best permissively licensed reference for a production Delaunay + RVD + predicate stack.
A0.5 Boundary surface preparation (implemented in fieldcraft-mesh::surface). Verdict: BUILD ON.
- Guigue and Devillers 2003. P. Guigue, O. Devillers. Fast and Robust Triangle–Triangle Overlap Test Using
Orientation Predicates. Journal of Graphics Tools 8(1):25–32, 2003. Triangle overlap decided from
orient3d/orient2dsigns alone, so it is exact on the A0.1 predicates. We use the equivalent edge–triangle reduction (two closed triangles meet exactly when an edge of one meets the other) and add the cases of triangles that share a vertex or an edge, which may meet only there. - Ericson 2005. C. Ericson. Real-Time Collision Detection. Morgan Kaufmann, 2005, ch. 6. Bounding volume hierarchies: top-down median-split construction and the self-collision traversal that pairs the triangles to test.
- Jacobson, Kavan, Sorkine-Hornung 2013. Robust Inside-Outside Segmentation using Generalized Winding Numbers. ACM TOG 32(4):33, 2013. DOI 10.1145/2461912.2461916. The winding number of a vertex of one shell with respect to another tells nesting, so voids must face inwards.
- van Oosterom and Strackee 1983. The Solid Angle of a Plane Triangle. IEEE Trans. Biomed. Eng. 30(2):125–126, 1983. DOI 10.1109/TBME.1983.325207. The triangle solid angle the winding number sums.
A1. Delaunay construction
A1.1 Bowyer 1981 / Watson 1981, incremental cavity insertion. Verdict: build on.
- Citations.
- A. Bowyer. Computing Dirichlet tessellations. The Computer Journal 24(2):162–166, 1981. DOI 10.1093/comjnl/24.2.162.
- D. F. Watson. Computing the n-dimensional Delaunay tessellation with application to Voronoi polytopes. The Computer Journal 24(2):167–172, 1981. DOI 10.1093/comjnl/24.2.167.
- Method. Insert a point, find all tetrahedra whose circumsphere contains it (the cavity), delete them, and star the cavity boundary to the new point.
- Robustness. With exact
insphere/orient3d(A0.1) and SoS (A0.2) the cavity is always a star-shaped ball and the method never fails. With floating-point predicates it corrupts the mesh on degenerate CAD input. - Complexity. Low for the core. Practical speed needs:
- BRIO insertion order: N. Amenta, S. Choi, G. Rote, Incremental constructions con BRIO, SoCG 2003, 211–219, DOI 10.1145/777792.777824. Use it together with Hilbert/Morton sorting.
- Visibility or straight walking for point location: O. Devillers, S. Pion, M. Teillaud, Walking in a triangulation, IJFCS 13(2):181–199, 2002, DOI 10.1142/S0129054102001047.
- A compact tet-adjacency array.
- Termination of the visibility walk in a Delaunay triangulation: H. Edelsbrunner, An acyclicity theorem for cell complexes in d dimensions, Combinatorica 10(3):251–260, 1990, DOI 10.1007/BF02122779.
- Hilbert index: J. Skilling, Programming the Hilbert curve, AIP Conf. Proc. 707:381–387, 2004, DOI 10.1063/1.1751381.
- Code. For a permissive reference, see geogram
delaunay_3d.cpp(BSD). - Implemented in
fieldcraft-mesh::delaunay(ghost vertex for the hull, Devillers–Teillaud perturbation for cospherical points, exact verifier).
A1.2 Marot, Pellerin, Remacle 2019, "One machine, one minute, three billion tetrahedra". Verdict: reference (later).
- Citation. IJNME 117(9):967–990, 2019. DOI 10.1002/nme.5987.
- Method. Parallel Delaunay kernel: domain partitioning on a space-filling curve, lock-free cavity work, cache-friendly data layout.
- Use. Only once single-threaded correctness is nailed down.
- Code. HXT lives inside Gmsh (GPL): FORBIDDEN.
A2. Boundary recovery: constrained or conforming Delaunay
A2.1 Shewchuk 2002, CDTs and provably good boundary recovery. Verdict: build on (theory).
- Citation. J. R. Shewchuk. Constrained Delaunay Tetrahedralizations and Provably Good Boundary Recovery. Proc. 11th International Meshing Roundtable, 2002.
- Links. No DOI exists. PDF: https://people.eecs.berkeley.edu/~jrs/papers/cdtbasic.pdf
- Method. A PLC does not always have a CDT. If every segment is strongly Delaunay, a CDT exists. The paper protects edges by splitting them (§3 Edge Protection, §5 Provably Good Edge Protection) until this holds. Then it builds the CDT (§6), for example by incremental facet insertion (§7).
- Problem solved. The existence theory behind every practical CDT code.
- Robustness. Proven termination and existence. The provable protection inserts more Steiner points than needed.
- Complexity. Medium.
- Companion papers.
- Shewchuk, General-dimensional constrained Delaunay and constrained regular triangulations I, DCG 39:580–637, 2008. DOI 10.1007/s00454-008-9060-3. PDF: https://people.eecs.berkeley.edu/~jrs/papers/cdtj1.pdf
- Shewchuk, Updating and constructing CDTs by flips (SoCG 2003). PDF: https://people.eecs.berkeley.edu/~jrs/papers/cdtflip.pdf
A2.2 Si and Gärtner 2005; Si 2010; Si 2015; Shewchuk and Si 2014. Verdict: reference (papers only; TetGen is AGPL).
- Citations.
- H. Si, K. Gärtner. Meshing Piecewise Linear Complexes by Constrained Delaunay Tetrahedralizations. IMR 14, 147–163, 2005. DOI 10.1007/3-540-29090-7_9.
- H. Si. Constrained Delaunay tetrahedral mesh generation and refinement. Finite Elements in Analysis and Design 46(1–2):33–46, 2010. DOI 10.1016/j.finel.2009.06.017.
- H. Si. TetGen, a Delaunay-based quality tetrahedral mesh generator. ACM TOMS 41(2):11, 2015. DOI 10.1145/2629697.
- J. R. Shewchuk, H. Si. Incrementally constructing and updating constrained Delaunay tetrahedralizations with finite-precision coordinates. Engineering with Computers 30:253–269, 2014. DOI 10.1007/s00366-013-0331-0. PDF (IMR'12 version): https://people.eecs.berkeley.edu/~jrs/papers/cdtupdate.pdf
- Method.
- Delaunay tetrahedralization of the vertices.
- Segment recovery, with Steiner points placed using a protecting-ball rule that needs far fewer points than Shewchuk 2002.
- Face recovery by cavity retriangulation.
- Optional quality refinement (radius–edge bound) under the CDT.
- Limitations.
- Steiner points are rounded to doubles, which needs tolerances and can fail.
- Diazzi et al. 2023 §3.5 ("Possible failures in tetgen") also show a theoretical gap: cavity expansion can fail even in exact arithmetic (their Fig. 4).
- Code. TetGen is AGPL: FORBIDDEN. Read the papers only.
A2.3 Diazzi, Panozzo, Vaxman, Attene 2023, robust CDT. Verdict: BUILD ON. This is the recommended boundary-recovery algorithm.
- Citation. L. Diazzi, D. Panozzo, A. Vaxman, M. Attene. Constrained Delaunay Tetrahedrization: A Robust and Practical Approach. ACM TOG 42(6):181 (SIGGRAPH Asia), 2023.
- Links. DOI 10.1145/3618352. arXiv: https://arxiv.org/abs/2309.09805
- Method. Si–Gärtner's pipeline with every Steiner point represented implicitly with indirect predicates (A0.3),
so no geometric tolerance is ever needed.
- Background, §3:
- §3.1 problem statement;
- §3.2 PLC characteristics;
- §3.3 segment recovery;
- §3.4 face recovery;
- §3.5 TetGen failure modes.
- Algorithm, §4:
- §4.1 why exact rational numbers are not enough;
- §4.2 rational Steiner points;
- §4.3 implicit Steiner points (§4.3.1 indirect
orient3d/inSphere); - §4.4 a modified gift-wrapping algorithm that replaces Si's cavity expansion where that can fail;
- §4.5 interior/exterior labelling;
- §4.6 the full algorithm.
- Rounding, §5.1: output can be rounded to floating-point coordinates afterwards.
- Background, §3:
- Results. 100% success on the 4,408 valid Thingi10K models. The output conforms exactly to the input. It is parameter-free.
- Problem solved. Exact boundary conformity, which CAE needs for face groups, contact pairs, shared interfaces between parts and boundary-condition tagging, together with a termination guarantee.
- Limitations.
- The input must be a valid PLC (no self-intersections). Fine for a B-rep tessellator that guarantees watertight, non-self-intersecting output. Otherwise run A2.4 or A2.5 first.
- Rounding to doubles "almost always" stays valid but is not guaranteed. Keep implicit points through the quality phase, or round with a validity check.
- Steiner counts can be large on nasty inputs. The paper notes about 9% of models needing over 50k.
- Complexity. High: about 8–12k lines of Rust including the predicate generator. It is the single most valuable investment in the tet pipeline.
- Code.
MarcoAttene/CDTis GPL, or LGPL by build option (README): FORBIDDEN. - Implemented in
fieldcraft-mesh::cdtfrom the paper only, with these choices:- Steiner points are LNC points (§4.3) on the original segment,
a + t (b − a)withta double; the in-sphere test on them is exact (interval filter, then exact dyadic integers) and perturbed with the same lexicographic lift as the Delaunay step, so Bowyer–Watson insertion of Steiner points stays consistent with it. - Facet recovery uses the modified gift-wrapping (§4.4) for every cavity, not only after Si's cavity expansion fails: it is the always-correct path, and Si's expansion is a speed-up. Condition (ii) is an exact proper-intersection test of closed simplices (separating plane through three of the vertices, then recursion into the contact plane), which handles the coplanar configurations of CAD tessellations; recovered facets inside a cavity stay constraints.
- Reference points (§3.3) are searched among the tetrahedra whose boxes meet the missing subsegment's box (they contain the tetrahedra the subsegment crosses); on the corpus this picks the same point as searching the whole diametral ball.
- Rounding (§5.1): a Steiner point whose rounding leaves an incident tetrahedron non-positive tries the doubles within two ulps per coordinate, nearest first; the flip-based improvement of §5.1 is not implemented. All 20 valid corpus parts pass the validity gate after rounding.
- Steiner points are LNC points (§4.3) on the original segment,
A2.4 Diazzi and Attene 2021, convex polyhedral meshing. Verdict: reference.
- Citation. L. Diazzi, M. Attene. Convex polyhedral meshing for robust solid modeling. ACM TOG 40(6):259, 2021.
- Links. DOI 10.1145/3478513.3480564. arXiv: https://arxiv.org/abs/2109.14434
- Method.
- Delaunay of the vertices.
- Map tets to the constraints they intersect (§3.3).
- Binary space partition of the tets by constraint planes, with implicit points (§3.4).
- Virtual constraints (§3.5).
- Identify constrained facets (§3.6).
- Partition cells into inside/outside (§3.7).
- Output. A convex polyhedral mesh that conforms exactly even to self-intersecting input. It can be tetrahedralized afterwards.
- Use for us. A repair path for dirty B-reps: overlapping faces, booleans, imported STEP/STL with intersections.
- Code.
MarcoAttene/VolumeMesheris GPL-3: FORBIDDEN.
A2.5 Hu et al. 2018, TetWild; Hu et al. 2020, fTetWild (envelope approach). Verdict: reference; use as a fallback design for dirty input.
- Citations.
- Y. Hu, Q. Zhou, X. Gao, A. Jacobson, D. Zorin, D. Panozzo. Tetrahedral Meshing in the Wild. ACM TOG 37(4):60, 2018. DOI 10.1145/3197517.3201353.
- Y. Hu, T. Schneider, B. Wang, D. Zorin, D. Panozzo. Fast Tetrahedral Meshing in the Wild. ACM TOG 39(4):117, 2020. DOI 10.1145/3386569.3392385. arXiv: https://arxiv.org/abs/1908.03581
- Method. The input surface may move within an ε-envelope:
- §3.2 envelope test;
- §3.3 preprocessing;
- §3.4 incremental triangle insertion into a floating-point tet mesh. Each insertion is rejected if it would create an inverted tet;
- §3.5 AMIPS-driven split/collapse/swap/smooth improvement that never leaves the envelope.
- Results. fTetWild guarantees a valid floating-point output (TetWild produced rational coordinates that may invert after rounding). It meshes 98.7% of Thingi10K in under 2 minutes.
- Limitations.
- fTetWild does not guarantee every input triangle is in the output.
- The output surface only approximates the input. Sharp features and face IDs must be re-projected.
- That is acceptable for "meshes in the wild" but awkward for CAE, where face groups must match B-rep faces exactly.
- Complexity. High.
- Code.
wildmeshing/fTetWildis MPL-2.0: READ OK (its ownsrc/; it pulls in geogram and libigl).- Original
Yixin-Hu/TetWildis GPL-3.0 per GitHub metadata: FORBIDDEN. wildmeshing/wildmeshing-toolkitis MIT: READ OK.
A2.6 Cherchi, Livesu, Scateni, Attene 2020, mesh arrangements. Verdict: reference (needed only for self-intersecting input).
- Citation. Fast and robust mesh arrangements using floating-point arithmetic. ACM TOG 39(6):250, 2020. DOI 10.1145/3414685.3417818.
- Method. Resolves all self-intersections of a triangle soup with indirect predicates.
- Code.
mlivesu/InteractiveAndRobustMeshBooleansis MIT per GitHub, a related later work. Caution: check whether it bundles Attene's LGPL predicate headers before opening any file.
A3. Quality: Delaunay refinement, ODT/CVT, sliver removal
A3.1 Shewchuk 1998, tetrahedral Delaunay refinement; thesis 1997. Verdict: build on.
- Citation. J. R. Shewchuk. Tetrahedral Mesh Generation by Delaunay Refinement. SoCG 1998, 86–95.
- Links.
- Method. Insert the circumcentres of tets whose radius–edge ratio exceeds B. Encroached subsegments are split first, then encroached subfacets.
- Guarantee. Termination with B = 2 when input angles are at least 90°.
- Limitations. It bounds radius–edge ratio, not dihedral angles. Slivers survive, so pair it with A3.3–A3.6. Small input angles, common in CAD, need the CDT-based variants: Si 2010 (A2.2), and Shewchuk & Si, SoCG 2014, DOI 10.1145/2582112.2582138.
- Complexity. Medium, on top of A2.3.
- Code. None read.
A3.2 Cheng, Dey, Shewchuk, Delaunay Mesh Generation (CRC, 2012). Verdict: reference (the textbook).
- Links. DOI 10.1201/b12987.
- Use. The consolidated treatment of 3D refinement, small-angle handling and sliver theory. Buy it.
A3.3 Alliez, Cohen-Steiner, Yvinec, Desbrun 2005, Variational Tetrahedral Meshing. Verdict: build on (ODT smoothing).
- Citation. ACM TOG 24(3):617–625, 2005. DOI 10.1145/1073204.1073238.
- Method. Minimize the ODT energy: the L1 error between the paraboloid and its piecewise-linear interpolant.
Alternate between:
- moving each interior vertex to the volume-weighted average of its incident tets' circumcentres (closed form);
- re-Delaunaying the connectivity.
- Findings. ODT outperforms CVT for tet quality. Results improve with a sizing field.
- Limitations.
- Boundary vertices need special handling, and the paper's boundary treatment is the weak point.
- Slivers remain at the end. The paper uses a final perturbation/exudation pass.
- Complexity. Low to moderate, given a Delaunay kernel.
A3.4 Chen and Xu 2004; Chen and Holst 2011, Optimal Delaunay Triangulations. Verdict: build on (theory and update formulas).
- Citations.
- L. Chen, J. Xu. Optimal Delaunay triangulations. J. Computational Mathematics 22(2):299–308, 2004. No DOI. Publisher page: https://ojs.global-sci.org/index.php/JCM/article/view/11631. Author page with PDF link: https://www.math.uci.edu/~chenlong/CX2004.html
- L. Chen, M. Holst. Efficient mesh optimization schemes based on Optimal Delaunay Triangulations. CMAME 200(9–12):967–984, 2011. DOI 10.1016/j.cma.2010.11.007.
- Method. The Delaunay triangulation minimizes the interpolation error of ‖x‖² over all triangulations of a point set. Chen–Holst give the exact and approximate vertex-update rules (ODT smoothing), including a boundary-aware variant.
- Complexity. Low.
A3.5 Tournois, Wormser, Alliez, Desbrun 2009, Delaunay refinement interleaved with optimization. Verdict: build on (the overall schedule).
- Citation. Interleaving Delaunay Refinement and Optimization for Practical Isotropic Tetrahedron Mesh Generation. ACM TOG 28(3):75, 2009. DOI 10.1145/1531326.1531381.
- Method. Alternate Delaunay refinement and ODT/NODT smoothing. The refinement uses the radius–edge and boundary criteria. NODT is a Natural ODT variant for boundary vertices. Finish with sliver perturbation and exudation.
- Results. Minimum dihedral angles are substantially better than refinement alone.
- Problem solved. The practical recipe used by CGAL Mesh_3-style generators.
- Complexity. Moderate.
- Code. CGAL is GPL: FORBIDDEN. This paper is the readable source of the scheme.
A3.6 Klingner and Shewchuk 2007, Aggressive Tetrahedral Mesh Improvement. Verdict: BUILD ON (final sliver-removal stage).
- Citation. B. M. Klingner, J. R. Shewchuk. IMR 16, 3–23, 2007.
- Links. DOI 10.1007/978-3-540-75103-8_1. PDF: https://people.eecs.berkeley.edu/~jrs/papers/aggress.pdf
- Method.
- §2: quality measures. Use volume–length, or the minimum sine of dihedral angles.
- §3, operations:
- §3.1 optimization-based smoothing with an active-set method on the worst quality;
- §3.2 edge removal;
- §3.3 multi-face removal;
- §3.4 vertex insertion;
- §3.5 composites.
- §4.2: hill-climbing schedule that accepts only operations improving the local minimum quality.
- Results. Dihedral angles are usually between 31° and 149°, or 23°–136° with another objective.
- Problem solved. Kills slivers that ODT and refinement leave behind. Works on any valid tet mesh.
- Robustness. Monotone in worst quality, so it never makes the mesh worse.
- Limitations. Slow. Boundary vertices are constrained.
- Complexity. Moderate: edge removal requires Shewchuk's dynamic programming over the edge ring. PDF: https://people.eecs.berkeley.edu/~jrs/papers/edge.pdf, not separately verified.
- Code. The Stellar code's licence was not verified, so it is not read.
A3.7 Cheng, Dey, Edelsbrunner, Facello, Teng 2000, Sliver exudation. Verdict: reference.
- Citation. J. ACM 47(5):883–904, 2000. DOI 10.1145/355483.355487.
- Method. Assign weights to vertices so the weighted Delaunay triangulation contains no slivers. This gives a provable but tiny dihedral bound.
- Use. Klingner–Shewchuk dominates it in practice. Useful as a cheap pass inside the A3.5 schedule.
A3.8 Labelle and Shewchuk 2007, Isosurface stuffing. Verdict: reference (useful only for organic, smooth domains).
- Citation. ACM TOG 26(3):57, 2007.
- Links. DOI 10.1145/1276377.1276448. PDF: https://people.eecs.berkeley.edu/~jrs/papers/stuffing.pdf
- Method. BCC lattice plus snapping and warping with stencils (§3). It has guaranteed dihedral bounds (§4).
- Limitations. It does not preserve sharp features, so it is wrong for CAD.
- Code.
crawforddoran/quartetis ISC: READ OK. Do not readalecjacobson/isostuffer(LGPL-3).
A4. Voronoi-based: CVT, restricted Voronoi diagrams, Lp-CVT
A4.1 Du, Faber, Gunzburger 1999; Du and Wang 2003. Verdict: reference.
- Citations.
- Centroidal Voronoi Tessellations: Applications and Algorithms. SIAM Review 41(4):637–676, 1999. DOI 10.1137/S0036144599352836.
- Q. Du, D. Wang. Tetrahedral mesh generation and optimization based on centroidal Voronoi tessellations. IJNME 56(9):1355–1373, 2003. DOI 10.1002/nme.616.
- Method. Lloyd relaxation toward a CVT. The dual Delaunay triangulation gives well-shaped tets apart from slivers.
- Assessment. Alliez 2005 shows ODT beats CVT for tet quality, so CVT is not our tet smoother.
A4.2 Liu, Wang, Lévy, Sun, Yan, Lu, Yang 2009, CVT energy smoothness and quasi-Newton. Verdict: build on (the CVT solver).
- Citation. ACM TOG 28(4):101, 2009. DOI 10.1145/1559755.1559758.
- Method. The CVT energy is C². Minimize it with L-BFGS instead of Lloyd for an order-of-magnitude speedup.
A4.3 Yan, Lévy, Liu, Sun, Wang 2009 (restricted Voronoi diagram); Yan et al. 2013 (clipped Voronoi diagram). Verdict: build on (the RVD and clipped-VD kernel).
- Citations.
- Yan et al. Isotropic Remeshing with Fast and Exact Computation of Restricted Voronoi Diagram. CGF 28(5):1445–1454, 2009. DOI 10.1111/j.1467-8659.2009.01521.x.
- D.-M. Yan, W. Wang, B. Lévy, Y. Liu. Efficient computation of clipped Voronoi diagram for mesh generation. CAD 45(4):843–852, 2013. DOI 10.1016/j.cad.2011.09.004.
- Method. Compute the Voronoi diagram restricted to a surface (or clipped by a volume). Propagate over triangles and clip each against the bisector half-spaces of the nearest seeds (Sutherland–Hodgman).
- Problem solved. The integration domain for surface remeshing and for CVT/Lp-CVT inside a closed volume.
- Robustness. Exact with PCK-style predicates (geogram).
- Complexity. Moderate.
- Code. geogram
voronoi/RVD*.cpp(BSD): READ OK.
A4.4 Lévy and Liu 2010, Lp Centroidal Voronoi Tessellation. Verdict: reference (hex-dominant point placement, superseded for that purpose by Sokolov 2016).
- Citation. B. Lévy, Y. Liu. Lp Centroidal Voronoi Tessellation and its Applications. ACM TOG 29(4):119, 2010. DOI 10.1145/1778765.1778856.
- Method. Replace the L2 CVT energy with an Lp norm in a local frame (anisotropy tensor). As p grows, Voronoi cells become cubes aligned to a field. Feature constraints come from integrating over the RVD of the surface and its sharp edges.
- Use. Produces cube-like point sets for hex-dominant meshing.
- Limitations. Non-convex energy. Needs a smooth frame field.
Part B: Hexahedral meshing
B0. Survey and benchmark (read first)
B0.1 Pietroni et al. 2022, survey. Verdict: reference (required reading).
- Citation. N. Pietroni, M. Campen, A. Sheffer, G. Cherchi, D. Bommes, X. Gao, R. Scateni, F. Ledoux, J.-F. Remacle, M. Livesu. Hex-Mesh Generation and Processing: a Survey. ACM TOG 42(2):16, 2022.
- Links. DOI 10.1145/3554920. arXiv: https://arxiv.org/abs/2202.12670
- Structure.
- §2.5 integer-grid maps;
- §4.6 grid-based;
- §4.7 polycube;
- §4.8 frame fields;
- §4.9 hex-dominant;
- §5 topological operators;
- §6 geometric optimization;
- §8 open problems;
- §9 resources.
- Key quote (§4.6). Grid-based methods "really stand out in terms of robustness. To date, they are the only fully automatic methods capable of successfully hex-meshing any input shape... they are the only automatic methods currently implemented in professional software." It also notes their cost: orientation dependence, intricate high-valence singular structure, and no coarse block structure.
- §8.1. Frame-field methods are "limited to rather simple shapes" fully automatically. No characterization of hex-meshable fields exists. Polycube graph characterization is limited to 3-connected graphs and, in the Eppstein–Mumford form, genus 0.
B0.2 Beaufort, Reberol, Kalmykov, Liu, Ledoux, Bommes 2022, Hex Me If You Can (HexMe). Verdict: reference (benchmark, with a provenance caveat in C).
- Citation. CGF 41(5):125–134 (SGP), 2022.
- Links.
- DOI 10.1111/cgf.14608.
- arXiv: https://arxiv.org/abs/2111.10295
- Dataset DOI 10.5281/zenodo.6642020, CC-BY-4.0.
- Catalog: https://hexme.algohex.eu
- Contents. 189 tet meshes from 63 CAD models in three categories: simple, nasty and industrial. Each comes with feature tags.
- Baseline result. A state-of-the-art frame-field → IGM → HexEx pipeline meshes all features correctly on only 19 of 189. On nasty and industrial shapes about half the meshes preserve under 1–8% of surfaces.
- Why it matters. This is the evidence that frame-field methods are not production-ready for CAD.
B1. Grid / octree-based (robust family)
B1.1 Schneiders 1996. Verdict: reference (historical).
- Citation. R. Schneiders. A grid-based algorithm for the generation of hexahedral element meshes. Engineering with Computers 12:168–177, 1996. DOI 10.1007/BF01198732.
- Method. An octree with templates resolves hanging nodes (3-refinement). The boundary layer is projected onto the surface.
B1.2 Zhang and Bajaj 2006. Verdict: reference.
- Citation. Adaptive and quality quadrilateral/hexahedral meshing from volumetric data. CMAME 195:942–960, 2006. DOI 10.1016/j.cma.2005.02.016.
- Method. Dual contouring on an octree with templates, followed by quality improvement.
B1.3 Maréchal 2009, octree-based all-hex with sharp features. Verdict: reference (feature handling ideas).
- Citation. L. Maréchal. Advances in Octree-Based All-Hexahedral Mesh Generation: Handling Sharp Features. IMR 18, 65–84, 2009. DOI 10.1007/978-3-642-04319-2_5.
- Method. A 2-refinement octree. Hanging nodes are removed by dualization with flat transition schemes. Sharp features are captured by snapping dual vertices and by padding.
- Significance. The basis of commercial octree hex meshers.
- Limitation. The scheme set is incomplete: Livesu 2021 shows it misses some transitions.
B1.4 Gao, Shen, Panozzo 2019, Feature Preserving Octree-Based Hexahedral Meshing. Verdict: reference (pipeline design).
- Citation. CGF 38(5):135–149 (SGP), 2019. DOI 10.1111/cgf.13795.
- Pipeline.
- Octree refinement driven by surface approximation.
- Dual-based hex extraction.
- Feature-preserving surface projection.
- Padding.
- Global optimization that maximizes the minimum scaled Jacobian while fitting features.
- Results. The authors report high robustness on a large dataset.
- Code.
gaoxifeng/Feature-Preserving-Octree-Hex-Meshinghas NO LICENCE: do not read.
B1.5 Livesu, Pitzalis, Cherchi 2021, Optimal Dual Schemes for Adaptive Grid Based Hexmeshing. Verdict: BUILD ON (the core of the first hex mesher).
- Citation. ACM TOG 41(2):15, 2022 (online 2021).
- Links. DOI 10.1145/3494456. arXiv: https://arxiv.org/abs/2103.07745
- Method, part 1.
- Enumerates all transitions dual methods must handle (§4: §4.1 convex, §4.2 concave, §4.3 around corners).
- Shows prior schemes miss some of them.
- Gives the minimal scheme set with the simplest singular structure (§5).
- Method, part 2.
- Extends support from strongly to weakly balanced grids (§6; discussion in §7.1). Coarser meshes for the same accuracy.
- Compares with Gao 2019 and Maréchal 2009 (§7.2).
- Spells out the implementation details that earlier papers left implicit.
- Robustness. Combinatorially complete for balanced grids, so the dual is always all-hex. Geometry (projection/padding/untangling) is outside the paper's scope.
- Limitations.
- Most grid methods do not guarantee the output keeps the input's genus or component count (survey §4.6).
- Sharp features need a separate projection and optimization stage.
- Complexity. Moderate: the schemes are tables plus a balancing pass.
- Code. Integrated into
mlivesu/cinolib, MIT (paper p. 2 and §8): READ OK. Do not open cinolib's optional TetGen/Triangle wrappers if present.
B1.6 Pitzalis, Livesu, Cherchi, Gobbetti, Scateni 2021, Generalized Adaptive Refinement. Verdict: build on (refinement and balancing stage).
- Citation. ACM TOG 40(6):257, 2021. DOI 10.1145/3478513.3480508.
- Method. Generalizes balanced adaptive refinement so it works on any input hex mesh, not just a regular grid, with conforming templates and no dualization.
- Use. Lets us refine a coarse aligned hex mesh, for example polycube output, as well as an octree.
- Code.
cg3hci/Gen-Adapt-Ref-for-Hexmeshingis MIT: READ OK.
B2. Polycube maps
B2.1 Tarini, Hormann, Cignoni, Montani 2004, PolyCube-Maps. Verdict: reference (the concept).
- Citation. ACM TOG 23(3):853–860, 2004. DOI 10.1145/1015706.1015810.
B2.2 Gregson, Sheffer, Zhang 2011, All-hex mesh generation via volumetric polycube deformation. Verdict: reference.
- Citation. CGF 30(5):1407–1416, 2011. DOI 10.1111/j.1467-8659.2011.02015.x.
- Method. Rotation-driven volumetric deformation toward axis-aligned normals, then labelling, then hex sampling.
- Limitation. Heuristic cleanup of invalid labellings.
B2.3 Livesu, Vining, Sheffer, Gregson, Scateni 2013, PolyCut. Verdict: reference.
- Citation. ACM TOG 32(6):171, 2013. DOI 10.1145/2508363.2508388.
- Links. Project: https://www.cs.ubc.ca/labs/imager/tr/2013/polycut/
- Method. Graph-cut labelling with monotonicity. Applies the Eppstein–Mumford validity conditions.
- Limitation. Not guaranteed to converge to a valid polycube (survey §4.7).
B2.4 Huang et al. 2014 (ℓ1 polycube); Fang et al. 2016 (closed-form induced polycube); Fu et al. 2016. Verdict: reference.
- Citations.
- Huang, Jiang, Shi, Tong, Bao, Desbrun. ℓ1-Based Construction of Polycube Maps from Complex Shapes. ACM TOG 33(3):25, 2014. DOI 10.1145/2602141.
- Fang, Xu, Bao, Huang. All-hex meshing using closed-form induced polycube. ACM TOG 35(4):124, 2016. DOI 10.1145/2897824.2925957.
- Fu, Bai, Liu. Efficient volumetric PolyCube-map construction. CGF 35(7):97–106, 2016. DOI 10.1111/cgf.13007.
- Method. Deformation-based polycube construction with different energies.
- Limitation. They "seldom converge to a topologically consistent polyhedron" without a valid guiding labelling (survey §4.7).
B2.5 Guo, Liu, Yan, Liu 2020, Cut-enhanced PolyCube-maps. Verdict: reference.
- Citation. Cut-enhanced PolyCube-maps for feature-aware all-hex meshing. ACM TOG 39(4):106, 2020. DOI 10.1145/3386569.3392378.
- Method. Interior cuts let polycubes align to features that a plain polycube cannot.
B2.6 Dumery, Protais, Mestrallet, Bourcier, Ledoux 2022, Evocube. Verdict: reference.
- Citation. Evocube: a Genetic Labelling Framework for Polycube-Maps. CGF 41(6):467–479, 2022.
- Links. DOI 10.1111/cgf.14649. arXiv: https://arxiv.org/abs/2205.00738
- Method. Genetic search over labellings, scored by validity and distortion. Slow, and still with no guarantee.
- Code.
LIHPC-Computational-Geometry/evocubeis GPL-3: FORBIDDEN.
B2.7 Protais, Reberol, Ray, Corman, Ledoux, Sokolov 2022, Robust Quantization for Polycube Maps. Verdict: build on (when polycube is built).
- Citation. CAD 150:103321, 2022. DOI 10.1016/j.cad.2022.103321.
- Method. Robust integer quantization of a polycube map's chart sizes. Guarantees a valid hex layout from a valid labelling.
- Code.
fprotais/robustPolycubeis AGPL-3: FORBIDDEN.
B2.8 Mandad, Chen, Bommes, Campen 2022, Intrinsic Mixed-Integer Polycubes. Verdict: reference.
- Citation. CAGD 94:102078, 2022. DOI 10.1016/j.cagd.2022.102078.
B2.9 Snoep, Speckmann, Verbeek 2025, DualCube. Verdict: BUILD ON (when polycube is built). The first labelling method with a validity guarantee.
- Citation. Robust Construction of Polycube Segmentations via Dual Loops. CGF 44(5):e70195 (SGP), 2025.
- Links. DOI 10.1111/cgf.70195. arXiv: https://arxiv.org/abs/2402.00652
- Method.
- Work in the dual loop structure of a polycube. §3 gives the dual structure, its characterization and the valid modifications.
- §4: start from a trivial polycube of the right genus, then iteratively add loops (§4.1) while keeping validity. Primalize into a segmentation (§4.2) and optimize the loop structure (§4.3).
- §5.2 covers hex meshing.
- Guarantee. "Guaranteed to return a valid polycube segmentation for 3D models of any genus." It is valid at every iteration, so it can be stopped at any time.
- Limitations. Quality and feature alignment trade against complexity. Feature preservation is weaker than with feature-driven labellings.
- Companion. Polycubes via Dual Loops, arXiv https://arxiv.org/abs/2410.16865 (2024): the dual-loop characterization for arbitrary genus.
- Code. The repo named in search results (
maximsnoep/polycube-layouts-via-iterative-dual-loops) returned 404. Licence unknown.
B3. Frame fields and integer-grid maps (IGM)
B3.1 Nieser, Reitebuch, Polthier 2011, CubeCover. Verdict: reference (defines the IGM pipeline).
- Citation. CubeCover – Parameterization of 3D Volumes. CGF 30(5):1397–1406, 2011. DOI 10.1111/j.1467-8659.2011.02014.x.
- Method. Frame field → seamless volumetric parametrization whose integer iso-surfaces form hexes. It is the 3D analogue of Bommes, Zimmer, Kobbelt, Mixed-integer quadrangulation, ACM TOG 28(3):77, 2009, DOI 10.1145/1531326.1531383.
B3.2 Huang, Tong, Wei, Bao 2011, Boundary aligned smooth 3D cross-frame field. Verdict: reference.
- Citation. ACM TOG 30(6):143, 2011. DOI 10.1145/2070781.2024177.
- Method. Spherical-harmonic (SH) frame representation, which removes the octahedral-symmetry ambiguity.
B3.3 Li, Liu, Xu, Wang, Guo 2012, All-hex meshing using singularity-restricted field. Verdict: reference.
- Citation. ACM TOG 31(6):177, 2012. DOI 10.1145/2366145.2366196.
- Method. Local operations repair singularity graphs to be hex-meshable.
B3.4 Ray, Sokolov, Lévy 2016, Practical 3D frame field generation. Verdict: build on (only if the frame-field family is pursued).
- Citation. ACM TOG 35(6):233, 2016. DOI 10.1145/2980179.2982408.
- Method. SH-based smoothing with local Euler-angle optimization and boundary alignment. Fast and simple.
B3.5 Solomon, Vaxman, Bommes 2017, Boundary element octahedral fields. Verdict: reference.
- Citation. ACM TOG 36(3):28, 2017. DOI 10.1145/3065254.
B3.6 Liu, Zhang, Chien, Solomon, Bommes 2018, Singularity-constrained octahedral fields. Verdict: reference.
- Citation. ACM TOG 37(4):93, 2018. DOI 10.1145/3197517.3201344.
- Method. Enumerates local meshability conditions for valence-3 and valence-5 singular edges. Computes a field conforming to a given singularity graph.
- Limitation. The singular graph is user- or heuristic-supplied.
B3.7 Corman and Crane 2019, Symmetric Moving Frames. Verdict: reference.
- Citation. ACM TOG 38(4):87, 2019. DOI 10.1145/3306346.3323029.
- Links. PDF: https://www.cs.cmu.edu/~kmcrane/Projects/SymmetricMovingFrames/paper.pdf
- Method. Cartan's moving frames. Frame fields with prescribed singularity graph and non-orthogonal frames, obtained as connection 1-forms with integrability constraints.
B3.8 Palmer, Bommes, Solomon 2020, Algebraic representations for volumetric frame fields. Verdict: reference.
- Citation. ACM TOG 39(2):16, 2020.
- Links. DOI 10.1145/3366786. arXiv: https://arxiv.org/abs/1908.05411
- Method. Octahedral and odeco frames as varieties. Manifold-optimization (MBO-style) field computation. Supports non-orthogonal frames.
B3.9 Lyon, Bommes, Kobbelt 2016, HexEx; Kohler, Heistermann, Bommes 2025, HexHex. Verdict: reference (needed only for the frame-field family).
- Citations.
- HexEx: Robust Hexahedral Mesh Extraction. ACM TOG 35(4):123, 2016. DOI 10.1145/2897824.2925976.
- HexHex: Highspeed Extraction of Hexahedral Meshes. ACM TOG 44(4), 2025. DOI 10.1145/3730940. Project: https://cgg.unibe.ch/publications/hexhex/
- Method. Extract the hex mesh from an IGM, tolerating some defects (HexEx). HexHex assumes a locally injective map and is unconditionally robust, with about 30× speedup through a propeller data structure and conservative rasterization.
- Code.
- libHexEx is GPLv3 (RWTH page): FORBIDDEN.
cgg-bern/libHexHexLICENSE is GPL (header plusGPL.txt): FORBIDDEN.
B3.10 Brückler, Bommes, Campen: 3D motorcycle complex (CGF 2022), QGP3D (TOG 2022), cell-complex collapsing (TOG 2023), Integer-Sheet-Pump (CGF 2024). Verdict: reference.
- Citations.
- DOI 10.1111/cgf.14470: The 3D Motorcycle Complex for Structured Volume Decomposition, CGF 41(2):221–235.
- DOI 10.1145/3528223.3530123: Volume parametrization quantization for hexahedral meshing, TOG 41(4):60.
- DOI 10.1145/3618384: Collapsing Embedded Cell Complexes for Safer Hexahedral Meshing, TOG 42(6):205.
- DOI 10.1111/cgf.15131: Integer-Sheet-Pump Quantization, CGF 43(5).
- Method. Robust quantization of seamless volume maps into valid IGMs through the motorcycle complex.
- Code. QGP3D, MC3D, TrulySeamless3D and C4HexMeshing are all GPL-3: FORBIDDEN.
B3.11 Liu and Bommes 2023, Locally Meshable Frame Fields. Verdict: reference (best current evidence of the family's state).
- Citation. ACM TOG 42(4), 2023. DOI 10.1145/3592457.
- Result. Raises the valid-IGM success rate on HexMe "from 2% to 58%" (project page abstract). Local meshability is necessary but not sufficient.
- Code. No code link on the project page.
B3.12 Nigolian, Campen, Bommes 2023, Expansion Cones. Verdict: reference (injective volumetric maps).
- Citation. ACM TOG 42(4), 2023. DOI 10.1145/3592421.
- Use. Relevant for polycube maps too.
B4. Loop- and sweep-based block decomposition
B4.1 Livesu, Pietroni, Puppo, Sheffer, Cignoni 2020, LoopyCuts. Verdict: reference.
- Citation. LoopyCuts: Practical Feature-Preserving Block Decomposition for Strongly Hex-Dominant Meshing. ACM TOG 39(4):121, 2020. DOI 10.1145/3386569.3392472.
- Method. Trace field-aligned surface loops, cut the volume along them into simple blocks, then mesh the blocks.
- Guarantee. Strongly hex-dominant output, not all-hex.
- Fit. Good for CAD with features.
- Complexity. High.
- Code.
mlivesu/LoopyCutshas NO LICENCE: do not read.
B4.2 Reberol, Verhetsel, Henrotte, Bommes, Remacle 2023, all-hex boundary layers. Verdict: reference (CFD boundary layers later).
- Citation. Robust Topological Construction of All-hexahedral Boundary Layer Meshes. ACM TOMS 49(1), 2023. DOI 10.1145/3577196.
B5. Hex-dominant via tet recombination or aligned points
B5.1 Meshkat and Talmor 2000. Verdict: reference.
- Citation. Generating a mixed mesh of hexahedra, pentahedra and tetrahedra from an underlying tetrahedral mesh. IJNME 49(1–2):17–30, 2000. DOI 10.1002/1097-0207(20000910/20)49:1/2<17::AID-NME920>3.0.CO;2-U.
- Method. Graph search for tet groups forming hexes or prisms.
B5.2 Yamakawa and Shimada 2003, rectangular-solid cell packing. Verdict: reference.
- Citation. IJNME 57(15):2099–2129, 2003. DOI 10.1002/nme.754.
- Method. Pack cells to place hex-friendly points, then recombine.
B5.3 Baudouin, Remacle, Marchandise, Henrotte, Geuzaine 2014, frontal hex-dominant. Verdict: reference.
- Citation. Adv. Model. Simul. Eng. Sci. 1:8, 2014. DOI 10.1186/2213-7467-1-8.
- Method. Frontal point insertion along a cross field, Delaunay of the points, then recombination.
B5.4 Botella, Lévy, Caumon 2016, tet recombination. Verdict: reference.
- Citation. Indirect unstructured hex-dominant mesh generation using tetrahedra recombination. Comput. Geosci. 20(3):437–451, 2016. DOI 10.1007/s10596-015-9484-9.
B5.5 Sokolov, Ray, Untereiner, Lévy 2016, Hexahedral-Dominant Meshing. Verdict: reference (strong candidate for the hex-dominant product).
- Citation. ACM TOG 35(5):157, 2016. DOI 10.1145/2930662.
- Method.
- Frame field.
- Global parametrization, tolerating defects.
- Point set from the integer iso-values.
- Delaunay of the points.
- Recombine tets into hexes.
- Fill the rest with tets, prisms and pyramids.
- Result. Robust hex-dominant output even where the parametrization is defective.
- Code. Graphite is GPL-2: FORBIDDEN.
B5.6 Gao, Jakob, Tarini, Panozzo 2017, field-guided polyhedral agglomeration. Verdict: reference.
- Citation. ACM TOG 36(4):114, 2017. DOI 10.1145/3072959.3073676.
- Method. Instant-Meshes-style position field in 3D, giving a polyhedral, mostly-hex mesh.
- Code.
gaoxifeng/robust_hex_dominant_meshingis MIT: READ OK.
B5.7 Pellerin, Johnen, Verhetsel, Remacle 2018, vertex-based tet-to-hex identification. Verdict: build on (the recombination step).
- Citation. Identifying combinations of tetrahedra into hexahedra: a vertex based strategy. CAD 105:1–10, 2018. DOI 10.1016/j.cad.2018.05.004.
- Method. Enumerate all potential hexes in a tet mesh exhaustively from vertex neighbourhoods. This is faster and complete compared with pattern-matching on tet groups. A selection step (maximum compatible set) then follows.
- Fit. Reuses our tet pipeline directly.
- Code. Implemented in Gmsh (GPL): FORBIDDEN.
B5.8 Verhetsel, Pellerin, Remacle 2019, hexahedrizations of small quadrangulations. Verdict: skip for now (research).
- Citation. Finding hexahedrizations for small quadrangulations of the sphere. ACM TOG 38(4):53, 2019. DOI 10.1145/3306346.3323017.
B6. Hex quality improvement and untangling
B6.1 Livesu, Sheffer, Vining, Tarini 2015, edge-cone rectification. Verdict: reference.
- Citation. Practical hex-mesh optimization via edge-cone rectification. ACM TOG 34(4):141, 2015. DOI 10.1145/2766905.
- Method. Local-global optimization that makes each corner's edge cone well-shaped. It fixes inverted elements, with surface constraints.
B6.2 Xu, Gao, Chen 2018, edge-angle optimization. Verdict: reference.
- Citation. Hexahedral mesh quality improvement via edge-angle optimization. Computers & Graphics 70:17–27, 2018. DOI 10.1016/j.cag.2017.07.002.
- Note. This is the "Xu et al. 2018" hex improvement and untangling paper.
B6.3 Marschner, Palmer, Zhang, Solomon 2020, sum-of-squares hex repair. Verdict: reference.
- Citation. Hexahedral Mesh Repair via Sum-of-Squares Relaxation. CGF 39(5):133–147, 2020. DOI 10.1111/cgf.14074.
- Method. Polynomial (SOS) relaxation of the trilinear-hex Jacobian positivity. It certifies validity of the trilinear element, not just its corners.
- Assessment. Heavy machinery, since it needs an SDP solver. Reference for the validity check: corner Jacobians are insufficient for trilinear hexes.
B6.4 Garanzha, Kaporin, Kudryavtseva, Protais, Ray, Sokolov 2021, Foldover-free maps in 50 lines of code. Verdict: BUILD ON (the untangler for every hex family and for polycube/IGM maps).
- Citation. ACM TOG 40(4):102, 2021.
- Links. DOI 10.1145/3450626.3459847. arXiv: https://arxiv.org/abs/2102.03069
- Method.
- §2.1: a variational barrier energy, with χ-regularization of det J.
- §2.2: penalty method. ε_k is driven to zero (§4.2).
- §2.3: L-BFGS resolution scheme.
- Result. Untangles meshes reliably and is simple to implement. The paper reports it on a large benchmark (§3.1).
- Code.
ssloy/invertible-mapsis AGPL-3: FORBIDDEN. The paper itself is enough, by design.
B6.5 Visualization and metrics. Verdict: reference.
- HexaLab (MIT, https://github.com/mlivesu/HexaLab, https://www.hexalab.net) is READ OK. It is a hex quality viewer whose metrics match the literature's.
B6.6 Element validity and quality metrics (implemented in fieldcraft-mesh::quality). Verdict: BUILD ON.
- Johnen, Remacle, Geuzaine 2013. Geometrical validity of curvilinear finite elements. J. Comput. Phys.
233:359–372, 2013. The Jacobian
determinant in Bernstein form is bounded by its coefficients, equals them at the vertices and converges under
subdivision: a proof of
det J > 0on the whole element. We use it for every solid kind, including the trilinear hex whose corner Jacobians do not certify it (B6.3). (The paper's authors also wrote Gmsh code, which stays forbidden; the paper is enough.) - Shewchuk 2002. What is a good linear finite element? Interpolation, conditioning, anisotropy, and quality measures. Unpublished preprint, https://people.eecs.berkeley.edu/~jrs/papers/elemj.pdf. Tet dihedral angles, radius ratio and aspect ratio; with Klingner–Shewchuk's volume–length measure (A3.6).
- Knupp 2001. Algebraic mesh quality metrics. SIAM J. Sci. Comput. 23(1):193–218. Corner-Jacobian scaled Jacobian and shape metrics for hexes, wedges and quads.
B7. Planar quadrilateral meshing
Shell (curved-face) quad meshing — advancing front in (u,v) with a cross field, recombination and cleanup — is surveyed separately in shell-quad-literature.md.
(implemented in fieldcraft-mesh::quad)
The face meshers under mapped and swept hex meshing and shell meshing. All quads on prescribed
boundary nodes, so faces sharing an edge share its nodes. DOIs below were checked through
doi.org/api/handles and Crossref on 2026-10-13; papers without a DOI are cited by venue only.
B7.1 Gordon and Hall 1973, transfinite interpolation. Verdict: BUILD ON (mapped meshing).
- Citation. W. J. Gordon, C. A. Hall. Construction of curvilinear co-ordinate systems and applications to mesh generation. IJNME 7(4):461–477, 1973. DOI 10.1002/nme.1620070405.
- Use. The bilinearly blended Coons map of a four-sided region, dimension-generic (
quad::transfinite_grid), with arc-length blending parameters for unequal spacing on opposite sides.
B7.2 Free all-quad: the methods compared.
- Paving. T. D. Blacker, M. B. Stephenson. Paving: a new approach to automated quadrilateral mesh generation. IJNME 32(4):811–847, 1991. DOI 10.1002/nme.1620320410. Verdict: reference. Best boundary rows; front collisions are its failure mode.
- Q-Morph. S. J. Owen, M. L. Staten, S. A. Canann, S. Saigal. Q-Morph: an indirect approach to advancing front quad meshing. IJNME 44(9):1317–1340, 1999. DOI 10.1002/(SICI)1097-0207(19990330)44:9<1317::AID-NME532>3.0.CO;2-N. Verdict: reference (upgrade path for boundary alignment). Front states, side-edge recovery by swaps, seam closing.
- Blossom-Quad. J.-F. Remacle, J. Lambrechts, B. Seny, E. Marchandise, A. Johnen, C. Geuzaine. Blossom-Quad: a non-uniform quadrilateral mesh generator using a minimum-cost perfect-matching algorithm. IJNME 89(9):1102–1119, 2012. DOI 10.1002/nme.3279. Verdict: reference (upgrade path for the matching). Paper only: the implementation lives in Gmsh, which is GPL and forbidden.
- Recombination and split. C. K. Lee, S. H. Lo. A new scheme for the generation of a graded quadrilateral mesh. Computers & Structures 52(5):847–857, 1994. DOI 10.1016/0045-7949(94)90070-1. Verdict: BUILD ON. Triangles merged into quads, then every element split once, which makes the mesh all-quad whatever the merge found. The split topology is that of E. Catmull, J. Clark, CAD 10(6):350–355, 1978, DOI 10.1016/0010-4485(78)90110-0.
- Why the split method. All-quad by construction given an even point count per loop; robustness is that of the
constrained Delaunay triangulation (exists for every valid input; exact predicates); low implementation risk.
Its cost is irregular nodes and 120° corners in triangle-born quads, reduced by smoothing. The reasoning in full
is in the
quadmodule docs.
B7.3 Planar constrained Delaunay triangulation and refinement. Verdict: BUILD ON.
- A. Bowyer, Computing Dirichlet tessellations, Comput. J. 24(2):162–166, 1981, DOI 10.1093/comjnl/24.2.162; D. F. Watson, Computing the n-dimensional Delaunay tessellation…, Comput. J. 24(2):167–172, 1981, DOI 10.1093/comjnl/24.2.167.
- S. W. Sloan. A fast algorithm for generating constrained Delaunay triangulations. Computers & Structures 47(3):441–450, 1993. DOI 10.1016/0045-7949(93)90239-A. Edge recovery by flipping.
- J. Ruppert. A Delaunay refinement algorithm for quality 2-dimensional mesh generation. J. Algorithms 18(3):548–585, 1995. DOI 10.1006/jagm.1995.1021; J. R. Shewchuk, Delaunay refinement algorithms for triangular mesh generation, CGTA 22:21–74, 2002, DOI 10.1016/S0925-7721(01)00047-5. Used without segment splitting (boundary nodes are prescribed).
B7.3a Free triangle meshes on prescribed boundary nodes (free_tri_mesh, used by
mesh.planar for tri3/tri6 2D models): the same constrained Delaunay triangulation of the full
resolution loops, refined to the size by circumcentre insertion that never splits a boundary
segment (J. Ruppert, A Delaunay refinement algorithm for quality 2-dimensional mesh generation,
J. Algorithms 18(3):548–585, 1995, without segment splitting, so the boundary nodes stay the
input points), Steiner points kept half the local spacing from the boundary.
B7.4 Smoothing and untangling of the quads. Verdict: BUILD ON.
- L. A. Freitag. On combining Laplacian and optimization-based mesh smoothing techniques. AMD-Vol. 220, ASME 1997; S. A. Canann, J. R. Tristano, M. L. Staten, An approach to combined Laplacian and optimization-based smoothing for triangular, quadrilateral, and quad-dominant meshes, IMR 1998. Laplacian moves kept only when the worst element does not get worse.
- L. A. Freitag, P. Plassmann. Local optimization-based simplicial mesh untangling and improvement. IJNME 49(1–2):109–125, 2000. DOI 10.1002/1097-0207(20000910/20)49:1/2<109::AID-NME925>3.0.CO;2-U. Untangling by maximizing the smallest (linear) corner area.
B7.5 Quadrilateral quality. Verdict: BUILD ON.
- Knupp 2001 (B6.6) for the scaled Jacobian. J. Robinson, CRE method of element testing and the Jacobian shape
parameters, Eng. Comput. 4(2):113–118, 1987, for aspect ratio and skew from the principal axes. Planar validity
is exact: a planar bilinear quad's Jacobian is affine in each reference coordinate, so four exact
orient2dcorner tests decide it.
B8. Mapped and swept hexahedral meshing (implemented in fieldcraft-mesh::hex)
mesh.hex.generate (and mesh.hex.sweep, mesh.hex.mapped). Every method below is implemented from
its paper; no code was read. DOIs marked "checked" were confirmed on 2026-10-13 through a repository
record or the publisher; the others are cited by venue only.
B8.1 Blacker 1996, the Cooper tool. Verdict: BUILD ON (sweep recognition).
- Citation. T. D. Blacker. The Cooper tool. Proc. 5th International Meshing Roundtable, 1996, pp. 13–29.
- Use. Source, target and linking faces from B-rep topology: rings of logically rectangular
linking faces followed from the source loops until they close on one target (
hex::sweep).
B8.2 Lai, Benzley, White 2000, many-to-many sweeping. Verdict: BUILD ON (multi-level extrusions).
- Citation. M. Lai, S. Benzley, D. White. Automated hexahedral mesh generation by generalized multiple source to multiple target sweeping. IJNME 49(1–2):261–275, 2000.
- Use. Imprinting every level's outline into one projection plane so each region of the arrangement
is a one-to-one column (
hex::layered,hex::arrangement); here done in a straight or rotating frame, with the regions' fill decided by the generalized winding number (Jacobson et al. 2013).
B8.3 Knupp 1998, next-generation sweep tool. Verdict: BUILD ON (residual correction).
- Citation. P. M. Knupp. Next-generation sweep tool: a method for generating all-hex meshes on two-and-one-half dimensional geometries. Proc. 7th International Meshing Roundtable, 1998, pp. 505–513.
- Use. The boundary residual of each layer's map interpolated into the interior.
B8.4 Roca and Sarrate 2010, least-squares sweeping. Verdict: BUILD ON (inner nodes).
- Citation. X. Roca, J. Sarrate. An automatic and general least-squares projection procedure for sweep meshing. Engineering with Computers 26(4):391–406, 2010. DOI 10.1007/s00366-009-0172-z (checked, repository record). Conference version: Proc. 15th IMR, 2006, pp. 487–506.
- Use. Each layer's interior nodes from the source mesh by the least-squares affine map of the source
ring onto the layer's ring (
hex::sweep::Affine). Related: Roca, Sarrate, Huerta, A new least-squares approximation of affine mappings for sweep algorithms, Eng. Comput. 26(3):327–337, 2010.
B8.5 Interval assignment: Tam and Armstrong 1993; Mitchell 1997/2021. Verdict: BUILD ON.
- Citations. T. K. H. Tam, C. G. Armstrong. Finite element mesh control by integer programming. IJNME 36:2581–2605, 1993. S. A. Mitchell. High fidelity interval assignment. Proc. 6th IMR, 1997 (IJCGA 10(4):399–415, 2000). S. A. Mitchell. Incremental interval assignment by integer linear algebra. International Meshing Roundtable 2021 (Zenodo 5559025); extended in Computer-Aided Design 158:103485, 2023.
- Use. Division counts of all curves together: side equalities of mapped faces and linking faces,
even (or multiple-of-four) loop sums, minimum loop sums.
hex::intervaluses incremental repair from the rounded goals with increments only, chosen by squared relative error; it is bounded and reports an infeasible system instead of looping. Mitchell's integer-linear-algebra solver (Hermite normal form plus nullspace improvement) is the upgrade if the increment-only scheme proves too coarse.
B8.6 Whiteley, White, Benzley, Blacker 1996, submapping. Verdict: BUILD ON (vertex classification).
- Citation. M. Whiteley, D. White, S. Benzley, T. Blacker. Two and three-quarter dimensional meshing facilitators. Engineering with Computers 12:144–154, 1996.
- Use. Corners by interior angle (≤ 135° end, ≥ 225° reflex); cross-section regions are cut from their reflex corners to the boundary, which decomposes rectilinear sections into rectangles (an explicit form of submapping's virtual decomposition), then mapped.
B8.7 Gordon and Thiel 1982, trivariate transfinite interpolation. Verdict: BUILD ON (mapped blocks).
- Citation. W. J. Gordon, L. C. Thiel. Transfinite mappings and their application to grid generation. Applied Mathematics and Computation 10–11:171–233, 1982.
- Use. Interior nodes of a logical cube from its six face grids (
hex::mapped).
B8.8 Support. Generalized winding number for the inside test (A. Jacobson, L. Kavan, O. Sorkine-Hornung, Robust inside-outside segmentation using generalized winding numbers, ACM TOG 32(4):33, 2013; solid angle of a triangle: Van Oosterom and Strackee 1983); closest point on a triangle (C. Ericson, Real-Time Collision Detection, 2005, §5.1.5).
Part C: Datasets and benchmarks
| Dataset | Content | Licence | Usable for FieldCraft? |
|---|---|---|---|
| Thingi10K: Zhou & Jacobson 2016, arXiv https://arxiv.org/abs/1605.04797; site https://ten-thousand-models.appspot.com; tooling https://github.com/Thingi10K/Thingi10K | 10,000 STL meshes. 45% self-intersecting, 50% non-solid. The 4,408 "valid" subset is the standard tet-meshing robustness benchmark (fTetWild, Diazzi 2023). | Tooling Apache-2.0. Each model has its own licence (10 licences, including CC-BY-NC and GPL). Filter by the license field. |
Conditionally. Use CC-BY / CC0 / public-domain models for robustness testing. Provenance risk: Thingiverse records no authoring tool, and many uploads were modelled in commercial CAD. Under the "no test data produced with commercial CAD products" rule this is an owner decision. |
| HexMe: DOI 10.5281/zenodo.6642020, https://hexme.algohex.eu | 189 tet meshes from 63 CAD models, with feature tags. | Dataset CC-BY-4.0. The source models come from the ABC dataset (Onshape terms), GrabCAD (GrabCAD terms), MAMBO (Apache-2.0), and models made with Gmsh and Siemens NX (the paper's own statement). | Only a filtered subset. The ABC/Onshape, GrabCAD and Siemens NX models are produced with commercial CAD: exclude them. Gmsh-authored ones are acceptable as data. |
| MAMBO: https://gitlab.com/franck.ledoux/mambo | STEP models: basic, simple, medium. Designed for hex block-meshing evaluation. | Apache-2.0 | Risky. The STEP headers I sampled say 'Spatial InterOp 3D' as originating system and authors 'Cubit 15.2' / 'MGX'. These are commercial or closed tools. Treat as commercial-CAD-produced unless the owner rules otherwise. |
| ABC: Koch et al., CVPR 2019, DOI 10.1109/CVPR.2019.00983, arXiv https://arxiv.org/abs/1812.06216, https://deep-geometry.github.io/abc-dataset/ | 1M CAD models (B-rep and meshes). | "Copyright of the CAD models is owned by their creators", under Onshape Terms of Use. The models come from Onshape. | No. Produced with a commercial CAD product, and the licence is not open. Skip. |
Recommendation for test data. Build FieldCraft's own corpus:
- Generated cases. Parametric primitives plus booleans from our own kernel:
- cubes and cylinders with holes;
- fillets;
- thin walls;
- multi-material interfaces;
- genus-n plates;
- a "nasty" series modelled on HexMe's categories by description, not by copying its models.
- Analytic cases. Sphere and torus volumes, with exact volumes for checks.
- Robustness stress. The CC-licensed Thingi10K subset, if the owner approves.
- Hex-meshing claims. Report results on our own corpus. Report the HexMe Gmsh-authored subset separately.
Part D: Recommended pipeline (opinionated)
Step 1: Robust predicates (weeks 1–3)
- Shewchuk adaptive
orient2d,orient3d,incircleandinsphere(A0.1, §2–§4).- Port the expansion primitives from the paper.
- Use
predicates.c(public domain) andgeorust/robust(Apache-2.0) only as differential oracles in tests.
- Devillers–Teillaud symbolic perturbation for
insphere(A0.2). - Indirect predicates for LPI/TPI implicit points (A0.3, §4–§5). Use a small build-time code generator that emits a floating-point filter, an interval filter and an expansion fallback. Model it on PCK (A0.4, BSD-readable). Do not use Attene's LGPL code.
- Tests. Exhaustive near-degenerate fuzzing against an exact rational reference (
num-rational/ BigInt in tests only).
If wrong. Every later stage inherits silent topological corruption. This is the one stage where "almost right" is fatal.
Step 2: Delaunay plus boundary recovery (weeks 3–12)
- Bowyer–Watson with BRIO and Hilbert order, straight walking, and a compact adjacency array (A1.1).
- Boundary recovery: implement Diazzi et al. 2023 (A2.3).
- Si–Gärtner segment recovery (§3.3) and face recovery (§3.4).
- Implicit Steiner points (§4.3).
- The gift-wrapping fallback (§4.4), which is mandatory: it closes the theoretical gap in TetGen.
- Inside/outside labelling (§4.5).
- Why CDT over the envelope approach. The B-rep tessellator gives a watertight, non-self-intersecting PLC. CAE needs exact face conformity: B-rep face IDs on boundary triangles, shared interfaces in assemblies, contact surfaces. CDT preserves this by construction. fTetWild (A2.5) does not preserve all input triangles.
- Keep fTetWild's design (MPL-2.0, readable) as the documented fallback for imported dirty geometry. Do not build it now. Convex polyhedral meshing (A2.4) is the alternative if exact conformity on self-intersecting input is ever required.
If wrong. If the tessellator emits self-intersections (common at tolerant B-rep edges), the CDT rejects the input.
- Mitigation. Run an exact self-intersection check before CDT.
- Then route to repair. Use the arrangement method (A2.6), or the fTetWild path once it exists.
Step 3: Quality (weeks 12–18)
- Constrained Delaunay refinement with a radius–edge bound of about 2 and a sizing field (A3.1, A2.2/Si 2010 for small input angles).
- Interleave with ODT vertex smoothing following Tournois 2009 (A3.5). Use the Chen–Holst update formulas (A3.4) and keep boundary vertices on their B-rep faces.
- Final pass: the Klingner–Shewchuk schedule (A3.6, §3–§4.2). Smoothing, edge removal, multi-face removal and vertex insertion, monotone in worst quality.
- Targets. Report min/max dihedral angles and an FE quality metric. Use Shewchuk's What is a good linear element?, PDF https://people.eecs.berkeley.edu/~jrs/papers/elemj.pdf, for the metric choice.
- CVT/RVD (A4.2–A4.3). Build only for surface remeshing and for Lp-CVT if needed later. Not for tet smoothing, where ODT is better.
If wrong. ODT alone leaves boundary slivers, which can make FE results wrong. Step 3.3 is the guard. Do not ship without it.
Step 4: Hex meshing. Build the grid/octree dual family first.
Order.
- (a) Octree dual all-hex. Livesu 2021 schemes (B1.5) with Pitzalis 2021 refinement (B1.6). Then the Gao 2019 stage list (B1.4): feature projection, padding layer, and global min-scaled-Jacobian optimization. Use the Garanzha 2021 untangler (B6.4) for any inverted elements. Validate with the Marschner 2020 insight (B6.3) that corner Jacobians do not certify trilinear hexes; use a subdivided or Bernstein Jacobian check.
- (b) Hex-dominant by recombination. Frame-field-aligned point placement:
- Ray 2016 field (B3.4);
- frontal or Sokolov-style points (B5.3/B5.5);
- our own Delaunay;
- Pellerin 2018 vertex-based hex identification (B5.7) and selection;
- pyramids, prisms and tets for the rest. This reuses all of steps 1–3.
- (c) Polycube for blocky CAD parts.
- DualCube labelling (B2.9): guaranteed valid.
- Volumetric map with an injective solve (B6.4).
- Robust quantization (B2.7, from the paper only).
- Pitzalis refinement (B1.6) for grading.
- (d) Frame-field/IGM all-hex last, as R&D. All mature implementations are GPL. HexMe shows 19/189 fully correct outputs, and the best 2023 method reaches 58% valid IGMs.
Why octree first.
- It is the only family with a robustness guarantee on arbitrary input (survey §4.6, quoted in B0.1).
- It is the only family shipped in professional automatic hex meshers.
- Every component has a permissive reference: CinoLib MIT for the dual schemes, Gen-Adapt-Ref MIT for refinement, geogram BSD.
- A CAE customer gets a valid all-hex mesh for any part on day one, which polycube and frame-field methods cannot promise.
Risks per family.
| Family | Main risk | Mitigation |
|---|---|---|
| Octree dual | Poor element quality at the boundary (low scaled Jacobian near concave features); orientation dependence; high element count; edges where more than 3 faces meet; genus not guaranteed (survey §4.6). | Padding layer. Feature-aware projection plus global optimization (B1.4). Align the octree to the part's principal axes. Weakly balanced grids (B1.5 §6) reduce element count. A topology check rejects genus changes. |
| Hex-dominant recombination | Solvers must support pyramids and prisms; hex ratio is often only 60–90%; pyramids hurt accuracy. | Check the solver targets (Abaqus/Nastran element libraries support mixed meshes). Report the hex ratio honestly. |
| Polycube | High distortion on organic or highly non-axis-aligned parts; features at oblique angles are lost; the injective volumetric map can fail. | Use only when the labelling distortion score is acceptable; otherwise fall back to octree. The Garanzha untangler handles the map. |
| Frame-field IGM | Low success rate on CAD (HexMe, Liu & Bommes 2023); mixed-integer solves; all reference code is GPL. | Treat as R&D. Keep it out of the critical path. |
If the octree-first call is wrong. Customers wanting high-quality structured hex for thin-walled or extruded parts would find octree meshes too unstructured. The answer then is sweeping and block decomposition (LoopyCuts-style, B4.1), not frame fields. That family is not covered in depth here and would need a follow-up survey on sweeping and multi-sweeping.
Licence summary of associated code (metadata only; no source read)
| Repo / code | Licence | Status |
|---|---|---|
Shewchuk predicates.c |
Public domain | READ OK |
| Shewchuk Triangle | Proprietary (non-commercial) | FORBIDDEN |
georust/robust |
Apache-2.0 (GitHub metadata) | READ OK |
BrunoLevy/geogram |
BSD-3, except third_party/tetgen (AGPL), third_party/triangle and the delaunay_tetgen/triangle wrappers |
READ OK, with exclusions |
wildmeshing/fTetWild |
MPL-2.0 | READ OK |
wildmeshing/wildmeshing-toolkit |
MIT | READ OK |
Yixin-Hu/TetWild |
GPL-3.0 | FORBIDDEN |
| TetGen | AGPL | FORBIDDEN |
| CGAL, Gmsh (incl. HXT, recombination), Netgen | GPL / LGPL | FORBIDDEN |
MarcoAttene/CDT, Delaunay3D |
GPL, or LGPL by option | FORBIDDEN |
MarcoAttene/Indirect_Predicates |
LGPL-2.1 | FORBIDDEN |
MarcoAttene/VolumeMesher |
GPL-3 | FORBIDDEN |
libigl/libigl |
MPL-2.0 core; GPL copyleft/ modules (GitHub reports GPL-3 because both licence files exist) |
Core READ OK; copyleft/ FORBIDDEN |
mlivesu/cinolib |
MIT | READ OK |
cg3hci/Gen-Adapt-Ref-for-Hexmeshing |
MIT | READ OK |
mlivesu/HexaLab |
MIT | READ OK |
crawforddoran/quartet (isosurface stuffing) |
ISC | READ OK |
alecjacobson/isostuffer |
LGPL-3 | FORBIDDEN |
gaoxifeng/robust_hex_dominant_meshing |
MIT | READ OK |
gaoxifeng/Feature-Preserving-Octree-Hex-Meshing |
none | NO LICENCE |
mlivesu/LoopyCuts |
none | NO LICENCE |
LIHPC-Computational-Geometry/evocube |
GPL-3 | FORBIDDEN |
LIHPC-Computational-Geometry/dds-hexmeshing (HexMe-related workflow) |
MIT | READ OK |
fprotais/robustPolycube, ultimaille, marchinghex |
AGPL-3 | FORBIDDEN |
ssloy/invertible-maps (foldover-free) |
AGPL-3 | FORBIDDEN |
| libHexEx (RWTH) | GPLv3 | FORBIDDEN |
cgg-bern/libHexHex |
GPL | FORBIDDEN |
HendrikBrueckler/QGP3D, MC3D, TrulySeamless3D, C4HexMeshing |
GPL-3 | FORBIDDEN |
mlivesu/CoMISo (mixed-integer solver fork) |
GPL-3 | FORBIDDEN |
Graphite (BrunoLevy/GraphiteThree) |
GPL-2 | FORBIDDEN |
| OpenVolumeMesh, CGoGN | Not checked in this pass. Believed LGPL. | Treat as FORBIDDEN until verified |
Unverified items
- Stellar (Klingner's mesh improvement code): licence not checked.
https://people.eecs.berkeley.edu/~jrs/papers/edge.pdf: listed on Shewchuk's page but not fetched.- The DualCube code repo: 404 at the name given in search results.
- The HexMe workflow repo URL: not stated in the paper.
dds-hexmeshingis a related LIHPC repo, not confirmed as the HexMe workflow.