pub fn hollow(
mesh: &Triangulation,
wall: f64,
grid: &Grid,
tol: Tolerances,
) -> OgeomResult<Hollowed>Expand description
Hollow a closed mesh, leaving a wall wall thick.
The part must bound a solid as boolean asks of an
operand: closed, 2-manifold, no degenerate triangle, no triangle meeting
another but at shared corners, wound outward; it may have cavities of
its own, and the wall keeps clear of them. The cavity is sampled on
grid and decimated within a sixteenth of a cell, with tol’s
confusion as the decimation’s; see the module documentation.
The field costs a nearest-triangle query for each node inside the part,
about V / h³ of them, and the checks one exact pass over the part;
the decimation, which checks every collapse against the marched cavity
and the triangles near it, costs most on a curved cavity.
§Errors
OgeomError::Construction if
wall or the cell is not a positive distance, and as
boolean for an operand if the part does not bound
a solid, named “part”. OgeomError::Range
if the grid would have more than u32::MAX nodes along an axis or the
cavity more than u32::MAX vertices.
OgeomError::Invariant if the
marched cavity fails the check of the result, named “hollowed”.