Click or drag to resize

DHI.Mike1D.Generic Namespace

Generic library for the MIKE 1D system.
Classes
  ClassDescription
Public classAbstractDataAccess
Abstract base class for all Mike1D data access modules
Public classAbstractLocationSpan
Abstract class implementing the base functionality for a location span
Public classAbstractNetworkDataExtensions
Public classADQuantities
Provides methods for creating AD quantities.
Public classArray2DFlattener
Helper class for serializing 2D arrays of doubles
Public classAssemblyResolver
Helper class for resolving assemblies based on file names.
Public classCalibrationPlot
Class that write a time series file and a plc file with calibration data.
Public classCommandLineParser
Class to parse command line arguments and store it as key-value pairs. Each argument must be prepended with on of '-', '--', '/' -key --key /key If a value is included, it must be split with ":" or "=" -key=value -key:value If spaces are needed in the value, use ' or " to incapsulate -key:"value with spaces" A key without a value will be given the value "true"
Public classCompareObjects
Class that allows comparison of two objects of the same type to each other. Supports classes, lists, arrays, dictionaries, child comparison and more.
Public classConnection
Connection specifications for file access.
Public classConnectionExtension
Extension methods and static for IConnection
Public classConstants
Constants used throughout Mike1D
Public classCustomTypes
A CustomType contains information for types of objects that needs to be stored in the MIKE 1D setup file (.m1dx) but which are not part of the MIKE 1D system.
Public classDateTimeTable2D
2D table with DateTime as the type of values in the first axis.

If setting the YearlyVariation, then all dates within the first year in the XAxis is assumed to be cyclicly repeating.

Public classDateTimeYTable
Public classDDoubleGetSetBox
Class boxing DDoubleGetter and DDoubleSetter implementing IDoubleGetSet
Public classDDoubleGetterBox
Class boxing DDoubleGetter and implementing IDoubleGetter
Public classDDoubleTimeGetterBox
Class boxing DDoubleGetter and implementing IDoubleGetter
Public classDDoubleTimeVectorGetterBox
Class boxing a set of [!:DDoubleGetter].
Public classDDoubleVectorFractionGetterBox
Public classDDoubleVectorGetSetBox
Class boxing a set of IDoubleGetSet.
Public classDDoubleVectorGetterBox
Public classDHITracer
Wrapper around the microsoft TraceSwitch class Messages are prepended with "Level (DisplayName, DateTime.Now)::". To get the message itself, split the string on "::"
Public classDiagnosticItem
One single diagnostics item/issue, containing one message.

A message can have a number of DiagnosticsValue attached, giving a number and a item type. The unit is always the default unit of the type (SI).

Public classDiagnosticItemID
One single diagnostics item/issue, containing one message, based on the MIKE 1D fixed set of messages (resource-based).

A message can have a number of DiagnosticsValue attached, giving a number and a item type. The unit is always the default unit of the type (SI).

Public classDiagnosticItems
Implements a list of IDiagnosticItem's
Public classDiagnostics
A collection of error, warning and hint messages. It implements a tree like strukture of IDiagnostics, to be able to handle the diagnostics in a stack-trace like manner. Whenever an item is added, an event is triggered. Calling any of the recursive method must be done from one thread at a time only, otherwise it will fail.
Public classDiagnosticsException
A custom exception, used by the IDiagnostics system.
Public classDiagnosticsHandler
DiagnosticsHandler collects all diagnostics messages entered by any of the Write method and triggers a MessageEvent. However, it only issues the same message 100 timers, the statistics for that can be retrieved by WriteSkippedMessagesSummary

It is thread safe, i.e. it handles synchronization issues between potential several worker threads.

To connect a diagnostics object for "live" messages, connect the DiagnosticsHandler object directly to the Diagnostics object:

diagnostics.DiagnosticsEvent += diagnosticsHandler.Write;
To write all messages of a diagnostics object, call the WriteAllIssuesRecursive(IDiagnostics) method.

Public classDiagnosticsList
Implements a list of IDiagnostics.
Public classDiagnosticsLocation
Location of diagnostics message
Public classDiagnosticsToConsole
Static functions which output diagnostics to the console
Public classDiagnosticsValue
A diagnostics value class. A diagnostics value contains a value and a type
Public classDomainThreadPool
A pool of threads, having a specific number of threads available and waiting.

