Represents an ordered set of points connected by linear segments.

Polylines are closed if start and end points coincide.

Constructors

Polyline

#Since v5.0
public Polyline()
Initializes a new empty polyline.

Polyline

#Since v5.0
public Polyline(IEnumerable<Point3d> collection)
Initializes a new polyline from a collection of points.
collection (IEnumerable<Point3d>)Points to copy into the local vertex array.

Polyline

#Since v5.0
public Polyline(int initialCapacity)
Initializes a new empty polyline with an initial capacity.
initialCapacity (int)Number of vertices this polyline can contain without resizing.

Properties

BoundingBox

public BoundingBox BoundingBox { get; }
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 fromPoint3dList

Capacity

public int Capacity { get; set; }
Gets or sets the total number of elements the internal data structure can hold without resizing.
inherited fromRhinoList<T>

Count

public int Count { get; }
Gets the number of elements actually contained in the List.
inherited fromRhinoList<T>

First

public T First { get; set; }
Gets or sets the first item in the list. This is synonymous to calling List[0].
inherited fromRhinoList<T>

IsClosed

#Since v5.0
public bool IsClosed { get; }
Test a polyline to see if it is closed.

IsValid

#Since v5.0
public bool IsValid { get; }
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.

Last

public T Last { get; set; }
Gets or sets the last item in the list. This is synonymous to calling List[Count-1].
inherited fromRhinoList<T>

Length

#Since v5.0
public double Length { get; }
Gets the total length of the polyline.

NullCount

public int NullCount { get; }
Gets the number of null references (Nothing in Visual Basic) in this list. If T is a ValueType, this property always return zero.
inherited fromRhinoList<T>

SegmentCount

#Since v5.0
public int SegmentCount { get; }
Gets the number of segments for this polyline.

X

public Point3dList.XAccess X { get; }
Returns an indexer with all X coordinates in this list.
inherited fromPoint3dList

Y

public Point3dList.YAccess Y { get; }
Returns an indexer with all Y coordinates in this list.
inherited fromPoint3dList

Z

public Point3dList.ZAccess Z { get; }
Returns an indexer with all Z coordinates in this list.
inherited fromPoint3dList

Indexers

this[]

public T this[int index] { get; set; }
Gets or sets the element at the specified index.
inherited fromRhinoList<T>
index (int)The zero-based index of the element to get or set.
The element at the specified index.

Methods

Add

public void Add(double x, double y, double z)
Adds a Point3d to the end of the list with given x,y,z coordinates.
inherited fromPoint3dList
x (double)The X coordinate.
y (double)The Y coordinate.
z (double)The Z coordinate.

Add

public void Add(T item)
Adds an object to the end of the List.
inherited fromRhinoList<T>
item (T)Item to append.

AddRange

public void AddRange(IEnumerable collection)
Adds the elements of the specified collection to the end of the List.
inherited fromRhinoList<T>
collection (IEnumerable)The collection whose elements should be added to the end of the List. The collection itself cannot be a null reference (Nothing in Visual Basic), but it can contain elements that are a null reference (Nothing in Visual Basic). Objects in collection which cannot be represented as T will throw exceptions.

AddRange

public void AddRange(IEnumerable<T> collection)
Adds the elements of the specified collection to the end of the List.
inherited fromRhinoList<T>
collection (IEnumerable<T>)The collection whose elements should be added to the end of the List. The collection itself cannot be a null reference (Nothing in Visual Basic), but it can contain elements that are a null reference (Nothing in Visual Basic), if type T is a reference type.

AsReadOnly

public ReadOnlyCollection<T> AsReadOnly()
Constructs a read-only wrapper of this class.
inherited fromRhinoList<T>
A wrapper.

BinarySearch

public int BinarySearch(int index, int count, T item, IComparer<T> comparer)
Searches the entire sorted List for an element using the specified comparer and returns the zero-based index of the element.
inherited fromRhinoList<T>
index (int)The zero-based starting index of the range to search.
count (int)The length of the range to search.
item (T)The object to locate. The value can be a null reference (Nothing in Visual Basic) for reference types.
comparer (IComparer<T>)The IComparer(T) implementation to use when comparing elements. Or a null reference (Nothing in Visual Basic) to use the default comparer Comparer(T)::Default.
The zero-based index of item in the sorted List, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of Count.

