CrossSectionPointList Class

The points contained in a cross section. The points need not be sorted by the x value.

Definition

Namespace: DHI.Mike1D.CrossSectionModule
Assembly: DHI.Mike1D.CrossSectionModule (in DHI.Mike1D.CrossSectionModule.dll) Version: 24.0.0.0 (11.1.1.1111)
C#
public class CrossSectionPointList : IList<ICrossSectionPoint>, 
	ICollection<ICrossSectionPoint>, IEnumerable<ICrossSectionPoint>, IEnumerable, 
	IReadOnlyList<ICrossSectionPoint>, IReadOnlyCollection<ICrossSectionPoint>, ICloneable, 
	IExtensibleDataObject
Inheritance
Object    CrossSectionPointList
Implements
ICollectionICrossSectionPoint, IEnumerableICrossSectionPoint, IListICrossSectionPoint, IReadOnlyCollectionICrossSectionPoint, IReadOnlyListICrossSectionPoint, IEnumerable, ICloneable, IExtensibleDataObject

Constructors

CrossSectionPointListInitializes a new instance of the CrossSectionPointList class

Properties

Count The number of points defining this cross section.
ExtensionData Holds data from an extended DataContract
IsReadOnly Always false
Item Indexer. For more compact .Net code. Getter calls , setter calls .
LstPoints List of cross section points.

Methods

Add Appends a point to the collection of points defining this cross section. To insert into the collection, use Insert(Int32, ICrossSectionPoint).
AddRange Appends several points to the collection of points defining this cross section.
CalculateLocalBottomLevel Calculates the local bottom level for the coordinate, by interpolation.

In case more than one cross section line segment contains x, the first is returned.

Clear clear the list of points
Clone ICloneable implementation. deep clone, including owner
Contains Determines whether the collection contains a specific point.
CopyToCopies the elements of the ICollectionT to an Array, starting at a particular Array index.
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
FindPointIndex(Double, Boolean) finds the 0-BASED index (within the list) of the first point with given x coordinate, -1 if not found, and indicate if there are several points at that x.
FindPointIndex(Double, Double, Boolean) finds the 0-BASED index (within the list) of the first point with given x coordinate, -1 if not found, and indicate if there are several points at that x.
FindPointIndices(Double) return all 0-BASED indedes of points at a given x, or empty array
FindPointIndices(Double, Double) return all 0-BASED indexes of points at a given x, or empty array
GetEnumerator Returns an enumerator that iterates through the collection.
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetInterval Finds the interval in a vector where the argument lays in between. Assumes that the vector has at least two elements.

Check GetInterval(Double, Double, Double) for details

GetTypeGets the Type of the current instance.
(Inherited from Object)
GetXMax returns the maximum x value [m], or double.MinValue if list is empty.
GetXMin returns the min x value [m], or double.MaxValue if list is empty.
IndexOf Searches for the specified object and returns the zero-based index of the first occurrence within the entire list. -1 if not found.
Insert Inserts a point into the collection of points defining this cross section. To append to the collection, use Add(ICrossSectionPoint).
InsertRange Inserts several points into the collection of points defining this cross section. To append to the collection, use Add(ICrossSectionPoint).
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Prepare Prepare the list. Checks if points are increasing in x, and allows faster searching if they are.
Remove Removes the first occurrence of a specific point
RemoveAt Remove a point from the collection of points defining this cross section. Sets Owner of that point to null.
RemoveRange Remove a point from the collection of points defining this cross section. Sets Owner of that point to null. Note: indexes are shifted when starting points are removed.
ToArrayT Method to extract a specific property from all cross section points.
ToStringReturns a string that represents the current object.
(Inherited from Object)

Extension Methods

BinarySearchICrossSectionPoint Searches the entire sorted IListT for an element using the provided comparer and returns the zero-based index of the element.

This differs from the "ordinary" binary search in allowing a comparer delegate that defines whether an item is found (returning 0), whether the item in the list is before (<0) or after (>0) that knows how to compare a class with its key. Example, if the list contains classes of type T having an id number and the class is sorted on that id, then the keySelector returns the id number for that class.