This implementation assures a specified number of threads and allow assigning specific tasks to specific threads.

When a specific number of tasks has to synchronize at certain points, the same specific number of threads is required running at the same time.

If one task has to follow another in a number of parallel "pipelines", it is required to assign specific tasks to specific threads.

Public classDoubleElementSetProxySetWrapper
Class that wraps a number of double-reach proxies in one proxy.
Public classDoubleProxySetWrapper
Class that wraps a number of double proxies in one double proxy.
Public classDoubleReachProxySetWrapper
Class that wraps a number of double-reach proxies in one proxy.
Public classDoubleVectorProxySetWrapper
Class that wraps a number of double-vector proxies in one double proxy.
Public classElementDefinition
Default implementation of IElementDefinition.
Public classElementDefinitions
Class implementing a list of IElementDefinition's Required for generic list COM interop
Public classElementSetDefinition
Default implementation of IElementSetDefinition Defines a set of elements that share some common properties: - All elements must be of same ElementGeometry - All vertices of the elements must be of same CoordinateType
Public classEmptyDoubleElementSetProxy
Default empty proxy
Public classEmptyDoubleProxy
Default empty proxy. Use Instance to get hold of one
Public classEmptyDoubleReachProxy
Default empty proxy
Public classEquidistantTimeCheckPointSet
Class implementing a check point set with equidistant time check points.
Public classExtraForQuantities
Provides methods for creating IDs and Description of quantities with extra string. For example, for extra = "Checksum, Total, test" we get the following strings: ExtraForId = "ChecksumTotalTest" ExtraForDescription = ", Checksum, Total, test" In ExtraForId we capitalize every word and remove the commas and the spaces.
Public classFilePath
This class contains information on a file, as well its name and path, and handles relative and absolute (full) paths. When path is relative, it can have a BaseFilePath, used to expand the relative filepath to an absolute (full) path. If a path is relative, and no BaseFilePath is specified, CurrentDirectory is used as BaseFilePath. Examples of legal paths: - "c:\\MyDir\\MyFile.txt" - directory and file - "c:\\MyDir" - only directory - "MyDir\\MySubdir" - relative directory - "\\\\MyServer\\MyShare" - network drive
Public classGenericExtensions
Utility class, containing extension methods for classes in the generic namespace
Public classGenericExtensionsKVPComparer
Helper class for sorting KeyValuePair
Public classGenericXmlBridgeTDataAccess
A generic bridge that has read/write capabilities for accessing xml files using a DataContractSerializer.
Public classHotstartInfo
Structure to store hotstart information.
Public classHtmlContentSection
And IHTMLSectionItem that include HTML content directly in InnerHtml
Public classHTMLExtensions
Extension class for HTML log files
Public classHTMLLog
Base class for HTML file writers.

The HTML file contains a number of Sections, and each section contains a number of Items.

It is handling log file rolling, i.e. when a new mysim.html log file is created, the existing is renamed to mysim01.html, and the mysim01.html is renamed to mysim02.html etc. up til MaxNumberOfFileBackups.

Public classHTMLSection
An HTML section contains a name and a number of summary items.
Public classHTMLSections
A set of HTML sections.
Public classHTMLTableColumn
Base implementation of an Columns.
Public classHTMLTableColumnGetterT, TOut
A column that uses a getter to extract a TOut value from the row data object

This column does not support Accumulate.

Public classHTMLTableColumnStringGetterT
A column that uses a getter to extract a string value from the row data object
Public classHTMLTableColumnTimeSpanGetterT
A column that uses a getter to extract a TimeSpan value from the row data object, and accumulate if necessary
Public classHTMLTableColumnValueGetterT
A column that uses a getter to extract a double value from the row data object
Public classHTMLTableItemT
An HTML table item, containing a number of row data in RowData, and a number of Columns that outputs a "value" from a row data item.
Public classHyperThreadingTester
Class to test if system has Hyper-Threading enabled.

A polynomial function is evaluated a number of times in parallel, and timed using various number of threads. From those timings, it is evaluated whether hyper-threading is enabled or not

This will only return a correct value if the system being evaluated is mostly idle. If the system is stressed, this may give incorrect results.

