Rhino C++ API  9.0
Public Types | Public Member Functions | Static Public Attributes | List of all members
CRhinoRebuildCurveOptions Class Reference

#include <rhinoSdkGetString.h>

Public Types

enum  DebugOptions { DebugOff = 0, DebugDraw = 1, DebugDrawAndBake = 2 }
 

Public Member Functions

 CRhinoRebuildCurveOptions ()=default
 
 CRhinoRebuildCurveOptions (const CRhinoRebuildCurveOptions &)=default
 
 ~CRhinoRebuildCurveOptions ()=default
 
void ClearCurrentOutputProperties () const
 
void ClearKinkAngle ()
 
double ContextAngleToleranceRadians () const
 
double ContextDistanceTolerance () const
 
double CurrentOutputMaximumDeviation () const
 
const ON_2dex CurrentOutputPointCountRange () const
 
const ON_2dex CurrentOutputSpanCountRange () const
 
const ON_wString CurrentOutputSummary () const
 
bool DebugDisplayBake () const
 
bool DebugDisplayDraw () const
 
enum CRhinoRebuildCurveOptions::DebugOptions DebugOption () const
 
int Degree () const
 The degree the rebuit curves will have. More...
 
bool DeleteInputCurves () const
 
const ON_SHA1_Hash DocumentOptionsHash () const
 The value of DocumentOptionsHash() chages whenever any option that controls the document management like which layer the rebuilt curves will be added to and if the input curves should be deleted. The value of DocumentOptionsHash() does not change when options that control the geometry of the rebuilt curves change. More...
 
CRhinoCommand::result GetOptions (CRhinoCommandContext::COMMAND_STYLE ui_style, ON__UINT_PTR callback_context, void(*Callback)(ON__UINT_PTR callback_context, bool bRebuildOptionsChanged, bool bDisplayOptionsChanged, const CRhinoRebuildCurveOptions &options))
 After calling SetContext, call GetOptions() to interactively get curve rebuilding options. More...
 
int InputCurveCount () const
 When input curves are being rebuilt, InputCurveCount() reports the number of input curves. More...
 
const ON_2dex InputDegreeRange () const
 When input curves are being rebuilt, InputDegreeRange() reports the range of input curve degrees. More...
 
const ON_2dex InputPointCountRange () const
 When input curves are being rebuilt, InputPointCountRange() reports the range of input curve point counts. More...
 
const ON_2dex InputSpanCountRange () const
 When input curves are being rebuilt, InputSpanCountRange() reports the range of input curve span counts. More...
 
const ON_wString InputSummary () const
 
double KinkAngleDegrees () const
 
double KinkAngleRadians () const
 
const ON_CurveKinkDefinition KinkDefinition () const
 If KinkSplitting() is on, then, then KinkDefinition() specifies how target curve kinks are identified. The default value is ON_CurveKinkDefinition::DefaultTangentKink. More...
 
ON_NurbsCurveFitParameters::KinkSplit KinkSplitting () const
 
bool KinkSplittingPermitted () const
 
const int MaximumDegreeLimit () const
 
int MaximumPointCount () const
 
const int MaximumPointCountLimit () const
 
const int MinimumDegreeLimit () const
 
int MinimumPointCount () const
 
const int MinimumPointCountLimit () const
 
const ON_NurbsCurveFitParameters NurbsCurveFitParameters () const
 
Returns
Returns the current options used to create the rebuilt curves.
More...
 
CRhinoRebuildCurveOptionsoperator= (const CRhinoRebuildCurveOptions &)=default
 
bool OutputToCurrentLayer () const
 
int PointCount () const
 If the minimum and maximum point counts are equal, that value is returned. Otherwise 0 is returned. NOTE WELL: The dialog code should use this value only when it is > 0. More...
 
const ON_2dex PointCountLimits () const
 The minimum and maximum values a user interface may specify as a point count value. More...
 
const ON_2dex PointCountLimitsForDegree (int degree, bool bSubDFriendly) const
 The minimum and maximum values a user interface may specify as a point count value when degree is fixed. If the degree can be changed, use PointCountLimits() instead. More...
 
const ON_2dex PointCountRange () const
 
bool PointCountRangeIsVariable () const
 
bool PointCountRangesPermitted () const
 
double PointCountRangeTolerance () const
 When a range of point counts is permitted, the rebuild caclulation will stop searching for better matches using more points when the deviation between the target curve and current rebuild candidate is &lt= PointCountRangeTolerance(). More...
 
