Skip to main content

subdivide

Function subdivide 

Source
pub fn subdivide(
    tx: &mut Transaction<'_>,
    options: &SubdivideOptions,
) -> Result<SubdivideReport>
Expand description

Subdivides the mesh SubdivideOptions::levels times by Loop’s scheme (see the module docs). Each level quadruples the clean triangle count: every triangle becomes four, with one new vertex per subdivided edge. Degenerate triangles and isolated vertices pass through untouched.

A mesh with no clean triangle succeeds without writing. Otherwise the patch is non-empty and the report counts what the levels added.

§Errors

OpsError::InvalidInput for zero levels; OpsError::Store when memory runs out.