Public classIniFile
Read .ini configuration files
Public classIniFileSection
Class to hold a named section of an ini file.
Public classInterpolatableClosestT
Public classInterpolatableDouble
Public classInterpolatableDoubleArray
Class implementing IInterpolatableT for type double array.

The arrays must have same lengths in order for interpolation to take place. In the constructor must be specified wether length differences is allowed or if it shold fail (throw an exception). If different lengths are allowed, it will return closest array, i.e., it will switch at the ratio of 0.5.

Public classKnownTypes
Contains all DHI.Mike1D known types, i.e. all types that has the DataContractAttribute
Public classLicenseChecker
Provides access to the DHI license system
Public classListDateTimes
Class implementing a list of DateTime's Required for generic list COM interop
Public classListdoubles
Class implementing a list of double's Required for generic list COM interop
Public classListlongs
Class implementing a list of long's Required for generic list COM interop
Public classListstrings
Class implementing a list of string's Required for generic list COM interop
Public classLocation
Class describing a location in a network. ,'s are not allowed in the ID.
Public classLocationRelative
A location that is relative, i.e. the exact chainage is not known.
Public classLocations
Class implementing a list of ILocation's Required for generic list COM interop
Public classLocationSpan
Class representing a span along a river or a pipe.
Public classLocationSpanMapT
Helper class for fast searcing for objects defined in location spans or by reach id's.

If storing a large amount of data in each span, consider instead one of the NetworkDataT classes. This class is a light-weight version of the NetworkDataT implementation.

It does fast lookup in a dictionary of span-id's, containing a list of spans for each id, i.e. for a given span-id it does linear searching in the chainages.

It can work for as well location-spans as reach-id's (covering an entire span), though it does not support location-span with id matching a reach-id (undefined behavior).

Public classLocationSpans
Class implementing a list of ILocationSpan's Required for generic list COM interop
Public classMathUtil
Collection of static methods used in Mike1D.
Public classMathUtilDataForSearchingNegate
Public classMergeSort
Class performing a merge sort of an IListT.

It contains methods for both the iterative and recursive algorithm. The recursive is provided for reference only, use the iterative when possible.

As compared to QuickSortT, merge sort is stable (preserves order of equal elements), but uses more memory (an extra array of the same size). Quick sort is un-stable, but performs in-place sorting.

Public classMergeSortT
Public classMike1DException
Exception derived from standard exception. Included to be able to distinguish system exceptions from Mike1D exceptions
Public classMike1DRuntimeException
Exception derived from standard exception. This exception is thrown when errors occur that have already been included in the Diagnostics framework. If SimLauncher encounters a Mike1DRuntimeException, then the exception message is ignored - it is assumed that the error message is in the Diagnostics framework, and the diagnostics are reported to the user.
Public classNetworkDataT

A network value is a value that can vary in the network. A value can be specified as a: - global value - value on an entire reach with a given ID - value on a number of locationspans - value on a number of locations - value on a nodeId

It is possible to specify two values on one location, one valid from the negative side, and one valid from the positive side.

If a value is given on the entire reach, then it can not be specified on locations.

When searching for a value on a given location, the priority is as follows: - A value on the entire reach is used, if existing. - If the given location is in a span, the span value is used - If the given location is in between two value-locations/spans, the value is interpolated, if CanInterpolate - It the given location is within ExtrapolationDistance of a value location, the value is used. - If nothing else is found, false is returned, and a default or the global value should be used.

If an entire network is to be populated with values, for performance reasons, you should work on a reach-by-reach manner, using GetReachData(String)

Public classNetworkDataDouble
A network value of type double. See NetworkDataT for details.

Required for COM interop.

This class adds implementation for the COM specific part of the INetworkDataDouble.

Public classNetworkDataDoubleArray
A network value of type double[]. NetworkDataT for details.

The double[]'s do not need to have the same length. However, consistent interpolation can only take place if all have same lenghts.

See FailOnLengthDifferences on how to set behavior if lengths differ. Default value is to fail.

Public classNetworkDataInterpT
Public classNetworkDataSetT
Public classNetworkDataSetDouble
A network data set class containing data of type double

Required for COM interop.

This class is a COM usable version of the NetworkDataSetT

