Click or drag to resize

CrossSectionPointList Class

The points contained in a cross section. The points need not be sorted by the x value.
Inheritance Hierarchy
SystemObject
  DHI.Mike1D.CrossSectionModuleCrossSectionPointList

Namespace:  DHI.Mike1D.CrossSectionModule
Assembly:  DHI.Mike1D.CrossSectionModule (in DHI.Mike1D.CrossSectionModule.dll) Version: 19.0.0.0 (11.1.1.1111)
Syntax
public class CrossSectionPointList : IList<ICrossSectionPoint>, 
	ICollection<ICrossSectionPoint>, IEnumerable<ICrossSectionPoint>, IEnumerable, 
	ICloneable, IExtensibleDataObject

The CrossSectionPointList type exposes the following members.

Constructors
  NameDescription
Public methodCrossSectionPointList
Initializes a new instance of the CrossSectionPointList class
Top
Properties
  NameDescription
Public propertyCount
The number of points defining this cross section.
Public propertyExtensionData
Holds data from an extended DataContract
Public propertyIsReadOnly
Always false
Public propertyItem
Indexer. For more compact .Net code. Getter calls , setter calls .
Public propertyLstPoints
List of cross section points.
Top
Methods
  NameDescription
Public methodAdd
Appends a point to the collection of points defining this cross section. To insert into the collection, use Insert(Int32, ICrossSectionPoint).
Public methodAddRange
Appends several points to the collection of points defining this cross section.
Public methodCalculateLocalBottomLevel
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.

Public methodClear
clear the list of points
Public methodClone
ICloneable implementation. deep clone, including owner
Public methodContains
Determines whether the collection contains a specific point.
Public methodCopyTo
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFindPointIndeces(Double)
return all 0-BASED indedes of points at a given x, or empty array
Public methodFindPointIndeces(Double, Double)
return all 0-BASED indexes of points at a given x, or empty array
Public methodFindPointIndex(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.
Public methodFindPointIndex(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.
Public methodGetEnumerator
Returns an enumerator that iterates through the collection.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetXMax
returns the maximum x value [m], or double.MinValue if list is empty.
Public methodGetXMin
returns the min x value [m], or double.MaxValue if list is empty.
Public methodIndexOf
Searches for the specified object and returns the zero-based index of the first occurrence within the entire list. -1 if not found.
Public methodInsert
Inserts a point into the collection of points defining this cross section. To append to the collection, use Add(ICrossSectionPoint).
Public methodInsertRange
Inserts several points into the collection of points defining this cross section. To append to the collection, use Add(ICrossSectionPoint).
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodPrepare
Prepare the list. Checks if points are increasing in x, and allows faster searching if they are.
Public methodRemove
Removes the first occurrence of a specific point
Public methodRemoveAt
Remove a point from the collection of points defining this cross section. Sets Owner of that point to null.
Public methodRemoveRange
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.
Public methodCode exampleToArrayT
Method to extract a specific property from all cross section points.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Extension Methods
  NameDescription
Public Extension MethodBinarySearchICrossSectionPoint(ICrossSectionPoint)Overloaded.
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.)
Public Extension MethodCode exampleBinarySearchICrossSectionPoint(FuncICrossSectionPoint, Int32)Overloaded.
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.

Examples
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.)
Public Extension MethodBinarySearchICrossSectionPoint(ICrossSectionPoint, IComparerICrossSectionPoint)Overloaded.
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.)
Public Extension MethodBinarySearchICrossSectionPoint, TKey(FuncICrossSectionPoint, TKey, TKey)Overloaded.
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.)
Public Extension MethodBinarySearchICrossSectionPoint, TKey(FuncICrossSectionPoint, TKey, TKey, IComparerTKey)Overloaded.
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.)
Public Extension MethodFindIndexICrossSectionPoint(PredicateICrossSectionPoint)Overloaded.
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.
(Defined by GenericExtensions.)
Public Extension MethodFindIndexICrossSectionPoint(Int32, PredicateICrossSectionPoint)Overloaded.
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 ListT that extends from the specified index to the last element.
(Defined by GenericExtensions.)
Public Extension MethodSortICrossSectionPointOverloaded.
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.)
Public Extension MethodSortICrossSectionPoint(IComparerICrossSectionPoint)Overloaded.
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.)
Public Extension MethodSortStableICrossSectionPointOverloaded. (Defined by GenericExtensions.)
Public Extension MethodSortStableICrossSectionPoint(IComparerICrossSectionPoint)Overloaded.
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.)
Public Extension MethodSortStableICrossSectionPoint(ComparisonICrossSectionPoint)Overloaded.
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.)
Top
See Also