BinarySearch

public int BinarySearch(T item, IComparer<T> comparer)
Searches the entire sorted List for an element using the specified comparer and returns the zero-based index of the element.
inherited fromRhinoList<T>
item (T)The object to locate. The value can be a null reference (Nothing in Visual Basic) for reference types.
comparer (IComparer<T>)The IComparer(T) implementation to use when comparing elements. Or a null reference (Nothing in Visual Basic) to use the default comparer Comparer(T)::Default.
The zero-based index of item in the sorted List, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of Count.

BinarySearch

public int BinarySearch(T item)
Searches the entire sorted List for an element using the default comparer and returns the zero-based index of the element.
inherited fromRhinoList<T>
item (T)The object to locate. The value can be a null reference (Nothing in Visual Basic) for reference types.
The zero-based index of item in the sorted List, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of Count.

BreakAtAngles

#Since v5.0
[ConstOperation] public Polyline[] BreakAtAngles(double angle)
Breaks this polyline into sections at sharp kinks. Closed polylines will also be broken at the first and last vertex.
angle (double)Angle (in radians) between adjacent segments for a break to occur.
An array of polyline segments, or null on error.

CenterPoint

#Since v5.0
[ConstOperation] public Point3d CenterPoint()
Compute the center point of the polyline as the weighted average of all segments.
The weighted average of all segments.

Clear

public void Clear()
Removes all elements from the List.
inherited fromRhinoList<T>

ClosestIndex

public int ClosestIndex(Point3d testPoint)
Finds the index of the point that is closest to a test point in this list.
inherited fromPoint3dList
testPoint (Point3d)point to compare against.
index of closest point in the list on success. -1 on error.

ClosestParameter

#Since v5.0
[ConstOperation] public double ClosestParameter(Point3d testPoint)
Gets the parameter along the polyline which is closest to a test-point.
testPoint (Point3d)Point to approximate.
The parameter along the polyline closest to testPoint.

ClosestPoint

#Since v5.0
[ConstOperation] public Point3d ClosestPoint(Point3d testPoint)
Gets the point on the polyline which is closest to a test-point.
testPoint (Point3d)Point to approximate.
The point on the polyline closest to testPoint.

CollapseShortSegments

#Since v5.0
public int CollapseShortSegments(double tolerance)
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.
tolerance (double)Tolerance to use during collapsing.
The number of segments that were collapsed.

Contains

public bool Contains(T item)
Determines whether an element is in the List.
inherited fromRhinoList<T>
item (T)The object to locate in the List. The value can be a null reference (Nothing in Visual Basic) for reference types.
true if item is found in the List; otherwise, false.

ConvertAll<TOutput>

public RhinoList<TOutput> ConvertAll<TOutput>(Converter<T, TOutput> converter)
Aggregates all results of a conversion function over this table into a new list.
inherited fromRhinoList<T>
converter (Converter<T, TOutput>)A conversion function that can transform from T to TOutput.
The new list.

CopyTo

public void CopyTo(int index, T[] array, int arrayIndex, int count)
Copies a range of elements from the List to a compatible one-dimensional array, starting at the specified index of the target array.
inherited fromRhinoList<T>
index (int)The zero-based index in the source List at which copying begins.
array (T[])The one-dimensional Array that is the destination of the elements copied from List. The Array must have zero-based indexing.
arrayIndex (int)The zero-based index in array at which copying begins.
count (int)The number of elements to copy.

CopyTo

public void CopyTo(T[] array, int arrayIndex)
Copies the entire List to a compatible one-dimensional array, starting at the specified index of the target array.
inherited fromRhinoList<T>
array (T[])The one-dimensional Array that is the destination of the elements copied from List. The Array must have zero-based indexing.
arrayIndex (int)The zero-based index in array at which copying begins.

CopyTo

public void CopyTo(T[] array)
Copies the entire List to a compatible one-dimensional array, starting at the beginning of the target array.
inherited fromRhinoList<T>
array (T[])The one-dimensional Array that is the destination of the elements copied from List. The Array must have zero-based indexing.

CreateByJoiningLines