const ON_SHA1_Hash RebuildOptionsHash () const
 The value of RebuildOptionsHash() changes whenever any option that controls the geometry of the rebuilt curves changes. These options include things like point count and degree. The value of RebuldOptionsHash() does not change when document management options change. More...
 
unsigned RhinoDocumentSerialNumber () const
 
void SetContext (const CRhinoRebuildCurveOptions &default_options, unsigned int rhino_doc_sn, double context_distance_tolerance, double context_angle_tolerance_radians, int input_curve_count, ON_2dex input_degree_range, ON_2dex input_point_count_range, ON_2dex input_span_count_range, bool bOpenTargetCurves, bool bClosedG0TargetCurves, bool bClosedG1TargetCurves, bool bTangentMatchingPermitted, bool bKinkSplittingPermitted, bool bPointCountRangesPermitted)
 Interface to use to get and update options used in curve rebuilding. More...
 
void SetCurrentOutputProperties (ON_2dex current_output_point_count_range, ON_2dex current_output_span_count_range, double current_output_maximum_deviation) const
 If the output rebuilt curves have been calculated, the code performing the calculation can call SetCurrentOutputProperties() to update the values of CurrentOutputSpanCount(), CurrentOutputSpanCount(), and CurrentOutputMaximumDeviation(). User interface code that is getting and setting values, should never call this function. More...
 
void SetDebugOption (enum CRhinoRebuildCurveOptions::DebugOptions debug_option)
 
void SetDegree (int degree)
 Sets the degree used to rebuild curves. NOTE WELL: User interface code should not attempt to validate the value. All validation and implied adjustments are handled in one place in opennurbs. After changing any option value, the user interface should update all controls using the Degree(), MinimumPointCount(), MaximumPiontCount() etc., member functions. More...
 
void SetDeleteInputCurves (bool bDeleteInputCurves)
 
void SetKinkAngleDegrees (double kink_angle_degrees)
 
void SetKinkAngleRadians (double kink_angle_radians)
 
void SetKinkSplitting (ON_NurbsCurveFitParameters::KinkSplit kink_splitting)
 
void SetNurbsCurveFitParametersForExperts (const ON_NurbsCurveFitParameters &fit_parameters)
 User interface code should NEVER call this function. This is a low level function used by the code that calculates the fits when a fit parameter needs to be adjusted. One situation is where a user has specified kink splitting and a point count that is not large enough to accomodate splitting and the kinks. More...
 
void SetOutputToCurrentLayer (bool bOutputToCurrentLayer)
 
void SetPointCount (int point_count)
 Set the minimum and maximum point count to the value of the point_count parameter. NOTE WELL: User interface code should not attempt to validate the value. All validation and implied adjustments are handled in one place in opennurbs. After changing any option value, the user interface should update all controls using the Degree(), PointCount(), etc., member functions. on this class. More...
 
void SetPointCountRange (int minimum_point_count, int maximum_point_count, double tolerance)
 Use variable point counts to get a rebuilt curve with the fewest possible points that has a deviation &lt= tolerance. More...
 
void SetShowControlPoints (bool bShowControlPoints)
 
void SetSmoothingCoefficient (double smoothing_coefficient)
 
void SetSmoothingIntensity (ON_NurbsCurveFitParameters::Intensity smoothing_intensity)
 
void SetSubDFriendly (bool bCreateSubDFriendlyCurves)
 
void SetTangentMatching (ON_NurbsCurveFitParameters::TangentMatch tangent_matching)
 Specifies if the tangents of the rebuilt curve match the tangents of the target curve. More...
 
void SetTargetSampleCount (int target_sample_count)
 NOTE WELL: Ordinary user interfaces should not expose this setting. This is an advanced debugging option that sets the number of points sampled from the target curve. More...
 
void SetUniformityCoefficient (double uniformity_coefficient)
 
void SetUniformityIntensity (ON_NurbsCurveFitParameters::Intensity uniformity_intensity)
 
bool ShowControlPoints () const
 
double SmoothingCoefficient () const
 
ON_NurbsCurveFitParameters::Intensity SmoothingIntensity () const
 
bool SmoothingPermitted () const
 
bool SubDFriendly () const
 
ON_NurbsCurveFitParameters::TangentMatch TangentMatching () const
 
