Click or drag to resize

RebuildCurveOptions Class

Options used for curve rebuilding
Inheritance Hierarchy
SystemObject
  Rhino.GeometryRebuildCurveOptions

Namespace:  Rhino.Geometry
Assembly:  RhinoCommon (in RhinoCommon.dll)
Syntax
public class RebuildCurveOptions : IDisposable

The RebuildCurveOptions type exposes the following members.

Constructors
  NameDescription
Public methodRebuildCurveOptions
Initializes a new instance of the RebuildCurveOptions class
Top
Properties
  NameDescription
Public propertyCurrentOutputMaximumDeviation
The maximum deviation between a target curve and the corresponding rebuilt curve calculated using the current properties.
Public propertyCurrentOutputPointCountRange
The range of point counts in the rebuilt curves calculated using the current properties. When multiple target curves are being rebuilt with variable point counts or kink splittings, the resulting rebuilt curves can have a range of point counts. CurrentOutputPointCountRange.I = minimum point count. CurrentOutputPointCountRange.J = maximum point count.
Public propertyCurrentOutputSpanCountRange
The range of span counts in the rebuilt curves calculated using the current properties. When multiple target curves are being rebuilt with variable point counts or kink splittings, the resulting rebuilt curves can have a range of span counts. CurrentOutputSpanCountRange.I = minimum span count. CurrentOutputSpanCountRange.J = maximum span count. NOTE WELL: Do not confuse span counts with point counts. The span count is always <= PointCount - Degree and is the number of spans in the rebuilt NURBS curves.
Public propertyDegree
The degree the rebuit curves will have. Changing the degree can change other options. After changing the degre, user interface code must update all displayed values.
Public propertyDeleteInputCurves
True if input target curves should be deleted when possible.
Public propertyInputCurveCount
The number of input curves.
Public propertyInputDegreeRange
The range of degrees in the input curves. InputDegreeRange.I = minimum input curve degree. InputDegreeRange.J = maximum input curve degree.
Public propertyInputPointCountRange
The range of point counts in the input curves. InputPointCountRange.I = minimum input curve point count. InputPointCountRange.J = maximum input curve point count.
Public propertyInputSpanCountRange
The range of span counts in the input curves. InputDegreeRange.I = minimum input curve span count. InputDegreeRange.J = maximum input curve span count.
Public propertyKinkAngleDegrees
If the KinkSplitting is on, then KinkAngleDegrees is the angle in degrees used to detect discontinuous changes in target curve tangents and curvature directions.
Public propertyKinkSplitting
Public propertyKinkSplittingPermitted
True if the user interface is permitted to show the kink splitting options
Public propertyMaximumDegreeLimit
The maximum value a user interface may specify as a degree value.
Public propertyMaximumPointCount
The maximum point count. If the context permits ranges of point counts, then it is possible that MinimumPointCount < MaximumPointCount. Otherwise MinimumPointCount = MaximumPointCount = PointCount.
Public propertyMaximumPointCountLimit
The maximum value a user interface may specify as a point count value.
Public propertyMinimumDegreeLimit
The mimimum value a user interface may specify as a degree value.
Public propertyMinimumPointCount
The minimum point count. If the context permits ranges of point counts, then it is possible that MinimumPointCount < MaximumPointCount. Otherwise MinimumPointCount = MaximumPointCount = PointCount.
Public propertyMinimumPointCountLimit
The mimimum value a user interface may specify as a point count value.
Public propertyOutputToCurrentLayer
True if output rebuilt curves should be on the current layer. False if output rebuild curves should be on the target curve's layer.
Public propertyPointCount
Always sets the number of control points in the rebuilt curve. If PointCountRangePermitted is true or the minimum and maximum point counts are equal, that value is returned. Otherwise 0 is returned and you must use MinimumPointCount and MaximumPointCount to get the point count range. Put another way, when 0 is returned, a range of point counts has been specified and you must use MinimumPointCount and MaximumPointCount to get the point count range.
Public propertyPointCountRangePermitted
If user interface is permitted to set a range of point counts, then PointCountRangePermitted = true and SetPointCountRange() may be used to set the range. Otherwise point count ranges are not permitted\ and user interface must use PointCount to set a single value.
Public propertyPointCountRangeTolerance
When PointCountRangePermitted is true and MinimumPointCount < MaximumPointCount, PointCountRangeTolerance specifies the desired maximum deviation between the target and rebuilt curves. If there is a rebuilt curve in the point count range with deviation <= PointCountRangeTolerance, then the rebuilt curve with the smallest point count whose deviation <= tolerance is returned. Otherwise the curve with the smallest deviation is returned. Use SetPointCountRange(min,max,tol) to set PointCountRangeTolerance.
Public propertyRhinoDocumentSerialNumber
Serial number of the Rhino document containing the target curves.
Public propertyShowControlPoints
True if the control points of the rebuilt curves are displayed during the dynamic preview.
Public propertySmoothingIntensity
When SmoothingPermitted is true, SmoothingIntensity sets and gets the intensity of forcing the 2nd point of contiguous triples of control points to be halfway between the 1st and 3rd point.
Public propertySmoothingPermitted
True if the user interface is permitted to show the smoothing intensity option
Public propertySubDFriendly
When SubDFriendly is true, the degree is set to 3 and the ends of rebuilt open curves have zero 2nd derivative. These types of curves are useful for lofting into SubDs.
Public propertyTangentMatching
When TangentMatchPermitted is true, TangentMatch is the active tangent mathing option. When TangentMatchPermitted is false, the user interface should not offer tangent matching.
Public propertyTangentMatchingPermitted
Returns true if the user interface may offer tangent matching as an option.
Public propertyUniformityIntensity
When UniformityPermitted is true, UniformityIntensity sets and gets the intensity of forcing the the distance between control points to be equal.
Public propertyUniformityPermitted
True if the user interface is permitted to show the uniformity intensity option
Top
Methods
  NameDescription
Public methodDispose
Actively reclaims unmanaged resources that this instance uses.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize (Overrides ObjectFinalize.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIntensityToInt
Public methodIntToIntensity
Public methodIntToKinkSplitting
Public methodKinkSplittingToInt
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodSetPointCountRange
If PointCountRangePermitted is true, then the user interface may use SetPointCountRange(min,max,tolerance) to specify a range of acceptable point counts. Otherwise using PointCount to specify a single point count value.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also