NurbsSurfaceKnotList

References
Provides access to the knot vector of a NURBS surface.

Properties

ClampedAtEnd

#Since v5.0
public bool ClampedAtEnd { get; }
Determines if a knot vector is clamped.

ClampedAtStart

#Since v5.0
public bool ClampedAtStart { get; }
Determines if a knot vector is clamped.

Count

#Since v5.0
public int Count { get; }
Gets the total number of knots in this curve.

KnotStyle

#Since v7.1
public KnotStyle KnotStyle { get; }
Gets the style of the knot vector.

Indexers

this[]

#
public double this[int index] { get; set; }
Gets or sets the knot vector value at the given index.
index (int)Index of knot to access.
The knot value at [index]

Methods

CreatePeriodicKnots

#Since v5.0
public bool CreatePeriodicKnots(double knotSpacing)
Compute a clamped, uniform, periodic knot vector based on the current degree and control point count. Does not change values of control vertices.
knotSpacing (double)Spacing of subsequent knots.
true on success, false on failure.

CreateUniformKnots

#Since v5.0
public bool CreateUniformKnots(double knotSpacing)
Compute a clamped, uniform knot vector based on the current degree and control point count. Does not change values of control vertices.
knotSpacing (double)Spacing of subsequent knots.
true on success, false on failure.

EnsurePrivateCopy

#Since v5.0
public void EnsurePrivateCopy()
If you want to keep a copy of this class around by holding onto it in a variable after a command completes, call EnsurePrivateCopy to make sure that this class is not tied to the document. You can call this function as many times as you want.

EpsilonEquals

#Since v5.4
public bool EpsilonEquals(NurbsSurfaceKnotList other, double epsilon)
Check that all values in other are within epsilon of the values in this
other (NurbsSurfaceKnotList)
epsilon (double)
EpsilonEquals

InsertKnot

#Since v5.0
public bool InsertKnot(double value, int multiplicity)
Inserts a knot and update control point locations. Does not change parameterization or locus of curve.
value (double)Knot value to insert.
multiplicity (int)Multiplicity of knot to insert.
true on success, false on failure.

InsertKnot

#Since v5.0
public bool InsertKnot(double value)
Inserts a knot and update control point locations. Does not change parameterization or locus of curve.
value (double)Knot value to insert.
true on success, false on failure.

KnotMultiplicity

#Since v5.0
public int KnotMultiplicity(int index)
Get knot multiplicity.
index (int)Index of knot to query.
The multiplicity (valence) of the knot.

RemoveKnots

#Since v6.0
public bool RemoveKnots(int index0, int index1)
Remove knots from the knot vector and adjusts the remaining control points to maintain surface position as closely as possible. The knots from Knots[index0] through Knots[index1 - 1] will be removed.
index0 (int)The starting knot index, where Degree-1 < index0 < index1 <= Points.Count-1.
index1 (int)The ending knot index, where Degree-1 < index0 < index1 <= Points.Count-1.
true if successful, false on failure.

RemoveKnotsAt

#Since v6.0
public bool RemoveKnotsAt(double u, double v)
Remove knots from the surface and adjusts the remaining control points to maintain surface position as closely as possible.
u (double)The u parameter on the surface that is closest to the knot to be removed.
v (double)The v parameter on the surface that is closest to the knot to be removed.
true if successful, false on failure.

RemoveMultipleKnots

#Since v6.0
public int RemoveMultipleKnots(int minimumMultiplicity, int maximumMultiplicity, double tolerance)
Remove multiple knots from this surface
minimumMultiplicity (int)Remove knots with multiplicity > minimumKnotMultiplicity
maximumMultiplicity (int)Remove knots with multiplicity < maximumKnotMultiplicity
tolerance (double)When you remove knots, the shape of the surface is changed. If tolerance is RhinoMath.UnsetValue, any amount of change is permitted. If tolerance is >=0, the maximum distance between the input and output surface is restricted to be <= tolerance.
number of knots removed on success. 0 if no knots were removed

SuperfluousKnot

#Since v5.0
public double SuperfluousKnot(bool start)
Computes the knots that are superfluous because they are not used in NURBs evaluation. These make it appear so that the first and last surface spans are different from interior spans.

http://wiki.mcneel.com/developer/onsuperfluousknot

start (bool)true if the query targets the first knot. Otherwise, the last knot.
A component.
Explicit

IEnumerable<double>.GetEnumerator

#
Explicit

IEnumerable.GetEnumerator

#
IEnumerator IEnumerable.GetEnumerator()