@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.
Files changed (60) hide show
  1. package/dist/converter/integral7/converter.integral7.d.ts +2 -2
  2. package/dist/converter/integral7/converter.integral7.js +111 -63
  3. package/dist/converter/integral7/converter.integral7.js.map +1 -1
  4. package/dist/converter/integral7/dl-convert/data-manager.d.ts +33 -0
  5. package/dist/converter/integral7/dl-convert/data-manager.js +97 -0
  6. package/dist/converter/integral7/dl-convert/data-manager.js.map +1 -0
  7. package/dist/converter/integral7/dl-convert/db/{data.types.d.ts → data-types.d.ts} +7 -0
  8. package/dist/converter/integral7/dl-convert/db/{data.types.js → data-types.js} +1 -1
  9. package/dist/converter/integral7/dl-convert/db/{data.types.js.map → data-types.js.map} +1 -1
  10. package/dist/converter/integral7/dl-convert/db/database.interface.types.d.ts +133 -4
  11. package/dist/converter/integral7/dl-convert/dl-converter-i7-2.d.ts +56 -0
  12. package/dist/converter/integral7/dl-convert/dl-converter-i7-2.js +2039 -0
  13. package/dist/converter/integral7/dl-convert/dl-converter-i7-2.js.map +1 -0
  14. package/dist/converter/integral7/dl-convert/dl-converter-i7-function.types.d.ts +1 -1
  15. package/dist/converter/integral7/dl-convert/dl-converter-i7.js +9 -6
  16. package/dist/converter/integral7/dl-convert/dl-converter-i7.js.map +1 -1
  17. package/dist/converter/integral7/dl-convert/dl-converter-i7.types.d.ts +3 -0
  18. package/dist/converter/integral7/dl-convert/dl-converter-i7.types.js +3 -0
  19. package/dist/converter/integral7/dl-convert/dl-converter-i7.types.js.map +1 -0
  20. package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.d.ts +21 -0
  21. package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.js +49 -0
  22. package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.js.map +1 -0
  23. package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.d.ts +119 -0
  24. package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.js +84 -0
  25. package/dist/converter/integral7/dl-convert/dl-graphs/convert-graph-keys.js.map +1 -0
  26. package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.d.ts +40 -0
  27. package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.js +229 -0
  28. package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.js.map +1 -0
  29. package/dist/converter/integral7/dl-convert/executor.d.ts +35 -0
  30. package/dist/converter/integral7/dl-convert/executor.js +263 -0
  31. package/dist/converter/integral7/dl-convert/executor.js.map +1 -0
  32. package/dist/converter/integral7/model/dl-utils/constants.js +1 -1
  33. package/dist/converter/integral7/model/dl-utils/util-functions.d.ts +8 -4
  34. package/dist/converter/integral7/model/dl-utils/util-functions.js +134 -6
  35. package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -1
  36. package/dist/converter/integral7/model/integral/Point.d.ts +3 -0
  37. package/dist/converter/integral7/model/integral/Point.js +33 -0
  38. package/dist/converter/integral7/model/integral/Point.js.map +1 -1
  39. package/dist/model/core/ConnectivityNode.js +2 -0
  40. package/dist/model/core/ConnectivityNode.js.map +1 -1
  41. package/dist/model/core/Terminal.d.ts +3 -0
  42. package/dist/model/core/Terminal.js +18 -0
  43. package/dist/model/core/Terminal.js.map +1 -1
  44. package/dist/model/dc/DCLine.js +17 -17
  45. package/dist/model/dc/DCLineSegment.js +25 -25
  46. package/dist/model/extensions/enervance/core/EVTerminal.js +20 -15
  47. package/dist/model/extensions/enervance/core/EVTerminal.js.map +1 -1
  48. package/dist/model/loadmodel/ConformLoad.js +33 -33
  49. package/dist/model/loadmodel/ConformLoadGroup.js +22 -22
  50. package/dist/model/loadmodel/LoadArea.js +21 -21
  51. package/dist/model/loadmodel/SubLoadArea.js +22 -22
  52. package/dist/model/wires/BusbarSection.d.ts +4 -1
  53. package/dist/model/wires/BusbarSection.js +21 -1
  54. package/dist/model/wires/BusbarSection.js.map +1 -1
  55. package/dist/model/wires/PowerTransformer.js +124 -33
  56. package/dist/model/wires/PowerTransformer.js.map +1 -1
  57. package/dist/util/database/mysql-controller.d.ts +6 -0
  58. package/dist/util/database/mysql-controller.js +36 -1
  59. package/dist/util/database/mysql-controller.js.map +1 -1
  60. package/package.json +1 -1