#Since v8.0
public static Polyline[] CreateByJoiningLines(IEnumerable<Line> lines, double tolerance, bool splitAtIntersections)
Creates polylines by joining lines.
lines (IEnumerable<Line>)An array, a list or any enumerable of lines.
tolerance (double)The threshold distance for joining lines.
splitAtIntersections (bool)If true, splits lines at intersections.

CreateCircumscribedPolygon

#Since v6.10
public static Polyline CreateCircumscribedPolygon(Circle circle, int sideCount)
Create a regular polygon circumscribe about a circle. The midpoints of the polygon's edges will be tangent to the circle.
circle (Circle)The circle.
sideCount (int)The number of sides
A closed polyline if successful, null otherwise.

CreateInscribedPolygon

#Since v6.10
public static Polyline CreateInscribedPolygon(Circle circle, int sideCount)
Create a regular polygon inscribed in a circle. The vertices of the polygon will be on the circle.
circle (Circle)The circle.
sideCount (int)The number of sides
A closed polyline if successful, null otherwise.

CreateStarPolygon

#Since v6.10
public static Polyline CreateStarPolygon(Circle circle, double radius, int cornerCount)
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.
circle (Circle)The circle.
radius (double)The radius of other circle.
cornerCount (int)The number of corners on the circle. There will be 2*cornerCount sides and 2*cornerCount vertices.
A closed polyline if successful, null otherwise.

DeleteShortSegments

#Since v5.0
public int DeleteShortSegments(double tolerance)
Removes all points that are closer than tolerance to the previous point.

Start and end points are left intact.

tolerance (double)Vertices closer together than tolerance will be removed.
Number of points (and segments) removed.

Duplicate

#Since v6.0
[ConstOperation] public Polyline Duplicate()
Returns a deep copy of this polyline instance.
The duplicated polyline.

Equals

public override bool Equals(object obj)
Overrides the default object equality to compare lists by value.
inherited fromPoint3dList
obj (object)
True is objects are exactly equal in value.
Object.Equals

Equals

public bool Equals(Point3dList other)
Determines if the point lists are exactly equal.
inherited fromPoint3dList
other (Point3dList)
True is objects are exactly equal in value.

Exists

public bool Exists(Predicate<T> match)
Determines whether the List contains elements that match the conditions defined by the specified predicate.
inherited fromRhinoList<T>
match (Predicate<T>)The Predicate(T) delegate that defines the conditions of the elements to search for.
true if the List contains one or more elements that match the conditions defined by the specified predicate; otherwise, false.

Find

public T Find(Predicate<T> match)
Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire List.
inherited fromRhinoList<T>
match (Predicate<T>)The Predicate(T) delegate that defines the conditions of the element to search for.
The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type T.

FindAll

public RhinoList<T> FindAll(Predicate<T> match)
Retrieves all the elements that match the conditions defined by the specified predicate.
inherited fromRhinoList<T>
match (Predicate<T>)The Predicate(T) delegate that defines the conditions of the elements to search for.
A ON_List(T) containing all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty ON_List(T).

FindIndex

public int FindIndex(int startIndex, int count, Predicate<T> match)
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 fromRhinoList<T>
startIndex (int)The zero-based starting index of the search.
count (int)The number of elements in the section to search.
match (Predicate<T>)The Predicate(T) delegate that defines the conditions of the element to search for.
The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, -1.

FindIndex

public int FindIndex(int startIndex, Predicate<T> match)
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 fromRhinoList<T>
startIndex (int)The zero-based starting index of the search.
match (Predicate<T>)The Predicate(T) delegate that defines the conditions of the element to search for.
The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, -1.

FindIndex

public int FindIndex(Predicate<T> match)
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 fromRhinoList<T>
match (Predicate<T>)The Predicate(T) delegate that defines the conditions of the element to search for.
The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, -1.

FindLast

public T FindLast(Predicate<T> match)
Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire List.
inherited fromRhinoList<T>
match (Predicate<T>)The Predicate(T) delegate that defines the conditions of the element to search for.
The last element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type T.

FindLastIndex

public int FindLastIndex(int startIndex, int count, Predicate<T> match)
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 fromRhinoList<T>
startIndex (int)The zero-based starting index of the backward search.
count (int)The number of elements in the section to search.
match (Predicate<T>)The Predicate(T) delegate that defines the conditions of the element to search for.
The zero-based index of the last occurrence of an element that matches the conditions defined by match, if found; otherwise, -1.

