﻿Curve Methods
 Curve Methods
Rhino for Mac 5.1

The Curve type exposes the following members.

Methods
NameDescription
ChangeClosedCurveSeam
If this curve is closed, then modify it so that the start/end point is at curve parameter t.
ChangeDimension
Changes the dimension of a curve.
ClosedCurveOrientation(Plane)
Determines the orientation (counterclockwise or clockwise) of a closed planar curve in a given plane. Only works with simple (no self intersections) closed planar curves.
ClosedCurveOrientation(Transform)
Determines the orientation (counterclockwise or clockwise) of a closed planar curve. Only works with simple (no self intersections) closed planar curves.
ClosedCurveOrientation(Vector3d)
Determines the orientation (counterclockwise or clockwise) of a closed planar curve in a given plane. Only works with simple (no self intersections) closed planar curves.
ClosestPoint(Point3d, Double)
Finds parameter of the point on a curve that is closest to testPoint. If the maximumDistance parameter is > 0, then only points whose distance to the given point is <= maximumDistance will be returned. Using a positive value of maximumDistance can substantially speed up the search.
ClosestPoint(Point3d, Double, Double)
Finds the parameter of the point on a curve that is closest to testPoint. If the maximumDistance parameter is > 0, then only points whose distance to the given point is <= maximumDistance will be returned. Using a positive value of maximumDistance can substantially speed up the search.
ClosestPoints(Curve, Point3d, Point3d)
Gets closest points between this and another curves.
ClosestPoints(IEnumerableGeometryBase, Point3d, Point3d, Int32)
Finds the object (and the closest point in that object) that is closest to this curve.

Breps, surfaces, curves and point clouds are examples of objects that can be passed to this function.

ClosestPoints(IEnumerableGeometryBase, Point3d, Point3d, Int32, Double)
Finds the object (and the closest point in that object) that is closest to this curve.

Breps, surfaces, curves and point clouds are examples of objects that can be passed to this function.