bool TangentMatchingPermitted () const
 
int TargetSampleCount () const
 NOTE WELL: Ordinary user interfaces should not expose this setting. This is an advanced debugging option that reports the number of points sampled from the target curve. More...
 
double UniformityCoefficient () const
 
ON_NurbsCurveFitParameters::Intensity UniformityIntensity () const
 
bool UniformityPermitted () const
 

Static Public Attributes

static const CRhinoRebuildCurveOptions Defaults
 

Member Enumeration Documentation

◆ DebugOptions

Enumerator
DebugOff 
DebugDraw 
DebugDrawAndBake 

Constructor & Destructor Documentation

◆ CRhinoRebuildCurveOptions() [1/2]

CRhinoRebuildCurveOptions::CRhinoRebuildCurveOptions ( )
default

◆ ~CRhinoRebuildCurveOptions()

CRhinoRebuildCurveOptions::~CRhinoRebuildCurveOptions ( )
default

◆ CRhinoRebuildCurveOptions() [2/2]

CRhinoRebuildCurveOptions::CRhinoRebuildCurveOptions ( const CRhinoRebuildCurveOptions )
default

Member Function Documentation

◆ ClearCurrentOutputProperties()

void CRhinoRebuildCurveOptions::ClearCurrentOutputProperties ( ) const

◆ ClearKinkAngle()

void CRhinoRebuildCurveOptions::ClearKinkAngle ( )

◆ ContextAngleToleranceRadians()

double CRhinoRebuildCurveOptions::ContextAngleToleranceRadians ( ) const
Returns
If the context of the rebuild calculation has an agnle tolerance, that value is returned in radians. Otherwise ON_DBL_QNAN is returned.

◆ ContextDistanceTolerance()

double CRhinoRebuildCurveOptions::ContextDistanceTolerance ( ) const
Returns
If the context of the rebuild calculation has a distance tolerance, that value is returned. Otherwise ON_DBL_QNAN is returned.

◆ CurrentOutputMaximumDeviation()

double CRhinoRebuildCurveOptions::CurrentOutputMaximumDeviation ( ) const
Returns
If the input has been used to calculate rebuilt curves, this is the maximum deviation between an input target curve and the corresponding output rebuilt curve. Otherwise, ON_DBL_QNAN is returned.

◆ CurrentOutputPointCountRange()

const ON_2dex CRhinoRebuildCurveOptions::CurrentOutputPointCountRange ( ) const
Returns
If the input has been used to calculate rebuilt curves, this is the range of point counts in the rebuilt curves. Otherwise, ON_2dex(0,0) is returned.

◆ CurrentOutputSpanCountRange()

const ON_2dex CRhinoRebuildCurveOptions::CurrentOutputSpanCountRange ( ) const
Returns
If the input has been used to calculate rebuilt curves, this is the range of span counts in the rebuilt curves. Otherwise, ON_2dex(0,0) is returned.

◆ CurrentOutputSummary()

const ON_wString CRhinoRebuildCurveOptions::CurrentOutputSummary ( ) const

◆ DebugDisplayBake()

bool CRhinoRebuildCurveOptions::DebugDisplayBake ( ) const

◆ DebugDisplayDraw()

bool CRhinoRebuildCurveOptions::DebugDisplayDraw ( ) const

◆ DebugOption()

enum CRhinoRebuildCurveOptions::DebugOptions CRhinoRebuildCurveOptions::DebugOption ( ) const

◆ Degree()

int CRhinoRebuildCurveOptions::Degree ( ) const

The degree the rebuit curves will have.

Returns
A value between ON_NurbsCurveFitParameters::MinimumDegree and ON_NurbsCurveFitParameters::MaximumDegree. Display this value int the dialog interface.

◆ DeleteInputCurves()

bool CRhinoRebuildCurveOptions::DeleteInputCurves ( ) const

◆ DocumentOptionsHash()

const ON_SHA1_Hash CRhinoRebuildCurveOptions::DocumentOptionsHash ( ) const

The value of DocumentOptionsHash() chages whenever any option that controls the document management like which layer the rebuilt curves will be added to and if the input curves should be deleted. The value of DocumentOptionsHash() does not change when options that control the geometry of the rebuilt curves change.

Returns
A SHA1 has of all the options that control the geometry of the rebuilt curves.

◆ GetOptions()