FindLastIndex

public int FindLastIndex(int startIndex, Predicate<T> match)
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 fromRhinoList<T>
startIndex (int)The zero-based starting index of the backward search.
match (Predicate<T>)The Predicate(T) delegate that defines the conditions of the element to search for.
The zero-based index of the last occurrence of an element that matches the conditions defined by match, if found; otherwise, -1.

FindLastIndex

public int FindLastIndex(Predicate<T> match)
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 fromRhinoList<T>
match (Predicate<T>)The Predicate(T) delegate that defines the conditions of the element to search for.
The zero-based index of the last occurrence of an element that matches the conditions defined by match, if found; otherwise, -1.

ForEach

public void ForEach(Action<T> action)
Performs the specified action on each element of the List.
inherited fromRhinoList<T>
action (Action<T>)The Action(T) delegate to perform on each element of the List.

GetEnumerator

public IEnumerator<T> GetEnumerator()
Constructs an enumerator that is capable of iterating over all items in this list.
inherited fromRhinoList<T>
The new enumerator.

GetHashCode

public override int GetHashCode()
Creates a hash code for this object.
inherited fromPoint3dList
An int that serves as an hash code. This is currently a XOR of all doubles, XORed in line.

GetRange

public RhinoList<T> GetRange(int index, int count)
Constructs a shallow copy of a range of elements in the source List.
inherited fromRhinoList<T>
index (int)The zero-based List index at which the range starts.
count (int)The number of elements in the range.
A shallow copy of a range of elements in the source List.

GetSegments

#Since v5.0
[ConstOperation] public Line[] GetSegments()
Constructs an array of line segments that make up the entire polyline.
An array of line segments or null if the polyline contains fewer than 2 points.

IndexOf

public int IndexOf(T item, int index, int count)
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 fromRhinoList<T>
item (T)The object to locate in the List. The value can be a null reference (Nothing in Visual Basic) for reference types.
index (int)The zero-based starting index of the search.
count (int)The number of elements in the section to search.
The zero-based index of the first occurrence of item within the entire List, if found; otherwise, -1.

IndexOf

public int IndexOf(T item, int index)
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 fromRhinoList<T>
item (T)The object to locate in the List. The value can be a null reference (Nothing in Visual Basic) for reference types.
index (int)The zero-based starting index of the search.
The zero-based index of the first occurrence of item within the entire List, if found; otherwise, -1.

IndexOf

public int IndexOf(T item)
Searches for the specified object and returns the zero-based index of the first occurrence within the entire List.
inherited fromRhinoList<T>
item (T)The object to locate in the List. The value can be a null reference (Nothing in Visual Basic) for reference types.
The zero-based index of the first occurrence of item within the entire List, if found; otherwise, -1.

Insert

public void Insert(int index, T item)
Inserts an element into the List at the specified index.
inherited fromRhinoList<T>
index (int)The zero-based index at which item should be inserted.
item (T)The object to insert. The value can be a null reference (Nothing in Visual Basic) for reference types.

InsertRange

public void InsertRange(int index, IEnumerable<T> collection)
Inserts the elements of a collection into the List at the specified index.
inherited fromRhinoList<T>
index (int)The zero-based index at which the new elements should be inserted.
collection (IEnumerable<T>)The collection whose elements should be inserted into the List. The collection itself cannot be a null reference (Nothing in Visual Basic), but it can contain elements that are a null reference (Nothing in Visual Basic), if type T is a reference type.

IsClosedWithinTolerance

#Since v5.0
public bool IsClosedWithinTolerance(double tolerance)
Test a polyline to see if it is closed.
tolerance (double)The tolerance.
Returns true if polyline has 4 or more points, the distance between the start and end points is <= tolerance, and there is a point in the polyline whose distance from the start and end points is > tolerance.

IsConvexLoop

#Since v8.28
public bool IsConvexLoop(bool strictlyConvex)
Determines if a polyline is convex.
strictlyConvex (bool)If false, collinear segments are considered convex.
True if the polyline is a closed, convex loop.

LastIndexOf