@@ -0,0 +1,33 @@
1
+ import { ILogger } from '../../../interfaces/ILogger.js';
2
+ import { i7SchemaKeyDefinitions, I7TableSchemas } from './dl-graphs/convert-graph-keys.js';
3
+ import { DbObjectGraph, DbObjectGraphType } from './dl-graphs/db-object-graph.js';
4
+ import { MysqlController } from '../../../util/database/mysql-controller.js';
5
+ import { CimModelGraph, DbObjectKey2CimModelUUIDGraph } from './dl-graphs/cim-model-graph.js';
6
+ import { I7ExportFrame } from '../interface-i7/export-frame-i7.js';
7
+ export type LoadFromMySQLOptions = {
8
+ [tableName in keyof I7TableSchemas]?: {
9
+ [tableColumnName in keyof I7TableSchemas[tableName]]?: {
10
+ eq?: Array<I7TableSchemas[tableName][tableColumnName]>;
11
+ in?: Array<I7TableSchemas[tableName][tableColumnName]>;
12
+ };
13
+ };
14
+ };
15
+ export type DataManagerOptions = {
16
+ /** purge the graphs before loading the data, if false, the data will be merged */
17
+ purgeData?: boolean;
18
+ };
19
+ export declare class DataManager {
20
+ private logger;
21
+ dbObjectGraph: DbObjectGraph<I7TableSchemas, typeof i7SchemaKeyDefinitions>;
22
+ dbObjectKeyCimModelUuidGraph: DbObjectKey2CimModelUUIDGraph<typeof i7SchemaKeyDefinitions>;
23
+ cimModelGraph: CimModelGraph;
24
+ constructor(logger?: ILogger);
25
+ setDbObjectGraph(graph: DbObjectGraph<I7TableSchemas, typeof i7SchemaKeyDefinitions>): void;
26
+ setCimModelGraph(graph: CimModelGraph): void;
27
+ setDbObjectKeyCimModelUuidGraph(graph: DbObjectKey2CimModelUUIDGraph<typeof i7SchemaKeyDefinitions>): void;
28
+ loadFromMySQL(mysqlController: MysqlController, options: LoadFromMySQLOptions): Promise<void>;
29
+ mergeConverterFrame(frame: I7ExportFrame, integralID2UUID: Map<number, string>): void;
30
+ loadDataFromJSON(data: any): DbObjectGraphType<I7TableSchemas, typeof i7SchemaKeyDefinitions>;
31
+ private addIntegralID2UUIDs;
32
+ private mergeIntegral7IdOnlyDataMap;
33
+ }
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataManager = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const convert_graph_keys_1 = require("./dl-graphs/convert-graph-keys.js");
6
+ const db_object_graph_1 = require("./dl-graphs/db-object-graph.js");
7
+ class DataManager {
8
+ constructor(logger) {
9
+ this.logger = logger;
10
+ }
11
+ setDbObjectGraph(graph) {
12
+ this.dbObjectGraph = graph;
13
+ }
14
+ setCimModelGraph(graph) {
15
+ this.cimModelGraph = graph;
16
+ }
17
+ setDbObjectKeyCimModelUuidGraph(graph) {
18
+ this.dbObjectKeyCimModelUuidGraph = graph;
19
+ }
20
+ loadFromMySQL(mysqlController, options) {
21
+ var _a;
22
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
23
+ const tableMetaData = yield mysqlController.getTableMetaData();
24
+ for (const tableName in options) {
25
+ if (tableMetaData.has(tableName)) {
26
+ /* BEGIN: query-build */
27
+ let whereConditionsConcats_and = [];
28
+ for (const columnName in options[tableName]) {
29
+ if (options[tableName][columnName].eq) { //&& options[tableName][columnName].eq.length > 0) {
30
+ const eqConditions = options[tableName][columnName].eq.map(arg => {
31
+ return `${columnName} = ${arg}`;
32
+ }).join(' OR ');
33
+ whereConditionsConcats_and.push(eqConditions);
34
+ }
35
+ else if (options[tableName][columnName].in) { //&& options[tableName][columnName].in.length > 0) {
36
+ const inConditions = options[tableName][columnName].in.join(', ');
37
+ whereConditionsConcats_and.push(` ${columnName} IN (${inConditions})`);
38
+ }
39
+ }
40
+ let selectQuery = `SELECT *
41
+ FROM ${tableName}`;
42
+ if (whereConditionsConcats_and.length > 0) {
43
+ selectQuery += ` WHERE ${whereConditionsConcats_and.join(' AND ')}`;
44
+ }
45
+ selectQuery += ';';
46
+ /* END: query-build */
47
+ try {
48
+ const queryResults = yield mysqlController.execQuery(selectQuery);
49
+ this.dbObjectGraph[tableName] = (_a = this.dbObjectGraph[tableName]) !== null && _a !== void 0 ? _a : {};
50
+ this.dbObjectGraph.addObjects(tableName, convert_graph_keys_1.i7TableNamesToPrimaryKeys[tableName], queryResults);
51
+ }
52
+ catch (e) {
53
+ // todo better solution for:
54
+ // if options.in contains a empty array like [], then the where clause will contain something like
55
+ // 'column IN ()'. This will result in an MySQL-Error
56
+ console.log(e);
57
+ }
58
+ }
59
+ }
60
+ });
61
+ }
62
+ mergeConverterFrame(frame, integralID2UUID) {
63
+ for (const uuid of frame.cimModel.objects.keys()) {
64
+ this.cimModelGraph.addUnspecifiedObject(uuid, frame.cimModel.objects.get(uuid));
65
+ }
66
+ this.addIntegralID2UUIDs(integralID2UUID);
67
+ // this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralStandorte, i7TableNames.netz_standort);
68
+ // this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralSchaltanlagen, i7TableNames.netz_schaltanlage);
69
+ // this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralHgueKopf, i7TableNames['*']);
70
+ // this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralSchaltanlagenAbschnitte, i7TableNames.netz);
71
+ // this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralSchaltfelder, i7TableNames['*']);
72
+ // this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralKnotenSo, i7TableNames.n);
73
+ // this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralLeitungen, i7TableNames.netz_leitung);
74
+ // this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralLaengskupplungen, i7TableNames['*']);
75
+ // this.mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, frame.integral7Modell.integralHgueLeitungen, i7TableNames['*']);
76
+ }
77
+ loadDataFromJSON(data) {
78
+ // todo
79
+ const graph = new db_object_graph_1.DbObjectGraph(convert_graph_keys_1.i7SchemaKeyDefinitions);
80
+ return {};
81
+ }
82
+ addIntegralID2UUIDs(integralID2UUID) {
83
+ for (const integralID2UUIDEntry of integralID2UUID.entries()) {
84
+ this.dbObjectKeyCimModelUuidGraph.addRelation(convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, { id: integralID2UUIDEntry[0] }, integralID2UUIDEntry[1]);
85
+ }
86
+ }
87
+ mergeIntegral7IdOnlyDataMap(frame, integralID2UUID, i7DataMap, tableName) {
88
+ for (const idIntegralObject of i7DataMap.entries()) {
89
+ // this.dbObjectKeyCimModelUuidGraph.addRelation(
90
+ // i7SchemaKeyNames.IdOnlyKey, { id: idIntegralObject[0] }, integralID2UUID.get(idIntegralObject[0])
91
+ // );
92
+ this.dbObjectGraph.addObject(tableName, convert_graph_keys_1.i7SchemaKeyNames.IdOnlyKey, idIntegralObject[1]);
93
+ }
94
+ }
95
+ }
96
+ exports.DataManager = DataManager;
97
+ //# sourceMappingURL=data-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-manager.js","sourceRoot":"","sources":["../../../../src/converter/integral7/dl-convert/data-manager.ts"],"names":[],"mappings":"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"}
@@ -7,3 +7,10 @@ export declare enum DataTypes {
7
7
  NSG_LEITUNG = "NSG_LEITUNG",
8
8
  NSG_QUERZWEIG = "NSG_QUERZWEIG"
9
9
  }