CRhinoCommand::result CRhinoRebuildCurveOptions::GetOptions ( CRhinoCommandContext::COMMAND_STYLE  ui_style,
ON__UINT_PTR  callback_context,
void(*)(ON__UINT_PTR callback_context, bool bRebuildOptionsChanged, bool bDisplayOptionsChanged, const CRhinoRebuildCurveOptions &options)  Callback 
)

After calling SetContext, call GetOptions() to interactively get curve rebuilding options.

Parameters
ui_styleCommand UI style
callback_contextFirst parameter passed to the Callback() function.
CallbackThe option getting code calls Callback() everytime and option value changes. Typically Callback() handles calculating the rebuilt curves and dynamically displaying them. callback_context is the value passed to GetOptions(). bRebuildOptionsChanged will be true if an option that controls the rebuilt curve geometry changes. bDisplayOptionsChanged will be true if an option that could effect dynamic display changes. options is the updated option values.
Returns

◆ InputCurveCount()

int CRhinoRebuildCurveOptions::InputCurveCount ( ) const

When input curves are being rebuilt, InputCurveCount() reports the number of input curves.

Returns
Number of curves being rebuilt or 0 if there are no input curves in the current context.

◆ InputDegreeRange()

const ON_2dex CRhinoRebuildCurveOptions::InputDegreeRange ( ) const

When input curves are being rebuilt, InputDegreeRange() reports the range of input curve degrees.

Returns
If input curves are being rebuilt, then InputDegreeRange() = (minimum input degree, maximum input degree). Otherwise InputDegreeRange() = (0,0).

◆ InputPointCountRange()

const ON_2dex CRhinoRebuildCurveOptions::InputPointCountRange ( ) const

When input curves are being rebuilt, InputPointCountRange() reports the range of input curve point counts.

Returns
If input curves are being rebuilt, then InputPointCountRange() = (minimum input point count, maximum input point count). Otherwise InputPointCountRange() = (0,0).

◆ InputSpanCountRange()

const ON_2dex CRhinoRebuildCurveOptions::InputSpanCountRange ( ) const

When input curves are being rebuilt, InputSpanCountRange() reports the range of input curve span counts.

Returns
If input curves are being rebuilt, then InputSpanCountRange() = (minimum input span count, maximum input span count). Otherwise InputSpanCountRange() = (0,0).

◆ InputSummary()

const ON_wString CRhinoRebuildCurveOptions::InputSummary ( ) const

◆ KinkAngleDegrees()

double CRhinoRebuildCurveOptions::KinkAngleDegrees ( ) const

◆ KinkAngleRadians()

double CRhinoRebuildCurveOptions::KinkAngleRadians ( ) const

◆ KinkDefinition()

const ON_CurveKinkDefinition CRhinoRebuildCurveOptions::KinkDefinition ( ) const

If KinkSplitting() is on, then, then KinkDefinition() specifies how target curve kinks are identified. The default value is ON_CurveKinkDefinition::DefaultTangentKink.

Returns
The values used to detect kinks in the target curve.

◆ KinkSplitting()

ON_NurbsCurveFitParameters::KinkSplit CRhinoRebuildCurveOptions::KinkSplitting ( ) const
Returns
True if rebuilt curves will be split at target curve kinks where a kink is specified by KinkDefinition().

◆ KinkSplittingPermitted()

bool CRhinoRebuildCurveOptions::KinkSplittingPermitted ( ) const
Returns
True if at least one curve in the current calculation or command has some type of kink and the user interface is permitted to offer kink splitting options.

◆ MaximumDegreeLimit()

const int CRhinoRebuildCurveOptions::MaximumDegreeLimit ( ) const
Returns
The maximum value a user interface may specify as a degree value.

◆ MaximumPointCount()

int CRhinoRebuildCurveOptions::MaximumPointCount ( ) const
Returns
The maximum point count. /returns>

◆ MaximumPointCountLimit()

const int CRhinoRebuildCurveOptions::MaximumPointCountLimit ( ) const
Returns
The maximum value a user interface may specify as a point count value.

◆ MinimumDegreeLimit()

const int CRhinoRebuildCurveOptions::MinimumDegreeLimit ( ) const
Returns
The mimimum value a user interface may specify as a degree value.

◆ MinimumPointCount()

int CRhinoRebuildCurveOptions::MinimumPointCount ( ) const
Returns
The minimum point count. /returns>

◆ MinimumPointCountLimit()

