Vendored truck-stepio (writer only): an intersection curve's second surface was written at the first one's id (duplicate ids for every boolean edge), and revolved surfaces lost their orientation (the modeling-surface sense was always true; inverted or mirrored revolutions came out inside out). Export now writes intersection edges as C1 cubic B-splines through exact points, so files carry plain 3D curves and no redundant surfaces. Vendored truck-meshalgo: hinted parameter searches that run off a B-spline's domain are rejected or clamped (meshing their grid never finished). STEP import: straight revolution profiles are bounded in the meridian plane and stop at the axis; loops on revolutions start away from the axis; face extents include edge end points. Edges between pieces of one split surface draw as seams. kernel::step_validate checks a STEP file (duplicate ids, dangling references, dense numbering); the oracle replay now exports every rebuilt part, validates it and re-imports it with no warnings and the same volume (all 32 rebuildable cases pass). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
1.6 KiB
1.6 KiB
truck-meshalgo
Mesh algorigthms, include tessellations of the shape.
Sample Codes
filleted-cube
An experiment to decompose a mesh into elements for future NURBS-shape approximation of the mesh.
Contains doc(hidden) methods.
- Input: filleted_cube.obj
- Output: planes.obj, lower.obj, upper.obj
irregular-sphere
Add the normal to the sphere containing the irregular normal generated from the NURBS containing the critical point.
- Input: irregular_sphere.obj
- Output: regular_sphere.obj
octahedron-subdivision
Apply loop subdivision to regular octahedron.
- Input: hardcoded octahedron
- Output: octahedron.obj, subdivision-octahedron.obj
requadrangulate-buddha
A benchmark that reads in heavy mesh data, applies triangulation and quadrangulation, and writes it out.
- Input: happy-buddha.obj
- Output: requadrangulated-buddha.obj
smoothing-bunny
Adds smooth normals to the stanford bunny.
- Input: bunny.obj
- Output: smooth_bunny.obj
splitting-sample
An experiment to decompose a mesh into elements for future NURBS-shape approximation of the mesh.
- Input: sample.obj
- Output: planes_parts_#.obj, others_parts_#.obj
teapot
Adds smooth normals to and quadrangulate the famous teapot.
- Input: teapot.obj
- Output: quaded_pot.obj
tessellate-shape
Tessellate a shape and output an obj file.
usage: tessellate-shape <input json file> <output json file>
The default <output file> is output.obj.