mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-07 20:41:50 +00:00
ae2ab87b99
truck placed a face that no intersection divides (every face of a shell that meets nothing of the other) by counting the faces a ray crosses, taking each face's surface as stored. A revolved body's reversed faces counted the wrong way, and an inward shell (a void, a cut's inverted tool) was read as a solid: a cut beside a sealed void came out empty, refused or, with a tool whose bounding box covers the target, taken with the body gone. Intersections of such bodies came out empty as well. In an AND the crossings now count as each face is oriented, and an inward shell holds what lies outside it. An OR keeps truck's count. The corrected cut let a folded offset through: an arc edge next to a face it meets tangentially had its ends moved past its middle, and the arc went the long way round (robustness seed 73's shell). The offset refuses an arc whose middle crossed its chord, as it does a straight edge that turned round. Goldens: seeds 0, 45 and 77 had a cut refused as empty that now takes what it should; their volumes are checked by hand in the PR.