Public classNetworkLocationNode
An INetworkLocation for a node
Public classNetworkLocationReach
An INetworkLocation for a reach
Public classNetworkReachDataSetT
Public classObservedData
Class containing observed data for the model element
Public classPair
Public classPolygon
A polygon is a set of 2-D points.
Public classPredefinedQuantityData
Static class containing the PredefinedQuantityTable.
Public classPredefinedQuantityDataAD
Static class containing the PredefinedQuantityTableADComponent.
Public classPredefinedQuantityProperties
Properties for PredefinedQuantity.
Public classPredefinedQuantityTable
A PredefinedQuantityTable for each PredefinedQuantity contains its Quantity in order to get hold of Quantity.
Public classPredefinedQuantityTableADComponent
Dictionary from PredefinedQuantityAD to PredefinedQuantityProperties used by ADQuantities.Create() to create various Quantities for AD components.
Public classPredefinedQuantityTableST
Dictionary from PredefinedQuantityST to ST component id independent Quantity.
Public classPredefinedQuantityTableSTComponent
Dictionary from PredefinedQuantityST to PredefinedQuantityProperties used by STQuantities.Create() to create various ST component id dependent Quantities.
Public classPriorityQueueT
A priority queue. It will return the value with the highest priority/compare value first. Multiple occurences of the same object/compare value is allowed.

You can update an element in the priority queue, thereby reposition it in the queue. Save the PriorityQueueTNode returned by Enqueue(T), and updated the value by setting the Value.

Remarks
It is based on a balanced heap data structure (a list handled as a tree structure).

In cases where priority value equals, it does first-in-first-out.

Performance: It has O(log(n)) enqueueing, dequeueing and updating of key.

Public classPriorityQueueTNode
A node in the priority queue. Updating the value of the node will update the priority key value and reposition the node in the search tree.
Public classPriorityQueueTKey, TValue
A priority queue. It will return the value with the hightest priority/key first. Multiple occurences of the same priority/key is allowed.

You can update the priority of an element in the priority queue, thereby reposition it in the queue. Save the PriorityQueueTKey, TValueNode returned by Enqueue(TKey, TValue), and updated the value by setting the Key.

Remarks
It is based on a balanced heap data structure (a list handled as a tree structure).

In cases where priority value equals, it does first-in-first-out.

Performance: It has O(log(n)) enqueueing, dequeueing and updating of key.

Public classPriorityQueueTKey, TValueNode
A node in the priority queue. It contains the key and the value. Updating the key will reposition the node in the priority queue.
Public classCode examplePropertyUpdater
Class for updating properties or fields of an object, based on a string representation of the propery/field.
Public classPropertyUpdaterObjectMemberData
Data for an object and the member of the object that is part of the property-string
Public classProxyExtensions

Extension methods for easing handling of proxies.

It provides some static convenience functions for proxies

Public classQuantities
Class implementing a list of IQuantity's Required for generic list COM interop
Public classQuantity
A data quantity is a combination of an ID and an EUM item and unit.

The data item type is one of the EUM types

For AD components, they will usually have the same datatype but different ID's.

It is not allowed to edit an IQuantity. Create a new one, if required.

Public classQuantityBaseIdComparer
IEqualityComparer for IQuantity that compares based on the BaseId of the quantity (without komma and spaces)
Public classQuantityComparer
IEqualityComparer for IQuantity that compares the id as is (including commas and spaces)
Public classQuantityFullComparer
IEqualityComparer that also includes the Description in the comparison
Public classQuantityGroupComparer
Provides a equality comparer that groups quantities of the same type.

Quantities like SnowCover, SnowCover_2, SnowCover_3 are in this context grouped under one.

