pub fn extend_face(
model: &mut Model,
shape: &Shape,
edge: &Shape,
length: f64,
mode: Extension,
tol: Tolerances,
) -> OgeomResult<Built>Expand description
Grow the face shape past its boundary edge edge by length.
The length is measured along the surface, square to the edge: on a
plane every point of the edge moves that far, square to it; elsewhere it
is the arc length of the crossing parameter line through the edge’s
middle, which is square to the edge on every analytic surface. The
result is a new face on the same surface (an analytic one with its
domain widened where the extension needs it) or on the patch continued
as mode says. The edges the face kept are the same nodes, carrying a
trim on the new surface where it is a new one.
A placed face, or a face with placed edges (a prism’s far end edges are its profile’s edges under the prism’s translation), is first rebuilt with its placements baked in, and that rebuilt face is extended: its edges are new nodes on the same geometry, which sew to the old ones.
History: the face is modified into the new face; edge is modified into
the far edge and generates the two sides; where the face was baked
first, every other edge is modified into its baked twin.
§Errors
OgeomError::Construction, by name,
where:
lengthis not positive and finite;shapeis not a face, oredgeis not an edge of its outer boundary (an edge on no boundary of it, an edge bounding a hole, a seam the boundary runs along twice, a degenerate edge);- the surface is neither a plane, a cylinder, a cone, a sphere, a torus nor a B-spline patch;
- on a plane, the edge is not straight;
- elsewhere, the edge does not run along a parameter line, has no trim on the surface, or the face’s boundary cannot be walked in its chart;
- the extension would wrap the face round a periodic direction onto itself, or reach a cone’s apex or a sphere’s pole;
- a B-spline edge is not on a side of the patch’s domain, or the patch closes on itself across it;
- a linear extension asks
Continuity::CInfinity, or crosses a curved parameter line of an analytic surface.