NurbsCurveKnotList
Referencespublic sealed class NurbsCurveKnotList : IEnumerable<double>, IEpsilonComparable<NurbsCurveKnotList>, IList<double>
Provides access to the knot vector of a NURBS curve.
Properties
Gets a value indicating whether or not the knot vector is clamped at the end of the curve. Clamped curves are coincident with the first and last control-point. This requires fully multiple knots.
Gets a value indicating whether or not the knot vector is clamped at the start of the curve. Clamped curves start at the first control-point. This requires fully multiple knots.
Indexers
Methods
Clamp end knots. Does not modify control point locations.
Parameters:
| end (CurveEnd) | Curve end to clamp. |
Returns: true on success, false on failure.
Returns an indication of the presence of a value in the knot list.
Parameters:
| item (double) | The item. |
Returns: true if present, false otherwise.
Copies the list to an array.
Compute a clamped, uniform, periodic knot vector based on the current degree and control point count. Does not change values of control vertices.
Parameters:
| knotSpacing (double) | Spacing of subsequent knots. |
Returns: true on success, false on failure.
Compute a clamped, uniform knot vector based on the current degree and control point count. Does not change values of control vertices.
Parameters:
| knotSpacing (double) | Spacing of subsequent knots. |
Returns: true on success, false on failure.
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.
Checks that all values in the other list are sequentially equal within epsilon to the values in this list.
Parameters:
| other (NurbsCurveKnotList) | The other list. |
| epsilon (double) | The epsilon value. |
Returns: True if values are, orderly, equal within epsilon. False otherwise.
Implements: EpsilonEquals
Returns the first item in the list.
Parameters:
| item (double) | The value. |
Returns: The index, or -1 if no index is found.
Inserts a knot and update control point locations. Does not change parameterization or locus of curve.
Inserts a knot and update control point locations. Does not change parameterization or locus of curve.
Parameters:
| value (double) | Knot value to insert. |
Returns: true on success, false on failure.
Get knot multiplicity.
Parameters:
| index (int) | Index of knot to query. |
Returns: The multiplicity (valence) of the knot.
Remove a knot from a curve and adjusts the remaining control points to maintain curve position as closely as possible.
Parameters:
| t (double) | The parameter on the curve that is closest to the knot to be removed. |
Returns: true if successful, false on failure.
Remove knots from a curve and adjusts the remaining control points to maintain curve position as closely as possible. The knots from Knots[index0] through Knots[index1 - 1] will be removed.
Remove multiple knots from this curve.
Parameters:
| minimumMultiplicity (int) | Remove knots with multiplicity > minimumKnotMultiplicity. |
| maximumMultiplicity (int) | Remove knots with multiplicity < maximumKnotMultiplicity. |
| tolerance (double) | When you remove knots, the shape of the curve 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 curve is restricted to be <= tolerance. |
Returns: number of knots removed on success. 0 if no knots were removed
Computes the knots that are superfluous because they are not used in NURBs evaluation. These make it appear so that the first and last curve spans are different from interior spans.
http://wiki.mcneel.com/developer/onsuperfluousknot
Parameters:
| start (bool) | true if the query targets the first knot. Otherwise, the last knot. |
Returns: A component.
Parameters:
| item (double) |