const int CRhinoRebuildCurveOptions::MinimumPointCountLimit ( ) const
Returns
The mimimum value a user interface may specify as a point count value.

◆ NurbsCurveFitParameters()

const ON_NurbsCurveFitParameters CRhinoRebuildCurveOptions::NurbsCurveFitParameters ( ) const

Returns
Returns the current options used to create the rebuilt curves.

◆ operator=()

CRhinoRebuildCurveOptions& CRhinoRebuildCurveOptions::operator= ( const CRhinoRebuildCurveOptions )
default

◆ OutputToCurrentLayer()

bool CRhinoRebuildCurveOptions::OutputToCurrentLayer ( ) const

◆ PointCount()

int CRhinoRebuildCurveOptions::PointCount ( ) const

If the minimum and maximum point counts are equal, that value is returned. Otherwise 0 is returned. NOTE WELL: The dialog code should use this value only when it is > 0.

Returns
If the minimum and maximum point counts are equal, that value is returned. Otherwise 0 is returned. /returns>

◆ PointCountLimits()

const ON_2dex CRhinoRebuildCurveOptions::PointCountLimits ( ) const

The minimum and maximum values a user interface may specify as a point count value.

Returns
ON_2dex( MinimumPointCountLimit(), MaximumPointCountLimit() )

◆ PointCountLimitsForDegree()

const ON_2dex CRhinoRebuildCurveOptions::PointCountLimitsForDegree ( int  degree,
bool  bSubDFriendly 
) const

The minimum and maximum values a user interface may specify as a point count value when degree is fixed. If the degree can be changed, use PointCountLimits() instead.

Parameters
degreeThe degree in the current context.
Returns
ON_2dex( MinimumPointCountLimit(), MaximumPointCountLimit() )

◆ PointCountRange()

const ON_2dex CRhinoRebuildCurveOptions::PointCountRange ( ) const

◆ PointCountRangeIsVariable()

bool CRhinoRebuildCurveOptions::PointCountRangeIsVariable ( ) const

Returns
True if the current options permit variable point counts.

◆ PointCountRangesPermitted()

bool CRhinoRebuildCurveOptions::PointCountRangesPermitted ( ) const
Returns
True if the user interface is permitted to offer a range of point counts via SetPointCountRange(). Otherwise the user interface can only offer a single value for point count. This value is set by SetContext() and is never changed during any subsequent interactive phases.

◆ PointCountRangeTolerance()

double CRhinoRebuildCurveOptions::PointCountRangeTolerance ( ) const

When a range of point counts is permitted, the rebuild caclulation will stop searching for better matches using more points when the deviation between the target curve and current rebuild candidate is &lt= PointCountRangeTolerance().

Returns

◆ RebuildOptionsHash()

const ON_SHA1_Hash CRhinoRebuildCurveOptions::RebuildOptionsHash ( ) const

The value of RebuildOptionsHash() changes whenever any option that controls the geometry of the rebuilt curves changes. These options include things like point count and degree. The value of RebuldOptionsHash() does not change when document management options change.

Returns
A SHA1 has of all the options that control the geometry of the rebuilt curves.

◆ RhinoDocumentSerialNumber()

unsigned CRhinoRebuildCurveOptions::RhinoDocumentSerialNumber ( ) const
Returns
When the rebuild is happening in a Rhino command, this is the serial number of the Rhino document where the command is running.

◆ SetContext()

void CRhinoRebuildCurveOptions::SetContext ( const CRhinoRebuildCurveOptions default_options,
unsigned int  rhino_doc_sn,
double  context_distance_tolerance,
double  context_angle_tolerance_radians,
int  input_curve_count,
ON_2dex  input_degree_range,
ON_2dex  input_point_count_range,
ON_2dex  input_span_count_range,
bool  bOpenTargetCurves,
bool  bClosedG0TargetCurves,
bool  bClosedG1TargetCurves,
bool  bTangentMatchingPermitted,
bool  bKinkSplittingPermitted,
bool  bPointCountRangesPermitted 
)

Interface to use to get and update options used in curve rebuilding.

Specify the context where the rebuild calculation is occuring. This is done one time by the code or command performing that is managing the calculation. User interface code should never call this function.

