Interpolator

RhinoList<1>
public class Interpolator : RhinoList<double>
Exposes a set of standard numeric interpolation algorithms.

Constructors

Interpolator

#Since v5.0
public Interpolator()
Constructs a new, empty Interpolator.

Interpolator

#Since v5.0
public Interpolator(IEnumerable<double> collection)
Constructs an Interpolator from a collection of numbers.
collection (IEnumerable<double>)Collection of numbers to duplicate.

Interpolator

#Since v5.0
public Interpolator(int amount, double defaultValue)
Constructs a new Interpolator with a specified amount of numbers.
amount (int)Number of values to add to this Interpolator. Must be equal to or larger than zero.
defaultValue (double)Number to add.

Interpolator

#Since v5.0
public Interpolator(int initialCapacity)
Constructs an empty Interpolator with a certain capacity.
initialCapacity (int)Number of items this interpolator can store without resizing.

Interpolator

#Since v5.0
public Interpolator(RhinoList<double> list)
Copy all the numbers from an existing RhinoList.
list (RhinoList<double>)List to mimic.

Properties

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>

Cyclical

#Since v5.0
public bool Cyclical { get; set; }
Gets or sets a value indicating whether or not the values inside this Interpolator are to be treated as cyclical (i.e. circular).

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>

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>

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>

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(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.

Clear

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

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.

Duplicate

public RhinoList<T> Duplicate()
Returns a shallow copy of this instance. If the generic type is comprised of only value types (struct, enum, ptr), then the result will be a deep copy.
inherited fromRhinoList<T>
The duplicated list.

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.

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.

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.

InterpolateCatmullRom

#Since v5.0
public double InterpolateCatmullRom(double t)
Sample the list of numbers with Catmull-Rom interpolation.
t (double)Parameter to sample at. The integer portion of the parameter indicates the index of the left-hand value. If this Interpolator is cyclical, parameters will be wrapped.
The sampled value at t.

InterpolateCosine

#Since v5.0
public double InterpolateCosine(double t)
Sample the list of numbers with cosine interpolation.
t (double)Parameter to sample at. The integer portion of the parameter indicates the index of the left-hand value. If this Interpolator is cyclical, parameters will be wrapped.
The sampled value at t.

InterpolateCubic

#Since v5.0
public double InterpolateCubic(double t)
Sample the list of numbers with cubic interpolation.
t (double)Parameter to sample at. The integer portion of the parameter indicates the index of the left-hand value. If this Interpolator is cyclical, parameters will be wrapped.
The sampled value at t.

InterpolateLinear

#Since v5.0
public double InterpolateLinear(double t)
Sample the list of numbers with linear interpolation.
t (double)Parameter to sample at. The integer portion of the parameter indicates the index of the left-hand value. If this Interpolator is cyclical, parameters will be wrapped.
The sampled value at t.

InterpolateNearestNeighbour

#Since v5.0
public double InterpolateNearestNeighbour(double t)
Sample the list of numbers with Nearest Neighbor interpolation.
t (double)Parameter to sample at. The integer portion of the parameter indicates the index of the left-hand value. If this Interpolator is cyclical, parameters will be wrapped.
The sampled value at t.

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.

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.

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.

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.

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.

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.