Public classQuantityProxySetWrapperTQuantityProxy
Class that wraps a number of quantity proxies in one proxy.
Public classQueueDateTimes
Class implementing the IListDateTimes storing data in a queue/circular array.
Public classQuickSort
Public classQuickSortT
Public classReachLocationValueT
A value on a reach. If on a span, then both start and end chainage is set, if on a location only the start chainage is set.
Public classReachSearcherT
Class for searching reaches, generic such that several reach types can be entered.
Public classRelationTableA, B
A relational table that relates an object of type A to an object of type B.
Public classSerializerDoubleArrayHandler
Class that writes a double array to one long string
Public classSerializerFilePathHandler
A handler that handles FilePath's during (de)serialization.
Public classSerializerSurrogate
This class is used when serializing/deserializing, either to replace one (de)serialized type with another, or to setup relations that the (de)serializer can not itself setup.
Public classSerializerSurrogateFilePath
This class is used when serializing/deserializing, to handle base paths of FilePath (input and result files). When serializing (saving to xml), every FilePath is made relative to the xml file.
Public classStopwatchCollection
Provides a set of methods and properties to accurately measure elapsed time. A collection of stopwatches organized in a tree like manner, each stopwatch can have one parent and many children. If a child stopwatch is started, the parent stopwatch will also be started. Hence, elapsed time covers self time and any child time. If several childs are started, time will only be "recorded once".
Public classSTPredefinedQuantityData
Static class containing the PredefinedQuantityTableST.
Public classSTQuantities
Provides methods for creating ST quantities.
Public classStringAlgorithms
Utility class with various string algorithms.
Public classStringDoubleKeyValuePair
Class for a pair of strings and doubles
Public classStringDoublePair
Class for a pair of strings and doubles
Public classSummedQuantity
Summed quantity.
Public classTable2D
2D table class, applying interpolation in 2D table.
Public classTableInterpolator
Interpolate a table from two other tables.

The "x-column" of the two tables are merged into one new interpolated x-column by interpolating the min and max values from the two tables, and scale the internal x-values of the two tables to the new min and max value. Then y-values are interpolated from

, using an "x-column" as the range and computing
Public classTimeCheckPointController
The check point controller contains functionality for limiting the time step to a set of check points in time.

It contains itself a list of check points, where check points can be added, CheckPoints.

It also contains a list of ITimeCheckPointSet, CheckPointSets, in case a user implementation of a check point set is appropriate (e.g. constant equidistant check points)

All check points within the list of check points and the list of check point sets will be considered as check points.

Public classTwoDLocation
Location used when working with 2D or 3D models
Public classUBGUnitProvider
UBG unit provider. Uses the EUM Unit Base Group (UBG) system to determine a unit for a given item.
Public classUserUnitDefaults
Static class, containing units for various quantities, both SI and US

A quantity is identified by its id and EUM item type. It is possible to match quantity id's in three ways: 1) Exact match (case insensitive) 2) Id starts with: string starts with a *: "*myid" 3) Id ends with : string ends with a *: "myid*" 4) Id is matching a regular expression: string is inside [] "[regexMatch]"

Public classUserUnitProvider
A IUnitProvider based on a specified set of unit definitions.

If a quantity ID is not provided when adding a user units, it will match on the eumItem value only.

Public classUtil
Collection of handy static utility like methods.
Public classVersionTool
Various tools for extracting versions etc.
Public classXYGenericTableTX, TY
A series of XY data, stored in two arrays.

Compared to the IXYTable interface and classes, the IAnyTable are capable of storing other values than doubles.

Public classXYPair
Holds the level width data of a structure.
Public classXYSeriesExtensions
Static extension methods for the IAnyTable and XYTable classes.
Public classXYTable
Table of corresponding x and y values, sorted on x values
Public classXYZLocationSpan
A location span that is defined by a set of coordinates
Public classXYZTable
Table of corresponding x and y values.
Public classXYZTriple
Holds the level width data of a structure.
Public classZLocation
A location with a z-value
Public classZLocationSpan
Location span. Identified by two points: Start chainage [m] and end chainage [m]
Structures
Interfaces
  InterfaceDescription