Parameters
default_optionsThese are the default values to begin and are typically the values from the most recent calculation in the same context. If you don't have context specific defaults, then pass CRhinoRebuildCurveOptions::Defaults;
rhino_doc_snIf the rebuild calculation is running in a Rhino command, pass the serial number of the Rhino document.
context_distance_tolerance0 < context_distance_tolerance
context_distance_tolerance0 < context_distance_tolerance
input_curve_countIf existing curves are being rebuilt, then pass the number of input curves. Otherwise pass 0.
input_degree_rangeIf existing curves are being rebuilt, then pass (minimum input degree, maximum input degree). Otherwise, pass(0,0).
input_point_count_rangeIf existing curves are being rebuilt, then pass (minimum input point count, maximum input point count). Otherwise, pass(0,0).
input_span_count_rangeIf existing curves are being rebuilt, then pass (minimum input span count, maximum input span count). Otherwise, pass(0,0).
context_angle_tolerance_radians0 <= context_angle_tolerance_radians <= pi.
bOpenTargetCurvesPass true if at least one of the target curves is open (different start and end points).
bClosedG0TargetCurvesPass true if at least one of the target curves is closed (equal start and end points) and has distinct tangents at the start and end.
bClosedG1TargetCurvesPass true if at least one of the target curves is closed (equal start and end points) and has equal tangents at the start and end.
bTangentMatchingPermittedPass true if the user interface should offer start/end tangent matching options when they are appropriate.
bKinkSplittingPermittedPass true if at least one of the target curves has a kink of some sort and the user interface is permitted to offer kink splitting options.
bPointCountRangesPermittedPass true if the user interface is permitted to offer a range of point counts and the rebuild will automatically choose the one with the smalles deviation.

◆ SetCurrentOutputProperties()

void CRhinoRebuildCurveOptions::SetCurrentOutputProperties ( ON_2dex  current_output_point_count_range,
ON_2dex  current_output_span_count_range,
double  current_output_maximum_deviation 
) const

If the output rebuilt curves have been calculated, the code performing the calculation can call SetCurrentOutputProperties() to update the values of CurrentOutputSpanCount(), CurrentOutputSpanCount(), and CurrentOutputMaximumDeviation(). User interface code that is getting and setting values, should never call this function.

Parameters
current_output_point_count_range
current_output_span_count_range
current_output_maximum_deviation

◆ SetDebugOption()

void CRhinoRebuildCurveOptions::SetDebugOption ( enum CRhinoRebuildCurveOptions::DebugOptions  debug_option)

◆ SetDegree()

void CRhinoRebuildCurveOptions::SetDegree ( int  degree)

Sets the degree used to rebuild curves. NOTE WELL: User interface code should not attempt to validate the value. All validation and implied adjustments are handled in one place in opennurbs. After changing any option value, the user interface should update all controls using the Degree(), MinimumPointCount(), MaximumPiontCount() etc., member functions.

Parameters
degreeDesired degree. This input will be ignored if it is outside the limits specified by MinimumDegreeLimit() and MaximumDegreeLimit().

◆ SetDeleteInputCurves()

void CRhinoRebuildCurveOptions::SetDeleteInputCurves ( bool  bDeleteInputCurves)

◆ SetKinkAngleDegrees()

void CRhinoRebuildCurveOptions::SetKinkAngleDegrees ( double  kink_angle_degrees)

◆ SetKinkAngleRadians()

void CRhinoRebuildCurveOptions::SetKinkAngleRadians ( double  kink_angle_radians)

◆ SetKinkSplitting()

void CRhinoRebuildCurveOptions::SetKinkSplitting ( ON_NurbsCurveFitParameters::KinkSplit  kink_splitting)

◆ SetNurbsCurveFitParametersForExperts()

void CRhinoRebuildCurveOptions::SetNurbsCurveFitParametersForExperts ( const ON_NurbsCurveFitParameters fit_parameters)

User interface code should NEVER call this function. This is a low level function used by the code that calculates the fits when a fit parameter needs to be adjusted. One situation is where a user has specified kink splitting and a point count that is not large enough to accomodate splitting and the kinks.

Parameters
fit_parameters

◆ SetOutputToCurrentLayer()

void CRhinoRebuildCurveOptions::SetOutputToCurrentLayer ( bool  bOutputToCurrentLayer)

◆ SetPointCount()

void CRhinoRebuildCurveOptions::SetPointCount ( int  point_count)

