1 L0 = <http://www.simantics.org/Layer0-1.1>
2 L0X = <http://www.simantics.org/Layer0X-1.1>
3 DIA = <http://www.simantics.org/Diagram-2.2>
4 STR = <http://www.simantics.org/Structural-1.2>
5 MOD = <http://www.simantics.org/Modeling-1.2>
6 VP = <http://www.simantics.org/Viewpoint-1.2>
7 IMAGE = <http://www.simantics.org/Image2-1.2>
8 SEL = <http://www.simantics.org/SelectionView-1.2>
9 SEL_UI = <http://www.simantics.org/SelectionViewUI-1.1>
10 G2D = <http://www.simantics.org/G2D-1.1>
11 DN = <http://www.simantics.org/DistrictNetwork-1.0>
12 DATATYPES = <http://www.simantics.org/Datatypes-1.1>
14 // ----------------------------------------------------------------------------
16 DN.EdgeThicknessPropertyParameterType <T SEL.GenericParameterType
17 @L0.assert SEL.HasDisplayValue
19 SEL.HasEnumerationValues DN.Functions.edgeThicknessPropertyEnumerationValues : L0.Function
20 SEL.HasCustomModifier DN.Functions.edgeThicknessPropertyModifier : L0.Function
22 DN.ArrowLengthPropertyParameterType <T SEL.GenericParameterType
23 @L0.assert SEL.HasDisplayValue
25 SEL.HasEnumerationValues DN.Functions.arrowLengthPropertyEnumerationValues : L0.Function
26 SEL.HasCustomModifier DN.Functions.arrowLengthPropertyModifier : L0.Function
28 DN.VertexScalePropertyParameterType <T SEL.GenericParameterType
29 @L0.assert SEL.HasDisplayValue
31 SEL.HasEnumerationValues DN.Functions.nodeScalePropertyEnumerationValues : L0.Function
32 SEL.HasCustomModifier DN.Functions.nodeScalePropertyModifier : L0.Function
34 DN.Edge.ThicknessProperty <T L0.Value
35 @L0.assert L0.ConvertsToValueWith DN.Functions.convertToValue
36 >-- DN.Edge.ThicknessProperty.value ==> "Resource -> <ReadGraph> Maybe Double" <R L0.HasProperty : SEL.GenericParameterType
38 >-- DN.Edge.ThicknessProperty.gain --> L0.Double <R L0.HasProperty : SEL.GenericParameterType
40 >-- DN.Edge.ThicknessProperty.bias --> L0.Double <R L0.HasProperty : SEL.GenericParameterType
42 @L0.assert DN.Edge.ThicknessProperty.gain 1.0
43 @L0.assert DN.Edge.ThicknessProperty.bias 0.0
45 DN.Edge.ArrowLengthProperty <T L0.Value
46 @L0.assert L0.ConvertsToValueWith DN.Functions.convertToValue
47 >-- DN.Edge.ArrowLengthProperty.value ==> "Resource -> <ReadGraph> Maybe Double" <R L0.HasProperty : SEL.GenericParameterType
49 >-- DN.Edge.ArrowLengthProperty.gain --> L0.Double <R L0.HasProperty : SEL.GenericParameterType
51 >-- DN.Edge.ArrowLengthProperty.bias --> L0.Double <R L0.HasProperty : SEL.GenericParameterType
53 @L0.assert DN.Edge.ArrowLengthProperty.gain 1.0
54 @L0.assert DN.Edge.ArrowLengthProperty.bias 0.0
56 DN.Vertex.ScaleProperty <T L0.Value
57 @L0.assert L0.ConvertsToValueWith DN.Functions.convertToValue
58 >-- DN.Vertex.ScaleProperty.value ==> "Resource -> <ReadGraph> Maybe Double" <R L0.HasProperty : SEL.GenericParameterType
60 >-- DN.Vertex.ScaleProperty.gain ==> "Double" <R L0.HasProperty : SEL.GenericParameterType
62 >-- DN.Vertex.ScaleProperty.bias ==> "Double" <R L0.HasProperty : SEL.GenericParameterType
64 @L0.assert DN.Vertex.ScaleProperty.gain 1.0
65 @L0.assert DN.Vertex.ScaleProperty.bias 0.0
68 >-- DN.Diagram.elementColoringGradientHue ==> "Float" <R L0.HasProperty : SEL.GenericParameterType
69 L0.HasLabel "Element Color Hue"
70 L0.HasDescription "HSV/HSB color space hue value used for element coloring in degrees (0-360)"
72 L0X.RequiresDataType $(Float(unit="deg",range=[0..360]))
73 SEL.HasDisplayValue _ : SEL.DisplayValue
74 L0.Literal.HasInputValidator DN.Functions.hueValidator : L0.Function
75 >-- DN.Diagram.elementColoringGradientSaturation ==> "Float" <R L0.HasProperty : SEL.GenericParameterType
76 L0.HasLabel "Element Color Saturation"
77 L0.HasDescription "HSV/HSB color space saturation value used for element coloring in % (0-100)"
79 L0X.RequiresDataType $(Float(unit="%",range=[0..100]))
80 SEL.HasDisplayValue _ : SEL.DisplayValue
81 L0.Literal.HasInputValidator DN.Functions.saturationValidator : L0.Function
82 >-- DN.Diagram.elementColoringFunction --> L0.String ==> "Resource -> <ReadGraph> Double" <R L0.HasProperty : SEL.GenericParameterType
83 L0.HasLabel "Element Color Brightness Function"
84 L0.HasDescription "Defines HSV/HSB color space brightness function whose value is cut off to fit [0,1]. Together with hue and saturation this defines the element color."
85 SEL.HasDisplayValue _ : SEL.DisplayValue
86 L0.Literal.HasInputValidator DN.Functions.brightnessValidator : L0.Function
87 >-- DN.Diagram.edgeThicknessGain ==> "Double" <R L0.HasProperty : SEL.GenericParameterType
88 L0.HasLabel "Edge Thickness Gain"
89 >-- DN.Diagram.edgeThicknessBias ==> "Double" <R L0.HasProperty : SEL.GenericParameterType
90 L0.HasLabel "Edge Thickness Bias"
91 >-- DN.Diagram.edgeThicknessProperty --> DN.Edge.ThicknessProperty <R L0.HasProperty : DN.EdgeThicknessPropertyParameterType
92 L0.HasLabel "Edge Thickness Property"
93 >-- DN.Diagram.arrowLengthGain ==> "Double" <R L0.HasProperty : SEL.GenericParameterType
94 L0.HasLabel "Arrow Length Gain"
95 >-- DN.Diagram.arrowLengthBias ==> "Double" <R L0.HasProperty : SEL.GenericParameterType
96 L0.HasLabel "Arrow Length Bias"
97 >-- DN.Diagram.arrowLengthProperty --> DN.Edge.ArrowLengthProperty <R L0.HasProperty : DN.ArrowLengthPropertyParameterType
98 L0.HasLabel "Arrow Length Property"
99 >-- DN.Diagram.nodeScaleGain ==> "Double" <R L0.HasProperty : SEL.GenericParameterType
100 L0.HasLabel "Node Scale Gain"
101 >-- DN.Diagram.nodeScaleBias ==> "Double" <R L0.HasProperty : SEL.GenericParameterType
102 L0.HasLabel "Node Scale Bias"
103 >-- DN.Diagram.nodeScaleProperty --> DN.Vertex.ScaleProperty <R L0.HasProperty : DN.VertexScalePropertyParameterType
104 L0.HasLabel "Node Scale Property"
105 >-- DN.Diagram.backgroundColor --> DATATYPES.RGB.Integer <R L0.HasProperty : SEL.ColorParameterType
106 L0.HasLabel "Diagram Background Color"
107 >-- DN.Diagram.drawMapEnabled ==> "Boolean" <R L0.HasProperty : SEL.GenericParameterType
108 L0.HasLabel "Draw Map"
109 >-- DN.Diagram.hasVisualisation --> DN.Diagram.Visualisations <R L0.HasProperty
110 L0.HasLabel "Visualisation"
111 >-- DN.Diagram.profileUpdateInterval ==> "Long" <R L0.HasProperty : SEL.GenericParameterType
112 L0.HasLabel "Profile update interval"
113 @L0.assert DN.Diagram.elementColoringGradientHue
115 L0.HasDataType $(Float(unit="deg",range=[0..360]))
116 @L0.assert DN.Diagram.elementColoringGradientSaturation
118 L0.HasDataType $(Float(unit="%",range=[0..100]))
119 @MOD.sclAssertion DN.Diagram.elementColoringFunction "\r -> 1.0" "Resource -> <ReadGraph> Double"
120 @L0.assert DN.Diagram.edgeThicknessGain 1.0
121 @L0.assert DN.Diagram.edgeThicknessBias 0.0
122 @L0.assert DN.Diagram.edgeThicknessProperty DN.Edge.ThicknessProperty.Diameter
123 @L0.assert DN.Diagram.arrowLengthGain 1.0
124 @L0.assert DN.Diagram.arrowLengthBias 0.0
125 @L0.assert DN.Diagram.arrowLengthProperty DN.Edge.ArrowLengthProperty.FlowRate
126 @L0.assert DN.Diagram.nodeScaleGain 1.0
127 @L0.assert DN.Diagram.nodeScaleBias 0.0
128 @L0.assert DN.Diagram.nodeScaleProperty DN.Vertex.ScaleProperty.NominalSupplyPressure
129 @L0.assert DN.Diagram.drawMapEnabled true
130 @L0.assert DN.Diagram.profileUpdateInterval
132 @L0.assert DN.Diagram.DefaultPipeTechTypeId 0
134 // ----------------------------------------------------------------------------
135 // Built-in enumerated ScaleProperty & ThicknessProperty instances
137 DN.Functions.constantOne : L0.Function
138 L0.HasValueType "Resource -> <ReadGraph> Maybe Double"
140 DN.Functions.hasNominalMassFlowValue : L0.Function
141 L0.HasValueType "Resource -> <ReadGraph> Maybe Double"
143 DN.Edge.ThicknessProperty.OnlyGainAndBias: DN.Edge.ThicknessProperty
144 L0.HasLabel "Only Gain and Bias"
145 DN.Edge.ThicknessProperty.value
146 DN.Functions.constantOne
148 DN.Edge.ThicknessProperty.Diameter : DN.Edge.ThicknessProperty
149 L0.HasLabel "Diameter"
150 DN.Edge.ThicknessProperty.value
151 DN.Functions.hasDiameterValue : L0.Function
152 L0.HasValueType "Resource -> <ReadGraph> Maybe Double"
153 DN.Edge.ThicknessProperty.gain 0.001
155 DN.Edge.ThicknessProperty.FlowRate : DN.Edge.ThicknessProperty
156 L0.HasLabel "Nominal Mass Flow"
157 DN.Edge.ThicknessProperty.value
158 DN.Functions.hasNominalMassFlowValue
159 DN.Edge.ThicknessProperty.gain 0.1
161 DN.Edge.ArrowLengthProperty.FlowRate : DN.Edge.ArrowLengthProperty
162 L0.HasLabel "Nominal Mass Flow"
163 DN.Edge.ArrowLengthProperty.value
164 DN.Functions.hasNominalMassFlowValue
165 DN.Edge.ArrowLengthProperty.gain 1.0
167 DN.Vertex.ScaleProperty.OnlyGainAndBias: DN.Vertex.ScaleProperty
168 L0.HasLabel "Only Gain and Bias"
169 DN.Vertex.ScaleProperty.value
170 DN.Functions.constantOne
172 DN.Vertex.ScaleProperty.NominalSupplyPressure : DN.Vertex.ScaleProperty
173 L0.HasLabel "Nominal Supply Pressure"
174 DN.Vertex.ScaleProperty.value
175 DN.Functions.hasNominalSupplyPressure : L0.Function
176 L0.HasValueType "Resource -> <ReadGraph> Maybe Double"
177 DN.Vertex.ScaleProperty.gain 0.001
179 DN.Vertex.ScaleProperty.Elevation : DN.Vertex.ScaleProperty
180 L0.HasLabel "Elevation"
181 DN.Vertex.ScaleProperty.value
182 DN.Functions.hasElevation : L0.Function
183 L0.HasValueType "Resource -> <ReadGraph> Maybe Double"
184 DN.Vertex.ScaleProperty.gain 0.1
185 DN.Vertex.ScaleProperty.bias 0.001