pub fn largest_fillet_radius(
model: &Model,
solid: &Shape,
edge: &Shape,
up_to: f64,
tol: Tolerances,
) -> OgeomResult<Option<f64>>Expand description
The largest radius up to up_to at which a ball rolling along edge
of solid sits with both contacts on their faces at every station the
request check reads, so that fillet_edges on
that edge alone is not refused for setback at it or at any radius
below it. None where no radius above the confusion distance fits.
Read from the seat, without building a band: each contact walks square
to the edge, r · tan(φ/2) into its face, and the answer is where the
first walk leaves its face, a confusion distance short. On a plane,
and along a ruling of a cylinder or a cone, that is exact against the
region the check reads the face by; on other surfaces the walk is
followed by stations, and a sliver of the face’s outside narrower than
their spacing can pass between two. A contact the check lets run off a
face out of the solid, where another station holds the ball, bounds the
answer here all the same, so the answer can lie under the largest
radius the check lets through. Refusals other than for setback (a seat
the round does not speak, a corner) are outside its promise.
§Errors
OgeomError::Construction if
up_to is not a usable length;
OgeomError::NotDone where which
way a contact walks into its face depends on the radius, or the radius
found does not pass the check (a station whose answer the walk does not
predict).