Click or drag to resize

NurbsCurveFitParameters Class

The NURBS curve fit tool creates a NURBS curve that approximates an existing curve. The NurbsCurveFitParameters class contains the paramters that determine NURBS curve properties (degree, point count, ...) and other fitting contstraints.
Inheritance Hierarchy
SystemObject
  Rhino.GeometryNurbsCurveFitParameters

Namespace:  Rhino.Geometry
Assembly:  RhinoCommon (in RhinoCommon.dll)
Syntax
public class NurbsCurveFitParameters : ICloneable, 
	IDisposable

The NurbsCurveFitParameters type exposes the following members.

Constructors
  NameDescription
Public methodNurbsCurveFitParameters
Initializes a new instance of the NurbsCurveFitParameters class.
Public methodNurbsCurveFitParameters(NurbsCurveFitParameters)
Creates a new instance of the NurbsCurveFitParameters class as a copy of an existing instance.
Top
Properties
  NameDescription
Public propertyApplyTangentMatchingAtKinks
If true, the TangentMatching setting is applied at kinks. Otherwise, TangentMatching applies only to the ends of curves.
Public propertyClampedControlPointCount
Number of control points if the NURBS curve will be clamped. Number of total control points if the NURBS curve will be periodic. This number is >= PointCount() Includes SubDFriendly constrained points and the duplicated point for a clamped closed curve.
Public propertyClosed
Number of total control points if the NURBS curve will be periodic. This number is >= PointCount() and includes periodic duplicates.
Public propertyConstrainedPointCount
If Closed() is true, the number of constrained points is (TangentMatchStart() || TangentMatchEnd() ? 1 : 0) + (TangentMatchStart()?1:0) + (TangentMatchEnd()?1:0). If Closed() is false, the number of constrained points is 2 + (SubDFriendly() ? 2 : 0) + (TangentMatchStart()?1:0) + (TangentMatchEnd()?1:0).
Public propertyCurvatureBiasCoefficient
When CurvatureBiasIntensity == NurbsCurveFitParameters.Intensity::Custom, this value is used as the curvature bias parameter.
Public propertyCurvatureBiasIntensity
Curvature bias is used to make the fit curve stay close to regions of relatively high curvature. Use CurvatureBiasCoefficient() to convert this enum to the the value passed to the optimizer.
Public propertyStatic memberDefaultDegree
The default degree of the fit
Public propertyStatic memberDefaultSampleCount
Default number of points to sample from input curves and pass to the fitter that creates the output NURBS curve.
Public propertyDegree
The degree of the resulting curve
Public propertyKinkAngleDegrees
The angle, in degrees, used to determine if when an abrupt change in tangent or curvature vector direction is a kink.
Public propertyKinkAngleRadians
The angle, in radians, used to determine if when an abrupt change in tangent or curvature vector direction is a kink.
Public propertyKinkSplitting
Gets or sets the kink splitting behavior used when fitting a NURBS curve. See also
Public propertyStatic memberMaximumDegree
The maximum degree of the fit
Public propertyStatic memberMaximumPointCount
Gets the maximum number of points supported for NURBS curve fitting operations.
Public propertyStatic memberMaximumSampleCount
Maximum number of points to sample from input curves and pass to the fitter that creates the output NURBS curve.
Public propertyStatic memberMinimumClampedPointCount
The minimum clamped point count
Public propertyStatic memberMinimumClosedPointCount
The minimum closed point count
Public propertyStatic memberMinimumDegree
The minimum degree of the fit
Public propertyStatic memberMinimumSampleCount
Minimum number of points to sample from input curves and pass to the fitter that creates the output NURBS curve.
Public propertyOptimizeCurve
If OptimizeCurve = false, then all options below are ignored and the Greville interpolant is returned. Rhino 1 - Rhino 8 Rebuild command created a result similar to what's created when m_bOptimizeCurve = false.
Public propertyPeriodicControlPointCount
Number of total control points if the NURBS curve will be periodic. This number is >= PointCount() and includes periodic duplicates.
Public propertyPointCount
Number of distinct control points in the NURBS curve fit. If a range of point counts is possible, this is the minimum number.
Public propertyPointCountRange
Gets or sets the point count range as an IndexPair.
Public propertyPointCountRangeMaximum
Public propertyPointCountRangeMinimum
Public propertyPointCountRangeTolerance
When a range of point counts is permitted and PointCountRangeTolerance greater than 0, then searching for the NURBS curve fit terminates if the separation is less than or equal to PointCountRangeTolerance.
Public propertySampleCount
This is the number of points the NURBS curve is fit through. Is it common for these points to be sampled from an input curve.
Public propertySmoothingCoefficient
When SmoothingIntensity == NurbsCurveFitParameters.Intensity::Custom, this value is used as the smoothing parameter.
Public propertySmoothingIntensity
Smoothing penalty used to make triples of consecutive control polygon points colinear. Use SmoothingCoefficient() to convert this enum to the the value passed to the optimizer.
Public propertySubDFriendly
Gets or sets the SubDFriendly property. When true, the resulting curve will be more likely to have good subdivision surface properties, such as fewer kinks and more even parameterization. This is accomplished by using a more aggressive kink splitting strategy and by using the SmoothingCoefficient to bias the fit towards smoother curves.
Public propertyTangentMatching
Gets ot Sets the TangentMatching value
Public propertyUniformityCoefficient
When UniformityIntensity == NurbsCurveFitParameters.Intensity::Custom, this value is used as the uniformity parameter.
Public propertyUniformityIntensity
Uniformity penalty used to make the distance between control points more equal. Use UniformityCoefficient() to convert this enum to the the value passed to the optimizer.
Public propertyVariablePointCount
Top
Methods
  NameDescription
