Skip to main content

make_sphere_surface_framed

Function make_sphere_surface_framed 

Source
pub fn make_sphere_surface_framed(
    center: Vec3,
    radius: f64,
    polar_axis: Vec3,
    seam_direction: Option<Vec3>,
) -> Result<NurbsSurface, String>
Expand description

A sphere with BOTH halves of its frame chosen: the polar axis (where the two degenerate poles sit) and the SEAM direction (where the u = 0 meridian runs). seam_direction is Gram-Schmidt’d against the axis; None — and a seam parallel to the axis, which names no meridian — falls back to Vec3::perpendicular, i.e. exactly what make_sphere_surface builds.

A caller that KNOWS where the sphere will be trimmed uses this to park the poles and the seam inside the region the trim removes, so the surviving face carries neither. feature_pipeline::features::tube does that for its joint balls: a seam that survives into the result is an edge bordering ONE face, which is a real edge in the topology and a visible line on the model.