Polyline
Represents an ordered set of points connected by linear segments.
Polylines are closed if start and end points coincide.
Inheritance Hierarchy
System.Object
Rhino.Collections.RhinoList. Point3d.
Rhino.Collections.Point3dList
Rhino.Geometry.Polyline
Namespace: Rhino.Geometry
Assembly: RhinoCommon (in RhinoCommon.dll)
Syntax
[SerializableAttribute]public class Polyline : Point3dList, ICloneable
The Polyline type exposes the following members.
Constructors
Name
Description
Public Method
Polyline.
Initializes a new empty polyline.
Public Method
Polyline(IEnumerable.Point3d.)
Initializes a new polyline from a collection of points.
Public Method
Polyline(Int32)
Initializes a new empty polyline with an initial capacity.
Properties
Name
Description
Public Property
BoundingBox
Even though this is a property, it is not a “fast” calculation. Every point is evaluated in order to get the bounding box of the list.
(Inherited from Point3dList.)
Public Property
Capacity
Gets or sets the total number of elements the internal data structure can hold without resizing.
(Inherited from RhinoList.T..)
Public Property
Count
Gets the number of elements actually contained in the List.
(Inherited from RhinoList.T..)
Public Property
First
Gets or sets the first item in the list. This is synonymous to calling List[0].
(Inherited from RhinoList.T..)
Public Property
IsClosed
Test a polyline to see if it is closed.
Public Property
IsValid
Gets a value that indicates whether this polyline is valid.
Valid polylines have at least one segment, no Invalid points and no zero length segments.
Closed polylines with only two segments are also not considered valid.
Public Property
Item
Gets or sets the element at the specified index.
(Inherited from RhinoList.T..)
Public Property
Last
Gets or sets the last item in the list. This is synonymous to calling List[Count-1].
(Inherited from RhinoList.T..)
Public Property
Length
Gets the total length of the polyline.
Public Property
NullCount
Gets the number of null references (Nothing in Visual Basic) in this list. If T is a ValueType, this property always return zero.
(Inherited from RhinoList.T..)
Public Property
SegmentCount
Gets the number of segments for this polyline.
Public Property
X
Returns an indexer with all X coordinates in this list.
(Inherited from Point3dList.)
Public Property
Y
Returns an indexer with all Y coordinates in this list.
(Inherited from Point3dList.)
Public Property
Z
Returns an indexer with all Z coordinates in this list.
(Inherited from Point3dList.)
Methods
Name
Description
Public Method
Add(T)
Adds an object to the end of the List.
(Inherited from RhinoList.T..)
Public Method
Code Example
Add(Double, Double, Double)
Adds a Point3d to the end of the list with given x,y,z coordinates.
(Inherited from Point3dList.)
Public Method
AddRange(IEnumerable)
Adds the elements of the specified collection to the end of the List.
(Inherited from RhinoList.T..)
Public Method
AddRange(IEnumerable.T.)
Adds the elements of the specified collection to the end of the List.
(Inherited from RhinoList.T..)
Public Method
AsReadOnly
Constructs a read-only wrapper of this class.
(Inherited from RhinoList.T..)
Public Method
BinarySearch(T)
Searches the entire sorted List for an element using the default comparer and returns the zero-based index of the element.
(Inherited from RhinoList.T..)
Public Method
BinarySearch(T, IComparer.T.)
Searches the entire sorted List for an element using the specified comparer and returns the zero-based index of the element.
(Inherited from RhinoList.T..)
Public Method
BinarySearch(Int32, Int32, T, IComparer.T.)
Searches the entire sorted List for an element using the specified comparer and returns the zero-based index of the element.
(Inherited from RhinoList.T..)
Public Method
BreakAtAngles
Breaks this polyline into sections at sharp kinks. Closed polylines will also be broken at the first and last vertex.
Public Method
CenterPoint
Compute the center point of the polyline as the weighted average of all segments.
Public Method
Clear
Removes all elements from the List.
(Inherited from RhinoList.T..)
Public Method
ClosestIndex
Finds the index of the point that is closest to a test point in this list.
(Inherited from Point3dList.)
Public Method
ClosestParameter
Gets the parameter along the polyline which is closest to a test-point.
Public Method
ClosestPoint
Gets the point on the polyline which is closest to a test-point.
Public Method
CollapseShortSegments
Collapses all segments until none are shorter than tolerance. This function is significantly slower than DeleteShortSegments, since it recursively operates on the shortest segment. When a segment is collapsed the end-points are placed in the center of the segment.
Public Method
Contains
Determines whether an element is in the List.
(Inherited from RhinoList.T..)
Public Method
ConvertAll.TOutput.
Aggregates all results of a conversion function over this table into a new list.
(Inherited from RhinoList.T..)
Public Method
CopyTo(.T.)
Copies the entire List to a compatible one-dimensional array, starting at the beginning of the target array.
(Inherited from RhinoList.T..)
Public Method
CopyTo(.T., Int32)
Copies the entire List to a compatible one-dimensional array, starting at the specified index of the target array.
(Inherited from RhinoList.T..)
Public Method
CopyTo(Int32, .T., Int32, Int32)
Copies a range of elements from the List to a compatible one-dimensional array, starting at the specified index of the target array.
(Inherited from RhinoList.T..)
Public Method
Static Member
CreateByJoiningLines
Creates polylines by joining lines.
Public Method
Static Member
CreateCircumscribedPolygon
Create a regular polygon circumscribe about a circle. The midpoints of the polygon’s edges will be tangent to the circle.
Public Method
Static Member
CreateInscribedPolygon
Create a regular polygon inscribed in a circle. The vertices of the polygon will be on the circle.
Public Method
Static Member
CreateStarPolygon
Create a regular star polygon. The star begins at circle.PointAt(0) and the vertices alternate between being on circle and begin on a concentric circle of other_radius.
Public Method
DeleteShortSegments
Removes all points that are closer than tolerance to the previous point.
Start and end points are left intact.
Public Method
Duplicate
Returns a deep copy of this polyline instance.
Public Method
Equals(Object)
Overrides the default object equality to compare lists by value.
(Inherited from Point3dList.)
Public Method
Equals(Point3dList)
Determines if the point lists are exactly equal.
(Inherited from Point3dList.)
Public Method
Exists
Determines whether the List contains elements that match the conditions defined by the specified predicate.
(Inherited from RhinoList.T..)
Protected Method
Finalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public Method
Find
Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire List.
(Inherited from RhinoList.T..)
Public Method
FindAll
Retrieves all the elements that match the conditions defined by the specified predicate.
(Inherited from RhinoList.T..)
Public Method
FindIndex(Predicate.T.)
Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire List.
(Inherited from RhinoList.T..)
Public Method
FindIndex(Int32, Predicate.T.)
Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire List.
(Inherited from RhinoList.T..)
Public Method
FindIndex(Int32, Int32, Predicate.T.)
Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the List that extends from the specified index to the last element.
(Inherited from RhinoList.T..)
Public Method
FindLast
Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire List.
(Inherited from RhinoList.T..)
Public Method
FindLastIndex(Predicate.T.)
Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire List.
(Inherited from RhinoList.T..)
Public Method
FindLastIndex(Int32, Predicate.T.)
Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire List.
(Inherited from RhinoList.T..)
Public Method
FindLastIndex(Int32, Int32, Predicate.T.)
Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire List.
(Inherited from RhinoList.T..)
Public Method
ForEach
Performs the specified action on each element of the List.
(Inherited from RhinoList.T..)
Public Method
GetEnumerator
Constructs an enumerator that is capable of iterating over all items in this list.
(Inherited from RhinoList.T..)
Public Method
GetHashCode
Creates a hash code for this object.
(Inherited from Point3dList.)
Public Method
GetRange
Constructs a shallow copy of a range of elements in the source List.
(Inherited from RhinoList.T..)
Public Method
GetSegments
Constructs an array of line segments that make up the entire polyline.
Public Method
GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public Method
IndexOf(T)
Searches for the specified object and returns the zero-based index of the first occurrence within the entire List.
(Inherited from RhinoList.T..)
Public Method
IndexOf(T, Int32)
Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the List that extends from the specified index to the last element.
(Inherited from RhinoList.T..)
Public Method
IndexOf(T, Int32, Int32)
Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the List that starts at the specified index and contains the specified number of elements.
(Inherited from RhinoList.T..)
Public Method
Insert
Inserts an element into the List at the specified index.
(Inherited from RhinoList.T..)
Public Method
InsertRange
Inserts the elements of a collection into the List at the specified index.
(Inherited from RhinoList.T..)
Public Method
IsClosedWithinTolerance
Test a polyline to see if it is closed.
Public Method
LastIndexOf(T)
Searches for the specified object and returns the zero-based index of the last occurrence within the entire List.
(Inherited from RhinoList.T..)
Public Method
LastIndexOf(T, Int32)
Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the List that extends from the first element to the specified index.
(Inherited from RhinoList.T..)
Public Method
LastIndexOf(T, Int32, Int32)
Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the List that contains the specified number of elements and ends at the specified index.
(Inherited from RhinoList.T..)
Protected Method
MemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public Method
MergeColinearSegments
Merge co-linear consecutive segments in a polyline. This method will automatically remove any zero-length segments as well.
Public Method
PointAt
Gets the point on the polyline at the given parameter. The integer part of the parameter indicates the index of the segment.
Public Method
ReduceSegments
Constructs a reduction of this polyline by recursively removing the least significant segments.
Public Method
RemapIndex
Remap an index in the infinite range onto the List index range.
(Inherited from RhinoList.T..)
Public Method
Remove
Removes the first occurrence of a specific object from the List.
(Inherited from RhinoList.T..)
Public Method
RemoveAll
Removes the all the elements that match the conditions defined by the specified predicate.
(Inherited from RhinoList.T..)
Public Method
RemoveAt
Removes the element at the specified index of the List.
(Inherited from RhinoList.T..)
Public Method
RemoveNearlyEqualSubsequentPoints
Removes one copy of a point that is equal to the previous or later point, by an absolute tolerance factor.
Public Method
RemoveNulls
Removes all elements from the List that are null references (Nothing in Visual Basic). This function will not do anything if T is not a Reference type.
(Inherited from RhinoList.T..)
Public Method
RemoveRange
Removes a range of elements from the List.
(Inherited from RhinoList.T..)
Public Method
Reverse.
Reverses the order of the elements in the entire List.
(Inherited from RhinoList.T..)
Public Method
Reverse(Int32, Int32)
Reverses the order of the elements in the specified range.
(Inherited from RhinoList.T..)
Public Method
SegmentAt
Gets the line segment at the given index.
Public Method
SetAllX
Set all the X values for the points to a single value
(Inherited from Point3dList.)
Public Method
SetAllY
Set all the Y values for the points to a single value
(Inherited from Point3dList.)
Public Method
SetAllZ
Set all the Z values for the points to a single value
(Inherited from Point3dList.)
Public Method
Smooth
Smoothen the polyline segments by averaging adjacent vertices. Smoothing requires a polyline with exclusively valid vertices.
Public Method
Sort.
Sorts the elements in the entire List using the default comparer.
(Inherited from RhinoList.T..)
Public Method
Sort(Comparison.T.)
Sorts the elements in the entire list using the specified comparer.
(Inherited from RhinoList.T..)
Public Method
Sort(.Double.)
Sort this list based on a list of numeric keys of equal length. The keys array will not be altered.
(Inherited from RhinoList.T..)
Public Method
Sort(IComparer.T.)
Sorts the elements in the entire list using the specified System.Comparison(T)
(Inherited from RhinoList.T..)
Public Method
Sort(.Int32.)
Sort this list based on a list of numeric keys of equal length. The keys array will not be altered.
(Inherited from RhinoList.T..)
Public Method
Sort(Int32, Int32, IComparer.T.)
Sorts the elements in a range of elements in list using the specified comparer.
(Inherited from RhinoList.T..)
Public Method
TangentAt
Gets the unit tangent vector along the polyline at the given parameter. The integer part of the parameter indicates the index of the segment.
Public Method
ToArray
Constructs an array that contains all items in this list.
(Inherited from RhinoList.T..)
Public Method
ToNurbsCurve
Constructs a nurbs curve representation of this polyline.
Public Method
ToPolylineCurve
Constructs a polyline curve representation of this polyline.
Public Method
ToString
Returns a string that represents the current object.
(Inherited from Object.)
Public Method
Transform
Applies a transform to all the points in the list.
(Inherited from Point3dList.)
Public Method
TriangulateClosedPolyline
Attempts to create a list of triangles which represent a triangulation of a closed polyline
Public Method
Trim
Constructs a polyline out of a parameter sub-domain in this curve.
Public Method
TrimExcess
Sets the capacity to the actual number of elements in the List, if that number is less than a threshold value.
(Inherited from RhinoList.T..)
Public Method
TrueForAll
Determines whether every element in the List matches the conditions defined by the specified predicate.
(Inherited from RhinoList.T..)