@eturnity/eturnity_3d 7.30.0 → 7.32.1
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/package.json +7 -5
- package/src/App.vue +12 -12
- package/src/Overlay/AirTeamOverlay.js +15 -15
- package/src/Overlay/ImageOverlay.js +10 -10
- package/src/Overlay/Overlay.js +8 -8
- package/src/Overlay/OverlayFactory.js +1 -1
- package/src/assets/theme.js +3 -3
- package/src/components/ThreeCanvasViewer.vue +289 -280
- package/src/config.js +48 -48
- package/src/helper/UpdateRoofModuleFieldRelations.js +5 -5
- package/src/helper/UpdateRoofObstacleRelations.js +1 -1
- package/src/helper/cameraMixin.js +34 -34
- package/src/helper/customProvider.js +0 -1
- package/src/helper/initializeThree.js +2 -2
- package/src/helper/materialMixin.js +17 -17
- package/src/helper/projectedMaterial.js +27 -25
- package/src/helper/render/base.js +4 -4
- package/src/helper/render/clear.js +9 -8
- package/src/helper/render/edge.js +2 -2
- package/src/helper/render/geometryHandler.js +15 -15
- package/src/helper/render/imageOverlay.js +4 -4
- package/src/helper/render/index.js +2 -2
- package/src/helper/render/loader.js +4 -4
- package/src/helper/render/margin.js +5 -5
- package/src/helper/render/mergedGeometry.js +2 -2
- package/src/helper/render/moduleField.js +2 -2
- package/src/helper/render/node.js +2 -2
- package/src/helper/render/obstacle.js +3 -3
- package/src/helper/render/overlay.js +3 -3
- package/src/helper/render/panel.js +4 -4
- package/src/helper/render/projectionMaterial.js +2 -2
- package/src/helper/render/roof.js +6 -6
- package/src/helper/render/texture.js +3 -3
- package/src/helper/render/tile.js +80 -72
- package/src/helper/render/tileProjection.js +7 -7
- package/src/helper/renderMixin.js +61 -57
- package/src/helper/threeMixin.js +10 -8
- package/src/main.js +4 -4
- package/src/store/hydrateData.js +30 -30
- package/src/store/nodesEdgesCreation.js +9 -9
- package/src/store/store.js +2 -2
- package/src/store/three-d-module.js +8 -8
- package/src/utils/constants.js +1 -1
- package/src/utils/layers.js +31 -31
- package/src/utils/leaflet-config.service.js +13 -13
|
@@ -10,7 +10,7 @@ export default {
|
|
|
10
10
|
lastTic: new Date().getTime() * 1e4,
|
|
11
11
|
//lastTic:(new Date()).getTime()
|
|
12
12
|
lastGeometryEventIdDone: -1,
|
|
13
|
-
backgroundImagesizeInMm: null
|
|
13
|
+
backgroundImagesizeInMm: null,
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
created() {
|
|
@@ -25,7 +25,7 @@ export default {
|
|
|
25
25
|
roofMarginMeshes: {},
|
|
26
26
|
moduleFieldsMeshes: {},
|
|
27
27
|
tileMeshes: {},
|
|
28
|
-
overlayMeshes: {}
|
|
28
|
+
overlayMeshes: {},
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
mounted() {
|
|
@@ -36,14 +36,14 @@ export default {
|
|
|
36
36
|
wallColor: (state) => state.threeDModule.wallColor,
|
|
37
37
|
selectedMapLayer: (state) => state.threeDModule.selectedMapLayer,
|
|
38
38
|
panelOpacity: (state) => state.threeDModule.panelOpacity,
|
|
39
|
-
pvDataMemo: (state) => state.threeDModule.pvDataMemo
|
|
39
|
+
pvDataMemo: (state) => state.threeDModule.pvDataMemo,
|
|
40
40
|
}),
|
|
41
41
|
...mapGetters({
|
|
42
42
|
selectedTool: 'getSelectedTool',
|
|
43
43
|
roofs: 'getRoofs',
|
|
44
44
|
lastGeometryEventId: 'getLastGeometryEventId',
|
|
45
45
|
roofsBounds: 'getRoofsBounds',
|
|
46
|
-
geometryEvents: 'getGeometryEvents'
|
|
46
|
+
geometryEvents: 'getGeometryEvents',
|
|
47
47
|
}),
|
|
48
48
|
layerKey() {
|
|
49
49
|
if (this.selectedMapLayer) {
|
|
@@ -87,7 +87,7 @@ export default {
|
|
|
87
87
|
},
|
|
88
88
|
geometryEventsToDoWithoutFull() {
|
|
89
89
|
return this.geometryEventsToDo.filter((e) => e.name != 'full')
|
|
90
|
-
}
|
|
90
|
+
},
|
|
91
91
|
},
|
|
92
92
|
methods: {
|
|
93
93
|
refreshRendering(e) {
|
|
@@ -121,14 +121,14 @@ export default {
|
|
|
121
121
|
methodList.push({
|
|
122
122
|
name: 'zoomIn3D',
|
|
123
123
|
method: this.zoomIn3D,
|
|
124
|
-
arg: []
|
|
124
|
+
arg: [],
|
|
125
125
|
})
|
|
126
126
|
break
|
|
127
127
|
case 'zoomOut3D':
|
|
128
128
|
methodList.push({
|
|
129
129
|
name: 'zoomOut3D',
|
|
130
130
|
method: this.zoomOut3D,
|
|
131
|
-
arg: []
|
|
131
|
+
arg: [],
|
|
132
132
|
})
|
|
133
133
|
break
|
|
134
134
|
case 'set3DCameraGlobalPosition':
|
|
@@ -136,36 +136,37 @@ export default {
|
|
|
136
136
|
methodList.push({
|
|
137
137
|
name: 'setCameraGlobalPosition',
|
|
138
138
|
method: this.setCameraGlobalPosition,
|
|
139
|
-
arg: []
|
|
139
|
+
arg: [],
|
|
140
140
|
})
|
|
141
141
|
break
|
|
142
142
|
case 'setCameraInitialPosition':
|
|
143
143
|
methodList.push({
|
|
144
144
|
name: 'setCameraInitialPosition',
|
|
145
145
|
method: this.setCameraInitialPosition,
|
|
146
|
-
arg: []
|
|
146
|
+
arg: [],
|
|
147
147
|
})
|
|
148
148
|
break
|
|
149
149
|
case 'setCameraToOverlay':
|
|
150
150
|
methodList.push({
|
|
151
151
|
name: 'setCameraToOverlay',
|
|
152
152
|
method: this.setCameraToOverlay,
|
|
153
|
-
arg: [params.overlayId]
|
|
153
|
+
arg: [params.overlayId],
|
|
154
154
|
})
|
|
155
155
|
break
|
|
156
156
|
case 'toolChange': //params.toolName
|
|
157
157
|
methodList.push({
|
|
158
158
|
name: 'renderEdges',
|
|
159
159
|
method: this.renderEdges,
|
|
160
|
-
arg: []
|
|
160
|
+
arg: [],
|
|
161
161
|
})
|
|
162
|
+
break
|
|
162
163
|
case 'marginIsSameChange': //params.polygon
|
|
163
164
|
case 'marginDifferentChange': //params.polygon,index
|
|
164
165
|
case 'marginSameChange': //params.polygon
|
|
165
166
|
methodList.push({
|
|
166
167
|
name: 'renderRoofsMargin',
|
|
167
168
|
method: this.renderRoofsMargin,
|
|
168
|
-
arg: []
|
|
169
|
+
arg: [],
|
|
169
170
|
})
|
|
170
171
|
break
|
|
171
172
|
case 'full':
|
|
@@ -174,8 +175,9 @@ export default {
|
|
|
174
175
|
methodList.push({
|
|
175
176
|
name: 'renderOverlays',
|
|
176
177
|
method: this.renderOverlays,
|
|
177
|
-
arg: []
|
|
178
|
+
arg: [],
|
|
178
179
|
})
|
|
180
|
+
break
|
|
179
181
|
case 'removeNodes': //params.nodes
|
|
180
182
|
case 'removeEdges': //params.edges
|
|
181
183
|
case 'translate': //params.edges
|
|
@@ -183,40 +185,40 @@ export default {
|
|
|
183
185
|
methodList.push({
|
|
184
186
|
name: 'removeConstructionPolyline',
|
|
185
187
|
method: this.removeConstructionPolylineMesh,
|
|
186
|
-
arg: []
|
|
188
|
+
arg: [],
|
|
187
189
|
})
|
|
188
190
|
}
|
|
189
191
|
methodList.push({
|
|
190
192
|
name: 'renderGeometry',
|
|
191
193
|
method: this.renderGeometry,
|
|
192
|
-
arg: []
|
|
194
|
+
arg: [],
|
|
193
195
|
})
|
|
194
196
|
methodList.push({
|
|
195
197
|
name: 'showPanels',
|
|
196
198
|
method: this.showPanels,
|
|
197
|
-
arg: []
|
|
199
|
+
arg: [],
|
|
198
200
|
})
|
|
199
201
|
break
|
|
200
202
|
case 'moveBuilding':
|
|
201
203
|
methodList.push({
|
|
202
204
|
name: 'renderRoofs',
|
|
203
205
|
method: this.renderRoofs,
|
|
204
|
-
arg: []
|
|
206
|
+
arg: [],
|
|
205
207
|
})
|
|
206
208
|
methodList.push({
|
|
207
209
|
name: 'renderEdges',
|
|
208
210
|
method: this.renderEdges,
|
|
209
|
-
arg: []
|
|
211
|
+
arg: [],
|
|
210
212
|
})
|
|
211
213
|
methodList.push({
|
|
212
214
|
name: 'renderBase',
|
|
213
215
|
method: this.renderBase,
|
|
214
|
-
arg: []
|
|
216
|
+
arg: [],
|
|
215
217
|
})
|
|
216
218
|
methodList.push({
|
|
217
219
|
name: 'renderObstacles',
|
|
218
220
|
method: this.renderObstacles,
|
|
219
|
-
arg: []
|
|
221
|
+
arg: [],
|
|
220
222
|
})
|
|
221
223
|
break
|
|
222
224
|
case 'updateOutlineXY': //params.polygon,?index
|
|
@@ -224,49 +226,49 @@ export default {
|
|
|
224
226
|
methodList.push({
|
|
225
227
|
name: 'renderRoofs',
|
|
226
228
|
method: this.renderRoofs,
|
|
227
|
-
arg: []
|
|
229
|
+
arg: [],
|
|
228
230
|
})
|
|
229
231
|
methodList.push({
|
|
230
232
|
name: 'renderEdges',
|
|
231
233
|
method: this.renderEdges,
|
|
232
|
-
arg: []
|
|
234
|
+
arg: [],
|
|
233
235
|
})
|
|
234
236
|
methodList.push({
|
|
235
237
|
name: 'renderBase',
|
|
236
238
|
method: this.renderBase,
|
|
237
|
-
arg: []
|
|
239
|
+
arg: [],
|
|
238
240
|
})
|
|
239
241
|
methodList.push({
|
|
240
242
|
name: 'renderObstacles',
|
|
241
243
|
method: this.renderObstacles,
|
|
242
|
-
arg: []
|
|
244
|
+
arg: [],
|
|
243
245
|
})
|
|
244
246
|
methodList.push({
|
|
245
247
|
name: 'renderNodes',
|
|
246
248
|
method: this.renderNodes,
|
|
247
|
-
arg: []
|
|
249
|
+
arg: [],
|
|
248
250
|
})
|
|
249
251
|
} else if (params.layer == 'obstacle') {
|
|
250
252
|
methodList.push({
|
|
251
253
|
name: 'renderBase',
|
|
252
254
|
method: this.renderBase,
|
|
253
|
-
arg: []
|
|
255
|
+
arg: [],
|
|
254
256
|
})
|
|
255
257
|
methodList.push({
|
|
256
258
|
name: 'renderRoofs',
|
|
257
259
|
method: this.renderRoofs,
|
|
258
|
-
arg: []
|
|
260
|
+
arg: [],
|
|
259
261
|
})
|
|
260
262
|
methodList.push({
|
|
261
263
|
name: 'renderObstacles',
|
|
262
264
|
method: this.renderObstacles,
|
|
263
|
-
arg: []
|
|
265
|
+
arg: [],
|
|
264
266
|
})
|
|
265
267
|
}
|
|
266
268
|
methodList.push({
|
|
267
269
|
name: 'renderRoofsMargin',
|
|
268
270
|
method: this.renderRoofsMargin,
|
|
269
|
-
arg: []
|
|
271
|
+
arg: [],
|
|
270
272
|
})
|
|
271
273
|
break
|
|
272
274
|
case 'removePanels': //params.panels
|
|
@@ -280,7 +282,7 @@ export default {
|
|
|
280
282
|
methodList.push({
|
|
281
283
|
name: 'renderPanels',
|
|
282
284
|
method: this.renderPanels,
|
|
283
|
-
arg: []
|
|
285
|
+
arg: [],
|
|
284
286
|
})
|
|
285
287
|
break
|
|
286
288
|
case 'addPointToPolygon': //params.polygon,index
|
|
@@ -293,30 +295,32 @@ export default {
|
|
|
293
295
|
methodList.push({
|
|
294
296
|
name: 'renderEdges',
|
|
295
297
|
method: this.renderEdges,
|
|
296
|
-
arg: []
|
|
298
|
+
arg: [],
|
|
297
299
|
})
|
|
298
300
|
methodList.push({
|
|
299
301
|
name: 'renderBuilding',
|
|
300
302
|
method: this.renderBuilding,
|
|
301
|
-
arg: []
|
|
303
|
+
arg: [],
|
|
302
304
|
})
|
|
305
|
+
break
|
|
303
306
|
case 'selectedRoofChange':
|
|
304
307
|
case 'selectedObstacleChange':
|
|
305
308
|
methodList.push({
|
|
306
309
|
name: 'renderFlatRoofs',
|
|
307
310
|
method: this.renderFlatRoofs,
|
|
308
|
-
arg: []
|
|
311
|
+
arg: [],
|
|
309
312
|
})
|
|
310
313
|
methodList.push({
|
|
311
314
|
name: 'renderRoofsMargin',
|
|
312
315
|
method: this.renderRoofsMargin,
|
|
313
|
-
arg: []
|
|
316
|
+
arg: [],
|
|
314
317
|
})
|
|
318
|
+
break
|
|
315
319
|
case 'selectedModuleFieldChange':
|
|
316
320
|
methodList.push({
|
|
317
321
|
name: 'renderEdges',
|
|
318
322
|
method: this.renderEdges,
|
|
319
|
-
arg: []
|
|
323
|
+
arg: [],
|
|
320
324
|
})
|
|
321
325
|
break
|
|
322
326
|
case 'subHandleSelectionChange':
|
|
@@ -325,7 +329,7 @@ export default {
|
|
|
325
329
|
methodList.push({
|
|
326
330
|
name: 'renderBuilding',
|
|
327
331
|
method: this.renderBuilding,
|
|
328
|
-
arg: []
|
|
332
|
+
arg: [],
|
|
329
333
|
})
|
|
330
334
|
break
|
|
331
335
|
case 'parallelChange': //params.obstacle
|
|
@@ -333,57 +337,57 @@ export default {
|
|
|
333
337
|
methodList.push({
|
|
334
338
|
name: 'renderObstacles',
|
|
335
339
|
method: this.renderObstacles,
|
|
336
|
-
arg: []
|
|
340
|
+
arg: [],
|
|
337
341
|
})
|
|
338
342
|
break
|
|
339
343
|
case 'roofInclineDirectionChange':
|
|
340
344
|
methodList.push({
|
|
341
345
|
name: 'renderRoofs',
|
|
342
346
|
method: this.renderRoofs,
|
|
343
|
-
arg: []
|
|
347
|
+
arg: [],
|
|
344
348
|
})
|
|
345
349
|
methodList.push({
|
|
346
350
|
name: 'renderEdges',
|
|
347
351
|
method: this.renderEdges,
|
|
348
|
-
arg: []
|
|
352
|
+
arg: [],
|
|
349
353
|
})
|
|
350
354
|
methodList.push({
|
|
351
355
|
name: 'renderBase',
|
|
352
356
|
method: this.renderBase,
|
|
353
|
-
arg: []
|
|
357
|
+
arg: [],
|
|
354
358
|
})
|
|
355
359
|
methodList.push({
|
|
356
360
|
name: 'renderObstacles',
|
|
357
361
|
method: this.renderObstacles,
|
|
358
|
-
arg: []
|
|
362
|
+
arg: [],
|
|
359
363
|
})
|
|
360
364
|
break
|
|
361
365
|
case 'backgroundTextureChange':
|
|
362
366
|
methodList.push({
|
|
363
367
|
name: 'renderTiles',
|
|
364
368
|
method: this.renderTiles,
|
|
365
|
-
arg: []
|
|
369
|
+
arg: [],
|
|
366
370
|
})
|
|
367
371
|
break
|
|
368
372
|
case 'changeMapProjection':
|
|
369
373
|
methodList.push({
|
|
370
374
|
name: 'renderTiles',
|
|
371
375
|
method: this.debouncedRenderTiles,
|
|
372
|
-
arg: []
|
|
376
|
+
arg: [],
|
|
373
377
|
})
|
|
374
378
|
break
|
|
375
379
|
case 'hidePanels':
|
|
376
380
|
methodList.push({
|
|
377
381
|
name: 'hidePanels',
|
|
378
382
|
method: this.hidePanels,
|
|
379
|
-
arg: []
|
|
383
|
+
arg: [],
|
|
380
384
|
})
|
|
381
385
|
break
|
|
382
386
|
case 'showPanels':
|
|
383
387
|
methodList.push({
|
|
384
388
|
name: 'showPanels',
|
|
385
389
|
method: this.showPanels,
|
|
386
|
-
arg: []
|
|
390
|
+
arg: [],
|
|
387
391
|
})
|
|
388
392
|
break
|
|
389
393
|
case 'removeImageOverlay':
|
|
@@ -392,26 +396,26 @@ export default {
|
|
|
392
396
|
methodList.push({
|
|
393
397
|
name: 'updateProjectionMaterials',
|
|
394
398
|
method: this.updateProjectionMaterials,
|
|
395
|
-
arg: []
|
|
399
|
+
arg: [],
|
|
396
400
|
})
|
|
397
401
|
methodList.push({
|
|
398
402
|
name: 'renderOverlays',
|
|
399
403
|
method: this.renderOverlays,
|
|
400
|
-
arg: []
|
|
404
|
+
arg: [],
|
|
401
405
|
})
|
|
402
406
|
break
|
|
403
407
|
case 'selectedPanelChange':
|
|
404
408
|
methodList.push({
|
|
405
409
|
name: 'renderModuleFields',
|
|
406
410
|
method: this.renderModuleFields,
|
|
407
|
-
arg: []
|
|
411
|
+
arg: [],
|
|
408
412
|
})
|
|
409
413
|
break
|
|
410
414
|
case 'removeConstruction':
|
|
411
415
|
methodList.push({
|
|
412
416
|
name: 'removeConstructionPolyline',
|
|
413
417
|
method: this.removeConstructionPolyline,
|
|
414
|
-
arg: []
|
|
418
|
+
arg: [],
|
|
415
419
|
})
|
|
416
420
|
break
|
|
417
421
|
}
|
|
@@ -420,9 +424,9 @@ export default {
|
|
|
420
424
|
async renderMethods(methodList) {
|
|
421
425
|
for (let item of methodList) {
|
|
422
426
|
if (item.method) {
|
|
423
|
-
try{
|
|
424
|
-
|
|
425
|
-
}catch(err){
|
|
427
|
+
try {
|
|
428
|
+
await item.method(...item.arg)
|
|
429
|
+
} catch (err) {
|
|
426
430
|
console.error(err)
|
|
427
431
|
}
|
|
428
432
|
}
|
|
@@ -467,24 +471,24 @@ export default {
|
|
|
467
471
|
docEl = null
|
|
468
472
|
box = null
|
|
469
473
|
return { top: Math.round(top), left: Math.round(left) }
|
|
470
|
-
}
|
|
474
|
+
},
|
|
471
475
|
},
|
|
472
476
|
watch: {
|
|
473
477
|
pvDataMemo: {
|
|
474
478
|
handler() {
|
|
475
479
|
this.loadNewPanelTextures()
|
|
476
|
-
}
|
|
480
|
+
},
|
|
477
481
|
},
|
|
478
482
|
'material.panel': {
|
|
479
483
|
handler() {
|
|
480
484
|
this.renderPanels()
|
|
481
|
-
}
|
|
485
|
+
},
|
|
482
486
|
},
|
|
483
487
|
geometryEventsToDo(val) {
|
|
484
488
|
if (val.length > 0) {
|
|
485
489
|
this.refreshRendering()
|
|
486
490
|
}
|
|
487
|
-
}
|
|
491
|
+
},
|
|
488
492
|
},
|
|
489
493
|
beforeDestroy() {
|
|
490
494
|
if (this.renderer) {
|
|
@@ -507,5 +511,5 @@ export default {
|
|
|
507
511
|
this.raycaster = null
|
|
508
512
|
this.loader = null
|
|
509
513
|
this.provider = null
|
|
510
|
-
}
|
|
514
|
+
},
|
|
511
515
|
}
|
package/src/helper/threeMixin.js
CHANGED
|
@@ -22,10 +22,10 @@ export default {
|
|
|
22
22
|
texturesToLoad: 0,
|
|
23
23
|
threeMap: false,
|
|
24
24
|
geometry: false,
|
|
25
|
-
camera: false
|
|
25
|
+
camera: false,
|
|
26
26
|
},
|
|
27
27
|
screenshotable: false,
|
|
28
|
-
DOMElement: null
|
|
28
|
+
DOMElement: null,
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
mixins: [initializeThree, renderMixin, materialMixin],
|
|
@@ -33,7 +33,7 @@ export default {
|
|
|
33
33
|
initialiseThree({
|
|
34
34
|
isInteractive = true,
|
|
35
35
|
isPerspectiveCamera = true,
|
|
36
|
-
DOMElement = this.$refs.canvas3DContainer
|
|
36
|
+
DOMElement = this.$refs.canvas3DContainer,
|
|
37
37
|
} = {}) {
|
|
38
38
|
this.DOMElement = DOMElement
|
|
39
39
|
|
|
@@ -88,7 +88,7 @@ export default {
|
|
|
88
88
|
this.orbitControl.mouseButtons = {
|
|
89
89
|
RIGHT: THREE.MOUSE.PAN,
|
|
90
90
|
LEFT: THREE.MOUSE.ROTATE,
|
|
91
|
-
MIDDLE: THREE.MOUSE.DOLLY
|
|
91
|
+
MIDDLE: THREE.MOUSE.DOLLY,
|
|
92
92
|
}
|
|
93
93
|
} else {
|
|
94
94
|
this.orbitControl.screenSpacePanning = true
|
|
@@ -97,7 +97,7 @@ export default {
|
|
|
97
97
|
this.orbitControl.mouseButtons = {
|
|
98
98
|
LEFT: THREE.MOUSE.PAN,
|
|
99
99
|
MIDDLE: THREE.MOUSE.DOLLY,
|
|
100
|
-
RIGHT: THREE.MOUSE.ROTATE
|
|
100
|
+
RIGHT: THREE.MOUSE.ROTATE,
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
this.orbitControl.addEventListener('change', () => {
|
|
@@ -181,7 +181,9 @@ export default {
|
|
|
181
181
|
try {
|
|
182
182
|
this.renderer.clear()
|
|
183
183
|
this.renderer.render(this.scene, this.camera)
|
|
184
|
-
} catch (err) {
|
|
184
|
+
} catch (err) {
|
|
185
|
+
return err
|
|
186
|
+
}
|
|
185
187
|
}
|
|
186
188
|
},
|
|
187
189
|
orbitControlChange() {
|
|
@@ -214,10 +216,10 @@ export default {
|
|
|
214
216
|
this.setCameraAspectRatio()
|
|
215
217
|
this.render()
|
|
216
218
|
}
|
|
217
|
-
}
|
|
219
|
+
},
|
|
218
220
|
},
|
|
219
221
|
beforeDestroy() {
|
|
220
222
|
this.DOMElement = null
|
|
221
223
|
window.removeEventListener('resize', this.onWindowResize, false)
|
|
222
|
-
}
|
|
224
|
+
},
|
|
223
225
|
}
|
package/src/main.js
CHANGED
package/src/store/hydrateData.js
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
Polygon,
|
|
4
4
|
updateComputedGeometryPolygon,
|
|
5
5
|
getRoofMarginOutline,
|
|
6
|
-
getObstacleMarginOutline
|
|
6
|
+
getObstacleMarginOutline,
|
|
7
7
|
} from '@eturnity/eturnity_maths'
|
|
8
8
|
import OverlayLayer from '../Overlay/OverlayLayer'
|
|
9
9
|
import getLayers from '../utils/layers'
|
|
@@ -26,7 +26,7 @@ function sanitizedOutline(outline) {
|
|
|
26
26
|
export async function hydratePolygons({
|
|
27
27
|
roofsResponse,
|
|
28
28
|
obstaclesResponse,
|
|
29
|
-
moduleFieldsResponse
|
|
29
|
+
moduleFieldsResponse,
|
|
30
30
|
}) {
|
|
31
31
|
//removing empty roof,obstacle and modulefield generated by BE on variant creation
|
|
32
32
|
roofsResponse = roofsResponse.reduce((acc, cur) => {
|
|
@@ -79,10 +79,10 @@ export async function hydratePolygons({
|
|
|
79
79
|
? roofResp.roof_margins_mm[0]
|
|
80
80
|
: 200
|
|
81
81
|
roof.moduleFields = []
|
|
82
|
-
try{
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}catch(err){
|
|
82
|
+
try {
|
|
83
|
+
roof = updateComputedGeometryPolygon(roof)
|
|
84
|
+
roofs.push(roof)
|
|
85
|
+
} catch (err) {
|
|
86
86
|
console.error(err)
|
|
87
87
|
}
|
|
88
88
|
})
|
|
@@ -95,18 +95,18 @@ export async function hydratePolygons({
|
|
|
95
95
|
obstacle.version = obstacleResp.version
|
|
96
96
|
obstacle.height = obstacleResp.obstacle_height_above_ground_mm
|
|
97
97
|
obstacle.isParallel = obstacleResp.obstacle_slope_is_parallel_to_roof
|
|
98
|
-
try{
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}catch(err){
|
|
98
|
+
try {
|
|
99
|
+
obstacle = updateComputedGeometryPolygon(obstacle)
|
|
100
|
+
obstacle.margins.distances = obstacleResp.obstacle_margins_mm
|
|
101
|
+
obstacle.margins.isSameMargin = obstacleResp.obstacle_margins_mm.every(
|
|
102
|
+
(val) => val === obstacleResp.obstacle_margins_mm[0]
|
|
103
|
+
)
|
|
104
|
+
obstacle.margins.sameMargin = obstacle.margins.isSameMargin
|
|
105
|
+
? obstacleResp.obstacle_margins_mm[0]
|
|
106
|
+
: 200
|
|
107
|
+
obstacle = getObstacleMarginOutline(obstacle)
|
|
108
|
+
obstacles.push(obstacle)
|
|
109
|
+
} catch (err) {
|
|
110
110
|
console.error(err)
|
|
111
111
|
}
|
|
112
112
|
})
|
|
@@ -165,7 +165,7 @@ export async function hydratePolygons({
|
|
|
165
165
|
modules.push({
|
|
166
166
|
...module,
|
|
167
167
|
status: module.status || 'active',
|
|
168
|
-
clipped: module.clipped === undefined ? false : module.clipped
|
|
168
|
+
clipped: module.clipped === undefined ? false : module.clipped,
|
|
169
169
|
})
|
|
170
170
|
})
|
|
171
171
|
if (moduleFieldResp.user_deactivated_modules) {
|
|
@@ -173,7 +173,7 @@ export async function hydratePolygons({
|
|
|
173
173
|
modules.push({
|
|
174
174
|
...module,
|
|
175
175
|
status: 'user_deactivated',
|
|
176
|
-
clipped: module.clipped === undefined ? false : module.clipped
|
|
176
|
+
clipped: module.clipped === undefined ? false : module.clipped,
|
|
177
177
|
})
|
|
178
178
|
})
|
|
179
179
|
}
|
|
@@ -211,10 +211,10 @@ export async function hydratePolygons({
|
|
|
211
211
|
moduleField.roof = roof
|
|
212
212
|
moduleField.panels = MFpanels
|
|
213
213
|
moduleField.userDeactivatedPanels = MFuserDeactivatedPanels
|
|
214
|
-
try{
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
}catch(err){
|
|
214
|
+
try {
|
|
215
|
+
moduleField = updateComputedGeometryPolygon(moduleField)
|
|
216
|
+
moduleFields.push(moduleField)
|
|
217
|
+
} catch (err) {
|
|
218
218
|
console.error(err)
|
|
219
219
|
}
|
|
220
220
|
})
|
|
@@ -227,10 +227,10 @@ export async function hydratePolygons({
|
|
|
227
227
|
...obstacles,
|
|
228
228
|
...moduleFields,
|
|
229
229
|
...panels,
|
|
230
|
-
...userDeactivatedPanels
|
|
230
|
+
...userDeactivatedPanels,
|
|
231
231
|
],
|
|
232
232
|
pv_module_ids,
|
|
233
|
-
mounting_system_ids
|
|
233
|
+
mounting_system_ids,
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
236
|
|
|
@@ -250,12 +250,12 @@ export async function hydrateData({ state, commit }, data) {
|
|
|
250
250
|
if (layoutSettingResponse) {
|
|
251
251
|
origin = {
|
|
252
252
|
lat: layoutSettingResponse.layout_latitude,
|
|
253
|
-
lng: layoutSettingResponse.layout_longitude
|
|
253
|
+
lng: layoutSettingResponse.layout_longitude,
|
|
254
254
|
}
|
|
255
255
|
}
|
|
256
256
|
OverlayLayer.addOrUpdateSerializedItems(overlaysResponse, origin)
|
|
257
257
|
}
|
|
258
|
-
if (
|
|
258
|
+
if (layoutSettingResponse) {
|
|
259
259
|
const layoutSetting = layoutSettingResponse
|
|
260
260
|
commit('mutate_layoutSettings', layoutSetting)
|
|
261
261
|
commit('mutate_wallColor', layoutSetting.wall_color)
|
|
@@ -264,7 +264,7 @@ export async function hydrateData({ state, commit }, data) {
|
|
|
264
264
|
const newMapConfig = state.mapConfig
|
|
265
265
|
newMapConfig.center = {
|
|
266
266
|
lat: layoutSetting.layout_latitude,
|
|
267
|
-
lng: layoutSetting.layout_longitude
|
|
267
|
+
lng: layoutSetting.layout_longitude,
|
|
268
268
|
}
|
|
269
269
|
newMapConfig.layer = selectedLayer
|
|
270
270
|
newMapConfig.zoom = layoutSetting.map_zoom
|
|
@@ -274,7 +274,7 @@ export async function hydrateData({ state, commit }, data) {
|
|
|
274
274
|
const hydratationResult = await hydratePolygons({
|
|
275
275
|
roofsResponse,
|
|
276
276
|
obstaclesResponse,
|
|
277
|
-
moduleFieldsResponse
|
|
277
|
+
moduleFieldsResponse,
|
|
278
278
|
})
|
|
279
279
|
|
|
280
280
|
state.polygons = hydratationResult.polygons
|