RebuildCurveOptions
Options used for curve rebuilding
Constructors
public RebuildCurveOptions()
Finalizer
~RebuildCurveOptions
#~RebuildCurveOptions()
Properties
The maximum deviation between a target curve and the corresponding rebuilt curve calculated using the current properties.
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.
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.
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.
True if input target curves should be deleted when possible.
The range of degrees in the input curves. InputDegreeRange.I = minimum input curve degree. InputDegreeRange.J = maximum input curve degree.
The range of point counts in the input curves. InputPointCountRange.I = minimum input curve point count. InputPointCountRange.J = maximum input curve point count.
The range of span counts in the input curves. InputDegreeRange.I = minimum input curve span count. InputDegreeRange.J = maximum input curve span count.
If the KinkSplitting is on, then KinkAngleDegrees is the angle in degrees used to detect discontinuous changes in target curve tangents and curvature directions.
True if the user interface is permitted to show the kink splitting options
The maximum value a user interface may specify as a degree value.
The maximum point count. If the context permits ranges of point counts, then it is possible that MinimumPointCount < MaximumPointCount. Otherwise MinimumPointCount = MaximumPointCount = PointCount.
The maximum value a user interface may specify as a point count value.
The mimimum value a user interface may specify as a degree value.
The minimum point count. If the context permits ranges of point counts, then it is possible that MinimumPointCount < MaximumPointCount. Otherwise MinimumPointCount = MaximumPointCount = PointCount.
The mimimum value a user interface may specify as a point count value.
True if output rebuilt curves should be on the current layer. False if output rebuild curves should be on the target curve's layer.
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.
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.
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.
Serial number of the Rhino document containing the target curves.
True if the control points of the rebuilt curves are displayed during the dynamic preview.
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.
True if the user interface is permitted to show the smoothing intensity option
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.
When TangentMatchPermitted is true, TangentMatch is the active tangent mathing option. When TangentMatchPermitted is false, the user interface should not offer tangent matching.
Returns true if the user interface may offer tangent matching as an option.
When UniformityPermitted is true, UniformityIntensity sets and gets the intensity of forcing the the distance between control points to be equal.
Methods
public void CalculateInitialPreview()
When the rebuild options are presented in a dialog, the initial rebuild calculation is deferred so that the dialog appears immediately instead of after that calculation finishes. The dialog calls this one time, after it is on the screen, and the initial calculation and the first dynamic preview happen then. The dialog must update itself from these options when this returns. The calculation fills in the current output properties and it can increase the point count when kink splitting needs more points than the current settings specify. Calling this when no initial calculation is pending does nothing.
public void Dispose()
Actively reclaims unmanaged resources that this instance uses.
Parameters:
| intensity (RebuildCurveIntensity) |
Parameters:
| intensity_as_int (int) |
Parameters:
| kink_splitting_at_as_int (int) |
Parameters:
| kink_splitting (RebuildCurveKinkSplitting) |
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.
Parameters:
| minimum_point_count (int) | |
| maximum_point_count (int) | |
| tolerance (double) | If tolerance > 0 and there is a rebuilt curve in the point range with deviation <= tolerance, the the curve with the smallest point count whose deviation <= tolerance will be returned. Otherwise the curve with the smallest deviation is returned. |