Set the minimum and maximum point count to the value of the point_count parameter. NOTE WELL: User interface code should not attempt to validate the value. All validation and implied adjustments are handled in one place in opennurbs. After changing any option value, the user interface should update all controls using the Degree(), PointCount(), etc., member functions. on this class.

Parameters
point_count

◆ SetPointCountRange()

void CRhinoRebuildCurveOptions::SetPointCountRange ( int  minimum_point_count,
int  maximum_point_count,
double  tolerance 
)

Use variable point counts to get a rebuilt curve with the fewest possible points that has a deviation &lt= tolerance.

Parameters
minimum_point_countMaximum number of points permitted in a rebuilt curve.
maximum_point_countMaximum number of points permitted in a rebuilt curve.
toleranceThe rebuild caclulation will stop searching for better matches using more points when the deviation between the target curve and current rebuild candidate is &lt= tolerance. To get the best possible fit in the range of point counts, pass 0.

◆ SetShowControlPoints()

void CRhinoRebuildCurveOptions::SetShowControlPoints ( bool  bShowControlPoints)

◆ SetSmoothingCoefficient()

void CRhinoRebuildCurveOptions::SetSmoothingCoefficient ( double  smoothing_coefficient)

◆ SetSmoothingIntensity()

void CRhinoRebuildCurveOptions::SetSmoothingIntensity ( ON_NurbsCurveFitParameters::Intensity  smoothing_intensity)

◆ SetSubDFriendly()

void CRhinoRebuildCurveOptions::SetSubDFriendly ( bool  bCreateSubDFriendlyCurves)

◆ SetTangentMatching()

void CRhinoRebuildCurveOptions::SetTangentMatching ( ON_NurbsCurveFitParameters::TangentMatch  tangent_matching)

Specifies if the tangents of the rebuilt curve match the tangents of the target curve.

Parameters
tangent_matching

◆ SetTargetSampleCount()

void CRhinoRebuildCurveOptions::SetTargetSampleCount ( int  target_sample_count)

NOTE WELL: Ordinary user interfaces should not expose this setting. This is an advanced debugging option that sets the number of points sampled from the target curve.

Parameters
target_sample_countAdvanced debugging option that users should never see.

◆ SetUniformityCoefficient()

void CRhinoRebuildCurveOptions::SetUniformityCoefficient ( double  uniformity_coefficient)

◆ SetUniformityIntensity()

void CRhinoRebuildCurveOptions::SetUniformityIntensity ( ON_NurbsCurveFitParameters::Intensity  uniformity_intensity)

◆ ShowControlPoints()

bool CRhinoRebuildCurveOptions::ShowControlPoints ( ) const
Returns
True if the control points of the rebuilt curves are displayed during the dynamic preview.

◆ SmoothingCoefficient()

double CRhinoRebuildCurveOptions::SmoothingCoefficient ( ) const

◆ SmoothingIntensity()

ON_NurbsCurveFitParameters::Intensity CRhinoRebuildCurveOptions::SmoothingIntensity ( ) const

◆ SmoothingPermitted()

bool CRhinoRebuildCurveOptions::SmoothingPermitted ( ) const

◆ SubDFriendly()

bool CRhinoRebuildCurveOptions::SubDFriendly ( ) const

◆ TangentMatching()

ON_NurbsCurveFitParameters::TangentMatch CRhinoRebuildCurveOptions::TangentMatching ( ) const
Returns
Determines if the tangents of the rebuilt curve match the tangents of the target curve.

◆ TangentMatchingPermitted()

bool CRhinoRebuildCurveOptions::TangentMatchingPermitted ( ) const
Returns
True if the user interface is permitted to offer tangent matching options.

◆ TargetSampleCount()

int CRhinoRebuildCurveOptions::TargetSampleCount ( ) const

NOTE WELL: Ordinary user interfaces should not expose this setting. This is an advanced debugging option that reports the number of points sampled from the target curve.

Returns
Advanced debugging option that users should never see.

◆ UniformityCoefficient()

double CRhinoRebuildCurveOptions::UniformityCoefficient ( ) const

◆ UniformityIntensity()

ON_NurbsCurveFitParameters::Intensity CRhinoRebuildCurveOptions::UniformityIntensity ( ) const

◆ UniformityPermitted()

bool CRhinoRebuildCurveOptions::UniformityPermitted ( ) const

Member Data Documentation

◆ Defaults

const CRhinoRebuildCurveOptions CRhinoRebuildCurveOptions::Defaults
static