@enervance/insight-cim-model 0.0.25 → 0.0.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/dist/analysis/analysis-neplan/digi-ons.d.ts +58 -0
  2. package/dist/analysis/analysis-neplan/digi-ons.js +361 -0
  3. package/dist/analysis/analysis-neplan/digi-ons.js.map +1 -0
  4. package/dist/config/config.utils.d.ts +1 -0
  5. package/dist/config/config.utils.js +37 -0
  6. package/dist/config/config.utils.js.map +1 -0
  7. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js +1 -1
  8. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js.map +1 -1
  9. package/dist/config/westnetz-neplan/neplan-load.config.d.ts +1 -0
  10. package/dist/config/westnetz-neplan/neplan-load.config.js +37 -1
  11. package/dist/config/westnetz-neplan/neplan-load.config.js.map +1 -1
  12. package/dist/constants/cim-class-definition.js +12 -0
  13. package/dist/constants/cim-class-definition.js.map +1 -1
  14. package/dist/constants/cim-class-names.d.ts +8 -0
  15. package/dist/constants/cim-class-names.js +8 -0
  16. package/dist/constants/cim-class-names.js.map +1 -1
  17. package/dist/constants/init-data/JENA_SPARQL.js +1 -1
  18. package/dist/constants/init-data/xml/settings.d.ts +1 -0
  19. package/dist/constants/init-data/xml/settings.js +70 -0
  20. package/dist/constants/init-data/xml/settings.js.map +1 -0
  21. package/dist/constants/rdf-xml.d.ts +7 -2
  22. package/dist/constants/rdf-xml.js +7 -2
  23. package/dist/constants/rdf-xml.js.map +1 -1
  24. package/dist/converter/cgmes-validator.js +2 -0
  25. package/dist/converter/cgmes-validator.js.map +1 -1
  26. package/dist/converter/integral7/ConverterIntegral7.d.ts +51 -21
  27. package/dist/converter/integral7/ConverterIntegral7.js +1097 -1385
  28. package/dist/converter/integral7/ConverterIntegral7.js.map +1 -1
  29. package/dist/converter/integral7/converter-i7.d.ts +175 -0
  30. package/dist/converter/integral7/converter-i7.js +3175 -0
  31. package/dist/converter/integral7/converter-i7.js.map +1 -0
  32. package/dist/converter/integral7/interface-i7/IDefaultValuesConfig.d.ts +207 -157
  33. package/dist/converter/integral7/interface-i7/IObjectMappingConfig.d.ts +8 -0
  34. package/dist/converter/integral7/interface-i7/IObjectMappingConfig.js +3 -0
  35. package/dist/converter/integral7/interface-i7/IObjectMappingConfig.js.map +1 -0
  36. package/dist/converter/integral7/interface-i7/IUkzExportConfig.d.ts +5 -0
  37. package/dist/converter/integral7/interface-i7/{db-config.js → IUkzExportConfig.js} +1 -1
  38. package/dist/converter/integral7/interface-i7/IUkzExportConfig.js.map +1 -0
  39. package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +34 -0
  40. package/dist/converter/integral7/interface-i7/data-structures-i7.js +3 -0
  41. package/dist/converter/integral7/interface-i7/data-structures-i7.js.map +1 -0
  42. package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +20 -0
  43. package/dist/converter/integral7/interface-i7/export-frame-i7.js +185 -0
  44. package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -0
  45. package/dist/converter/integral7/model/interfaces.d.ts +30 -7
  46. package/dist/converter/integral7/sql/integral.sql.d.ts +3 -1
  47. package/dist/converter/integral7/sql/integral.sql.js +236 -2
  48. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  49. package/dist/converter/integral7/utils-cgmes-export.d.ts +15 -0
  50. package/dist/converter/integral7/utils-cgmes-export.js +119 -0
  51. package/dist/converter/integral7/utils-cgmes-export.js.map +1 -0
  52. package/dist/converter/integral7/utils.d.ts +33 -6
  53. package/dist/converter/integral7/utils.js +352 -66
  54. package/dist/converter/integral7/utils.js.map +1 -1
  55. package/dist/data-structures/Settings.d.ts +16 -0
  56. package/dist/data-structures/Settings.js +74 -0
  57. package/dist/data-structures/Settings.js.map +1 -0
  58. package/dist/data-structures/graph/GraphObject.d.ts +4 -2
  59. package/dist/data-structures/graph/GraphObject.js +3 -1
  60. package/dist/data-structures/graph/GraphObject.js.map +1 -1
  61. package/dist/data-structures/graph/Types.d.ts +2 -1
  62. package/dist/data-structures/graph/Types.js +1 -0
  63. package/dist/data-structures/graph/Types.js.map +1 -1
  64. package/dist/data-structures/graph/edges/GraphEdge.d.ts +2 -1
  65. package/dist/data-structures/graph/edges/GraphEdge.js +2 -2
  66. package/dist/data-structures/graph/edges/GraphEdge.js.map +1 -1
  67. package/dist/data-structures/graph/graph.js +3 -3
  68. package/dist/data-structures/graph/graph.js.map +1 -1
  69. package/dist/data-structures/graph/nodes/GraphNode.d.ts +2 -1
  70. package/dist/data-structures/graph/nodes/GraphNode.js +2 -2
  71. package/dist/data-structures/graph/nodes/GraphNode.js.map +1 -1
  72. package/dist/data-structures/tree/GraphTree.js +3 -3
  73. package/dist/data-structures/tree/GraphTree.js.map +1 -1
  74. package/dist/data-structures/tree/GraphTreeEdge.d.ts +1 -1
  75. package/dist/data-structures/tree/GraphTreeEdge.js +2 -2
  76. package/dist/data-structures/tree/GraphTreeEdge.js.map +1 -1
  77. package/dist/data-structures/tree/GraphTreeNode.d.ts +1 -1
  78. package/dist/data-structures/tree/GraphTreeNode.js +2 -2
  79. package/dist/data-structures/tree/GraphTreeNode.js.map +1 -1
  80. package/dist/data-structures/tree/GraphTreeObject.d.ts +2 -1
  81. package/dist/data-structures/tree/GraphTreeObject.js +2 -1
  82. package/dist/data-structures/tree/GraphTreeObject.js.map +1 -1
  83. package/dist/etl/etl-neplan/etl-neplan-csv.js +70 -63
  84. package/dist/etl/etl-neplan/etl-neplan-csv.js.map +1 -1
  85. package/dist/etl/etl-neplan/etl-neplan-feederline.d.ts +20 -0
  86. package/dist/etl/etl-neplan/etl-neplan-feederline.js +83 -2
  87. package/dist/etl/etl-neplan/etl-neplan-feederline.js.map +1 -1
  88. package/dist/etl/etl-neplan/etl-neplan-geo.d.ts +5 -0
  89. package/dist/etl/etl-neplan/etl-neplan-geo.js +221 -1
  90. package/dist/etl/etl-neplan/etl-neplan-geo.js.map +1 -1
  91. package/dist/etl/etl-neplan/etl-neplan.js +4 -1
  92. package/dist/etl/etl-neplan/etl-neplan.js.map +1 -1
  93. package/dist/etl/etl-neplan/neplan-contingency-analysis.js +4 -4
  94. package/dist/etl/etl-neplan/neplan-contingency-analysis.js.map +1 -1
  95. package/dist/index.d.ts +6 -4
  96. package/dist/index.js +22 -0
  97. package/dist/index.js.map +1 -1
  98. package/dist/interfaces/ILogger.d.ts +2 -0
  99. package/dist/interfaces/model/core/IIdentifiedObject.d.ts +3 -1
  100. package/dist/model/assetinfo/PowerTransformerInfo.js +2 -2
  101. package/dist/model/assetinfo/PowerTransformerInfo.js.map +1 -1
  102. package/dist/model/assetinfo/TapChangerInfo.js +17 -15
  103. package/dist/model/assetinfo/TapChangerInfo.js.map +1 -1
  104. package/dist/model/assetinfo/TransformerEndInfo.js +7 -5
  105. package/dist/model/assetinfo/TransformerEndInfo.js.map +1 -1
  106. package/dist/model/assetinfo/WireInfo.js +4 -3
  107. package/dist/model/assetinfo/WireInfo.js.map +1 -1
  108. package/dist/model/assets/Structure.d.ts +6 -0
  109. package/dist/model/assets/Structure.js +11 -0
  110. package/dist/model/assets/Structure.js.map +1 -0
  111. package/dist/model/assets/TowerConstructionKind.d.ts +4 -0
  112. package/dist/model/assets/TowerConstructionKind.js +9 -0
  113. package/dist/model/assets/TowerConstructionKind.js.map +1 -0
  114. package/dist/model/common/CoordinateSystem.js +4 -2
  115. package/dist/model/common/CoordinateSystem.js.map +1 -1
  116. package/dist/model/common/Location.js +4 -3
  117. package/dist/model/common/Location.js.map +1 -1
  118. package/dist/model/common/PositionPoint.js +6 -5
  119. package/dist/model/common/PositionPoint.js.map +1 -1
  120. package/dist/model/core/ACDCTerminal.d.ts +3 -1
  121. package/dist/model/core/ACDCTerminal.js +9 -4
  122. package/dist/model/core/ACDCTerminal.js.map +1 -1
  123. package/dist/model/core/BaseVoltage.js +5 -4
  124. package/dist/model/core/BaseVoltage.js.map +1 -1
  125. package/dist/model/core/Bay.d.ts +1 -0
  126. package/dist/model/core/Bay.js +13 -8
  127. package/dist/model/core/Bay.js.map +1 -1
  128. package/dist/model/core/ConductingEquipment.js +2 -1
  129. package/dist/model/core/ConductingEquipment.js.map +1 -1
  130. package/dist/model/core/ConnectivityNode.d.ts +8 -1
  131. package/dist/model/core/ConnectivityNode.js +22 -6
  132. package/dist/model/core/ConnectivityNode.js.map +1 -1
  133. package/dist/model/core/Curve.js +5 -5
  134. package/dist/model/core/Curve.js.map +1 -1
  135. package/dist/model/core/CurveData.js +8 -7
  136. package/dist/model/core/CurveData.js.map +1 -1
  137. package/dist/model/core/Equipment.js +7 -9
  138. package/dist/model/core/Equipment.js.map +1 -1
  139. package/dist/model/core/Feeder.js +4 -3
  140. package/dist/model/core/Feeder.js.map +1 -1
  141. package/dist/model/core/GeographicalRegion.js +3 -3
  142. package/dist/model/core/GeographicalRegion.js.map +1 -1
  143. package/dist/model/core/IdentifiedObject.d.ts +5 -3
  144. package/dist/model/core/IdentifiedObject.js +18 -9
  145. package/dist/model/core/IdentifiedObject.js.map +1 -1
  146. package/dist/model/core/PSRType.js +2 -2
  147. package/dist/model/core/PSRType.js.map +1 -1
  148. package/dist/model/core/PowerSystemResource.js +2 -1
  149. package/dist/model/core/PowerSystemResource.js.map +1 -1
  150. package/dist/model/core/SubGeographicalRegion.js +5 -5
  151. package/dist/model/core/SubGeographicalRegion.js.map +1 -1
  152. package/dist/model/core/Substation.d.ts +1 -0
  153. package/dist/model/core/Substation.js +7 -4
  154. package/dist/model/core/Substation.js.map +1 -1
  155. package/dist/model/core/Terminal.d.ts +7 -3
  156. package/dist/model/core/Terminal.js +31 -13
  157. package/dist/model/core/Terminal.js.map +1 -1
  158. package/dist/model/core/VoltageLevel.js +10 -14
  159. package/dist/model/core/VoltageLevel.js.map +1 -1
  160. package/dist/model/dc/ACDCConverter.js +22 -21
  161. package/dist/model/dc/ACDCConverter.js.map +1 -1
  162. package/dist/model/dc/ACDCConverterDCTerminal.js +4 -4
  163. package/dist/model/dc/ACDCConverterDCTerminal.js.map +1 -1
  164. package/dist/model/dc/CsConverter.js +18 -18
  165. package/dist/model/dc/CsConverter.js.map +1 -1
  166. package/dist/model/dc/DCBaseTerminal.js +3 -3
  167. package/dist/model/dc/DCBaseTerminal.js.map +1 -1
  168. package/dist/model/dc/DCConverterUnit.js +4 -4
  169. package/dist/model/dc/DCConverterUnit.js.map +1 -1
  170. package/dist/model/dc/DCLine.js +2 -2
  171. package/dist/model/dc/DCLine.js.map +1 -1
  172. package/dist/model/dc/DCLineSegment.js +6 -6
  173. package/dist/model/dc/DCLineSegment.js.map +1 -1
  174. package/dist/model/dc/DCNode.js +3 -3
  175. package/dist/model/dc/DCNode.js.map +1 -1
  176. package/dist/model/dc/DCTerminal.js +3 -3
  177. package/dist/model/dc/DCTerminal.js.map +1 -1
  178. package/dist/model/dc/VsConverter.js +17 -17
  179. package/dist/model/dc/VsConverter.js.map +1 -1
  180. package/dist/model/diagram/Diagram.js +4 -4
  181. package/dist/model/diagram/Diagram.js.map +1 -1
  182. package/dist/model/diagram/DiagramObject.d.ts +4 -3
  183. package/dist/model/diagram/DiagramObject.js +22 -9
  184. package/dist/model/diagram/DiagramObject.js.map +1 -1
  185. package/dist/model/diagram/DiagramObjectPoint.d.ts +6 -5
  186. package/dist/model/diagram/DiagramObjectPoint.js +22 -9
  187. package/dist/model/diagram/DiagramObjectPoint.js.map +1 -1
  188. package/dist/model/diagram/DiagramStyle.js +4 -3
  189. package/dist/model/diagram/DiagramStyle.js.map +1 -1
  190. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsEnums.d.ts +16 -0
  191. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsEnums.js +23 -0
  192. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsEnums.js.map +1 -0
  193. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.d.ts +8 -0
  194. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js +22 -0
  195. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js.map +1 -0
  196. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.d.ts +9 -0
  197. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.js +8 -0
  198. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.js.map +1 -0
  199. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.d.ts +8 -0
  200. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.js +8 -0
  201. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.js.map +1 -0
  202. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.d.ts +7 -0
  203. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js +16 -0
  204. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js.map +1 -0
  205. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.d.ts +25 -0
  206. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js +61 -0
  207. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js.map +1 -0
  208. package/dist/model/equivalents/EquivalentBranch.js +19 -17
  209. package/dist/model/equivalents/EquivalentBranch.js.map +1 -1
  210. package/dist/model/equivalents/EquivalentInjection.d.ts +25 -0
  211. package/dist/model/equivalents/EquivalentInjection.js +93 -0
  212. package/dist/model/equivalents/EquivalentInjection.js.map +1 -0
  213. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.d.ts +22 -0
  214. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js +90 -0
  215. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js.map +1 -0
  216. package/dist/model/extensions/amprion/assets/AMPRIONFacility.d.ts +25 -0
  217. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js +98 -0
  218. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js.map +1 -0
  219. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.d.ts +27 -0
  220. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js +99 -0
  221. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js.map +1 -0
  222. package/dist/model/extensions/amprion/assets/AMPRIONStatusTypeKind.d.ts +9 -0
  223. package/dist/model/extensions/amprion/assets/AMPRIONStatusTypeKind.js +14 -0
  224. package/dist/model/extensions/amprion/assets/AMPRIONStatusTypeKind.js.map +1 -0
  225. package/dist/model/extensions/amprion/assets/AMPRIONTower.d.ts +34 -0
  226. package/dist/model/extensions/amprion/assets/AMPRIONTower.js +103 -0
  227. package/dist/model/extensions/amprion/assets/AMPRIONTower.js.map +1 -0
  228. package/dist/model/extensions/amprion/assets/AMPRIONWire.d.ts +38 -0
  229. package/dist/model/extensions/amprion/assets/AMPRIONWire.js +120 -0
  230. package/dist/model/extensions/amprion/assets/AMPRIONWire.js.map +1 -0
  231. package/dist/model/extensions/amprion/common/AMPRIONStateTypeKind.d.ts +5 -0
  232. package/dist/model/extensions/amprion/common/AMPRIONStateTypeKind.js +10 -0
  233. package/dist/model/extensions/amprion/common/AMPRIONStateTypeKind.js.map +1 -0
  234. package/dist/model/extensions/amprion/common/AMPRIONWireIsolationTypeKind.d.ts +11 -0
  235. package/dist/model/extensions/amprion/common/AMPRIONWireIsolationTypeKind.js +16 -0
  236. package/dist/model/extensions/amprion/common/AMPRIONWireIsolationTypeKind.js.map +1 -0
  237. package/dist/model/extensions/amprion/common/AMPRIONWireLayoutKind.d.ts +6 -0
  238. package/dist/model/extensions/amprion/common/AMPRIONWireLayoutKind.js +11 -0
  239. package/dist/model/extensions/amprion/common/AMPRIONWireLayoutKind.js.map +1 -0
  240. package/dist/model/extensions/amprion/common/AMPRIONWireOperatingTypeKind.d.ts +10 -0
  241. package/dist/model/extensions/amprion/common/AMPRIONWireOperatingTypeKind.js +15 -0
  242. package/dist/model/extensions/amprion/common/AMPRIONWireOperatingTypeKind.js.map +1 -0
  243. package/dist/model/extensions/amprion/core/AMPRIONBay.js +5 -4
  244. package/dist/model/extensions/amprion/core/AMPRIONBay.js.map +1 -1
  245. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js +5 -5
  246. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js.map +1 -1
  247. package/dist/model/extensions/amprion/core/AMPRIONLine.d.ts +5 -0
  248. package/dist/model/extensions/amprion/core/AMPRIONLine.js +33 -0
  249. package/dist/model/extensions/amprion/core/AMPRIONLine.js.map +1 -0
  250. package/dist/model/extensions/amprion/core/AMPRIONSubstation.d.ts +15 -0
  251. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js +93 -0
  252. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js.map +1 -0
  253. package/dist/model/extensions/amprion/model/AMPRIONModel.d.ts +22 -2
  254. package/dist/model/extensions/amprion/model/AMPRIONModel.js +57 -3
  255. package/dist/model/extensions/amprion/model/AMPRIONModel.js.map +1 -1
  256. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.d.ts +2 -0
  257. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js +2 -2
  258. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js.map +1 -1
  259. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js +30 -30
  260. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js.map +1 -1
  261. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.d.ts +13 -0
  262. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js +80 -0
  263. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js.map +1 -0
  264. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.js +4 -4
  265. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.js.map +1 -1
  266. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js +9 -8
  267. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js.map +1 -1
  268. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js +9 -8
  269. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js.map +1 -1
  270. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js +14 -13
  271. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js.map +1 -1
  272. package/dist/model/extensions/enervance/assets/EVWireObject.d.ts +1 -1
  273. package/dist/model/extensions/enervance/assets/EVWireObject.js +10 -5
  274. package/dist/model/extensions/enervance/assets/EVWireObject.js.map +1 -1
  275. package/dist/model/extensions/enervance/core/EVTerminal.d.ts +3 -0
  276. package/dist/model/extensions/enervance/core/EVTerminal.js +19 -0
  277. package/dist/model/extensions/enervance/core/EVTerminal.js.map +1 -1
  278. package/dist/model/extensions/enervance/wires/EVACLineSegment.d.ts +1 -1
  279. package/dist/model/extensions/enervance/wires/EVACLineSegment.js +3 -3
  280. package/dist/model/extensions/enervance/wires/EVACLineSegment.js.map +1 -1
  281. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js.map +1 -1
  282. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.d.ts +1 -1
  283. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js +22 -2
  284. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js.map +1 -1
  285. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.d.ts +5 -0
  286. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js +14 -0
  287. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js.map +1 -0
  288. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js +3 -2
  289. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js.map +1 -1
  290. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.d.ts +10 -3
  291. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js +147 -98
  292. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
  293. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.d.ts +8 -2
  294. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js +80 -9
  295. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js.map +1 -1
  296. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.d.ts +5 -4
  297. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js +114 -45
  298. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js.map +1 -1
  299. package/dist/model/generation/FossilFuel.js +4 -4
  300. package/dist/model/generation/FossilFuel.js.map +1 -1
  301. package/dist/model/generation/GeneratingUnit.js +7 -6
  302. package/dist/model/generation/GeneratingUnit.js.map +1 -1
  303. package/dist/model/generation/HydroGeneratingUnit.d.ts +3 -0
  304. package/dist/model/generation/HydroGeneratingUnit.js +21 -0
  305. package/dist/model/generation/HydroGeneratingUnit.js.map +1 -1
  306. package/dist/model/generation/SolarGeneratingUnit.d.ts +2 -0
  307. package/dist/model/generation/SolarGeneratingUnit.js +13 -0
  308. package/dist/model/generation/SolarGeneratingUnit.js.map +1 -1
  309. package/dist/model/generation/ThermalGeneratingUnit.js +2 -2
  310. package/dist/model/generation/ThermalGeneratingUnit.js.map +1 -1
  311. package/dist/model/generation/WindGeneratingUnit.js +3 -3
  312. package/dist/model/generation/WindGeneratingUnit.js.map +1 -1
  313. package/dist/model/loadmodel/ConformLoad.js +3 -3
  314. package/dist/model/loadmodel/ConformLoad.js.map +1 -1
  315. package/dist/model/loadmodel/ConformLoadGroup.js +2 -2
  316. package/dist/model/loadmodel/ConformLoadGroup.js.map +1 -1
  317. package/dist/model/loadmodel/LoadArea.js +2 -2
  318. package/dist/model/loadmodel/LoadArea.js.map +1 -1
  319. package/dist/model/loadmodel/LoadGroup.js +2 -2
  320. package/dist/model/loadmodel/LoadGroup.js.map +1 -1
  321. package/dist/model/loadmodel/SubLoadArea.js +3 -3
  322. package/dist/model/loadmodel/SubLoadArea.js.map +1 -1
  323. package/dist/model/model/Model.d.ts +34 -2
  324. package/dist/model/model/Model.js +86 -12
  325. package/dist/model/model/Model.js.map +1 -1
  326. package/dist/model/operationallimits/CurrentLimit.js +3 -2
  327. package/dist/model/operationallimits/CurrentLimit.js.map +1 -1
  328. package/dist/model/operationallimits/OperationalLimit.js +7 -14
  329. package/dist/model/operationallimits/OperationalLimit.js.map +1 -1
  330. package/dist/model/operationallimits/OperationalLimitSet.js +5 -8
  331. package/dist/model/operationallimits/OperationalLimitSet.js.map +1 -1
  332. package/dist/model/operationallimits/OperationalLimitType.js +4 -4
  333. package/dist/model/operationallimits/OperationalLimitType.js.map +1 -1
  334. package/dist/model/operationallimits/VoltageLimit.d.ts +9 -0
  335. package/dist/model/operationallimits/VoltageLimit.js +38 -0
  336. package/dist/model/operationallimits/VoltageLimit.js.map +1 -0
  337. package/dist/model/statevariables/SvPowerFlow.js +5 -5
  338. package/dist/model/statevariables/SvPowerFlow.js.map +1 -1
  339. package/dist/model/statevariables/SvStatus.js +5 -5
  340. package/dist/model/statevariables/SvStatus.js.map +1 -1
  341. package/dist/model/statevariables/SvTapStep.js +5 -5
  342. package/dist/model/statevariables/SvTapStep.js.map +1 -1
  343. package/dist/model/topology/TopologicalNode.js +5 -4
  344. package/dist/model/topology/TopologicalNode.js.map +1 -1
  345. package/dist/model/wires/ACLineSegment.js +12 -11
  346. package/dist/model/wires/ACLineSegment.js.map +1 -1
  347. package/dist/model/wires/AsynchronousMachine.js +20 -20
  348. package/dist/model/wires/AsynchronousMachine.js.map +1 -1
  349. package/dist/model/wires/Breaker.js +2 -2
  350. package/dist/model/wires/Breaker.js.map +1 -1
  351. package/dist/model/wires/BusbarSection.js +3 -3
  352. package/dist/model/wires/BusbarSection.js.map +1 -1
  353. package/dist/model/wires/Conductor.js +8 -2
  354. package/dist/model/wires/Conductor.js.map +1 -1
  355. package/dist/model/wires/Disconnector.js +2 -2
  356. package/dist/model/wires/Disconnector.js.map +1 -1
  357. package/dist/model/wires/EarthFaultCompensator.js +2 -1
  358. package/dist/model/wires/EarthFaultCompensator.js.map +1 -1
  359. package/dist/model/wires/EnergyConsumer.js +10 -9
  360. package/dist/model/wires/EnergyConsumer.js.map +1 -1
  361. package/dist/model/wires/EnergySource.js +13 -12
  362. package/dist/model/wires/EnergySource.js.map +1 -1
  363. package/dist/model/wires/ExternalNetworkInjection.js +20 -19
  364. package/dist/model/wires/ExternalNetworkInjection.js.map +1 -1
  365. package/dist/model/wires/GroundingImpedance.js +3 -3
  366. package/dist/model/wires/GroundingImpedance.js.map +1 -1
  367. package/dist/model/wires/Junction.js +3 -3
  368. package/dist/model/wires/Junction.js.map +1 -1
  369. package/dist/model/wires/Line.d.ts +3 -0
  370. package/dist/model/wires/Line.js +20 -5
  371. package/dist/model/wires/Line.js.map +1 -1
  372. package/dist/model/wires/LinearShuntCompensator.js +6 -6
  373. package/dist/model/wires/LinearShuntCompensator.js.map +1 -1
  374. package/dist/model/wires/PetersenCoil.js +9 -9
  375. package/dist/model/wires/PetersenCoil.js.map +1 -1
  376. package/dist/model/wires/PhaseTapChanger.d.ts +9 -0
  377. package/dist/model/wires/PhaseTapChanger.js +27 -0
  378. package/dist/model/wires/PhaseTapChanger.js.map +1 -0
  379. package/dist/model/wires/PhaseTapChangerAsymmetrical.d.ts +10 -0
  380. package/dist/model/wires/PhaseTapChangerAsymmetrical.js +41 -0
  381. package/dist/model/wires/PhaseTapChangerAsymmetrical.js.map +1 -0
  382. package/dist/model/wires/PhaseTapChangerLinear.d.ts +12 -0
  383. package/dist/model/wires/PhaseTapChangerLinear.js +51 -0
  384. package/dist/model/wires/PhaseTapChangerLinear.js.map +1 -0
  385. package/dist/model/wires/PhaseTapChangerNonLinear.d.ts +10 -0
  386. package/dist/model/wires/PhaseTapChangerNonLinear.js +37 -0
  387. package/dist/model/wires/PhaseTapChangerNonLinear.js.map +1 -0
  388. package/dist/model/wires/PhaseTapChangerSymmetrical.d.ts +6 -0
  389. package/dist/model/wires/PhaseTapChangerSymmetrical.js +24 -0
  390. package/dist/model/wires/PhaseTapChangerSymmetrical.js.map +1 -0
  391. package/dist/model/wires/PhaseTapChangerTable.d.ts +14 -0
  392. package/dist/model/wires/PhaseTapChangerTable.js +44 -0
  393. package/dist/model/wires/PhaseTapChangerTable.js.map +1 -0
  394. package/dist/model/wires/PhaseTapChangerTablePoint.d.ts +15 -0
  395. package/dist/model/wires/PhaseTapChangerTablePoint.js +54 -0
  396. package/dist/model/wires/PhaseTapChangerTablePoint.js.map +1 -0
  397. package/dist/model/wires/PhaseTapChangerTabular.d.ts +10 -0
  398. package/dist/model/wires/PhaseTapChangerTabular.js +38 -0
  399. package/dist/model/wires/PhaseTapChangerTabular.js.map +1 -0
  400. package/dist/model/wires/PowerTransformer.js +3 -2
  401. package/dist/model/wires/PowerTransformer.js.map +1 -1
  402. package/dist/model/wires/PowerTransformerEnd.js +21 -21
  403. package/dist/model/wires/PowerTransformerEnd.js.map +1 -1
  404. package/dist/model/wires/RatioTapChanger.d.ts +2 -0
  405. package/dist/model/wires/RatioTapChanger.js +21 -24
  406. package/dist/model/wires/RatioTapChanger.js.map +1 -1
  407. package/dist/model/wires/RatioTapChangerTable.d.ts +3 -0
  408. package/dist/model/wires/RatioTapChangerTable.js +16 -2
  409. package/dist/model/wires/RatioTapChangerTable.js.map +1 -1
  410. package/dist/model/wires/RatioTapChangerTablePoint.js +4 -4
  411. package/dist/model/wires/RatioTapChangerTablePoint.js.map +1 -1
  412. package/dist/model/wires/ReactiveCapabilityCurve.js +2 -2
  413. package/dist/model/wires/ReactiveCapabilityCurve.js.map +1 -1
  414. package/dist/model/wires/RegulatingCondEq.js +3 -2
  415. package/dist/model/wires/RegulatingCondEq.js.map +1 -1
  416. package/dist/model/wires/RegulatingControl.js +9 -8
  417. package/dist/model/wires/RegulatingControl.js.map +1 -1
  418. package/dist/model/wires/RotatingMachine.d.ts +1 -0
  419. package/dist/model/wires/RotatingMachine.js +21 -7
  420. package/dist/model/wires/RotatingMachine.js.map +1 -1
  421. package/dist/model/wires/SeriesCompensator.js +9 -8
  422. package/dist/model/wires/SeriesCompensator.js.map +1 -1
  423. package/dist/model/wires/ShuntCompensator.js +15 -15
  424. package/dist/model/wires/ShuntCompensator.js.map +1 -1
  425. package/dist/model/wires/StaticVarCompensator.js +14 -14
  426. package/dist/model/wires/StaticVarCompensator.js.map +1 -1
  427. package/dist/model/wires/Switch.js +4 -3
  428. package/dist/model/wires/Switch.js.map +1 -1
  429. package/dist/model/wires/SynchronousMachine.d.ts +2 -0
  430. package/dist/model/wires/SynchronousMachine.js +28 -31
  431. package/dist/model/wires/SynchronousMachine.js.map +1 -1
  432. package/dist/model/wires/TapChanger.d.ts +2 -0
  433. package/dist/model/wires/TapChanger.js +15 -15
  434. package/dist/model/wires/TapChanger.js.map +1 -1
  435. package/dist/model/wires/TapChangerControl.js +3 -3
  436. package/dist/model/wires/TapChangerControl.js.map +1 -1
  437. package/dist/model/wires/TapChangerTablePoint.d.ts +3 -0
  438. package/dist/model/wires/TapChangerTablePoint.js +34 -7
  439. package/dist/model/wires/TapChangerTablePoint.js.map +1 -1
  440. package/dist/model/wires/TransformerEnd.d.ts +3 -0
  441. package/dist/model/wires/TransformerEnd.js +12 -19
  442. package/dist/model/wires/TransformerEnd.js.map +1 -1
  443. package/dist/util/collection/util-dot.d.ts +2 -0
  444. package/dist/util/collection/util-dot.js +71 -0
  445. package/dist/util/collection/util-dot.js.map +1 -0
  446. package/dist/util/collection/util-excel.d.ts +10 -0
  447. package/dist/util/collection/util-excel.js +58 -0
  448. package/dist/util/collection/util-excel.js.map +1 -0
  449. package/dist/util/collection/util-graph.d.ts +7 -0
  450. package/dist/util/collection/util-graph.js +168 -0
  451. package/dist/util/collection/util-graph.js.map +1 -0
  452. package/dist/util/collection/util-graph2tree.d.ts +39 -0
  453. package/dist/util/collection/util-graph2tree.js +172 -0
  454. package/dist/util/collection/util-graph2tree.js.map +1 -0
  455. package/dist/util/collection/util-tree.d.ts +65 -0
  456. package/dist/util/collection/util-tree.js +236 -0
  457. package/dist/util/collection/util-tree.js.map +1 -0
  458. package/dist/util/database/mysql-controller.d.ts +16 -0
  459. package/dist/util/database/mysql-controller.js +45 -0
  460. package/dist/util/database/mysql-controller.js.map +1 -0
  461. package/dist/util/sparql/sparql-utils.d.ts +1 -0
  462. package/dist/util/sparql/sparql-utils.js +5 -1
  463. package/dist/util/sparql/sparql-utils.js.map +1 -1
  464. package/dist/util/util-create.d.ts +5 -2
  465. package/dist/util/util-create.js +18 -6
  466. package/dist/util/util-create.js.map +1 -1
  467. package/dist/util/util-test.d.ts +18 -0
  468. package/dist/util/util-test.js +300 -0
  469. package/dist/util/util-test.js.map +1 -0
  470. package/dist/util/util-topology.js +0 -2
  471. package/dist/util/util-topology.js.map +1 -1
  472. package/dist/util/utils.d.ts +0 -12
  473. package/dist/util/utils.js +17 -33
  474. package/dist/util/utils.js.map +1 -1
  475. package/dist/util/xml/xml.serializer.d.ts +12 -0
  476. package/dist/util/xml/xml.serializer.js +33 -3
  477. package/dist/util/xml/xml.serializer.js.map +1 -1
  478. package/package.json +11 -5
  479. package/dist/converter/integral7/interface-i7/db-config.d.ts +0 -13
  480. package/dist/converter/integral7/interface-i7/db-config.js.map +0 -1
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.testCycleFound = exports.extractCycleTreeNodes = exports.alreadyExpanded = exports.extractInformationFromTree = void 0;
4
+ const ConnectivityNode_1 = require("../../model/core/ConnectivityNode");
5
+ const ConductingEquipment_1 = require("../../model/core/ConductingEquipment");
6
+ const Switch_1 = require("../../model/wires/Switch");
7
+ const ACLineSegment_1 = require("../../model/wires/ACLineSegment");
8
+ const util_tree_1 = require("./util-tree");
9
+ function extractInformationFromTree(treeContext) {
10
+ const parallelEQ = parallelConductingEQ(treeContext.cycles);
11
+ let distanceContext = {
12
+ context: { distanceMap: new Map(), mrid2treeNode: new Map() },
13
+ callbackFunc: determineDistanceCallbackFunc
14
+ };
15
+ util_tree_1.breadthFirstTreeTraversal(treeContext.rootNode, distanceContext);
16
+ let trunkLineContextWrapper = {
17
+ context: { trunkLineLines: [], trunkLineNodes: [], onTrunkLine: false },
18
+ callbackFunc: markAsTrunkLineCallbackFunc
19
+ };
20
+ let idMarkerContextWrapper = {
21
+ context: {
22
+ branches: [],
23
+ treeNodesVisited: new Set(),
24
+ branchDone: false, crtBranch: [], lastTreeNode: undefined,
25
+ sortedDistances: new Map([...distanceContext.context.distanceMap.entries()]
26
+ .sort((b, a) => a[1] - b[1]))
27
+ },
28
+ callbackFunc: orderBranchesCallbackFunc
29
+ };
30
+ util_tree_1.leafNodeTraversal(treeContext.leafNodes, trunkLineContextWrapper, idMarkerContextWrapper);
31
+ }
32
+ exports.extractInformationFromTree = extractInformationFromTree;
33
+ function parallelConductingEQ(cycles) {
34
+ let parallelElements = [];
35
+ for (const cycle of cycles) {
36
+ let equipments = [];
37
+ for (const elem of cycle) {
38
+ if (elem.cimObject instanceof ConductingEquipment_1.ConductingEquipment) {
39
+ equipments.push(elem.cimObject);
40
+ }
41
+ }
42
+ if (equipments.length == 2) {
43
+ if (equipments[0] instanceof equipments[1].constructor ||
44
+ equipments[1] instanceof equipments[0].constructor) {
45
+ parallelElements.push(equipments);
46
+ }
47
+ }
48
+ }
49
+ return parallelElements;
50
+ }
51
+ function alreadyExpanded(startTNode, toCheck) {
52
+ let crtTNode = startTNode;
53
+ while (crtTNode) {
54
+ if (crtTNode.cimObject === toCheck)
55
+ return true;
56
+ crtTNode = crtTNode.parent;
57
+ }
58
+ return false;
59
+ }
60
+ exports.alreadyExpanded = alreadyExpanded;
61
+ function extractCycleTreeNodes(node, cimObject) {
62
+ let crtTreeNode = node;
63
+ let cycleTreeNodes = [crtTreeNode];
64
+ while (crtTreeNode.cimObject.mrid !== cimObject.mrid) {
65
+ crtTreeNode = crtTreeNode.parent;
66
+ cycleTreeNodes.push(crtTreeNode);
67
+ }
68
+ return cycleTreeNodes;
69
+ }
70
+ exports.extractCycleTreeNodes = extractCycleTreeNodes;
71
+ function testCycleFound(cycle, cycles) {
72
+ for (const foundCylces of cycles) {
73
+ if (foundCylces.length == cycle.length) {
74
+ let same = true;
75
+ const cycle1 = new Set();
76
+ const cycle2 = new Set();
77
+ cycle.forEach(elem => cycle1.add(elem.cimObject.mrid));
78
+ foundCylces.forEach(elem => cycle2.add(elem.cimObject.mrid));
79
+ for (const a of cycle1)
80
+ if (!cycle2.has(a))
81
+ same = false;
82
+ if (same) {
83
+ return true;
84
+ }
85
+ }
86
+ }
87
+ return false;
88
+ }
89
+ exports.testCycleFound = testCycleFound;
90
+ function markAsTrunkLineCallbackFunc(treeNode, context, calltime) {
91
+ if (calltime === util_tree_1.LeafNodeCalltime.LEAF_NODE_PRE_NEXT) {
92
+ const crtCIMObject = treeNode.cimObject;
93
+ if (context.trunkLineNodes.length > 0) {
94
+ context.trunkLineLines.push(context.trunkLineNodes.slice());
95
+ context.trunkLineNodes = [];
96
+ }
97
+ context.onTrunkLine = false;
98
+ if (crtCIMObject instanceof ConnectivityNode_1.ConnectivityNode || crtCIMObject instanceof ConductingEquipment_1.ConductingEquipment) {
99
+ for (const t of crtCIMObject.terminals.values()) {
100
+ const nextNode = crtCIMObject instanceof ConnectivityNode_1.ConnectivityNode ? t.conductingEquipment : t.connectivityNode;
101
+ if (!t.connected || (nextNode instanceof Switch_1.Switch && nextNode.getOpen())) {
102
+ context.onTrunkLine = true;
103
+ return;
104
+ }
105
+ }
106
+ }
107
+ }
108
+ else if (calltime === util_tree_1.LeafNodeCalltime.LEAF_NODE_LOOP_TO_ROOT) {
109
+ if (context.onTrunkLine) {
110
+ context.trunkLineNodes.push(treeNode);
111
+ }
112
+ }
113
+ else if (calltime === util_tree_1.LeafNodeCalltime.END) {
114
+ if (context.trunkLineNodes.length > 0) {
115
+ context.trunkLineLines.push(context.trunkLineNodes.slice());
116
+ context.trunkLineNodes = [];
117
+ }
118
+ }
119
+ }
120
+ function orderBranchesCallbackFunc(treeNode, context, calltime) {
121
+ if (calltime === util_tree_1.LeafNodeCalltime.LEAF_NODE_LOOP_TO_ROOT) {
122
+ if (context.branchDone)
123
+ return;
124
+ if (treeNode.cimObject instanceof ConnectivityNode_1.ConnectivityNode) {
125
+ context.crtBranch.push(treeNode);
126
+ }
127
+ if (context.treeNodesVisited.has(treeNode)) {
128
+ context.branchDone = true;
129
+ }
130
+ }
131
+ else if (calltime === util_tree_1.LeafNodeCalltime.LEAF_NODE_PRE_NEXT || calltime === util_tree_1.LeafNodeCalltime.END) {
132
+ if (context.crtBranch !== undefined) {
133
+ context.branches.push(context.crtBranch.slice());
134
+ }
135
+ context.crtBranch = [];
136
+ context.branchDone = false;
137
+ if (calltime === util_tree_1.LeafNodeCalltime.END) {
138
+ context.branches.sort((a, b) => context.sortedDistances.get(a[0].cimObject.mrid) - context.sortedDistances.get(b[0].cimObject.mrid));
139
+ }
140
+ }
141
+ context.treeNodesVisited.add(treeNode);
142
+ context.lastTreeNode = treeNode;
143
+ }
144
+ function determineDistanceCallbackFunc(treeNode, context, calltime) {
145
+ if (calltime === util_tree_1.BFSCalltime.BFS_NEXT_NODE) {
146
+ if (treeNode.cimObject instanceof ConnectivityNode_1.ConnectivityNode) {
147
+ let crtDistance = 0;
148
+ if (treeNode.parent && treeNode.parent.parent) {
149
+ if (treeNode.parent.cimObject instanceof ACLineSegment_1.ACLineSegment) {
150
+ const parentDist = context.distanceMap.get(treeNode.parent.parent.cimObject.mrid);
151
+ crtDistance = parentDist + treeNode.parent.cimObject.getLength();
152
+ }
153
+ }
154
+ else {
155
+ crtDistance = 0;
156
+ }
157
+ if (context.distanceMap.has(treeNode.cimObject.mrid)) {
158
+ let oldDistance = context.distanceMap.get(treeNode.cimObject.mrid);
159
+ if (oldDistance < crtDistance) {
160
+ return;
161
+ }
162
+ }
163
+ context.distanceMap.set(treeNode.cimObject.mrid, crtDistance);
164
+ context.mrid2treeNode.set(treeNode.cimObject.mrid, treeNode);
165
+ }
166
+ }
167
+ }
168
+ //# sourceMappingURL=util-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util-graph.js","sourceRoot":"","sources":["../../../src/util/collection/util-graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { ConductingEquipment } from "../../model/core/ConductingEquipment";
2
+ import { TreeNode } from "./util-tree";
3
+ import { IIdentifiedObject } from "../../interfaces/model/core/IIdentifiedObject";
4
+ import { WNFeeder } from "../../model/extensions/neplan-westnetz/core/WNFeeder";
5
+ import { ITerminal } from "../../interfaces/model/core/ITerminal";
6
+ import { IConnectivityNode } from "../../interfaces/model/core/IConnectivityNode";
7
+ import { IConductingEquipment } from '../..';
8
+ declare type TraversableType = IConductingEquipment | IConnectivityNode;
9
+ declare enum G2TCalltimeDFS {
10
+ DFS_INIT = "DFS_INIT",
11
+ DFS_NEXT_NODE_LOOP = "DFS_NEXT_NODE_LOOP",
12
+ DFS_REC_ENTERING = "DFS_REC_ENTERING",
13
+ DFS_CHILD_RETURN = "DFS_CHILD_RETURN",
14
+ END = "END"
15
+ }
16
+ declare enum G2TCalltimeBFS {
17
+ BFS_INIT = "BFS_INIT",
18
+ BFS_NEXT_NODE = "BFS_NEXT_NODE",
19
+ BFS_ADD_CHILD = "BFS_ADD_CHILD",
20
+ END = "END"
21
+ }
22
+ declare type G2TCalltime = G2TCalltimeBFS | G2TCalltimeDFS;
23
+ export interface G2TContextWrapper<C, T extends G2TCalltime> {
24
+ callbackFunc: (node: Readonly<IIdentifiedObject>, terminal: Readonly<ITerminal>, context: C, calltime: Readonly<T>) => boolean;
25
+ context: any;
26
+ }
27
+ export interface G2TLeafCriteriaWrapper<C, T> {
28
+ callbackFunc: (node: Readonly<IIdentifiedObject>, terminal: Readonly<ITerminal>, context: C, calltime: Readonly<T>) => boolean;
29
+ context: any;
30
+ }
31
+ export declare function breadthFirstCIMGraphTraversal(cimObject: TraversableType, leafCriteriaWrapper: G2TLeafCriteriaWrapper<undefined, G2TCalltimeBFS>, ...contexts: G2TContextWrapper<undefined, G2TCalltimeBFS>[]): void;
32
+ export interface TreeInformation {
33
+ cycles: TreeNode[][];
34
+ leafNodes: TreeNode[];
35
+ rootNode: TreeNode;
36
+ }
37
+ export declare function convertFeederIntoTree(wnFeeder: WNFeeder): TreeInformation;
38
+ export declare function convertAnyFeederNodeIntoTree(cimObject: IConnectivityNode | ConductingEquipment, wnFeeder: WNFeeder): TreeInformation;
39
+ export {};
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertAnyFeederNodeIntoTree = exports.convertFeederIntoTree = exports.breadthFirstCIMGraphTraversal = void 0;
4
+ const ConductingEquipment_1 = require("../../model/core/ConductingEquipment");
5
+ const ConnectivityNode_1 = require("../../model/core/ConnectivityNode");
6
+ const Switch_1 = require("../../model/wires/Switch");
7
+ const util_graph_1 = require("./util-graph");
8
+ const WNConnectivityNode_1 = require("../../model/extensions/neplan-westnetz/core/WNConnectivityNode");
9
+ const WNFacilityKind_1 = require("../../model/extensions/neplan-westnetz/assets/WNFacilityKind");
10
+ var G2TCalltimeDFS;
11
+ (function (G2TCalltimeDFS) {
12
+ G2TCalltimeDFS["DFS_INIT"] = "DFS_INIT";
13
+ G2TCalltimeDFS["DFS_NEXT_NODE_LOOP"] = "DFS_NEXT_NODE_LOOP";
14
+ G2TCalltimeDFS["DFS_REC_ENTERING"] = "DFS_REC_ENTERING";
15
+ G2TCalltimeDFS["DFS_CHILD_RETURN"] = "DFS_CHILD_RETURN";
16
+ G2TCalltimeDFS["END"] = "END";
17
+ })(G2TCalltimeDFS || (G2TCalltimeDFS = {}));
18
+ var G2TCalltimeBFS;
19
+ (function (G2TCalltimeBFS) {
20
+ G2TCalltimeBFS["BFS_INIT"] = "BFS_INIT";
21
+ G2TCalltimeBFS["BFS_NEXT_NODE"] = "BFS_NEXT_NODE";
22
+ G2TCalltimeBFS["BFS_ADD_CHILD"] = "BFS_ADD_CHILD";
23
+ G2TCalltimeBFS["END"] = "END";
24
+ })(G2TCalltimeBFS || (G2TCalltimeBFS = {}));
25
+ function breadthFirstCIMGraphTraversal(cimObject, leafCriteriaWrapper, ...contexts) {
26
+ let bfsQueue = [];
27
+ bfsQueue.push(cimObject);
28
+ contexts.forEach(entry => entry.callbackFunc(cimObject, undefined, entry.context, G2TCalltimeBFS.BFS_INIT));
29
+ while (bfsQueue.length > 0) {
30
+ let crtTNode = bfsQueue.shift();
31
+ if (leafCriteriaWrapper.callbackFunc(crtTNode, undefined, leafCriteriaWrapper.context, G2TCalltimeBFS.BFS_NEXT_NODE))
32
+ continue;
33
+ contexts.forEach(entry => entry.callbackFunc(crtTNode, undefined, entry.context, G2TCalltimeBFS.BFS_NEXT_NODE));
34
+ if (crtTNode instanceof ConductingEquipment_1.ConductingEquipment || crtTNode instanceof ConnectivityNode_1.ConnectivityNode) {
35
+ for (const terminal of crtTNode.terminals.values()) {
36
+ let nextNode = crtTNode instanceof ConnectivityNode_1.ConnectivityNode ? terminal.conductingEquipment : terminal.connectivityNode;
37
+ if (leafCriteriaWrapper.callbackFunc(nextNode, terminal, leafCriteriaWrapper.context, G2TCalltimeBFS.BFS_ADD_CHILD))
38
+ continue;
39
+ contexts.forEach(entry => entry.callbackFunc(crtTNode, terminal, entry.context, G2TCalltimeBFS.BFS_ADD_CHILD));
40
+ bfsQueue.push(nextNode);
41
+ }
42
+ }
43
+ }
44
+ contexts.forEach(entry => entry.callbackFunc(undefined, undefined, entry.context, G2TCalltimeBFS.END));
45
+ }
46
+ exports.breadthFirstCIMGraphTraversal = breadthFirstCIMGraphTraversal;
47
+ function depthFirstCIMGraphTraversal(cimObject, leafCriteriaWrapper, ...contexts) {
48
+ contexts.forEach(entry => entry.callbackFunc(cimObject, undefined, entry.context, G2TCalltimeDFS.DFS_INIT));
49
+ depthFirstCIMGraphTraversalRec(cimObject, leafCriteriaWrapper, ...contexts);
50
+ contexts.forEach(entry => entry.callbackFunc(cimObject, undefined, entry.context, G2TCalltimeDFS.END));
51
+ }
52
+ function depthFirstCIMGraphTraversalRec(cimObject, leafCriteriaWrapper, ...contexts) {
53
+ if (leafCriteriaWrapper.callbackFunc(cimObject, undefined, leafCriteriaWrapper.context, G2TCalltimeDFS.DFS_REC_ENTERING))
54
+ return;
55
+ if (cimObject instanceof ConductingEquipment_1.ConductingEquipment || cimObject instanceof ConnectivityNode_1.ConnectivityNode) {
56
+ for (const terminal of cimObject.terminals.values()) {
57
+ let nextNode = cimObject instanceof ConnectivityNode_1.ConnectivityNode ? terminal.conductingEquipment : terminal.connectivityNode;
58
+ if (leafCriteriaWrapper.callbackFunc(nextNode, terminal, leafCriteriaWrapper.context, G2TCalltimeDFS.DFS_NEXT_NODE_LOOP))
59
+ continue;
60
+ contexts.forEach(entry => entry.callbackFunc(nextNode, terminal, entry.context, G2TCalltimeDFS.DFS_NEXT_NODE_LOOP));
61
+ depthFirstCIMGraphTraversalRec(nextNode, leafCriteriaWrapper, ...contexts);
62
+ contexts.forEach(entry => entry.callbackFunc(nextNode, terminal, entry.context, G2TCalltimeDFS.DFS_CHILD_RETURN));
63
+ }
64
+ }
65
+ }
66
+ function feederExpandConditions(node, terminal, context, calltime) {
67
+ var _a;
68
+ if (calltime === G2TCalltimeDFS.DFS_REC_ENTERING) {
69
+ if (context.crtTreeNode !== context.rootNode) {
70
+ if (node instanceof WNConnectivityNode_1.WNConnectivityNode) {
71
+ if (node.name === ((_a = context.headNode) === null || _a === void 0 ? void 0 : _a.name) || node.getKind() === WNFacilityKind_1.WNFacilityKind.DIGIONS) {
72
+ context.leafNodes.push(context.crtTreeNode);
73
+ return true;
74
+ }
75
+ }
76
+ }
77
+ if (node instanceof ConductingEquipment_1.ConductingEquipment || node instanceof ConnectivityNode_1.ConnectivityNode) {
78
+ for (const terminal of node.terminals.values()) {
79
+ if (terminal.connected) {
80
+ return false;
81
+ }
82
+ }
83
+ context.leafNodes.push(context.crtTreeNode);
84
+ return true;
85
+ }
86
+ }
87
+ else if (calltime === G2TCalltimeDFS.DFS_NEXT_NODE_LOOP) {
88
+ if (context.crtTreeNode.parent && node === context.crtTreeNode.parent.cimObject) {
89
+ return true;
90
+ }
91
+ if (context.crtTreeNode !== context.rootNode && node instanceof Switch_1.Switch && node.getOpen()) {
92
+ return true;
93
+ }
94
+ if (!terminal.connected) {
95
+ return true;
96
+ }
97
+ if (context.crtTreeNode === context.rootNode && node instanceof Switch_1.Switch)
98
+ return true;
99
+ if (util_graph_1.alreadyExpanded(context.crtTreeNode, node)) {
100
+ const cycleNodes = util_graph_1.extractCycleTreeNodes(context.crtTreeNode, node);
101
+ if (!util_graph_1.testCycleFound(cycleNodes, context.cycles)) {
102
+ context.cycles.push(cycleNodes);
103
+ }
104
+ return true;
105
+ }
106
+ }
107
+ return false;
108
+ }
109
+ function feederConvertIntoTreeCallbackFunc(node, terminal, context, calltime) {
110
+ if (calltime === G2TCalltimeDFS.DFS_NEXT_NODE_LOOP) {
111
+ let childTNode = {
112
+ parent: context.crtTreeNode,
113
+ cimObject: node,
114
+ childs: [],
115
+ };
116
+ context.crtTreeNode.childs.push(childTNode);
117
+ context.crtTreeNode = childTNode;
118
+ }
119
+ else if (calltime === G2TCalltimeDFS.DFS_CHILD_RETURN) {
120
+ context.crtTreeNode = context.crtTreeNode.parent;
121
+ }
122
+ else if (calltime === G2TCalltimeDFS.DFS_INIT) {
123
+ context.rootNode = { parent: undefined, cimObject: node, childs: [] };
124
+ context.crtTreeNode = context.rootNode;
125
+ }
126
+ return true;
127
+ }
128
+ function convertFeederIntoTree(wnFeeder) {
129
+ let feederConvertContext = {
130
+ cycles: [], crtTreeNode: undefined,
131
+ leafNodes: [], rootNode: undefined,
132
+ headNode: wnFeeder.getHeadNode()
133
+ };
134
+ let feederCallbackWrapper = {
135
+ context: feederConvertContext,
136
+ callbackFunc: feederConvertIntoTreeCallbackFunc
137
+ };
138
+ let feederConditionsWrapper = {
139
+ context: feederConvertContext,
140
+ callbackFunc: feederExpandConditions
141
+ };
142
+ depthFirstCIMGraphTraversal(wnFeeder.getHeadNode(), feederConditionsWrapper, feederCallbackWrapper);
143
+ return {
144
+ cycles: feederCallbackWrapper.context.cycles,
145
+ rootNode: feederCallbackWrapper.context.rootNode,
146
+ leafNodes: feederCallbackWrapper.context.leafNodes
147
+ };
148
+ }
149
+ exports.convertFeederIntoTree = convertFeederIntoTree;
150
+ function convertAnyFeederNodeIntoTree(cimObject, wnFeeder) {
151
+ let feederConvertContext = {
152
+ cycles: [], crtTreeNode: undefined,
153
+ leafNodes: [], rootNode: undefined,
154
+ headNode: wnFeeder.getHeadNode()
155
+ };
156
+ let feederCallbackWrapper = {
157
+ context: feederConvertContext,
158
+ callbackFunc: feederConvertIntoTreeCallbackFunc
159
+ };
160
+ let feederConditionsWrapper = {
161
+ context: feederConvertContext,
162
+ callbackFunc: feederExpandConditions
163
+ };
164
+ depthFirstCIMGraphTraversal(cimObject, feederConditionsWrapper, feederCallbackWrapper);
165
+ return {
166
+ cycles: feederCallbackWrapper.context.cycles,
167
+ rootNode: feederCallbackWrapper.context.rootNode,
168
+ leafNodes: feederCallbackWrapper.context.leafNodes
169
+ };
170
+ }
171
+ exports.convertAnyFeederNodeIntoTree = convertAnyFeederNodeIntoTree;
172
+ //# sourceMappingURL=util-graph2tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util-graph2tree.js","sourceRoot":"","sources":["../../../src/util/collection/util-graph2tree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { IIdentifiedObject } from "../../interfaces/model/core/IIdentifiedObject";
2
+ import { WNFeeder } from "../../model/extensions/neplan-westnetz/core/WNFeeder";
3
+ export interface TreeNode {
4
+ parent: TreeNode;
5
+ cimObject: IIdentifiedObject;
6
+ childs: TreeNode[];
7
+ }
8
+ export declare enum BFSCalltime {
9
+ BFS_INIT = "BFS_INIT",
10
+ BFS_NEXT_NODE = "BFS_NEXT_NODE",
11
+ END = "END"
12
+ }
13
+ export declare enum DFSCalltime {
14
+ DFS_NEXT_NODE = "DFS_NEXT_NODE",
15
+ DFS_CHILD_RETURN = "DFS_CHILD_RETURN",
16
+ END = "END"
17
+ }
18
+ export declare enum LeafNodeCalltime {
19
+ LEAF_NODE_PRE_NEXT = "LEAF_NODE_PRE_NEXT",
20
+ LEAF_NODE_POST_NEXT = "LEAF_NODE_POST_NEXT",
21
+ LEAF_NODE_LOOP_TO_ROOT = "LEAF_NODE_LOOP_TO_ROOT",
22
+ END = "END"
23
+ }
24
+ declare type Calltime = BFSCalltime | DFSCalltime | LeafNodeCalltime;
25
+ export interface TreeContextWrapper<C, T extends Calltime> {
26
+ callbackFunc: (node: Readonly<TreeNode>, context: C, calltime: Readonly<T>) => void;
27
+ context: any;
28
+ }
29
+ export declare function leafNodeTraversal(leafNodes: TreeNode[], ...contexts: TreeContextWrapper<undefined, LeafNodeCalltime>[]): void;
30
+ export declare function breadthFirstTreeTraversal(rootNode: TreeNode, ...contexts: TreeContextWrapper<undefined, BFSCalltime>[]): void;
31
+ export declare function depthFirstTreeTraversal(treeNode: TreeNode, ...contexts: TreeContextWrapper<undefined, DFSCalltime>[]): void;
32
+ export interface OverallValueDetermineContext {
33
+ wnFeeder: WNFeeder;
34
+ crtWayStack: TreeNode[];
35
+ distances: Map<string, number>;
36
+ mridTreeNodeMap: Map<string, TreeNode>;
37
+ nodesVisitedWay: Map<string, TreeNode>;
38
+ rootNodes: Set<TreeNode>;
39
+ overallStations: number;
40
+ overallPower: number;
41
+ isBranchRelevant: boolean;
42
+ }
43
+ export declare function overallValueDetermineCallbackFunc(treeNode: Readonly<TreeNode>, context: OverallValueDetermineContext, calltime: Readonly<LeafNodeCalltime>): void;
44
+ export interface ShortestPathContext {
45
+ distanceToNode: number;
46
+ power: number;
47
+ headNode: IIdentifiedObject;
48
+ shortestPathFound: boolean;
49
+ }
50
+ export declare function shortestPathCallbackFunc(treeNode: Readonly<TreeNode>, context: ShortestPathContext, calltime: Readonly<BFSCalltime>): void;
51
+ export interface CalculateDigiONSValuesContext {
52
+ wnFeeder: WNFeeder;
53
+ resultStationsValue: number;
54
+ resultPowerValue: number;
55
+ overallStations: number;
56
+ overallPower: number;
57
+ allBranchesStations: number[];
58
+ allBranchesPower: number[];
59
+ branchStations: number;
60
+ branchPower: number;
61
+ isBranchRelevant: boolean;
62
+ ignoreValues: boolean;
63
+ }
64
+ export declare function calculateDigiONSValuesCallbackFunc(treeNode: Readonly<TreeNode>, context: CalculateDigiONSValuesContext, calltime: Readonly<LeafNodeCalltime>): void;
65
+ export {};