ComponentIndex
If this piece of geometry is a component in something larger, like a BrepEdge in a Brep, then this function returns the component index.
(Inherited from GeometryBase.)
ConstructConstObject
Assigns a parent object and a subobject index to this.
(Inherited from CommonObject.)
Contains(Point3d)
Computes the relationship between a point and a closed curve region. This curve must be closed or the return value will be Unset. Both curve and point are projected to the World XY plane.
Contains(Point3d, Plane)
Computes the relationship between a point and a closed curve region. This curve must be closed or the return value will be Unset.
Contains(Point3d, Plane, Double)
Computes the relationship between a point and a closed curve region. This curve must be closed or the return value will be Unset.
CreateBlendCurve(Curve, Curve, BlendContinuity)
Create a Blend curve between two existing curves.
CreateBlendCurve(Curve, Curve, BlendContinuity, Double, Double)
Create a Blend curve between two existing curves.
CreateBlendCurve(Curve, Double, Boolean, BlendContinuity, Curve, Double, Boolean, BlendContinuity)
Makes a curve blend between 2 curves at the parameters specified with the directions and continuities specified
CreateBooleanDifference(Curve, Curve)
Calculates the boolean difference between two closed, planar curves. Note, curves must be co-planar.
CreateBooleanDifference(Curve, IEnumerableCurve)
Calculates the boolean difference between a closed planar curve, and a list of closed planar curves. Note, curves must be co-planar.
CreateBooleanIntersection
Calculates the boolean intersection of two closed, planar curves. Note, curves must be co-planar.
CreateBooleanUnion
Calculates the boolean union of two or more closed, planar curves. Note, curves must be co-planar.
CreateControlPointCurve(IEnumerablePoint3d)
Constructs a control-point of degree=3 (or less).
CreateControlPointCurve(IEnumerablePoint3d, Int32)
Constructs a curve from a set of control-point locations.
CreateFillet
Computes the fillet arc for a curve filleting operation.
CreateFilletCurves
Creates a tangent arc between two curves and trims or extends the curves to the arc.
CreateInterpolatedCurve(IEnumerablePoint3d, Int32)
Interpolates a sequence of points. Used by InterpCurve Command This routine works best when degree=3.
CreateInterpolatedCurve(IEnumerablePoint3d, Int32, CurveKnotStyle)
Interpolates a sequence of points. Used by InterpCurve Command This routine works best when degree=3.
CreateInterpolatedCurve(IEnumerablePoint3d, Int32, CurveKnotStyle, Vector3d, Vector3d)
Interpolates a sequence of points. Used by InterpCurve Command This routine works best when degree=3.
CreateMeanCurve(Curve, Curve)
Constructs a mean, or average, curve from two curves.
CreateMeanCurve(Curve, Curve, Double)
Constructs a mean, or average, curve from two curves.
CreateTweenCurves
Creates curves between two open or closed input curves. Uses the control points of the curves for finding tween curves. That means the first control point of first curve is matched to first control point of the second curve and so on. There is no matching of curves direction. Caller must match input curves direction before calling the function.
CreateTweenCurvesWithMatching
Creates curves between two open or closed input curves. Make the structure of input curves compatible if needed. Refits the input curves to have the same structure. The resulting curves are usually more complex than input unless input curves are compatible and no refit is needed. There is no matching of curves direction. Caller must match input curves direction before calling the function.
CreateTweenCurvesWithSampling
Creates curves between two open or closed input curves. Use sample points method to make curves compatible. This is how the algorithm workd: Divides the two curves into an equal number of points, finds the midpoint between the corresponding points on the curves and interpolates the tween curve through those points. There is no matching of curves direction. Caller must match input curves direction before calling the function.
CurvatureAt
Evaluate the curvature vector at a curve parameter.
DerivativeAt(Double, Int32)
Evaluate the derivatives at the specified curve parameter.
DerivativeAt(Double, Int32, CurveEvaluationSide)
Evaluate the derivatives at the specified curve parameter.
Dispose
Actively reclaims unmanaged resources that this instance uses.
(Inherited from CommonObject.)
Dispose(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.

(Overrides CommonObjectDispose(Boolean).)
DivideAsContour
Divides this curve at fixed steps along a defined contour line.
DivideByCount(Int32, Boolean)
Divide the curve into a number of equal-length segments.
DivideByCount(Int32, Boolean, Point3d)
Divide the curve into a number of equal-length segments.
DivideByLength(Double, Boolean)
Divide the curve into specific length segments.
DivideByLength(Double, Boolean, Point3d)
Divide the curve into specific length segments.
DivideEquidistant
Calculates 3d points on a curve where the linear distance between the points is equal.
DoDirectionsMatch
Determines whether two curves travel more or less in the same direction.
Duplicate
Constructs an exact duplicate of this Curve.
(Overrides GeometryBaseDuplicate.)
DuplicateCurve
Constructs an exact duplicate of this curve.
DuplicateSegments
Polylines will be exploded into line segments. ExplodeCurves will return the curves in topological order.
DuplicateShallow
Constructs a light copy of this object. By "light", it is meant that the same underlying data is used until something is done to attempt to change it. For example, you could have a shallow copy of a very heavy mesh object and the same underlying data will be used when doing things like inspecting the number of faces on the mesh. If you modify the location of one of the mesh vertices, the shallow copy will create a full duplicate of the underlying mesh data and the shallow copy will become a deep copy.
(Inherited from GeometryBase.)
EnsurePrivateCopy
If you want to keep a copy of this class around by holding onto it in a variable after a command completes, call EnsurePrivateCopy to make sure that this class is not tied to the document. You can call this function as many times as you want.
(Inherited from CommonObject.)
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Extend(Interval)
Where possible, analytically extends curve to include the given domain. This will not work on closed curves. The original curve will be identical to the restriction of the resulting curve to the original curve domain.
Extend(Double, Double)
Where possible, analytically extends curve to include the given domain. This will not work on closed curves. The original curve will be identical to the restriction of the resulting curve to the original curve domain.
Extend(CurveEnd, CurveExtensionStyle, Point3d)
Extends a curve to a point.
Extend(CurveEnd, CurveExtensionStyle, IEnumerableGeometryBase)
Extends a curve until it intersects a collection of objects.
Extend(CurveEnd, Double, CurveExtensionStyle)
Extends a curve by a specific length.
ExtendByArc
Extends a curve by an Arc until it intersects a collection of objects.
ExtendByLine
Extends a curve by a line until it intersects a collection of objects.
ExtendOnSurface(CurveEnd, BrepFace)
Extends a curve on a surface.
ExtendOnSurface(CurveEnd, Surface)
Extends a curve on a surface.
Fair
Fairs a curve object. Fair works best on degree 3 (cubic) curves. Attempts to remove large curvature variations while limiting the geometry changes to be no more than the specified tolerance.
Finalize
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().
(Inherited from CommonObject.)
Fit
Fits a new curve through an existing curve.
FrameAt
Returns a 3d frame at a parameter.
GetBoundingBox(Boolean)
Boundingbox solver. Gets the world axis aligned boundingbox for the geometry.
(Inherited from GeometryBase.)
GetBoundingBox(Plane)
Aligned Boundingbox solver. Gets the plane aligned boundingbox.
(Inherited from GeometryBase.)
GetBoundingBox(Transform)
Aligned Boundingbox solver. Gets the world axis aligned boundingbox for the transformed geometry.
(Inherited from GeometryBase.)
GetBoundingBox(Plane, Box)
Aligned Boundingbox solver. Gets the plane aligned boundingbox.
(Inherited from GeometryBase.)
GetCurveParameterFromNurbsFormParameter
Convert a NURBS curve parameter to a curve parameter.
GetDistancesBetweenCurves
Computes the distances between two arbitrary curves that overlap.
GetFilletPoints
Finds points at which to cut a pair of curves so that a fillet of given radius can be inserted.
GetHashCode
Serves as the default hash function.
(Inherited from Object.)
GetLength
Gets the length of the curve with a fractional tolerance of 1.0e-8.
GetLength(Double)
Get the length of the curve.
GetLength(Interval)
Get the length of a sub-section of the curve with a fractional tolerance of 1e-8.
GetLength(Double, Interval)
Get the length of a sub-section of the curve.
GetNextDiscontinuity
Searches for a derivative, tangent, or curvature discontinuity.
GetNurbsFormParameterFromCurveParameter
Convert a curve parameter to a NURBS curve parameter.
GetObjectData
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
(Inherited from CommonObject.)
GetPerpendicularFrames
Gets a collection of perpendicular frames along the curve. Perpendicular frames are also known as 'Zero-twisting frames' and they minimize rotation from one frame to the next.
GetType
Gets the Type of the current instance.
(Inherited from Object.)
GetUserString
Gets user string from this geometry.
(Inherited from GeometryBase.)
GetUserStrings
Gets a copy of all (user key string, user value string) pairs attached to this geometry.
(Inherited from GeometryBase.)
HasNurbsForm
Does a NURBS curve representation of this curve exist?
IsArc
Test a curve to see if it can be represented by an arc or circle within RhinoMath.ZeroTolerance.
IsArc(Double)
Test a curve to see if it can be represented by an arc or circle within the given tolerance.
IsCircle
Test a curve to see if it can be represented by a circle within RhinoMath.ZeroTolerance.
IsCircle(Double)
Test a curve to see if it can be represented by a circle within the given tolerance.
IsClosable(Double)
Decide if it makes sense to close off this curve by moving the endpoint to the start based on start-end gap size and length of curve as approximated by chord defined by 6 points.
IsClosable(Double, Double, Double)
Decide if it makes sense to close off this curve by moving the endpoint to the start based on start-end gap size and length of curve as approximated by chord defined by 6 points.
IsContinuous
Test continuity at a curve parameter value.
IsEllipse
Test a curve to see if it can be represented by an ellipse within RhinoMath.ZeroTolerance.
IsEllipse(Double)
Test a curve to see if it can be represented by an ellipse within a given tolerance.
IsInPlane(Plane)
Test a curve to see if it lies in a specific plane.
IsInPlane(Plane, Double)
Test a curve to see if it lies in a specific plane.
IsLinear
Test a curve to see if it is linear to within RhinoMath.ZeroTolerance units (1e-12).
IsLinear(Double)
Test a curve to see if it is linear to within the custom tolerance.
IsPlanar
Test a curve for planarity.
IsPlanar(Double)
Test a curve for planarity.
IsPolyline
Several types of Curve can have the form of a polyline including a degree 1 NurbsCurve, a PolylineCurve, and a PolyCurve all of whose segments are some form of polyline. IsPolyline tests a curve to see if it can be represented as a polyline.
IsShort(Double)
Used to quickly find short curves.
IsShort(Double, Interval)
Used to quickly find short curves.
IsValidWithLog
Determines if an object is valid. Also provides a report on errors if this object happens not to be valid.
(Inherited from CommonObject.)
JoinCurves(IEnumerableCurve)
Joins a collection of curve segments together.
JoinCurves(IEnumerableCurve, Double)
Joins a collection of curve segments together.
JoinCurves(IEnumerableCurve, Double, Boolean)
Joins a collection of curve segments together.
LengthParameter(Double, Double)
Gets the parameter along the curve which coincides with a given length along the curve. A fractional tolerance of 1e-8 is used in this version of the function.
LengthParameter(Double, Double, Interval)
Gets the parameter along the curve which coincides with a given length along the curve. A fractional tolerance of 1e-8 is used in this version of the function.
LengthParameter(Double, Double, Double)
Gets the parameter along the curve which coincides with a given length along the curve.
LengthParameter(Double, Double, Double, Interval)
Gets the parameter along the curve which coincides with a given length along the curve.
MakeClosed
If IsClosed, just return true. Otherwise, decide if curve can be closed as follows: Linear curves polylinear curves with 2 segments, Nurbs with 3 or less control points cannot be made closed. Also, if tolerance > 0 and the gap between start and end is larger than tolerance, curve cannot be made closed. Adjust the curve's endpoint to match its start point.
MakeDeformable
If possible, converts the object into a form that can be accurately modified with "squishy" transformations like projections, shears, an non-uniform scaling.
(Inherited from GeometryBase.)
MakeEndsMeet
Makes adjustments to the ends of one or both input curves so that they meet at a point.
MemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
MemoryEstimate
Computes an estimate of the number of bytes that this object is using in memory.
(Inherited from GeometryBase.)
NonConstOperation
For derived classes implementers.

Defines the necessary implementation to free the instance from being const.

(Overrides CommonObjectNonConstOperation.)
NormalizedLengthParameter(Double, Double)
Input the parameter of the point on the curve that is a prescribed arc length from the start of the curve. A fractional tolerance of 1e-8 is used in this version of the function.
NormalizedLengthParameter(Double, Double, Interval)
Input the parameter of the point on the curve that is a prescribed arc length from the start of the curve. A fractional tolerance of 1e-8 is used in this version of the function.
NormalizedLengthParameter(Double, Double, Double)
Input the parameter of the point on the curve that is a prescribed arc length from the start of the curve.
NormalizedLengthParameter(Double, Double, Double, Interval)
Input the parameter of the point on the curve that is a prescribed arc length from the start of the curve.
NormalizedLengthParameters(Double, Double)
Input the parameter of the point on the curve that is a prescribed arc length from the start of the curve. A fractional tolerance of 1e-8 is used in this version of the function.
NormalizedLengthParameters(Double, Double, Interval)
Input the parameter of the point on the curve that is a prescribed arc length from the start of the curve. A fractional tolerance of 1e-8 is used in this version of the function.
NormalizedLengthParameters(Double, Double, Double)
Input the parameter of the point on the curve that is a prescribed arc length from the start of the curve.
NormalizedLengthParameters(Double, Double, Double, Interval)
Input the parameter of the point on the curve that is a prescribed arc length from the start of the curve.
Offset(Plane, Double, Double, CurveOffsetCornerStyle)
Offsets this curve. If you have a nice offset, then there will be one entry in the array. If the original curve had kinks or the offset curve had self intersections, you will get multiple segments in the offset_curves[] array.
Offset(Point3d, Vector3d, Double, Double, CurveOffsetCornerStyle)
Offsets this curve. If you have a nice offset, then there will be one entry in the array. If the original curve had kinks or the offset curve had self intersections, you will get multiple segments in the offset_curves[] array.
OffsetNormalToSurface
Finds a curve by offsetting an existing curve normal to a surface. The caller is responsible for ensuring that the curve lies on the input surface.
OffsetOnSurface(BrepFace, Point2d, Double)
Offset a curve on a brep face surface. This curve must lie on the surface.

This overload allows to specify a surface point at which the offset will pass.

OffsetOnSurface(BrepFace, Double, Double)
Offset this curve on a brep face surface. This curve must lie on the surface.
OffsetOnSurface(Surface, Point2d, Double)
Offset a curve on a surface. This curve must lie on the surface.

This overload allows to specify a surface point at which the offset will pass.

OffsetOnSurface(Surface, Double, Double)
Offset a curve on a surface. This curve must lie on the surface.
OffsetOnSurface(BrepFace, Double, Double, Double)
Offset a curve on a brep face surface. This curve must lie on the surface.

This overload allows to specify different offsets for different curve parameters.

OffsetOnSurface(Surface, Double, Double, Double)
Offset this curve on a surface. This curve must lie on the surface.

This overload allows to specify different offsets for different curve parameters.

OnSwitchToNonConst
Is called when a non-const operation occurs.
(Inherited from GeometryBase.)
PerpendicularFrameAt
Return a 3d frame at a parameter. This is slightly different than FrameAt in that the frame is computed in a way so there is minimal rotation from one frame to the next.
PlanarClosedCurveRelationship
Determines whether two coplanar simple closed curves are disjoint or intersect; otherwise, if the regions have a containment relationship, discovers which curve encloses the other.
PlanarCurveCollision
Determines if two coplanar curves collide (intersect).
PointAt
Evaluates point at a curve parameter.
PointAtLength
Gets a point at a certain length along the curve. The length must be non-negative and less than or equal to the length of the curve. Lengths will not be wrapped when the curve is closed or periodic.
PointAtNormalizedLength
Gets a point at a certain normalized length along the curve. The length must be between or including 0.0 and 1.0, where 0.0 equals the start of the curve and 1.0 equals the end of the curve.
ProjectToBrep(Curve, Brep, Vector3d, Double)
Projects a Curve onto a Brep along a given direction.
ProjectToBrep(Curve, IEnumerableBrep, Vector3d, Double)
Projects a Curve onto a collection of Breps along a given direction.
ProjectToBrep(IEnumerableCurve, IEnumerableBrep, Vector3d, Double)
Projects a collection of Curves onto a collection of Breps along a given direction.
ProjectToBrep(Curve, IEnumerableBrep, Vector3d, Double, Int32)
Projects a Curve onto a collection of Breps along a given direction.
ProjectToBrep(IEnumerableCurve, IEnumerableBrep, Vector3d, Double, Int32, Int32)
Projects a collection of Curves onto a collection of Breps along a given direction.
ProjectToMesh(Curve, Mesh, Vector3d, Double)
Projects a curve to a mesh using a direction and tolerance.
ProjectToMesh(Curve, IEnumerableMesh, Vector3d, Double)
Projects a curve to a set of meshes using a direction and tolerance.
ProjectToMesh(IEnumerableCurve, IEnumerableMesh, Vector3d, Double)
Projects a curve to a set of meshes using a direction and tolerance.
ProjectToPlane
Constructs a curve by projecting an existing curve to a plane.
PullToBrepFace(BrepFace, Double)
Pulls this curve to a brep face and returns the result of that operation.
PullToBrepFace(Curve, BrepFace, Double)
Pull a curve to a BrepFace using closest point projection.
PullToMesh
Makes a polyline approximation of the curve and gets the closest point on the mesh for each point on the curve. Then it "connects the points" so that you have a polyline on the mesh.
Rebuild
Rebuild a curve with a specific point count.
RemoveShortSegments
Looks for segments that are shorter than tolerance that can be removed. Does not change the domain, but it will change the relative parameterization.
Reverse
Reverses the direction of the curve.
Rotate
Rotates the object about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule).
(Inherited from GeometryBase.)
Scale
Scales the object by the specified factor. The scale is centered at the origin.
(Inherited from GeometryBase.)
SetEndPoint
Forces the curve to end at a specified point. Not all curve types support this operation.
SetStartPoint
Forces the curve to start at a specified point. Not all curve types support this operation.
SetUserString
Attach a user string (key,value combination) to this geometry.
(Inherited from GeometryBase.)
Simplify
Returns a geometrically equivalent PolyCurve.

