pub fn split_solid_by_plane(
solid: &BrepSolid,
plane_point: Vec3,
plane_normal: Vec3,
) -> Result<(BrepSolid, BrepSolid), String>Expand description
Split solid into two pieces by the plane through plane_point with normal
plane_normal. Returns (below, above) where below is the piece on the
−n side of the plane and above the piece on the +n side.
Contract: when the plane does not actually divide the solid into two
non-degenerate pieces (it misses the body, or is tangent so one side is
empty), this returns Err("split_solid_by_plane: plane does not intersect the solid") rather than a degenerate/empty piece.