Public interfaceIAnyTable
An any-table can have any dimension and any type of data, it is a common container for a set of various table types.
Public interfaceIBridge
The interface implemented by all MIKE 1D bridges.
Public interfaceIBridgeXml
Generic interface for Xml bridge
Public interfaceICalibratable
It contains the information needed for the title of the calibration plot
Public interfaceIConnection
Public interfaceIControllable
If an entity implements the IControllable interface it can be controlled by the ControlModule.
Public interfaceIDiagnosticItem
A DiagnosticsItem contains a message, additional information and potentially also list the values that vary in the message string.
Public interfaceIDiagnosticItems
Public interfaceIDiagnostics
Interface for communication of Errors, Warnings and Hints It also includes a tree like strukture of IDiagnostics, called Children, to be able to handle the diagnostics in a stack-trace manner. Whenever a new issue is added, the DiagnosticsEvent is triggered on the IDiagnostics self and all its parents.
Public interfaceIDiagnosticsList
Implements a list of IDiagnostics
Public interfaceIDiagnosticsLocation
Location of diagnostics message
Public interfaceIDiagnosticsString
A string used in Diagnostics. It has an Id, to be used if a translated version of the string is to be used instead. It has a Message which can contain format specifiers on the form {0} etc. It has a list of objects, each of them supporting the ToString method, which must match the format specifiers in the Message.
Public interfaceIDiagnosticsValue
A diagnostics value can either be a string or a pair of a double value and a unit, depending on the value of HasUnitValue. An interface system has the opportunity to convert double values to user defined units. By default an engine ofte produce double values in SI units. If HasUnitValue is true, the DoubleValue and Unit must be set. If HasUnitValue is false, the StringValue must be set.
Public interfaceIDoubleElementSetProxy
An IQuantityProxy also specifying the geometry that the element values belong to.
Public interfaceIDoubleFractionProxy
An IDoubleFractionProxy can interpolate within the current time step, from time N to time Np1.
Public interfaceIDoubleGetSet
A Value GetSet can be called any time to get/set the value of the source. It will often just be wrapping a DDoubleSetter and a DDoubleGetter
Public interfaceIDoubleGetter
A value getter can be called at any time to provide the actual value of the source.
Public interfaceIDoubleProxy
An IDoubleProxy gives access to quantities that are offered (can be retrieved) and accepted (can be set).
Public interfaceIDoubleReachProxy
An IQuantityProxy also specifying the gridpoints where the element values belong to.
Public interfaceIDoubleSetter
A value setter can be called at any time to set the value of the source. It will often just be wrapping DDoubleSetter
Public interfaceIDoubleTimeGetter
A value getter can be called at any time to provide the actual value of the source. It will often just be wrapping DDoubleGetter
Public interfaceIDoubleTimeProxy
TODO: For IDoubleProxy, datatype should be replaced with struct containing: (ModuleId), itemNumberId, datatype and descriptive name Needed when AD has several items of same datatype and when different modules have items of same datatype.
Public interfaceIDoubleTimeSetter
A value setter can be called at any time to set the value of the source. It will often just be wrapping DDoubleSetter
Public interfaceIDoubleTimeVectorGetter
A vector getter can be called at any time to provide the actual values of the sources. It will often just be wrapping a list of DDoubleGetter
Public interfaceIDoubleVectorGetSet
A Vector GetSet can be called any time to get/set the value of the source. It will often just be wrapping a list of IDoubleGetSet'ers
Public interfaceIDoubleVectorGetter
A vector getter can be called at any time to provide the actual values of the sources.
Public interfaceIDoubleVectorProxy
An IQuantityProxy gives access to quantities that are offered (can be retrieved) and accepted (can be set) on vector form.
Public interfaceIDoubleVectorSetter
A vector setter can be called at any time to set the values of the sources. It will often just be wrapping a list of DDoubleSetter
Public interfaceIElementDefinition
Defines geometry of an element. An element can have an Id or/and a number of vertices defining it. TODO: finish summary
Public interfaceIElementDefinitions
Interface for a list of IElementDefinition's Required for generic list COM interop
Public interfaceIElementSetDefinition
Defines a set of elements that share some common properties: - All elements must be of same ElementGeometry - All vertices of the elements must be of same CoordinateType
Public interfaceIFilePath
This class contains information on a file, as well its name and path, and handles relative and absolute (full) paths. When path is relative, it can have a BaseFilePath, used to expand the relative filepath to an absolute (full) path. If a path is relative, and no BaseFilePath is specified, CurrentDirectory is used as BaseFilePath. Examples of legal paths: - "c:\\MyDir\\MyFile.txt" - directory and file - "c:\\MyDir" - only directory - "MyDir\\MySubdir" - relative directory - "\\\\MyServer\\MyShare" - network drive
Public interfaceIHTMLSectionItem
An item in the Items
Public interfaceIHTMLTableColumnT, TOut
An html table column where row data is of type {T} and the type of the column is {TOut}
Public interfaceIInterpolatableT
Interface to implement if the given type can interpolate itself
Public interfaceIListDateTimes
Interface for a list of DateTime's Required for generic list COM interop
Public interfaceIListdoubles
Interface for a list of Double's Required for generic list COM interop
Public interfaceIListlongs
Interface for a list of Int64's Required for generic list COM interop
Public interfaceIListstrings
Interface for a list of String's Required for generic list COM interop
Public interfaceILocation
A location is a point in the network. A Location is always a part of the network, and identified by a branch/link id and a chainage
Public interfaceILocations
Interface for a list of ILocation's Required for generic list COM interop
Public interfaceILocationSpan
A span of a reach, based on the reach id, an start and end chainage.
Public interfaceILocationSpans
Interface for a list of ILocationSpan's Required for generic list COM interop
Public interfaceINetworkCatchment
A generic network catchment.
Public interfaceINetworkDataT
Network data. Data can be stored - On nodes - On entire links/reaches as link id - On locations using link/reachId + chainage