Example

If having a list of doubles, to find 4.5 in the list, use: int index = list.BinarySearch(d => d.CompareTo(4.5))

(Defined by GenericExtensions)
BinarySearchICrossSectionPoint Searches the entire sorted IListT for an element and returns the zero-based index of the element.

If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e. list[interval-1] < key < list[interval]


(Defined by GenericExtensions)
BinarySearchICrossSectionPoint Searches the entire sorted IListT for an element using the provided comparer and returns the zero-based index of the element.

If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e. list[interval-1] < key < list[interval]


(Defined by GenericExtensions)
BinarySearchICrossSectionPoint, TKey Searches the entire sorted IListT for an element and returns the zero-based index of the element.

If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e. list[interval-1] < key < list[interval]

This differs from the "ordinary" binary search in allowing a keySelectorcomparer that knows how to compare a class with its key. Example, if the list contains classes of type T having an id number and the class is sorted on that id, then the keySelector returns the id number for that class.


(Defined by GenericExtensions)
BinarySearchICrossSectionPoint, TKey Searches the entire sorted IListT for an element using the provided comparer and returns the zero-based index of the element.

If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e. list[interval-1] < key < list[interval]

This differs from the "ordinary" binary search in allowing a keySelectorcomparer that knows how to compare a class with its key. Example, if the list contains classes of type T having an id number and the class is sorted on that id, then the keySelector returns the id number for that class.


(Defined by GenericExtensions)
BinarySearchROICrossSectionPoint, TKey Searches the entire sorted IReadOnlyListT for an element and returns the zero-based index of the element.

If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e. list[interval-1] < key < list[interval]

This differs from the "ordinary" binary search in allowing a keySelectorcomparer that knows how to compare a class with its key. Example, if the list contains classes of type T having an id number and the class is sorted on that id, then the keySelector returns the id number for that class.


(Defined by GenericExtensions)
BinarySearchROICrossSectionPoint, TKey Searches the entire sorted IReadOnlyListT for an element using the provided comparer and returns the zero-based index of the element.

If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e. list[interval-1] < key < list[interval]

This differs from the "ordinary" binary search in allowing a keySelectorcomparer that knows how to compare a class with its key. Example, if the list contains classes of type T having an id number and the class is sorted on that id, then the keySelector returns the id number for that class.


(Defined by GenericExtensions)
FindIndexICrossSectionPointSearches 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.
(Defined by GenericExtensions)
FindIndexICrossSectionPointSearches 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 ListT that extends from the specified index to the last element.
(Defined by GenericExtensions)
SortICrossSectionPoint Sorts the elements in the entire List{T} using the default comparer.

A quick sort algorithm is used. Quick sort is a un-stable sort algorithm i.e. if two elements are equal their order may not be preserved.

If the provided IList is either an array or a list, the build in sorting method is used (also quick sort).


(Defined by GenericExtensions)
SortICrossSectionPoint Sorts the elements in the entire List{T} using the provided comparer.

A quick sort algorithm is used. Quick sort is a un-stable sort algorithm i.e. if two elements are equal their order may not be preserved.

If the provided IList is either an array or a list, the build in sorting method is used (also quick sort).


(Defined by GenericExtensions)
SortStableICrossSectionPoint Sorts the elements in the entire List{T} using the default comparer.

A merge sort algorithm is used. merge sort is a stable sort algorithm i.e. if two elements are equal their order are preserved.


(Defined by GenericExtensions)
SortStableICrossSectionPoint Sorts the elements in the entire List{T} using the provided comparer.

A merge sort algorithm is used. merge sort is a stable sort algorithm i.e. if two elements are equal their order are preserved.


(Defined by GenericExtensions)
SortStableICrossSectionPoint Sorts the elements in the entire List{T} using the provided comparer.

A merge sort algorithm is used. merge sort is a stable sort algorithm i.e. if two elements are equal their order are preserved.


(Defined by GenericExtensions)

See Also