The PolyCurve has the following properties

1. All the PolyCurve segments are LineCurve, PolylineCurve, ArcCurve, or NurbsCurve.

2. The Nurbs Curves segments do not have fully multiple interior knots.

3. Rational Nurbs curves do not have constant weights.

4. Any segment for which IsLinear() or IsArc() is true is a Line, Polyline segment, or an Arc.

5. Adjacent Colinear or Cocircular segments are combined.

6. Segments that meet with G1-continuity have there ends tuned up so that they meet with G1-continuity to within machine precision.

SimplifyEnd
Same as SimplifyCurve, but simplifies only the last two segments at "side" end.
SpanDomain
Get the domain of the curve span with the given index. Use the SpanCount property to test how many spans there are.
Split(IEnumerableDouble)
Splits (divides) the curve at a series of specified parameters. The parameter must be in the interior of the curve's domain.
Split(Double)
Splits (divides) the curve at the specified parameter. The parameter must be in the interior of the curve's domain.
Split(Brep, Double)
Splits a curve into pieces using a polysurface.
Split(Surface, Double)
Splits a curve into pieces using a surface.
TangentAt
Evaluates the unit tangent vector at a curve parameter.
ToNurbsCurve
Constructs a NURBS curve representation of this curve.
ToNurbsCurve(Interval)
Constructs a NURBS curve representation of this curve.
ToPolyline(Int32, Int32, Double, Double, Double, Double, Double, Double, Boolean)
Gets a polyline approximation of a curve.
ToPolyline(Int32, Int32, Double, Double, Double, Double, Double, Double, Boolean, Interval)
Gets a polyline approximation of a curve.
ToString
Returns a string that represents the current object.
(Inherited from Object.)
Transform
Transforms the geometry. If the input Transform has a SimilarityType of OrientationReversing, you may want to consider flipping the transformed geometry after calling this function when it makes sense. For example, you may want to call Flip() on a Brep after transforming it.
(Inherited from GeometryBase.)
Translate(Vector3d)
Translates the object along the specified vector.
(Inherited from GeometryBase.)
Translate(Double, Double, Double)
Translates the object along the specified vector.
(Inherited from GeometryBase.)
Trim(Interval)
Removes portions of the curve outside the specified interval.
Trim(Double, Double)
Removes portions of the curve outside the specified interval.
Trim(CurveEnd, Double)
Shortens a curve by a given length
TryGetArc(Arc)
Try to convert this curve into an Arc using RhinoMath.ZeroTolerance.
TryGetArc(Arc, Double)
Try to convert this curve into an Arc using a custom tolerance.
TryGetArc(Plane, Arc)
Try to convert this curve into an Arc using RhinoMath.ZeroTolerance.
TryGetArc(Plane, Arc, Double)
Try to convert this curve into an Arc using a custom tolerance.
TryGetCircle(Circle)
Try to convert this curve into a circle using RhinoMath.ZeroTolerance.
TryGetCircle(Circle, Double)
Try to convert this curve into a Circle using a custom tolerance.
TryGetEllipse(Ellipse)
Try to convert this curve into an Ellipse within RhinoMath.ZeroTolerance.
TryGetEllipse(Ellipse, Double)
Try to convert this curve into an Ellipse using a custom tolerance.
TryGetEllipse(Plane, Ellipse)
Try to convert this curve into an Ellipse within RhinoMath.ZeroTolerance.
TryGetEllipse(Plane, Ellipse, Double)
Try to convert this curve into an Ellipse using a custom tolerance.
TryGetPlane(Plane)
Test a curve for planarity and return the plane.
TryGetPlane(Plane, Double)
Test a curve for planarity and return the plane.
TryGetPolyline(Polyline)
Several types of Curve can have the form of a polyline including a degree 1 NurbsCurve, a PolylineCurve, and a PolyCurve all of whose segments are some form of polyline. IsPolyline tests a curve to see if it can be represented as a polyline.
TryGetPolyline(Polyline, Double)
Several types of Curve can have the form of a polyline including a degree 1 NurbsCurve, a PolylineCurve, and a PolyCurve all of whose segments are some form of polyline. IsPolyline tests a curve to see if it can be represented as a polyline.
Top