Public methodClone
Supports the ICloneable inteface and creates a new NurbsCurveFitParameters object with the same property values as this instance.
Public methodDispose
Actively reclaims unmanaged resources that this instance uses.
Protected methodDispose(Boolean)
For derived class implementers.

This method is called with argument true when class user calls Dispose(), while with argument false when the Garbage Collector invokes the finalizer, or Finalize() method.

You must reclaim all used unmanaged resources in both cases, and can use this chance to call Dispose on disposable fields if the argument is true.

Also, you must call the base virtual method within your overriding method.

Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().
(Overrides ObjectFinalize.)
Public methodGetCurvatureBiasCoefficientFromIntensity
Returns the Curvature bias coefficient that corresponds to a given NurbsCurveFitParameters.Intensity value.
Public methodGetCurvatureBiasIntensityFromCoefficient
Returns the NurbsCurveFitParameters.Intensity value that corresponds to a given curvature bias coefficient.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetPointCountRange
Get the point count range and tolerance.
Public methodGetSmoothingCoefficientFromIntensity
Returns the smoothing coefficient that corresponds to a given NurbsCurveFitParameters.Intensity value.
Public methodGetSmoothingIntensityFromCoefficient
Returns the NurbsCurveFitParameters.Intensity value that corresponds to a given smoothing coefficient.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetUniformityCoefficientFromIntensity
Returns the uniformity coefficient that corresponds to a given NurbsCurveFitParameters.Intensity value.
Public methodGetUniformityIntensityFromCoefficient
Returns the NurbsCurveFitParameters.Intensity value that corresponds to a given uniformity coefficient.
Public methodStatic memberMaximumPointCountForDegree
Given a point count and periodic setting, determine the maximum degree.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodStatic memberMinimumPointCountForDegree
Give a degree and periodic setting, determine the minimum point count.
Public methodSetPointCountRange(Int32, Int32)
Set the point count range and tolerance.
Public methodSetPointCountRange(Int32, Int32, Double)
Set the point count range and tolerance.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodStatic memberValidInput
returns true if the input values are within the acceptable ranges for NURBS curve fitting. If false is returned, the input values should be adjusted before calling the curve fitting function. See also MinimumPointCountForDegree() and MaximumPointCountForDegree().
Top
See Also