10
+ export type VariantenNrIdKey = {
11
+ variantennr: number;
12
+ id: number;
13
+ };
14
+ export type IdOnlyKey = {
15
+ id: number;
16
+ };
@@ -11,4 +11,4 @@ var DataTypes;
11
11
  DataTypes["NSG_LEITUNG"] = "NSG_LEITUNG";
12
12
  DataTypes["NSG_QUERZWEIG"] = "NSG_QUERZWEIG";
13
13
  })(DataTypes = exports.DataTypes || (exports.DataTypes = {}));
14
- //# sourceMappingURL=data.types.js.map
14
+ //# sourceMappingURL=data-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data.types.js","sourceRoot":"","sources":["../../../../../src/converter/integral7/dl-convert/db/data.types.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,kCAAqB,CAAA;IACrB,0CAA6B,CAAA;IAC7B,wCAA2B,CAAA;IAC3B,wCAA2B,CAAA;IAC3B,wCAA2B,CAAA;IAC3B,4CAA+B,CAAA;AACjC,CAAC,EARW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAQpB"}
1
+ {"version":3,"file":"data-types.js","sourceRoot":"","sources":["../../../../../src/converter/integral7/dl-convert/db/data-types.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,kCAAqB,CAAA;IACrB,0CAA6B,CAAA;IAC7B,wCAA2B,CAAA;IAC3B,wCAA2B,CAAA;IAC3B,wCAA2B,CAAA;IAC3B,4CAA+B,CAAA;AACjC,CAAC,EARW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAQpB"}
@@ -1,6 +1,126 @@
1
+ export type NetzSSAB = {
2
+ saabschnitt: number;
3
+ pos: number;
4
+ } & BaseObject;
5
+ export type NetzSaabschnitt = {
6
+ schaltanlage: number;
7
+ pos: number;
8
+ } & BaseObject;
9
+ export type NetzFreitleitungabschnitt = {
10
+ leitung: number;
11
+ astandort: number;
12
+ pos: number;
13
+ laenge: number;
14
+ } & BaseObject;
15
+ export type NetzKabelabschnitt = {
16
+ leitung: number;
17
+ astandort: number;
18
+ pos: number;
19
+ laenge: number;
20
+ } & BaseObject;
21
+ export type NetzTrafo2W = {
22
+ bezeichner: string;
23
+ kurzname: string;
24
+ aknoten: number;
25
+ eknoten: number;
26
+ flakn3p: number;
27
+ flekn3p: number;
28
+ aknoten1p: number;
29
+ eknoten1p: number;
30
+ guid_w1: string;
31
+ guid_w2: string;
32
+ } & BaseObject;
33
+ export type NetzTrafo3W = {
34
+ bezeichner: string;
35
+ kurzname: string;
36
+ standort: number;
37
+ trafowicklung3w1: number;
38
+ trafowicklung3w2: number;
39
+ trafowicklung3w3: number;
40
+ spreg_knoten: number;
41
+ spreg_anschluss: number;
42
+ guid_w1: string;
43
+ guid_w2: string;
44
+ guid_w3: string;
45
+ } & BaseObject;
46
+ export type NetzKpFeld = {
47
+ /**
48
+ * describes the type of the coupler-field
49
+ * 0: cross-coupling: individual coupling
50
+ * 4: cross-coupling: disconnector only coupler (not placed on busbar sections)
51
+ * 6: cross-coupling: disconnector - breaker - disconnector (disconnectors placed on busbar sections)
52
+ * 7: cross-coupling: disconnector - disconnector coupler (not placed on busbar sections)
53
+ * 8: cross-coupling: universal coupling
54
+ * 9: length-coupling:
55
+ * 10: length-coupling:
56
+ * 11: length-coupling:
57
+ * 13: length-coupling:
58
+ * 16: length-coupling:
59
+ */
60
+ seltyp: number;
61
+ saabschnitt: number;
62
+ } & BaseObject;
63
+ export type NetzLKupplung = {
64
+ seltyp: number;
65
+ schaltanlage: number;
66
+ saa_anf: number;
67
+ saa_end: number;
68
+ default_zust_anf: number;
69
+ default_zust_end: number;
70
+ } & BaseObject;
71
+ export type NetzBelastung = {
72
+ bezeichner: string;
73
+ kurzname: string;
74
+ anschluss: number;
75
+ } & BaseObject;
76
+ export type NetzGenerator = {
77
+ bezeichner: string;
78
+ kurzname: string;
79
+ anschluss: number;
80
+ } & BaseObject;
81
+ export type NetzSchlaufe = {
82
+ aknoten: number;
83
+ eknoten: number;
84
+ knotenzw: number;
85
+ } & BaseObject;
86
+ export type NetzKnotenzw = {
87
+ geerdet: number;
88
+ schlaufe: number;
89
+ bzweig3p: number;
90
+ } & BaseObject;
91
+ export type NetzNetzeinspeisung = {
92
+ bezeichner: string;
93
+ kurzname: string;
94
+ anschluss: number;
95
+ } & BaseObject;
96
+ export type NetzLeitung = {
97
+ id: number;
98
+ bezeichner: string;
99
+ kurzname: string;
100
+ aknoten: number;
101
+ eknoten: number;
102
+ aknotenzw: number;
103
+ eknotenzw: number;
104
+ flakn3p: number;
105
+ flekn3p: number;
106
+ } & BaseObject;
107
+ export type NetzKnoten = {
108
+ aknoten: number;
109
+ eknoten: number;
110
+ seliste: number;
111
+ } & BaseObject;
112
+ export type NetzLeistungsschalter = NetzKnoten;
113
+ export type NetzTrenner3p = NetzKnoten;
114
+ export type NetzTrennerfi3p = NetzKnoten;
115
+ export type NetzSestarr3p = NetzKnoten;
116
+ export type NetzKnotenkf = BaseObject & {
117
+ bezeichner: string;
118
+ geerdet: number;
119
+ kpfeld: number;
120
+ };
1
121
  export type BaseObject = {
2
122
  id: number;
3
- guid: string;
123
+ guid?: string;
4
124
  };
5
125
  export type Netzvariante = {
6
126
  name: string;
@@ -21,13 +141,20 @@ export type NsgKnotenSo = {
21
141
  nsgso: number;
22
142
  } & NsgObject;
23
143
  export type NsgSchaltanlage = {
144
+ /**
145
+ * if 0° is pointing towards the top, then:
146
+ * 0: from left to right (90° clockwise)
147
+ * 1: from top to bottom (180° clockwise)
148
+ * 2: from right to left (270° clockwise)
149
+ * 3: from bottom to top (360° clockwise)
150
+ */
24
151
  ausrichtung: number;
25
152
  nsgso: number;
26
153
  schaltanlage: number;
27
154
  saabschnittIDs?: string[];
28
- nsgSaabs?: NsgSAAB[];
155
+ nsgSaabschnitt?: NsgSaabschnitt[];
29
156
  } & NsgObject;
30
- export type NsgSAAB = {
157
+ export type NsgSaabschnitt = {
31
158
  laenge: number;
32
159
  nslots: number;
33
160
  saabschnitt: number;
@@ -105,10 +232,12 @@ export type NsgLeitung = {
105
232
  anschlussanf: number;
106
233
  anschlussend: number;
107
234
  } & NsgObject;
108
- export type NsgLeitungspunkt = {
235
+ export type NsgLtgpunkt = {
109
236
  nsgleitung: number;
110
237
  pos: number;
238
+ /** maybe: use rel pos */
111
239
  userelpos: number;
240
+ /** maybe: rel to anf */
112
241
  reltoanf: number;
113
242
  abstand_rel_anchor_m: number;
114
243
  abstand_rel_anchor_c: number;
@@ -0,0 +1,56 @@
1
+ import { ILogger } from '../../../interfaces/ILogger.js';
2
+ import { NetzKnoten, NetzLKupplung, Netzvariante, NsgKnotenSo, NsgKpFeld, NsgLeitung, NsgLKupplung, NsgQuerzweig, NsgSaabschnitt, NsgSchaltanlage, NsgSchaltfeld, NsgStandort, NsgTrafo2W, NsgTrafo3W } from './db/database.interface.types.js';
3
+ import { DiagramObject } from '../../../model/diagram/DiagramObject.js';
4
+ import { i7SchemaKeyDefinitions, I7TableSchemas } from './dl-graphs/convert-graph-keys.js';
5
+ import { Diagram } from '../../../model/diagram/Diagram.js';
6
+ import { CimModelGraph, DbObjectKey2CimModelUUIDGraph } from './dl-graphs/cim-model-graph.js';
7
+ import { DbObjectGraph } from './dl-graphs/db-object-graph.js';
8
+ import { VariantenNrIdKey } from './db/data-types.js';
9
+ export declare class DLConverterI7 {
10
+ private logger;
11
+ static testmode: boolean;
12
+ private dbObjectGraph;
13
+ private dbObjectKeyCimModelUuidGraph;
14
+ private cimModelGraph;
15
+ private exportedTerminalUUIDs;
16
+ private exportedBusbarSectionConnectivityNodeUuidToDiagramObject;
17
+ exportedDiagramObjectsGraph: {
18
+ [variantenNr: number | string]: {
19
+ [netzId: number | string]: DiagramObject;
20
+ };
21
+ };
22
+ constructor(logger?: ILogger);
23
+ addExportedDiagramObjectToGraph(variantennr: number, netzId: number, diagramObject: DiagramObject): void;
24
+ setDbObjectGraph(graph: DbObjectGraph<I7TableSchemas, typeof i7SchemaKeyDefinitions>): void;
25
+ setCimModelGraph(graph: CimModelGraph): void;
26
+ setDbObjectKeyCimModelUuidGraph(graph: DbObjectKey2CimModelUUIDGraph<typeof i7SchemaKeyDefinitions>): void;
27
+ addCimObject<K extends typeof i7SchemaKeyDefinitions, KN extends keyof typeof i7SchemaKeyDefinitions & string>(uuid: string, object: any, typeOfKey?: KN, dbKey?: K[KN]): void;
28
+ convertNsgVariante(arg: Netzvariante): Promise<Diagram | null>;
29
+ convertSchemaStandort(arg: NsgStandort): Promise<void>;
30
+ convertSchemaKnotenStandort(nsgKnotenSo: NsgKnotenSo): Promise<DiagramObject | null>;
31
+ convertSchemaSchaltanlage(arg: NsgSchaltanlage): Promise<void>;
32
+ convertSchemaSchaltanlagenAbschnitte(arg: NsgSaabschnitt): Promise<void>;
33
+ convertSchemaSammelschienenAbschnitte(arg: NsgSaabschnitt): Promise<DiagramObject[]>;
34
+ private convertSchemaSammelschienenAbschnitt;
35
+ convertSchemaSchaltfeldElemente(nsgSchaltfeld: NsgSchaltfeld): Promise<DiagramObject[]>;
36
+ convertSchemaTransformer2W(nsgTrafo2w: NsgTrafo2W): Promise<DiagramObject[] | null>;
37
+ convertSchemaTransformer3W(nsgTrafo3w: NsgTrafo3W): Promise<DiagramObject[] | null>;
38
+ getConnectivityNodePositionFor(i7ObjectType: string, object: any): Promise<number[]>;
39
+ convertSchemaLeitung(nsgLeitung: NsgLeitung, splitLine?: boolean): Promise<DiagramObject[] | null>;
40
+ convertSchemaQuerzweig(nsgQuerzweig: NsgQuerzweig): Promise<DiagramObject[] | null>;
41
+ getRelPos(nsgLeitung: NsgLeitung, aknoten: boolean): Promise<number[] | null>;
42
+ convertSchemaKpfeld(nsgKpfeld: NsgKpFeld): Promise<DiagramObject[] | null>;
43
+ convertSchemaLKupplung(nsgLKupplung: NsgLKupplung, netzLKupplung: NetzLKupplung): Promise<DiagramObject[] | null>;
44
+ getLeftUpperCornerOfUnspecified(variantennr: number, id: number): Promise<number[]>;
45
+ getLeftUpperCornerOf(i7ObjectType: string, object: any, variantennr?: number): Promise<number[]>;
46
+ getNodesOfSchaltfeld(arg: NsgSchaltfeld): Promise<NetzKnoten[]>;
47
+ getNodesOfKpfeld(arg: NsgKpFeld): Promise<NetzKnoten[]>;
48
+ getNodesOfLKupplung(arg: NetzLKupplung): Promise<NetzKnoten[]>;
49
+ /** */
50
+ getSizeOfSchaltanlage(arg: NsgSchaltanlage): Promise<number>;
51
+ getMaxPosOfSaabschnitt(nsgSaabschnitt: NsgSaabschnitt): Promise<number>;
52
+ getLengthOfSammelschienenAbschnitt(nsgSaab: NsgSaabschnitt): Promise<number>;
53
+ getMaxLengthOfKuppelfeld(schaltanlagenabschnittKey: VariantenNrIdKey): Promise<number>;
54
+ getMaxLengthOfSchaltfeld(schaltanlagenabschnittKey: VariantenNrIdKey): Promise<number>;
55
+ private lookupTerminalUUID;
56
+ }