+ >-- DN.Diagram.trackChangesEnabled <R L0.HasProperty : SEL.GenericParameterType
+ --> L0.Boolean
+ L0.HasLabel "Track changes"
+ >-- DN.Diagram.splitToMultipleEnabled <R L0.HasProperty : SEL.GenericParameterType
+ --> L0.Boolean
+ L0.HasLabel "Split To Multiple Diagrams"
+
+ @L0.assert DN.Diagram.trackChangesEnabled true
+ @L0.assert DN.Diagram.splitToMultipleEnabled true
+
+DN.Layer <T DIA.Layer
+DN.Connection <T DIA.Connection
+DN.Element <T DIA.Element : L0.Type
+
+DN.Vertex <T DN.Element
+ >-- DN.Vertex.HasElevation
+ @defProperty "Elevation" L0.Double
+ >-- DN.Vertex.HasAltElevation
+ @defProperty "Alternative Elevation" L0.Double
+ >-- DN.Vertex.HasAddress
+ @defProperty "Address" L0.String
+ >-- DN.Vertex.HasSupplyTemperature
+ @defProperty "Supply Temperature" L0.Double
+ >-- DN.Vertex.HasReturnTemperature
+ @defProperty "Return Temperature" L0.Double
+ >-- DN.Vertex.HasSupplyPressure
+ @defProperty "Supply Pressure" L0.Double
+ >-- DN.Vertex.HasReturnPressure
+ @defProperty "Return Pressure" L0.Double
+ >-- DN.Vertex.HasDeltaPressure
+ @defProperty "Delta pressure" L0.Double
+ >-- DN.Vertex.HasDeltaTemperature
+ @defProperty "Delta temperature" L0.Double
+ >-- DN.Vertex.HasHeatPower
+ @defProperty "Heat Power" L0.Double
+ >-- DN.Vertex.HasPeakPower
+ @defProperty "Peak Power" L0.Double
+ >-- DN.Vertex.HasNominalHeadM
+ @defProperty "NominalHeadM" L0.Double
+ >-- DN.Vertex.HasNominalHeadB
+ @defProperty "NominalHeadB" L0.Double
+ >-- DN.Vertex.HasNominalFlow
+ @defProperty "Nominal Flow" L0.Double
+ >-- DN.Vertex.HasMaximumHeadM
+ @defProperty "Maximum head M" L0.Double
+ >-- DN.Vertex.HasHeatLoadDs
+ @defProperty "Heat Load ds" L0.Double
+ >-- DN.Vertex.HasMassFlow
+ @defProperty "Mass Flow" L0.Double
+ >-- DN.Vertex.HasVolFlow
+ @defProperty "Vol Flow" L0.Double
+ >-- DN.Vertex.HasVelocity
+ @defProperty "Velocity" L0.Double
+ >-- DN.Vertex.HasFlowArea
+ @defProperty "Flow Area" L0.Double
+ >-- DN.Vertex.HasValvePosition
+ @defProperty "Valve position" L0.Double
+ >-- DN.Vertex.HasNominalPressureLoss
+ @defProperty "Nominal Pressure Loss" L0.Double
+ >-- DN.Vertex.HasPumpInReturnLine
+ @defProperty "Pump in Return Line" L0.Double
+ >-- DN.Vertex.HasHeadPumpMaximum
+ @defProperty "Head pump maximum" L0.Double
+ >-- DN.Vertex.HasHeadPumpNominal
+ @defProperty "Head pump nominal" L0.Double
+ >-- DN.Vertex.HasFrequencyConverterControlled
+ @defProperty "Frequency Converter Controlled" L0.Double
+ >-- DN.Vertex.HasInternalValveMeasurement
+ @defProperty "Internal Valve Measurement" L0.Double
+ >-- DN.Vertex.HasPumpMassFlowNominal
+ @defProperty "Pump Mass Flow Nominal" L0.Double
+ >-- DN.Vertex.HasPumpMeMax
+ @defProperty "Pump Me Max" L0.Double
+ >-- DN.Vertex.HasPumpMeMin
+ @defProperty "Pump Me Min" L0.Double
+ >-- DN.Vertex.HasPumpSpeedMax
+ @defProperty "Pump Speed Max" L0.Double
+ >-- DN.Vertex.HasPumpSpeedMin
+ @defProperty "Pump Speed Min" L0.Double
+ >-- DN.Vertex.HasValveReturnLine
+ @defProperty "Valve Return Line" L0.Double
+ >-- DN.Vertex.HasValveMeMax
+ @defProperty "Valve Me Max" L0.Double
+ >-- DN.Vertex.HasValveMeMin
+ @defProperty "Valve Me Min" L0.Double
+ >-- DN.Vertex.HasValveMinPosition
+ @defProperty "Valve Min Position" L0.Double
+ >-- DN.Vertex.HasValveOutletMode
+ @defProperty "Valve Outlet Mode" L0.Double
+ >-- DN.Vertex.HasValvePressLossNominal
+ @defProperty "Valve Press Loss Nominal" L0.Double
+ >-- DN.Vertex.HasOpeningTime
+ @defProperty "Opening Time" L0.Double
+ @L0.assert DN.Vertex.HasElevation 0.0
+
+DN.Edge <T DN.Element
+ >-- DN.Edge.HasElevation
+ @defProperty "Elevation" L0.Double
+ >-- DN.Edge.HasLength
+ @defProperty "Length" L0.Double
+ L0.readOnly true
+ >-- DN.Edge.HasGeometry
+ @defProperty "Detailed Geometry" L0.DoubleArray
+ >-- DN.Edge.HasDiameter
+ @defProperty "Diameter" L0.Double
+ >-- DN.Edge.HasOuterDiameter
+ @defProperty "Outer Diameter" L0.Double
+ >-- DN.Edge.HasNominalMassFlow
+ @defProperty "Nominal Mass Flow" L0.Double
+ >-- DN.Edge.HasFlowArea
+ @defProperty "Flow Area" L0.Double
+ >-- DN.Edge.HasKReturn
+ @defProperty "K Return" L0.Double
+ >-- DN.Edge.HasKSupply
+ @defProperty "K Supply" L0.Double
+ >-- DN.Edge.HasTGround
+ @defProperty "T Ground" L0.Double
+ >-- DN.Edge.HasType
+ @defProperty "Pipe Type" L0.String
+ @L0.assert DN.Edge.HasDiameter 100.0
+ @L0.assert DN.Edge.HasOuterDiameter 125.0
+
+// ----------------------------------------------------------------------------
+
+DN.EdgeDefaultMapping <R L0.HasProperty : DN.EdgeMappingParameterType
+ L0.HasLabel "Default Edge mapping"
+
+DN.VertexDefaultMapping <R L0.HasProperty : DN.VertexMappingParameterType
+ L0.HasLabel "Default Vertex mapping"
+
+DN.RightClickDefaultMapping <R L0.HasProperty : DN.VertexMappingParameterType
+ L0.HasLabel "Right click Vertex mapping"
+
+DN.LeftClickDefaultMapping <R L0.HasProperty : DN.VertexMappingParameterType
+ L0.HasLabel "Left click Vertex mapping"
+
+DN.Diagram.DefaultPipeTechTypeId <R L0.HasProperty : SEL.GenericParameterType
+ L0.HasLabel "Default Pipe Tech Type ID"
+
+
+// ----------------------------------------------------------------------------
+
+DN.Functions : L0.Library
+
+DN.VertexMappingParameterType <T SEL.GenericParameterType
+ @L0.assert SEL.HasDisplayValue
+ _ : SEL.DisplayValue
+ SEL.HasEnumerationValues DN.Functions.enumerationValues : L0.Function
+ SEL.HasCustomModifier DN.Functions.defaultVertexMappingModifier : L0.Function
+
+DN.EdgeMappingParameterType <T SEL.GenericParameterType
+ @L0.assert SEL.HasDisplayValue
+ _ : SEL.DisplayValue
+ SEL.HasEnumerationValues DN.Functions.enumerationValues
+ SEL.HasCustomModifier DN.Functions.defaultEdgeMappingModifier : L0.Function
+
+DN.MappingParameterType <T SEL.GenericParameterType
+ @L0.assert SEL.HasDisplayValue
+ _ : SEL.DisplayValue
+ SEL.HasEnumerationValues DN.Functions.enumerationValues
+ SEL.HasCustomModifier DN.Functions.mappingModifier : L0.Function
+
+// ----------------------------------------------------------------------------
+
+DN.HasMapping <R L0.HasProperty : DN.MappingParameterType
+ L0.HasLabel "Mapping"
+
+DN.HasId --> L0.String <R L0.HasProperty : SEL.GenericParameterType
+ L0.HasLabel "Id"
+ L0.readOnly false
+
+DN.HasRegion --> L0.String <R L0.HasProperty : SEL.GenericParameterType
+ L0.HasLabel "Region"
+ L0.readOnly false
+
+DN.InLayer
+ @L0.defTag
+ @L0.tag L0.Abstract
+
+DN.HasInLayerTag <R L0.HasProperty
+ L0.HasRange L0.Tag