This interface provides the storing functionality, hence is used for building up a network data object and for iterating through its values. To interpolate in values of a network data quantity, see INetworkDataInterpolatorT. A network data class need not implement the Interpolator interface.

Public interfaceINetworkDataDouble
Public interfaceINetworkDataInterpolatorT
Generic interface for getting a value defined on a network. Values can be retrieved - On nodes - On locations using link/reachId + chainage - for a global Id.

Values are interpolated, if possible

Public interfaceINetworkDataInterpolatorSetT
Interface for a set of network values of different quantities
Public interfaceINetworkDataInterpolatorTimeSetT
A set of network values of different quantities
Public interfaceINetworkDataSetT
A set of network data.
Public interfaceINetworkDataSetDouble
Public interfaceINetworkGridPoint
A generic network grid point.
Public interfaceINetworkHGridPoint
A generic network H grid point.
Public interfaceINetworkLocation
A INetworkLocation is a location in the network which can either be specified by a node id, or an ILocation.

The IsNodeBased determines whether the NodeId or the Location is set.

Public interfaceINetworkNode
A generic network node.
Public interfaceINetworkQGridPoint
A generic network Q grid point.
Public interfaceINetworkReach
A generic network reach.
Public interfaceINetworkReachDataT
Data defined on a reach.
Public interfaceINetworkReachDataDouble
Public interfaceINumericArray
Public interfaceIQuantities
Interface for a list of IQuantity's Required for generic list COM interop
Public interfaceIQuantity
A data quantity is a combination of an ID and an EUM item and unit.

The data item type is one of the EUM types

For AD components, they will usually have the same datatype but different ID's.

It is not allowed to edit an IQuantity. Create a new one, if required.

Public interfaceIQuantityProxy
List of quantities offered/accepted by the proxy.
Public interfaceIReachDataInterpolatorT
Generic interface for getting an interpolated value defined on a link/reach of a network.
Public interfaceIReachLocationValueT
A value on a reach. If on a span, then both start and end chainage is set, if on a location only the start chainage is set.
Public interfaceIReachLocationValueDouble
Public interfaceIReadOnlyNumericArray
Public interfaceISerializerSurrogateHandler
Interface for classes that handles special behavior when (de)serializing a certain type.
Public interfaceIStateManaged
Structures with state must implement IStateManaged. Examples of structures with state are gates, pumps and dambreak structures
Public interfaceIStringDoublePair
Interface for a pair of strings and doubles
Public interfaceITimeCheckPointSet
Interface for a check point set. It must be able to provide the next check point from some specified time.

A checkpoint is a point in time which the engine must hit exactly.

Public interfaceITwoDLocation
Location used when working with 2D or 3D models
Public interfaceIUnitProvider
An IUserUnitProvider is used by DiagnosticsValue to convert values into user units.
Public interfaceIValueGetterT
A value getter can be called at any time to provide the actual value of the source.
Public interfaceIValueSetterT
A value setter can be called at any time to set the value of the source. It will often just be wrapping DValueSetter
Public interfaceIVectorFractionGetterT
A vector getter can be called at any time to provide the actual values of the sources.
Public interfaceIVectorGetterT
A vector getter can be called at any time to provide the actual values of the sources.
Public interfaceIXYPair
Defines data for a single row in a XY table.
Public interfaceIXYPairs
Public interfaceIXYTable
Table of corresponding x and y values.

