Click or drag to resize

SurfaceInterpolatedCurveOnSurfaceUV Method (IEnumerablePoint2d, Double, Boolean, Int32)

Returns a curve that interpolates points on a surface. The interpolant lies on the surface.

Namespace:  Rhino.Geometry
Assembly:  RhinoCommon (in RhinoCommon.dll)
Since: 6.18
public NurbsCurve InterpolatedCurveOnSurfaceUV(
	IEnumerable<Point2d> points,
	double tolerance,
	bool closed,
	int closedSurfaceHandling


Type: System.Collections.GenericIEnumerablePoint2d
List of at least two UV parameter locations on the surface.
Type: SystemDouble
Tolerance used for the fit of the push-up curve. Generally, the resulting interpolating curve will be within tolerance of the surface.
Type: SystemBoolean
If false, the interpolating curve is not closed. If true, the interpolating curve is closed, and the last point and first point should generally not be equal.
Type: SystemInt32
If 0, all points must be in the rectangular domain of the surface. If the surface is closed in some direction, then this routine will interpret each point and place it at an appropriate location in the covering space. This is the simplest option and should give good results. If 1, then more options for more control of handling curves going across seams are available. If the surface is closed in some direction, then the points are taken as points in the covering space. Example, if srf.IsClosed(0)=true and srf.IsClosed(1)=false and srf.Domain(0)=srf.Domain(1)=Interval(0,1) then if closedSurfaceHandling=1 a point(u, v) in points can have any value for the u coordinate, but must have 0<=v<=1. In particular, if points = { (0.0,0.5), (2.0,0.5) } then the interpolating curve will wrap around the surface two times in the closed direction before ending at start of the curve. If closed=true the last point should equal the first point plus an integer multiple of the period on a closed direction.

Return Value

Type: NurbsCurve
A new NURBS curve if successful, or null on error.
See Also