public int LastIndexOf(T item, int index, int count)
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 fromRhinoList<T>
item (T)The object to locate in the List. The value can be a null reference (Nothing in Visual Basic) for reference types.
index (int)The zero-based starting index of the backward search.
count (int)The number of elements in the section to search.
The zero-based index of the last occurrence of item within the entire the List, if found; otherwise, -1.

LastIndexOf

public int LastIndexOf(T item, int index)
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 fromRhinoList<T>
item (T)The object to locate in the List. The value can be a null reference (Nothing in Visual Basic) for reference types.
index (int)The zero-based starting index of the backward search.
The zero-based index of the last occurrence of item within the entire the List, if found; otherwise, -1.

LastIndexOf

public int LastIndexOf(T item)
Searches for the specified object and returns the zero-based index of the last occurrence within the entire List.
inherited fromRhinoList<T>
item (T)The object to locate in the List. The value can be a null reference (Nothing in Visual Basic) for reference types.
The zero-based index of the last occurrence of item within the entire the List, if found; otherwise, -1.

MergeColinearSegments

#Since v6.3
public int MergeColinearSegments(double angleTolerance, bool includeSeam)
Merge co-linear consecutive segments in a polyline. This method will automatically remove any zero-length segments as well.
angleTolerance (double)The angle tolerance between adjacent segments for collinearity test.
includeSeam (bool)If true, the seam point of a closed polyline will be moved forwards if it is collinear too.
Number of segments removed from the entire polyline.

PointAt

#Since v5.0
[ConstOperation] public Point3d PointAt(double t)
Gets the point on the polyline at the given parameter. The integer part of the parameter indicates the index of the segment.
t (double)Polyline parameter.
The point on the polyline at t.

ReduceSegments

#Since v5.0
public int ReduceSegments(double tolerance)
Constructs a reduction of this polyline by recursively removing the least significant segments.
tolerance (double)Tolerance for reduction. Whenever a vertex of the polyline is more significant than tolerance, it will be included in the reduction.
The number of vertices that disappeared due to reduction.

RemapIndex

public int RemapIndex(int index)
Remap an index in the infinite range onto the List index range.
inherited fromRhinoList<T>
index (int)Index to remap.
Remapped index.

Remove

public bool Remove(T item)
Removes the first occurrence of a specific object from the List.
inherited fromRhinoList<T>
item (T)The object to remove from the List. The value can be a null reference (Nothing in Visual Basic) for reference types.
true if item is successfully removed; otherwise, false. This method also returns false if item was not found in the List.

RemoveAll

public int RemoveAll(Predicate<T> match)
Removes the all the elements that match the conditions defined by the specified predicate.
inherited fromRhinoList<T>
match (Predicate<T>)The Predicate(T) delegate that defines the conditions of the elements to remove.
The number of elements removed from the List.

RemoveAt

public void RemoveAt(int index)
Removes the element at the specified index of the List.
inherited fromRhinoList<T>
index (int)The zero-based index of the element to remove.

RemoveNearlyEqualSubsequentPoints

#Since v7.1
public void RemoveNearlyEqualSubsequentPoints(double tolerance)
Removes one copy of a point that is equal to the previous or later point, by an absolute tolerance factor.
tolerance (double)

RemoveNulls

public int 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 fromRhinoList<T>
The number of nulls removed from the List.

RemoveRange

public void RemoveRange(int index, int count)
Removes a range of elements from the List.
inherited fromRhinoList<T>
index (int)The zero-based starting index of the range of elements to remove.
count (int)The number of elements to remove.

Reverse

public void Reverse()
Reverses the order of the elements in the entire List.
inherited fromRhinoList<T>

Reverse

public void Reverse(int index, int count)
Reverses the order of the elements in the specified range.
inherited fromRhinoList<T>
index (int)The zero-based starting index of the range to reverse.
count (int)The number of elements in the range to reverse.

SegmentAt

#Since v5.0
[ConstOperation] public Line SegmentAt(int index)
Gets the line segment at the given index.
index (int)Index of segment to retrieve.
Line segment at index or Line.Unset on failure.

SetAllX

public void SetAllX(double xValue)
Set all the X values for the points to a single value
inherited fromPoint3dList
xValue (double)

SetAllY

public void SetAllY(double yValue)
Set all the Y values for the points to a single value
inherited fromPoint3dList
yValue (double)

SetAllZ

