@enervance/insight-cim-model 0.0.140 → 0.0.141
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.
- package/dist/converter/integral7/converter.integral7.d.ts +2 -2
- package/dist/converter/integral7/converter.integral7.js +111 -63
- package/dist/converter/integral7/converter.integral7.js.map +1 -1
- package/dist/converter/integral7/dl-convert/data-manager.d.ts +33 -0
- package/dist/converter/integral7/dl-convert/data-manager.js +97 -0
- package/dist/converter/integral7/dl-convert/data-manager.js.map +1 -0
- package/dist/converter/integral7/dl-convert/db/{data.types.d.ts → data-types.d.ts} +7 -0
- package/dist/converter/integral7/dl-convert/db/{data.types.js → data-types.js} +1 -1
- package/dist/converter/integral7/dl-convert/db/{data.types.js.map → data-types.js.map} +1 -1
- package/dist/converter/integral7/dl-convert/db/database.interface.types.d.ts +133 -4
- package/dist/converter/integral7/dl-convert/dl-converter-i7-2.d.ts +56 -0
- package/dist/converter/integral7/dl-convert/dl-converter-i7-2.js +2039 -0
- package/dist/converter/integral7/dl-convert/dl-converter-i7-2.js.map +1 -0
- package/dist/converter/integral7/dl-convert/dl-converter-i7-function.types.d.ts +1 -1
- package/dist/converter/integral7/dl-convert/dl-converter-i7.js +9 -6
- package/dist/converter/integral7/dl-convert/dl-converter-i7.js.map +1 -1
- package/dist/converter/integral7/dl-convert/dl-converter-i7.types.d.ts +3 -0
- package/dist/converter/integral7/dl-convert/dl-converter-i7.types.js +3 -0
- package/dist/converter/integral7/dl-convert/dl-converter-i7.types.js.map +1 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.d.ts +21 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.js +49 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.js.map +1 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.d.ts +119 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.js +84 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.js.map +1 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.d.ts +40 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.js +229 -0
- package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.js.map +1 -0
- package/dist/converter/integral7/dl-convert/executor.d.ts +35 -0
- package/dist/converter/integral7/dl-convert/executor.js +263 -0
- package/dist/converter/integral7/dl-convert/executor.js.map +1 -0
- package/dist/converter/integral7/model/dl-utils/constants.js +1 -1
- package/dist/converter/integral7/model/dl-utils/util-functions.d.ts +8 -4
- package/dist/converter/integral7/model/dl-utils/util-functions.js +134 -6
- package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -1
- package/dist/converter/integral7/model/integral/Point.d.ts +3 -0
- package/dist/converter/integral7/model/integral/Point.js +33 -0
- package/dist/converter/integral7/model/integral/Point.js.map +1 -1
- package/dist/model/core/ConnectivityNode.js +2 -0
- package/dist/model/core/ConnectivityNode.js.map +1 -1
- package/dist/model/core/Terminal.d.ts +3 -0
- package/dist/model/core/Terminal.js +18 -0
- package/dist/model/core/Terminal.js.map +1 -1
- package/dist/model/dc/DCLine.js +17 -17
- package/dist/model/dc/DCLineSegment.js +25 -25
- package/dist/model/extensions/enervance/core/EVTerminal.js +20 -15
- package/dist/model/extensions/enervance/core/EVTerminal.js.map +1 -1
- package/dist/model/loadmodel/ConformLoad.js +33 -33
- package/dist/model/loadmodel/ConformLoadGroup.js +22 -22
- package/dist/model/loadmodel/LoadArea.js +21 -21
- package/dist/model/loadmodel/SubLoadArea.js +22 -22
- package/dist/model/wires/BusbarSection.d.ts +4 -1
- package/dist/model/wires/BusbarSection.js +21 -1
- package/dist/model/wires/BusbarSection.js.map +1 -1
- package/dist/model/wires/PowerTransformer.js +124 -33
- package/dist/model/wires/PowerTransformer.js.map +1 -1
- package/dist/util/database/mysql-controller.d.ts +6 -0
- package/dist/util/database/mysql-controller.js +36 -1
- package/dist/util/database/mysql-controller.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Executor = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const perf_hooks_1 = require("perf_hooks");
|
|
6
|
+
const convert_graph_keys_1 = require("./dl-graphs/convert-graph-keys.js");
|
|
7
|
+
const cim_model_graph_1 = require("./dl-graphs/cim-model-graph.js");
|
|
8
|
+
const db_object_graph_1 = require("./dl-graphs/db-object-graph.js");
|
|
9
|
+
const data_manager_1 = require("./data-manager.js");
|
|
10
|
+
const dl_converter_i7_2_1 = require("./dl-converter-i7-2.js");
|
|
11
|
+
class Executor {
|
|
12
|
+
constructor(mySQLController, logger) {
|
|
13
|
+
this.logger = logger;
|
|
14
|
+
this.mySQLController = mySQLController;
|
|
15
|
+
this.dbObjectGraph = new db_object_graph_1.DbObjectGraph(convert_graph_keys_1.i7SchemaKeyDefinitions);
|
|
16
|
+
this.dbObjectGraph.mySQLController = this.mySQLController;
|
|
17
|
+
this.dbObjectKeyCimModelUuidGraph = new cim_model_graph_1.DbObjectKey2CimModelUUIDGraph(convert_graph_keys_1.i7SchemaKeyDefinitions);
|
|
18
|
+
this.cimModelGraph = new cim_model_graph_1.CimModelGraph();
|
|
19
|
+
this.dlConverter = new dl_converter_i7_2_1.DLConverterI7(logger);
|
|
20
|
+
this.dlConverter.setDbObjectGraph(this.dbObjectGraph);
|
|
21
|
+
this.dlConverter.setDbObjectKeyCimModelUuidGraph(this.dbObjectKeyCimModelUuidGraph);
|
|
22
|
+
this.dlConverter.setCimModelGraph(this.cimModelGraph);
|
|
23
|
+
this.dataManager = new data_manager_1.DataManager(logger);
|
|
24
|
+
this.dataManager.setDbObjectGraph(this.dbObjectGraph);
|
|
25
|
+
this.dataManager.setDbObjectKeyCimModelUuidGraph(this.dbObjectKeyCimModelUuidGraph);
|
|
26
|
+
this.dataManager.setCimModelGraph(this.cimModelGraph);
|
|
27
|
+
}
|
|
28
|
+
mergeDataFromFrame(frame) {
|
|
29
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
for (const objectEntry of frame.cimModel.objects.entries()) {
|
|
31
|
+
this.cimModelGraph.addUnspecifiedObject(objectEntry[0], objectEntry[1]);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
mergeDataFromIntegralID2UUID(integralID2UUID) {
|
|
36
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
for (const entry of integralID2UUID.entries()) {
|
|
38
|
+
this.dbObjectKeyCimModelUuidGraph.addRelation(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: entry[0] }, entry[1]);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
loadAllSchemaVariants() {
|
|
43
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
yield this.dataManager.loadFromMySQL(this.mySQLController, {
|
|
45
|
+
allg_netzvarianten: { art: { eq: [2] } }
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
loadElementsForSchemaVariant(idOfVariant, options) {
|
|
50
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
yield this.dataManager.loadFromMySQL(this.mySQLController, {
|
|
52
|
+
nsg_nsgstandort: {
|
|
53
|
+
variantennr: { eq: [idOfVariant] }, standort: {
|
|
54
|
+
in: options.only.netz_standortIds ? options.only.netz_knotensoIds.map(arg => arg.id) : undefined
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
nsg_nsgschaltanlage: {
|
|
58
|
+
variantennr: { eq: [idOfVariant] }, schaltanlage: {
|
|
59
|
+
in: options.only.netz_schaltanlagenIds ? options.only.netz_schaltanlagenIds.map(arg => arg.id) : undefined
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
nsg_nsgsaabschnitt: {
|
|
63
|
+
variantennr: { eq: [idOfVariant] }, saabschnitt: {
|
|
64
|
+
in: options.only.netz_saabschnittIds ? options.only.netz_saabschnittIds.map(arg => arg.id) : undefined
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
nsg_nsgknotenso: {
|
|
68
|
+
variantennr: { eq: [idOfVariant] }, knotenso: {
|
|
69
|
+
in: options.only.netz_knotensoIds ? options.only.netz_knotensoIds.map(arg => arg.id) : undefined
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
nsg_nsgschaltfeld: {
|
|
73
|
+
variantennr: { eq: [idOfVariant] }, schaltfeld: {
|
|
74
|
+
in: options.only.netz_schaltfeldIds ? options.only.netz_schaltfeldIds.map(arg => arg.id) : undefined
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
nsg_nsgkpfeld: { variantennr: { eq: [idOfVariant] } },
|
|
78
|
+
nsg_nsglkupplung: { variantennr: { eq: [idOfVariant] } },
|
|
79
|
+
nsg_nsgtrafo2w: { variantennr: { eq: [idOfVariant] } },
|
|
80
|
+
nsg_nsgtrafo3w: { variantennr: { eq: [idOfVariant] } },
|
|
81
|
+
nsg_nsgleitung: {
|
|
82
|
+
variantennr: { eq: [idOfVariant] }, leitung: {
|
|
83
|
+
in: options.only.netz_leitungIds ? options.only.netz_leitungIds.map(arg => arg.id) : undefined
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
nsg_nsgltgpunkt: { variantennr: { eq: [idOfVariant] } },
|
|
87
|
+
nsg_nsgquerzweig: { variantennr: { eq: [idOfVariant] } }
|
|
88
|
+
});
|
|
89
|
+
const relevantSchaltanlageIds = (yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.nsg_nsgschaltanlage))
|
|
90
|
+
.map(arg => arg.schaltanlage);
|
|
91
|
+
yield this.dataManager.loadFromMySQL(this.mySQLController, {
|
|
92
|
+
netz_lkupplung: { schaltanlage: { in: relevantSchaltanlageIds } }
|
|
93
|
+
});
|
|
94
|
+
const relevantQuerzweigIds = (yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.nsg_nsgquerzweig))
|
|
95
|
+
.map(arg => arg.querzweig);
|
|
96
|
+
yield this.dataManager.loadFromMySQL(this.mySQLController, {
|
|
97
|
+
netz_belastung: { id: { in: relevantQuerzweigIds } },
|
|
98
|
+
netz_generator: { id: { in: relevantQuerzweigIds } },
|
|
99
|
+
netz_netzeinspeisung: { id: { in: relevantQuerzweigIds } }
|
|
100
|
+
});
|
|
101
|
+
const relevantNsgSaabschnitt = (yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.nsg_nsgsaabschnitt))
|
|
102
|
+
.map(arg => arg.saabschnitt);
|
|
103
|
+
const relevantSelisteIds = [];
|
|
104
|
+
relevantSelisteIds.push(...(yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.nsg_nsgschaltfeld)).map(arg => arg.schaltfeld));
|
|
105
|
+
relevantSelisteIds.push(...(yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.nsg_nsgkpfeld)).map(arg => arg.kpfeld));
|
|
106
|
+
relevantSelisteIds.push(...(yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.netz_lkupplung)).map(arg => arg.id));
|
|
107
|
+
yield this.dataManager.loadFromMySQL(this.mySQLController, {
|
|
108
|
+
netz_ssab: { saabschnitt: { in: relevantNsgSaabschnitt } },
|
|
109
|
+
netz_leistungsschalter: { seliste: { in: relevantSelisteIds } },
|
|
110
|
+
netz_trenner3p: { seliste: { in: relevantSelisteIds } },
|
|
111
|
+
netz_trennerfi3p: { seliste: { in: relevantSelisteIds } },
|
|
112
|
+
netz_sestarr3p: { seliste: { in: relevantSelisteIds } }
|
|
113
|
+
});
|
|
114
|
+
// read all those netz_schlaufe entries, which are accessible via the knotenso's
|
|
115
|
+
const relevantNetzKnotenSoIds = (yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.nsg_nsgknotenso))
|
|
116
|
+
.map(arg => arg.knotenso);
|
|
117
|
+
yield this.dataManager.loadFromMySQL(this.mySQLController, {
|
|
118
|
+
netz_schlaufe: { eknoten: { in: relevantNetzKnotenSoIds } }
|
|
119
|
+
});
|
|
120
|
+
const relevantNetzKnotenzwIds = (yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.netz_schlaufe))
|
|
121
|
+
.map(arg => arg.knotenzw);
|
|
122
|
+
yield this.dataManager.loadFromMySQL(this.mySQLController, {
|
|
123
|
+
netz_knotenzw: { id: { in: relevantNetzKnotenzwIds } }
|
|
124
|
+
});
|
|
125
|
+
// read all relevant netz_{kabel|freileitungs}abschnitte
|
|
126
|
+
const relevantNetzLeitungIds = (yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.nsg_nsgleitung))
|
|
127
|
+
.map(arg => arg.leitung);
|
|
128
|
+
yield this.dataManager.loadFromMySQL(this.mySQLController, {
|
|
129
|
+
netz_freileitungabschnitt: { leitung: { in: relevantNetzLeitungIds } },
|
|
130
|
+
netz_kabelabschnitt: { leitung: { in: relevantNetzLeitungIds } }
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
convert(options) {
|
|
135
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
136
|
+
try {
|
|
137
|
+
const nsgVarianten = yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.allg_netzvarianten);
|
|
138
|
+
const resultingObjects = [];
|
|
139
|
+
for (const nsgVariante of nsgVarianten) {
|
|
140
|
+
yield this.loadElementsForSchemaVariant(nsgVariante.id, options);
|
|
141
|
+
this.log(`Schema ${nsgVariante.id} hat ${this.dbObjectGraph.size} Elemente!`);
|
|
142
|
+
const resultingDiagramObjects = [];
|
|
143
|
+
const diagram = yield this.runAndLogPerformance(this.dlConverter.convertNsgVariante, nsgVariante);
|
|
144
|
+
// const relevantNsgKnotenSo = await this.dbObjectGraph.findByAttributes(i7TableNames.nsg_nsgknotenso, {
|
|
145
|
+
// knotenso: { in: [...frame.integral7Modell.integralKnotenSo.keys()] }
|
|
146
|
+
// });
|
|
147
|
+
const relevantNsgKnotenSo = (yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.nsg_nsgknotenso));
|
|
148
|
+
// .filter(arg => frame.integral7Modell.integralKnotenSo.has(arg.knotenso));
|
|
149
|
+
for (const nsgKnotenSo of relevantNsgKnotenSo) {
|
|
150
|
+
const result = yield this.runAndLogPerformance(this.dlConverter.convertSchemaKnotenStandort, nsgKnotenSo);
|
|
151
|
+
if (result)
|
|
152
|
+
resultingDiagramObjects.push(result);
|
|
153
|
+
}
|
|
154
|
+
const relevantNsgSaabschnitt = (yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.nsg_nsgsaabschnitt));
|
|
155
|
+
// .filter(arg => frame.integral7Modell.integralSchaltanlagenAbschnitte.has(arg.saabschnitt));
|
|
156
|
+
for (const nsgSaabschnitt of relevantNsgSaabschnitt) {
|
|
157
|
+
const results = yield this.runAndLogPerformance(this.dlConverter.convertSchemaSammelschienenAbschnitte, nsgSaabschnitt);
|
|
158
|
+
if (results)
|
|
159
|
+
resultingDiagramObjects.push(...results);
|
|
160
|
+
}
|
|
161
|
+
const relevantNsgSchaltfeld = (yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.nsg_nsgschaltfeld));
|
|
162
|
+
// .filter(arg => frame.integral7Modell.integralSchaltfelder.has(arg.schaltfeld));
|
|
163
|
+
for (const nsgSchaltfeld of relevantNsgSchaltfeld) {
|
|
164
|
+
const results = yield this.runAndLogPerformance(this.dlConverter.convertSchemaSchaltfeldElemente, nsgSchaltfeld);
|
|
165
|
+
if (results)
|
|
166
|
+
resultingDiagramObjects.push(...results);
|
|
167
|
+
}
|
|
168
|
+
const relevantNsgLeitung = (yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.nsg_nsgleitung));
|
|
169
|
+
// .filter(arg => frame.integral7Modell.integralSchaltanlagenAbschnitte.has(arg.saabschnitt));
|
|
170
|
+
for (const nsgLeitung of relevantNsgLeitung) {
|
|
171
|
+
const results = yield this.runAndLogPerformance(this.dlConverter.convertSchemaLeitung, nsgLeitung);
|
|
172
|
+
if (results)
|
|
173
|
+
resultingDiagramObjects.push(...results);
|
|
174
|
+
}
|
|
175
|
+
const relevantNsgTrafo2W = (yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.nsg_nsgtrafo2w));
|
|
176
|
+
// .filter(arg => frame.integral7Modell.integralSchaltanlagenAbschnitte.has(arg.saabschnitt));
|
|
177
|
+
for (const nsgTrafo2W of relevantNsgTrafo2W) {
|
|
178
|
+
const results = yield this.runAndLogPerformance(this.dlConverter.convertSchemaTransformer2W, nsgTrafo2W);
|
|
179
|
+
if (results)
|
|
180
|
+
resultingDiagramObjects.push(...results);
|
|
181
|
+
}
|
|
182
|
+
const relevantNsgTrafo3W = (yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.nsg_nsgtrafo3w));
|
|
183
|
+
// .filter(arg => frame.integral7Modell.integralSchaltanlagenAbschnitte.has(arg.saabschnitt));
|
|
184
|
+
for (const nsgTrafo3W of relevantNsgTrafo3W) {
|
|
185
|
+
const results = yield this.runAndLogPerformance(this.dlConverter.convertSchemaTransformer3W, nsgTrafo3W);
|
|
186
|
+
if (results)
|
|
187
|
+
resultingDiagramObjects.push(...results);
|
|
188
|
+
}
|
|
189
|
+
const relevantNsgQuerzweig = (yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.nsg_nsgquerzweig));
|
|
190
|
+
// .filter(arg => frame.integral7Modell.integralSchaltanlagenAbschnitte.has(arg.saabschnitt));
|
|
191
|
+
for (const nsgQuerzweig of relevantNsgQuerzweig) {
|
|
192
|
+
const results = yield this.runAndLogPerformance(this.dlConverter.convertSchemaQuerzweig, nsgQuerzweig);
|
|
193
|
+
if (results)
|
|
194
|
+
resultingDiagramObjects.push(...results);
|
|
195
|
+
}
|
|
196
|
+
const relevantNsgKpfeld = (yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.nsg_nsgkpfeld));
|
|
197
|
+
// .filter(arg => frame.integral7Modell.integralSchaltanlagenAbschnitte.has(arg.saabschnitt));
|
|
198
|
+
for (const nsgKpfeld of relevantNsgKpfeld) {
|
|
199
|
+
const results = yield this.runAndLogPerformance(this.dlConverter.convertSchemaKpfeld, nsgKpfeld);
|
|
200
|
+
if (results)
|
|
201
|
+
resultingDiagramObjects.push(...results);
|
|
202
|
+
}
|
|
203
|
+
const relevantNsgLKupplung = (yield this.dbObjectGraph.getAllObjectsOfTable(convert_graph_keys_1.i7TableNames.nsg_nsglkupplung));
|
|
204
|
+
for (const nsgLKupplung of relevantNsgLKupplung) {
|
|
205
|
+
const nsgSaabschnitt = yield this.dbObjectGraph.findObjectByKey(convert_graph_keys_1.i7TableNames.nsg_nsgsaabschnitt, convert_graph_keys_1.i7SchemaKeyNames.VariantenNrIdKey, { variantennr: nsgLKupplung.variantennr, id: nsgLKupplung.nsgsaa }, false);
|
|
206
|
+
if (nsgSaabschnitt) {
|
|
207
|
+
const relevantNetzLKupplung = (yield this.dbObjectGraph.findByAttributes(convert_graph_keys_1.i7TableNames.netz_lkupplung, {
|
|
208
|
+
saa_end: { in: [nsgSaabschnitt.saabschnitt] }
|
|
209
|
+
}));
|
|
210
|
+
for (const netzLKupplung of relevantNetzLKupplung) {
|
|
211
|
+
const results = yield this.runAndLogPerformance(this.dlConverter.convertSchemaLKupplung, nsgLKupplung, netzLKupplung);
|
|
212
|
+
if (results)
|
|
213
|
+
resultingDiagramObjects.push(...results);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
// await this.runAndLogPerformance(this.dlConverter.convertSchemaTerminals);
|
|
218
|
+
for (const resultingDiagramObject of resultingDiagramObjects) {
|
|
219
|
+
resultingDiagramObject.diagram = diagram;
|
|
220
|
+
diagram.diagramObjects.push(resultingDiagramObject);
|
|
221
|
+
}
|
|
222
|
+
resultingObjects.push(diagram, ...resultingDiagramObjects);
|
|
223
|
+
this.dbObjectGraph.forgetByTableNames([
|
|
224
|
+
convert_graph_keys_1.i7TableNames.nsg_nsgstandort,
|
|
225
|
+
convert_graph_keys_1.i7TableNames.nsg_nsgschaltanlage,
|
|
226
|
+
convert_graph_keys_1.i7TableNames.nsg_nsgsaabschnitt,
|
|
227
|
+
convert_graph_keys_1.i7TableNames.nsg_nsgknotenso,
|
|
228
|
+
convert_graph_keys_1.i7TableNames.nsg_nsgschaltfeld,
|
|
229
|
+
convert_graph_keys_1.i7TableNames.nsg_nsgkpfeld,
|
|
230
|
+
convert_graph_keys_1.i7TableNames.nsg_nsglkupplung,
|
|
231
|
+
convert_graph_keys_1.i7TableNames.nsg_nsgtrafo2w,
|
|
232
|
+
convert_graph_keys_1.i7TableNames.nsg_nsgtrafo3w,
|
|
233
|
+
convert_graph_keys_1.i7TableNames.nsg_nsgleitung,
|
|
234
|
+
convert_graph_keys_1.i7TableNames.nsg_nsgltgpunkt,
|
|
235
|
+
convert_graph_keys_1.i7TableNames.nsg_nsgquerzweig
|
|
236
|
+
]);
|
|
237
|
+
}
|
|
238
|
+
return resultingObjects;
|
|
239
|
+
}
|
|
240
|
+
catch (e) {
|
|
241
|
+
console.log(e);
|
|
242
|
+
return [];
|
|
243
|
+
}
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
log(msg) {
|
|
247
|
+
var _a;
|
|
248
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug(msg);
|
|
249
|
+
console.log(msg);
|
|
250
|
+
}
|
|
251
|
+
runAndLogPerformance(func, ...args) {
|
|
252
|
+
var _a;
|
|
253
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
254
|
+
const startTime = perf_hooks_1.performance.now();
|
|
255
|
+
const returnValueFunc = yield func.apply(this.dlConverter, args);
|
|
256
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug(`${func.name} ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
|
|
257
|
+
console.log(`${func.name} ${(perf_hooks_1.performance.now() - startTime) / 1000} seconds`);
|
|
258
|
+
return returnValueFunc;
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
exports.Executor = Executor;
|
|
263
|
+
//# sourceMappingURL=executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/converter/integral7/dl-convert/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ NsgConstants.onlyEingeblendet = true;
|
|
|
12
12
|
* Mögliche Werte für DEFAULT_ROTATION sind 0, 90, 180, 270 (clockwise)
|
|
13
13
|
*/
|
|
14
14
|
NsgConstants.DEFAULT_ROTATION = 0;
|
|
15
|
-
NsgConstants.KNOTENSO_WIDTH =
|
|
15
|
+
NsgConstants.KNOTENSO_WIDTH = 32;
|
|
16
16
|
NsgConstants.KNOTENSO_HEIGHT = 32;
|
|
17
17
|
NsgConstants.HGUE_KNOTENSO_WIDTH = 32;
|
|
18
18
|
NsgConstants.HGUE_KNOTENSO_HEIGHT = 32;
|
|
@@ -5,7 +5,7 @@ import { DiagramObjectPoint } from '../../../../model/diagram/DiagramObjectPoint
|
|
|
5
5
|
import { NsgKnotenSo, NsgLeitungsPunkt } from '../interfaces.js';
|
|
6
6
|
import { I7ExportFrame } from '../../interface-i7/export-frame-i7.js';
|
|
7
7
|
import { ISchemaDatabaseKey } from './ISchemaDatabaseKey.js';
|
|
8
|
-
import { NsgObject,
|
|
8
|
+
import { NsgObject, NsgSaabschnitt, NsgSchaltanlage, NsgSSAB, NsgStandort } from '../../dl-convert/db/database.interface.types.js';
|
|
9
9
|
import { DiagramObjectWithPointParams } from '../../dl-convert/dl-converter-i7-function.types.js';
|
|
10
10
|
import { IIdentifiedObject } from '../../../../interfaces/model/core/IIdentifiedObject.js';
|
|
11
11
|
import { IUUIDObject } from '../../../../interfaces/IUUIDObject.js';
|
|
@@ -18,7 +18,7 @@ export declare class DLUtilFunctions {
|
|
|
18
18
|
static dot(v1: number[], v2: number[]): number;
|
|
19
19
|
static mutliplyScalar(v: number[], scalar: number): number[];
|
|
20
20
|
static divideScalar(v: number[], scalar: number): number[];
|
|
21
|
-
static add(
|
|
21
|
+
static add(v: number[], ...v_args: number[][]): number[];
|
|
22
22
|
static subtract(v1: number[], v2: number[]): number[];
|
|
23
23
|
static vec2(lStart: number[], lEnd: number[], v: number[]): number[];
|
|
24
24
|
static isNegativeOrZero(v: number): boolean;
|
|
@@ -28,6 +28,7 @@ export declare class DLUtilFunctions {
|
|
|
28
28
|
* Der Winkel wird dabei in Grad angegeben und es wird am Ende auf eine bestimmte Anzahl an Nachkommastellen gerundet
|
|
29
29
|
*/
|
|
30
30
|
static rotateDiagramObjectPoint(point: DiagramObjectPoint, angle: number): void;
|
|
31
|
+
static rotatePoint(point: number[], angle: number): void;
|
|
31
32
|
static shiftAddBasedOnNsgSo(cimModel: ModelContainer, integral7: Integral7Model, variantenNr: number, nsgSoID: number, uuidPointsMap: Map<string, DiagramObject>): void;
|
|
32
33
|
/**
|
|
33
34
|
* Basierend auf der Ausrichtung der Schaltanlage wird die Rotation in Grad berechnet.
|
|
@@ -39,20 +40,23 @@ export declare class DLUtilFunctions {
|
|
|
39
40
|
static getRotationBasedOnTrafo2W(orientationTrafo2w: number): number;
|
|
40
41
|
static getRotationBasedOnQuerzweig(orientationQuerzweig: number): number;
|
|
41
42
|
static getRotationBasedOnNsgSaNsgSf(orientationNsgSa: number, orientationNsgSf: number): number;
|
|
42
|
-
static rotateAndShiftBasedOnNsgSAA(nsgSo: NsgStandort, nsgSa: NsgSchaltanlage, nsgSaab:
|
|
43
|
+
static rotateAndShiftBasedOnNsgSAA(nsgSo: NsgStandort, nsgSa: NsgSchaltanlage, nsgSaab: NsgSaabschnitt, diagramObjects: DiagramObject[], useLeftOffset?: boolean): void;
|
|
43
44
|
static rotateShiftAddBasedOnNsgSAA(cimModel: ModelContainer, integral7: Integral7Model, variantenNr: number, nsgSaaID: number, uuidPointsMap: Map<string, DiagramObject>, useLeftOffset?: boolean): void;
|
|
44
45
|
static cloneDiagramObject(other: DiagramObject): DiagramObject;
|
|
45
46
|
static addi7ObjectToCIMModel(uuidPointsMap: Map<string, DiagramObject>, cimModel: ModelContainer, integral7: Integral7Model, variantenNr: number): void;
|
|
46
47
|
static placeKupplung(i7KnotenBeziehungen: I7KnotenBeziehung[], relevantSSabIDs: Set<number>, nsgSSABs: Map<number, NsgSSAB>, integralID2UUID: Map<number, string>, placedCIMObjectUUIDs: Set<string>, kpFeldDeltaausrichtung: number, kpFeldLeftOffset: number, isLKupplung: boolean, objects: ReadonlyMap<string, IUUIDObject>): Map<number, DiagramObject>;
|
|
47
48
|
static exportTerminals(nodeRelation: I7KnotenBeziehung, nodePointMap: Map<number, DiagramObject>, integralID2UUID: Map<number, string>, objects: ReadonlyMap<string, IIdentifiedObject>, aKnotenPos?: DiagramObjectPoint, eKnotenPos?: DiagramObjectPoint): void;
|
|
48
49
|
static adjustTerminalCEPosition(ceDiagramObject: DiagramObject, cnPoint: DiagramObjectPoint, terminalDiagramObjectPoint: any): void;
|
|
49
|
-
static copyAndPushDiagramObjectPoint(diagramObject: DiagramObject, diagramObjectPoint2Copy: DiagramObjectPoint): void;
|
|
50
|
+
static copyAndPushDiagramObjectPoint(diagramObject: DiagramObject, diagramObjectPoint2Copy: DiagramObjectPoint, unshift?: boolean): void;
|
|
51
|
+
static copyAndPushXYCoordinates(diagramObject: DiagramObject, xy: number[], unshift?: boolean): void;
|
|
50
52
|
static createDiagramObjectWithPoint2(args: DiagramObjectWithPointParams): DiagramObject;
|
|
51
53
|
static createDiagramObjectWithPoint(x: number, y: number, rotation?: number, sequenceNumber?: number): DiagramObject;
|
|
54
|
+
static createDiagramObjectWithPoints(xy_s: number[][], rotation?: number): DiagramObject;
|
|
52
55
|
static createDiagramObjectWithPointArrayBased(xy: number[], rotation?: number): DiagramObject;
|
|
53
56
|
static filterByVariantenNrOnlyEingeblendet<T extends NsgObject>(result: T[], variantenNr: number, onlyEingeblendet: boolean): T[];
|
|
54
57
|
static getXYOffsetFromRelCM(type: string, nsgObject: NsgObject, anschlussID: number, nsgLeitungspkt: NsgLeitungsPunkt): number[];
|
|
55
58
|
static convertNsgKnoten(cimModel: ModelContainer, integral7: Integral7Model, data: NsgKnotenSo, refCimObjectUUID: string, width: number, height: number, xParentRel: number, yParentRel: number): void;
|
|
59
|
+
static splitLineIntoLineSegments(segmentPercentages: number[], linePoints: number[][]): number[][][];
|
|
56
60
|
static convertACLineSegment(completeLength: number, segmentPercentages: number[], eqUUIDs: string[], i7LineBasePoints: {
|
|
57
61
|
xPosition: number;
|
|
58
62
|
yPosition: number;
|
|
@@ -53,8 +53,14 @@ class DLUtilFunctions {
|
|
|
53
53
|
}
|
|
54
54
|
return resV;
|
|
55
55
|
}
|
|
56
|
-
static add(
|
|
57
|
-
|
|
56
|
+
static add(v, ...v_args) {
|
|
57
|
+
const v_return = [...v];
|
|
58
|
+
for (let a = 0; a < v_args.length; ++a) {
|
|
59
|
+
for (let b = 0; b < v_args[a].length; ++b) {
|
|
60
|
+
v_return[b] += v_args[a][b];
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return v_return;
|
|
58
64
|
}
|
|
59
65
|
static subtract(v1, v2) {
|
|
60
66
|
return [v1[0] - v2[0], v1[1] - v2[1]];
|
|
@@ -107,6 +113,24 @@ class DLUtilFunctions {
|
|
|
107
113
|
point.xPosition = Math.round(resultCoords[0] * amountOfDecimals) / amountOfDecimals;
|
|
108
114
|
point.yPosition = Math.round(resultCoords[1] * amountOfDecimals) / amountOfDecimals;
|
|
109
115
|
}
|
|
116
|
+
static rotatePoint(point, angle) {
|
|
117
|
+
// negate the angle to rotate clockwise
|
|
118
|
+
const radiansAngle = -angle * (Math.PI / 180);
|
|
119
|
+
const coords = [point[0], point[1]];
|
|
120
|
+
const rotMat = [
|
|
121
|
+
[Math.cos(radiansAngle), -Math.sin(radiansAngle)],
|
|
122
|
+
[Math.sin(radiansAngle), Math.cos(radiansAngle)]
|
|
123
|
+
];
|
|
124
|
+
const resultCoords = [0, 0];
|
|
125
|
+
for (let a = 0; a < rotMat.length; a++) {
|
|
126
|
+
for (let b = 0; b < rotMat[a].length; b++) {
|
|
127
|
+
resultCoords[a] += rotMat[a][b] * coords[b];
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const amountOfDecimals = 100; // Die Anzahl der Nullen entspricht der Anzahl an Nachkommastellen
|
|
131
|
+
point[0] = Math.round(resultCoords[0] * amountOfDecimals) / amountOfDecimals;
|
|
132
|
+
point[1] = Math.round(resultCoords[1] * amountOfDecimals) / amountOfDecimals;
|
|
133
|
+
}
|
|
110
134
|
static shiftAddBasedOnNsgSo(cimModel, integral7, variantenNr, nsgSoID, uuidPointsMap) {
|
|
111
135
|
const nsgSo = integral7.integralNSGStandorte.get(nsgSoID);
|
|
112
136
|
uuidPointsMap.forEach((entryDiagramObject, key) => {
|
|
@@ -148,7 +172,7 @@ class DLUtilFunctions {
|
|
|
148
172
|
// }
|
|
149
173
|
static rotateAndShiftBasedOnNsgSAA(nsgSo, nsgSa, nsgSaab, diagramObjects, useLeftOffset = false) {
|
|
150
174
|
let saabShiftOffset = 0;
|
|
151
|
-
for (const tempNsgSaab of nsgSa.
|
|
175
|
+
for (const tempNsgSaab of nsgSa.nsgSaabschnitt) {
|
|
152
176
|
saabShiftOffset = saabShiftOffset < (tempNsgSaab.nslots + tempNsgSaab.laenge) ? (tempNsgSaab.nslots + tempNsgSaab.laenge) : saabShiftOffset;
|
|
153
177
|
}
|
|
154
178
|
for (const diagramObject of diagramObjects) {
|
|
@@ -540,18 +564,37 @@ class DLUtilFunctions {
|
|
|
540
564
|
terminalDiagramObjectPoint.xPosition += (isLeft ? -1 : 1) * constants_1.NsgConstants.TERMINAL_CE_OFFSET;
|
|
541
565
|
}
|
|
542
566
|
}
|
|
543
|
-
static copyAndPushDiagramObjectPoint(diagramObject, diagramObjectPoint2Copy) {
|
|
567
|
+
static copyAndPushDiagramObjectPoint(diagramObject, diagramObjectPoint2Copy, unshift) {
|
|
544
568
|
const sequenceNumber = diagramObject.diagramObjectPoints.length + 1;
|
|
545
569
|
const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(diagramObjectPoint2Copy.xPosition, diagramObjectPoint2Copy.yPosition, sequenceNumber);
|
|
546
570
|
diagramObjectPoint.mrid = common_utils_1.CommonUtils.generateUUID();
|
|
547
571
|
diagramObjectPoint.diagramObject = diagramObject;
|
|
548
|
-
|
|
572
|
+
if (unshift) {
|
|
573
|
+
diagramObject.diagramObjectPoints.unshift(diagramObjectPoint);
|
|
574
|
+
}
|
|
575
|
+
else {
|
|
576
|
+
diagramObject.diagramObjectPoints.push(diagramObjectPoint);
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
static copyAndPushXYCoordinates(diagramObject, xy, unshift) {
|
|
580
|
+
const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(xy[0], xy[1]);
|
|
581
|
+
diagramObjectPoint.mrid = common_utils_1.CommonUtils.generateUUID();
|
|
582
|
+
diagramObjectPoint.diagramObject = diagramObject;
|
|
583
|
+
if (unshift) {
|
|
584
|
+
diagramObject.diagramObjectPoints.unshift(diagramObjectPoint);
|
|
585
|
+
}
|
|
586
|
+
else {
|
|
587
|
+
diagramObject.diagramObjectPoints.push(diagramObjectPoint);
|
|
588
|
+
}
|
|
589
|
+
for (let a = 0; a < diagramObject.diagramObjectPoints.length; ++a) {
|
|
590
|
+
diagramObject.diagramObjectPoints[a].sequenceNumber = (a + 1);
|
|
591
|
+
}
|
|
549
592
|
}
|
|
550
593
|
static createDiagramObjectWithPoint2(args) {
|
|
551
594
|
const diagramObject = new DiagramObject_1.DiagramObject(common_utils_1.CommonUtils.generateUUID(), args.diagramObjectName);
|
|
552
595
|
diagramObject.diagramUUID = args.diagramUUID;
|
|
553
596
|
diagramObject.identifiedObjectUUID = args.identifiedObjectUUID;
|
|
554
|
-
diagramObject.rotation = args.rotation;
|
|
597
|
+
diagramObject.rotation = args.rotation !== undefined ? args.rotation : null;
|
|
555
598
|
const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(args.xPosition, args.yPosition);
|
|
556
599
|
diagramObjectPoint.mrid = common_utils_1.CommonUtils.generateUUID();
|
|
557
600
|
diagramObjectPoint.sequenceNumber = args.sequenceNumber !== undefined ? args.sequenceNumber : 1;
|
|
@@ -569,6 +612,18 @@ class DLUtilFunctions {
|
|
|
569
612
|
diagramObject.diagramObjectPoints.push(diagramObjectPoint);
|
|
570
613
|
return diagramObject;
|
|
571
614
|
}
|
|
615
|
+
static createDiagramObjectWithPoints(xy_s, rotation) {
|
|
616
|
+
const diagramObject = new DiagramObject_1.DiagramObject(common_utils_1.CommonUtils.generateUUID(), 'DiagramObject');
|
|
617
|
+
diagramObject.rotation = rotation;
|
|
618
|
+
for (let a = 0; a < xy_s.length; ++a) {
|
|
619
|
+
const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(xy_s[a][0], xy_s[a][1]);
|
|
620
|
+
diagramObjectPoint.mrid = common_utils_1.CommonUtils.generateUUID();
|
|
621
|
+
diagramObjectPoint.sequenceNumber = (a + 1);
|
|
622
|
+
diagramObjectPoint.diagramObject = diagramObject;
|
|
623
|
+
diagramObject.diagramObjectPoints.push(diagramObjectPoint);
|
|
624
|
+
}
|
|
625
|
+
return diagramObject;
|
|
626
|
+
}
|
|
572
627
|
static createDiagramObjectWithPointArrayBased(xy, rotation) {
|
|
573
628
|
const diagramObject = new DiagramObject_1.DiagramObject();
|
|
574
629
|
diagramObject.rotation = rotation;
|
|
@@ -685,6 +740,79 @@ class DLUtilFunctions {
|
|
|
685
740
|
integral7.placedCIMObjectsForDLProfil.set(diagramObject.getUUID(), diagramObject);
|
|
686
741
|
}
|
|
687
742
|
}
|
|
743
|
+
static splitLineIntoLineSegments(segmentPercentages, linePoints) {
|
|
744
|
+
// const resultDiagramObjects: DiagramObject[] = [];
|
|
745
|
+
const resultSegments = [];
|
|
746
|
+
// Bestimme komplette 'Pixellänge' der Leitung
|
|
747
|
+
let completePixelLength = 0;
|
|
748
|
+
for (let a = 1; a < linePoints.length; ++a) {
|
|
749
|
+
const tempX = linePoints[a][0] - linePoints[a - 1][0];
|
|
750
|
+
const tempY = linePoints[a][1] - linePoints[a - 1][1];
|
|
751
|
+
completePixelLength += Math.sqrt((tempX * tempX) + (tempY * tempY));
|
|
752
|
+
}
|
|
753
|
+
// Der Leitungsabschnitt zwischen 'lastB' und 'b' wird mit der Leitung 'eqIdx' verknüpft
|
|
754
|
+
let lastB = 0;
|
|
755
|
+
let b = 1;
|
|
756
|
+
for (let segmentIndex = 0; segmentIndex < segmentPercentages.length; ++segmentIndex) {
|
|
757
|
+
let crtPixelPercentageSize = 0;
|
|
758
|
+
let lastPixelPercentageSize;
|
|
759
|
+
const epsilon = 0.00001;
|
|
760
|
+
let crtPixelLength = 0;
|
|
761
|
+
for (let idx = 1; idx < b; ++idx) {
|
|
762
|
+
const tempX = linePoints[idx][0] - linePoints[idx - 1][0];
|
|
763
|
+
const tempY = linePoints[idx][1] - linePoints[idx - 1][1];
|
|
764
|
+
crtPixelLength += Math.sqrt((tempX * tempX) + (tempY * tempY));
|
|
765
|
+
}
|
|
766
|
+
do {
|
|
767
|
+
// Nehme weitere DiagramObjectPoint zum aktuellen LineSegment hinzu
|
|
768
|
+
const tempX = linePoints[b][0] - linePoints[b - 1][0];
|
|
769
|
+
const tempY = linePoints[b][1] - linePoints[b - 1][1];
|
|
770
|
+
crtPixelLength += Math.sqrt((tempX * tempX) + (tempY * tempY));
|
|
771
|
+
lastPixelPercentageSize = crtPixelPercentageSize;
|
|
772
|
+
crtPixelPercentageSize = (crtPixelLength / completePixelLength);
|
|
773
|
+
b++;
|
|
774
|
+
} while (crtPixelPercentageSize < segmentPercentages[segmentIndex] && b < linePoints.length);
|
|
775
|
+
const crtPixelPercentage = (crtPixelLength / completePixelLength);
|
|
776
|
+
if (crtPixelPercentage <= segmentPercentages[segmentIndex] + epsilon) {
|
|
777
|
+
// Ende erreicht
|
|
778
|
+
}
|
|
779
|
+
else if (crtPixelPercentage > segmentPercentages[segmentIndex]) {
|
|
780
|
+
let decreased = false;
|
|
781
|
+
//if (b === i7LineBasePoints.length) {
|
|
782
|
+
b--;
|
|
783
|
+
decreased = true;
|
|
784
|
+
//}
|
|
785
|
+
// Neuer DiagramObjectPoint notwendig
|
|
786
|
+
// Interpoliere dafür zwischen den letzten beiden Punkten und erzeuge neuen Punkt
|
|
787
|
+
let tempX = linePoints[b][0] - linePoints[b - 1][0];
|
|
788
|
+
let tempY = linePoints[b][1] - linePoints[b - 1][1];
|
|
789
|
+
const percentageOfSegment = crtPixelPercentageSize - lastPixelPercentageSize;
|
|
790
|
+
const tempRestX = tempX * (1 - percentageOfSegment);
|
|
791
|
+
const tempRestY = tempY * (1 - percentageOfSegment);
|
|
792
|
+
tempX = tempX * percentageOfSegment;
|
|
793
|
+
tempY = tempY * percentageOfSegment;
|
|
794
|
+
const newDiagramObjectPoint = [
|
|
795
|
+
linePoints[b - 1][0] + tempX,
|
|
796
|
+
linePoints[b - 1][1] + tempY
|
|
797
|
+
];
|
|
798
|
+
crtPixelLength -= Math.sqrt((tempRestX * tempRestX) + (tempRestY * tempRestY));
|
|
799
|
+
linePoints.splice(b, 0, newDiagramObjectPoint);
|
|
800
|
+
if (decreased)
|
|
801
|
+
b++;
|
|
802
|
+
}
|
|
803
|
+
const diagramObject = new DiagramObject_1.DiagramObject(common_utils_1.CommonUtils.generateUUID(), 'DiagramObject');
|
|
804
|
+
// diagramObject.setIdentifiedObjectUUID(eqUUIDs[segmentIndex]);
|
|
805
|
+
const segment = [];
|
|
806
|
+
resultSegments.push(segment);
|
|
807
|
+
// let i = 1;
|
|
808
|
+
for (let idx = lastB; idx < b; ++idx) {
|
|
809
|
+
segment.push([linePoints[idx][0], linePoints[idx][1]]);
|
|
810
|
+
// ++i;
|
|
811
|
+
}
|
|
812
|
+
lastB = b - 1;
|
|
813
|
+
}
|
|
814
|
+
return resultSegments;
|
|
815
|
+
}
|
|
688
816
|
static convertACLineSegment(completeLength, segmentPercentages, eqUUIDs, i7LineBasePoints) {
|
|
689
817
|
const returnedDiagramObjects = [];
|
|
690
818
|
// Bestimme komplette 'Pixellänge' der Leitung
|