If using one of the

YFromX
methods, the x values must be monotonic, and similar if using the
XFromY
, the y values must be monotonic.

NOTE: When this is used for a qh-relation, h is stored on x

Public interfaceIXYZLocationSpan
A location span that is defined by a set of coordinates
Public interfaceIXYZTable
Table of corresponding levels and widths.
Public interfaceIXYZTriple
Defines data for a single row in a XY table.
Public interfaceIZLocation
A location is a point in the network. A Location is always a part of the network, and identified by a branch/link id and a chainage, and a IZLocation furthermore has a Z coordinate
Public interfaceMathUtilIDataForSearching
Public interfaceMathUtilIDataForSearchingT
Public interfaceMathUtilIDataToInterpolate
Helper interface for interpolation routine Interp(double, IDataToInterpolate, ExtrapolationTypes).
Delegates
  DelegateDescription
Public delegateActionControl
Method signature for a control that takes one value
Public delegateActionControl0
Method signature for a control that does not take any values
Public delegateActionControl2
Method signature for a control that takes two values
Public delegateActionControlActivate
Method signature for a control that does not take any values
Public delegateActionControlSet
Method signature for a control that takes one value
Public delegateActionControlSet2
Method signature for a control that takes two values
Public delegateDDateTimeGetter
A DateTime getter. Used to access simulation time from external pumps, among others things
Public delegateDiagnosticsGetAdditionaInformationDelegate
Delegate type used to access additional information to add to items. Used to append time step information to items from HD.
Public delegateDiagnosticsEvent
The type of function called when a diagnostics event is encountered
Enumerations
  EnumerationDescription
Public enumerationComponentResultType
Enumeration specifying AD or ST component result type.
Public enumerationComponentType
Type of component
Public enumerationCrossSectionType
the types of cross sections. Some are predefined geometries.
Public enumerationCrossSectionZone
Zone types for cross sections.
Public enumerationDiagnosticsHandlerMessageType
Type of diagnostics message
Public enumerationDiagnosticsLocationType
Type of diagnostics location
Public enumerationDiagnosticsType
Type of diagnostics levels
Public enumerationDirection
Public enumerationElementGeometry
Type of elements
Public enumerationExtrapolationTypes
Extrapolation types. When data is outside the data set, this controls how extrapolation takes place This does not control the type of interpolation for internal values.

Not all interpolation/extrapolation routines support all the extrapolation types, especially the Sqrt is only implemented in certain places..

Public enumerationLocationRelativeType
Type of relative location.
Public enumerationMorphologicalDivisionType
Types of morphological division
Public enumerationPreDefinedMarker
Predefined markers for cross section points.
Public enumerationPredefinedQuantity
Enumeration of predefined quantities.
Public enumerationPredefinedQuantityAD
Enumeration of predefined quantities for AD components.
Public enumerationPredefinedQuantityST
Enumeration of predefined quantities for ST components.
Public enumerationProcessedDataStatus
the state that the processed levels and values are in
Public enumerationProcessingOption
How levels should be determined when calculating processed data from raw data.
Public enumerationRadiusType
formulation for radius
Public enumerationReachSide
Side of river.

Side of river is when walking in positive chainage direction.

Public enumerationResistanceDepthDependence
Resistence dependence on water level.
Public enumerationResistanceDistribution
transversal distribution of resistance values
Public enumerationResistanceFormulation
The resistance formulation to apply for resistance calculations.
Public enumerationResistanceZoneApproachType
Type of resistance zone approach.
Public enumerationStandardCrossSectionType
Stand cross section types
Public enumerationTimeValueType
Definition on how a value is defined at a certain time or within a certain time period/time step
Public enumerationTopExtensionType
Type of extension of processed data.

The values ending with Flag are flags that can be combined with the other type values.

Public enumerationUnitSystem
Unit systems available in the MIKE 1D system
Protected enumerationUserUnitProviderUnitSearchType
Type of string search to apply: