mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-04 02:55:54 +00:00
Overflowing rounds go first again (solidcore#1980)
OVERFLOW_GOES_FIRST on. The rig shows no wrong volume: 5158's plate keeps its value and 1080-notched-r8 moves to within 7e-11 of the C++ kernel. The sloped basin's R4 rounds are refused as in the C++ kernel at 2fc375f. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MNXLXkZLQ6T7TSi4wswcmk
This commit is contained in:
@@ -542,12 +542,10 @@ fn picked_on(b: &Brep, e: EdgeId) -> Option<(solidcore::geom::attribute::Attribu
|
||||
a.application_value::<Picked>().map(|p| (h, p.0))
|
||||
}
|
||||
|
||||
/// Whether the rounds that overflow go first ([`overflow_first`]), held back: solidcore's
|
||||
/// `SubtractRemovalRegion` loses the attributes of target edges the subtraction replaces, so a picked
|
||||
/// edge the overflow only shortened reads as removed whole and is silently left unrounded (the rig's
|
||||
/// fillets/5158-fillet-adjacent-plate-edges-as-thick-as-plate, 1706.89 against 1681.90). Off, the
|
||||
/// rounds are blended together, and those that need the order are refused.
|
||||
const OVERFLOW_GOES_FIRST: bool = false;
|
||||
/// Whether the rounds that overflow go first ([`overflow_first`]): on since solidcore#1980, which
|
||||
/// keeps the attributes of the target edges the subtraction replaces, so a picked edge the overflow
|
||||
/// only shortened still reads as picked.
|
||||
const OVERFLOW_GOES_FIRST: bool = true;
|
||||
|
||||
/// `overflow_first`: the rounds of [`blend_call`] when blends of several edges overflow their
|
||||
/// faces (`round_edges` stopped in the copy `w` of `body`, `picked` its picked edges, `each` their
|
||||
|
||||
@@ -433,7 +433,6 @@ fn a_cliff_overflow_the_fork_refuses_has_no_room() {
|
||||
/// the back upright that upright's round runs above the R21 cylinder, taking the corner's piece
|
||||
/// over it too (Simpson on 4000 spans, against a bound of its quartic end edge's tolerance).
|
||||
#[test]
|
||||
#[ignore = "core::blend::OVERFLOW_GOES_FIRST is held back: solidcore's cliff overflow loses edge attributes (an_edge_tag_crosses_a_cliff_overflow). Passes with it on: 6107.529369565"]
|
||||
fn overflow_goes_first() {
|
||||
let f = |u: f64| 0.5 * (u * (441.0 - u * u).sqrt() + 441.0 * (u / 21.0).asin());
|
||||
let w = 440f64.sqrt();
|
||||
|
||||
Reference in New Issue
Block a user