Independent tessellation: zoo fixtures and sample-exact UV fill - #61
Draft
jmossymoss wants to merge 7 commits into
Draft
jmossymoss wants to merge 7 commits into
jmossymoss wants to merge 7 commits into
Conversation
Full-period tori were ear-clipped in periodic UV and collapsed to a fan. Iso-band UV grids ignored exact rim samples so fillets and tubes leaked. Failed UV fills fell back to a triangle fan that covered holes. Use a UV lattice on doubly-periodic charts, loft closed drums from shared rim samples, blend 4-sided patches in 3D, and send failed fills to OCCT. Co-authored-by: jmossymoss <jmossymoss@users.noreply.github.com>
Closed-cylinder winding follows the face-edge sample order so caps weld without a global flip heuristic. A full torus uses both closed-edge counts, so the tube is not a 4-sided washer. Co-authored-by: jmossymoss <jmossymoss@users.noreply.github.com>
Trimmed drums (MP9-class cylinders with many hole wires) were dumping to OCCT after ear-clip failed, which dropped shared rim samples and opened thousands of cracks. UV fill now Delaunay-webs the sample loops in the parameter plane, bridges holes without crossing, and only force-clips unholed rings. Loft and Coons refuse unequal opposite counts instead of resampling them away. Co-authored-by: jmossymoss <jmossymoss@users.noreply.github.com>
Drum-loft plus OCCT fallback had opened ~8k cracks on mp9_Edited; the trimmed-drum class is back near the prior UV-fill baseline with fewer folds. MP9 remains T4 evidence, not a T0 gate. Co-authored-by: jmossymoss <jmossymoss@users.noreply.github.com>
Unholed faces were ear-clipped into sliver fans; the OCCT planar mesher was only invoked when holes existed. Run that CDT on every sample loop first, drop the force-clip fan, and keep interior Steiner points on the CAD surface. Co-authored-by: jmossymoss <jmossymoss@users.noreply.github.com>
A UV-polygon CDT still fans: the parameter plane has no curvature, so OCCT never inserts interior points. Run IncrementalMesh on the CAD face first (snap rims to shared samples) and keep the UV CDT only if that emits nothing. Co-authored-by: jmossymoss <jmossymoss@users.noreply.github.com>
OCCT IncrementalMesh on drums only splits around: generators are straight, so it emits height-spanning slivers and misses shared rim samples (slotted opened 432 edges). Use it as last resort, not the default fill. Co-authored-by: jmossymoss <jmossymoss@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Independent tessellation on zoo fixtures, then MP9.
Tried OCCT’s tessellator as the leftover-face fill. On cylinders it only refines around (zero curvature along the generator), so you get height-spanning slivers and lost rim samples. Slotted went from 0 opens to 432. Leftover faces stay on the sample-exact UV fill; OCCT IncrementalMesh remains last resort.
Structured fills (planar n-gon, drum loft, 4-sided Coons) still own the zoo primitives.