public void SetAllZ(double zValue)
Set all the Z values for the points to a single value
inherited fromPoint3dList
zValue (double)

Smooth

#Since v5.0
public bool Smooth(double amount)
Smoothen the polyline segments by averaging adjacent vertices. Smoothing requires a polyline with exclusively valid vertices.
amount (double)Amount to smooth. Zero equals no smoothing, one equals complete smoothing.
true on success, false on failure.

Sort

public void Sort()
Sorts the elements in the entire List using the default comparer.
inherited fromRhinoList<T>

Sort

public void Sort(Comparison<T> comparison)
Sorts the elements in the entire list using the specified comparer.
inherited fromRhinoList<T>
comparison (Comparison<T>)The System.Comparison(T) to use when comparing elements.

Sort

public void Sort(double[] keys)
Sort this list based on a list of numeric keys of equal length. The keys array will not be altered.
inherited fromRhinoList<T>
Remarks: This function does not exist on the DotNET List class. David thought it was a good idea.
keys (double[])Numeric keys to sort with.

Sort

public void Sort(IComparer<T> comparer)
Sorts the elements in the entire list using the specified System.Comparison(T)
inherited fromRhinoList<T>
comparer (IComparer<T>)The IComparer(T) implementation to use when comparing elements, or a null reference (Nothing in Visual Basic) to use the default comparer Comparer(T).Default.

Sort

public void Sort(int index, int count, IComparer<T> comparer)
Sorts the elements in a range of elements in list using the specified comparer.
inherited fromRhinoList<T>
index (int)The zero-based starting index of the range to sort.
count (int)The length of the range to sort.
comparer (IComparer<T>)The IComparer(T) implementation to use when comparing elements, or a null reference (Nothing in Visual Basic) to use the default comparer Comparer(T).Default.

Sort

public void Sort(int[] keys)
Sort this list based on a list of numeric keys of equal length. The keys array will not be altered.
inherited fromRhinoList<T>
Remarks: This function does not exist on the DotNET List class. David thought it was a good idea.
keys (int[])Numeric keys to sort with.
Explicit

ICloneable.Clone

#

TangentAt

#Since v5.0
[ConstOperation] public Vector3d TangentAt(double t)
Gets the unit tangent vector along the polyline at the given parameter. The integer part of the parameter indicates the index of the segment.
t (double)Polyline parameter.
The tangent along the polyline at t.

ToArray

public T[] ToArray()
Constructs an array that contains all items in this list.
inherited fromRhinoList<T>
An array containing all items in this list.

ToNurbsCurve

#Since v5.0
[ConstOperation] public NurbsCurve ToNurbsCurve()
Constructs a nurbs curve representation of this polyline.
A Nurbs curve shaped like this polyline or null on failure.

ToPolylineCurve

#Since v6.0
[ConstOperation] public PolylineCurve ToPolylineCurve()
Constructs a polyline curve representation of this polyline.
A curve shaped like this polyline or null on failure.

Transform

public void Transform(Transform xform)
Applies a transform to all the points in the list.
inherited fromPoint3dList
xform (Transform)Transform to apply.

TriangulateClosedPolyline

#Since v5.0
[ConstOperation] public MeshFace[] TriangulateClosedPolyline()
Attempts to create a list of triangles which represent a triangulation of a closed polyline

Trim

#Since v5.0
[ConstOperation] public Polyline Trim(Interval domain)
Constructs a polyline out of a parameter sub-domain in this curve.
domain (Interval)The sub-domain of the polyline. The integer part of the domain parameters indicate the index of the segment.
The polyline as defined by the sub-domain, or null on failure.

TrimExcess

public void TrimExcess()
Sets the capacity to the actual number of elements in the List, if that number is less than a threshold value.
inherited fromRhinoList<T>
Remarks: This function differs from the DotNET implementation of List<T> since that one only trims the excess if the excess exceeds 10% of the list length.

TrueForAll

public bool TrueForAll(Predicate<T> match)
Determines whether every element in the List matches the conditions defined by the specified predicate.
inherited fromRhinoList<T>
match (Predicate<T>)The Predicate(T) delegate that defines the conditions to check against the elements.
true if every element in the List matches the conditions defined by the specified predicate; otherwise, false. If the list has no elements, the return value is true.