NaughtyCurveCurveAssistant
CurveAssistant<1>Properties
IsReimplementation
Gets whether or not this assistant is a type-safe re-implementation of a more generic assistant.
Implements: IsReimplementation
ReimplementationBase
Gets the base assistant (if any) this assistant is a re-implementation of.
Implements: ReimplementationBase
Implements: Type
Methods
ConvertToNurbsCurve
Convert the instance into a Rhino NURBS curve type which best describes the original instance. Note this method need not return a duplicate of the input, if a duplicate is required by the caller then a ReferenceEquals check must be performed.
Parameters:
| instance (T) | Instance to convert. |
Returns: A Rhino NURBS curve or null if there is no way to describe the curve geometry as NURBS.
ConvertToPolyline
Convert the instance into a polyline.
ConvertToRhinoCurve
#Parameters:
| instance (NaughtyCurve) |
Overrides: CurveAssistant<T>.ConvertToRhinoCurve
DivideByCount
#Parameters:
| instance (NaughtyCurve) | |
| count (int) |
Overrides: CurveAssistant<T>.DivideByCount
DivideByDistance
#Parameters:
| instance (NaughtyCurve) | |
| distance (double) |
Overrides: CurveAssistant<T>.DivideByDistance
DivideByLength
#Parameters:
| instance (NaughtyCurve) | |
| length (double) |
Overrides: CurveAssistant<T>.DivideByLength
EvaluateCurvature
#public override Vector3d EvaluateCurvature(NaughtyCurve instance, double parameter, CurveEvaluationSide side)
Parameters:
| instance (NaughtyCurve) | |
| parameter (double) | |
| side (CurveEvaluationSide) |
Overrides: CurveAssistant<T>.EvaluateCurvature
EvaluateDerivatives
#public override Vector3d[] EvaluateDerivatives(NaughtyCurve instance, double parameter, CurveEvaluationSide side, int count)
Parameters:
| instance (NaughtyCurve) | |
| parameter (double) | |
| side (CurveEvaluationSide) | |
| count (int) |
Overrides: CurveAssistant<T>.EvaluateDerivatives
EvaluatePerpendicular
#public override Plane EvaluatePerpendicular(NaughtyCurve instance, double parameter, CurveEvaluationSide side)
Parameters:
| instance (NaughtyCurve) | |
| parameter (double) | |
| side (CurveEvaluationSide) |
Overrides: CurveAssistant<T>.EvaluatePerpendicular
EvaluatePosition
#Parameters:
| instance (NaughtyCurve) | |
| parameter (double) |
Overrides: CurveAssistant<T>.EvaluatePosition
EvaluateTangent
#public override Vector3d EvaluateTangent(NaughtyCurve instance, double parameter, CurveEvaluationSide side)
Parameters:
| instance (NaughtyCurve) | |
| parameter (double) | |
| side (CurveEvaluationSide) |
Overrides: CurveAssistant<T>.EvaluateTangent
Explode
Explode a curve into smaller segments, each representing a subtype of curve.
Parameters:
| instance (T) | Instance. |
Returns: Array of subcurves.
ExplodeRecursive
Explode a curve into the smallest possible segments.
Parameters:
| instance (T) | Instance. |
Returns: Array of subcurves.
Extend
Extend the curve.
Parameters:
| instance (T) | Instance of T. |
| start (CurveExtension) | Extension properties at start. |
| end (CurveExtension) | Extension properties at end. |
Returns: Modified curve.
FindClosestParameter
#Parameters:
| instance (NaughtyCurve) | |
| point (Point3d) |
Overrides: CurveAssistant<T>.FindClosestParameter
FindCurvatureExtremes
Find the two parameters with the lowest and highest curvature.
FindDiscontinuities
Find all discontinuities along the curve up to and including a target continuity type.
Parameters:
| instance (T) | Instance. |
| order (DiscontinuityLevel) | Maximum continuity order to search for. |
Returns: Array of curve discontinuities.
FindFurthestParameter
Find the point on the curve furthest from a test point.
Parameters:
| instance (T) | Instance of T. |
| point (Point3d) | Test point. |
Returns: Parameter or double.NaN if no parameter could be found.
FindInflections
Find all inflection points along the curve.
Parameters:
| instance (T) | Instance. |
Returns: Array of curve parameters.
FindPositionExtremes
Find the two parameters closest to and furthest away from a plane.
Parameters:
| instance (T) | Instance to flip. |
Returns: Flipped curve.
Parameters:
| instance (T) | Instance of T. |
Returns: Domain of curve.
GetEndPoints
Get the end-points of a curve.
GetEndTangents
Get the tangents at the ends of a curve.
Parameters:
| instance (T) | Instance. |
Returns: Length.
GetSpans
Gets an array of curve domain spans. A span is a section of the curve that is reasonably simple in shape. Discontinuities in curves typically signal transitions from one span to another, but it depends on the curve type how it divides itself up.
Parameters:
| instance (T) | Instance. |
Returns: Span domains.
IntersectWith
Find all the intersection parameters between this curve and a plane.
Parameters:
| instance (T) | Curve. |
| plane (Plane) | Plane. |
Returns: Collection of zero or more curve parameters.
IsLinear
Determine whether the curve is linear.
Parameters:
| instance (T) | Instance. |
| tolerance (double) | Maximum allowed linearity deviation. |
Returns: True if curve is linear.
IsLinear
Determine the best fit line for this curve.
Parameters:
| instance (T) | Instance of T. |
Returns: Boolean value indicating periodicity.
IsPlanar
Determine whether the curve is planar.
Parameters:
| instance (T) | Instance of T. |
| tolerance (double) | Maximum allowed planarity deviation. |
Returns: Boolean value indicating planarity.
IsPlanar
Determine the best fit plane for this curve.
LengthAtParameter
#Parameters:
| instance (NaughtyCurve) | |
| parameter (double) | |
| length (out double) |
Overrides: CurveAssistant<T>.LengthAtParameter
ParameterAtLength
#Parameters:
| instance (NaughtyCurve) | |
| length (double) | |
| parameter (out double) |
Overrides: CurveAssistant<T>.ParameterAtLength
SetDomain
Assign a new parameter domain to the curve.
Parameters:
| instance (T) | Instance. |
| domain (Interval) | New domain to assign. |
Returns: Curve with new domain.
Split
Split a curve into two parts.
Trim
Extract a subcurve from an instance of T.
Parameters:
| instance (T) | Instance of T. |
| domain (Interval) | Domain of subcurve. |
Returns: Sub curve.