@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.
Files changed (45) hide show
  1. package/package.json +7 -5
  2. package/src/App.vue +12 -12
  3. package/src/Overlay/AirTeamOverlay.js +15 -15
  4. package/src/Overlay/ImageOverlay.js +10 -10
  5. package/src/Overlay/Overlay.js +8 -8
  6. package/src/Overlay/OverlayFactory.js +1 -1
  7. package/src/assets/theme.js +3 -3
  8. package/src/components/ThreeCanvasViewer.vue +289 -280
  9. package/src/config.js +48 -48
  10. package/src/helper/UpdateRoofModuleFieldRelations.js +5 -5
  11. package/src/helper/UpdateRoofObstacleRelations.js +1 -1
  12. package/src/helper/cameraMixin.js +34 -34
  13. package/src/helper/customProvider.js +0 -1
  14. package/src/helper/initializeThree.js +2 -2
  15. package/src/helper/materialMixin.js +17 -17
  16. package/src/helper/projectedMaterial.js +27 -25
  17. package/src/helper/render/base.js +4 -4
  18. package/src/helper/render/clear.js +9 -8
  19. package/src/helper/render/edge.js +2 -2
  20. package/src/helper/render/geometryHandler.js +15 -15
  21. package/src/helper/render/imageOverlay.js +4 -4
  22. package/src/helper/render/index.js +2 -2
  23. package/src/helper/render/loader.js +4 -4
  24. package/src/helper/render/margin.js +5 -5
  25. package/src/helper/render/mergedGeometry.js +2 -2
  26. package/src/helper/render/moduleField.js +2 -2
  27. package/src/helper/render/node.js +2 -2
  28. package/src/helper/render/obstacle.js +3 -3
  29. package/src/helper/render/overlay.js +3 -3
  30. package/src/helper/render/panel.js +4 -4
  31. package/src/helper/render/projectionMaterial.js +2 -2
  32. package/src/helper/render/roof.js +6 -6
  33. package/src/helper/render/texture.js +3 -3
  34. package/src/helper/render/tile.js +80 -72
  35. package/src/helper/render/tileProjection.js +7 -7
  36. package/src/helper/renderMixin.js +61 -57
  37. package/src/helper/threeMixin.js +10 -8
  38. package/src/main.js +4 -4
  39. package/src/store/hydrateData.js +30 -30
  40. package/src/store/nodesEdgesCreation.js +9 -9
  41. package/src/store/store.js +2 -2
  42. package/src/store/three-d-module.js +8 -8
  43. package/src/utils/constants.js +1 -1
  44. package/src/utils/layers.js +31 -31
  45. package/src/utils/leaflet-config.service.js +13 -13
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@eturnity/eturnity_3d",
3
3
  "private": false,
4
- "version": "7.30.0",
4
+ "version": "7.32.1",
5
5
  "files": [
6
6
  "dist",
7
7
  "src"
@@ -15,7 +15,7 @@
15
15
  "prettier": "prettier --write \"**/*.{js,vue}\""
16
16
  },
17
17
  "dependencies": {
18
- "@eturnity/eturnity_maths": "7.30.0",
18
+ "@eturnity/eturnity_maths": "7.32.0",
19
19
  "@originjs/vite-plugin-commonjs": "1.0.3",
20
20
  "core-js": "2.6.12",
21
21
  "cors": "2.8.5",
@@ -36,12 +36,14 @@
36
36
  "devDependencies": {
37
37
  "@vitejs/plugin-vue": "2.0.1",
38
38
  "@vue/compiler-sfc": "3.3.4",
39
+ "@vue/eslint-config-standard": "8.0.1",
39
40
  "eslint": "8.0.1",
40
- "eslint-config-prettier": "6.15.0",
41
- "eslint-plugin-prettier": "3.4.1",
41
+ "eslint-config-prettier": "8.8.0",
42
+ "eslint-plugin-prettier": "4.2.1",
42
43
  "eslint-plugin-vue": "9.14.1",
43
44
  "html-webpack-plugin": "3.2.0",
44
- "prettier": "2.8.4",
45
+ "prettier": "^2.8.4",
46
+ "prettier-plugin-vue": "^1.1.6",
45
47
  "vite": "2.7.2",
46
48
  "vite-plugin-env-compatible": "^2.0.1",
47
49
  "webpack": "4.46.0",
package/src/App.vue CHANGED
@@ -8,17 +8,17 @@
8
8
  </template>
9
9
 
10
10
  <script>
11
- import { mapState } from 'vuex'
12
- import ThreeCanvas from './components/ThreeCanvasViewer.vue'
13
- export default {
14
- components: {
15
- ThreeCanvas
16
- },
17
- computed: {
18
- ...mapState({
19
- uuid: (state) => state.uuid,
20
- view_mode: (state) => state.view_mode
21
- })
11
+ import { mapState } from 'vuex'
12
+ import ThreeCanvas from './components/ThreeCanvasViewer.vue'
13
+ export default {
14
+ components: {
15
+ ThreeCanvas,
16
+ },
17
+ computed: {
18
+ ...mapState({
19
+ uuid: (state) => state.uuid,
20
+ view_mode: (state) => state.view_mode,
21
+ }),
22
+ },
22
23
  }
23
- }
24
24
  </script>
@@ -14,7 +14,7 @@ import {
14
14
  verticalProjectionOnPlane,
15
15
  vectorLength2D,
16
16
  deltaLatLngToDistance,
17
- rotateTransformation
17
+ rotateTransformation,
18
18
  } from '@eturnity/eturnity_maths'
19
19
  let Paper
20
20
  export default class AirTeamOverlay extends Overlay {
@@ -78,7 +78,7 @@ export default class AirTeamOverlay extends Overlay {
78
78
  'textured_facade',
79
79
  'textured_environment',
80
80
  'textured_roof',
81
- 'plain_roof_simplified'
81
+ 'plain_roof_simplified',
82
82
  ].includes(child.name)
83
83
  )
84
84
  model.children.forEach((child) => {
@@ -101,7 +101,7 @@ export default class AirTeamOverlay extends Overlay {
101
101
  obj.children.forEach((child) => {
102
102
  this.set3DObjectMaterialOpacity(child, this.opacity)
103
103
  })
104
- if (obj.material && obj.name!='plain_roof_simplified') {
104
+ if (obj.material && obj.name != 'plain_roof_simplified') {
105
105
  obj.visible = this.opacity > 0
106
106
  obj.material.opacity = this.opacity
107
107
  obj.material.transparent = this.opacity < 1
@@ -120,7 +120,7 @@ export default class AirTeamOverlay extends Overlay {
120
120
  const material = new THREE.MeshBasicMaterial({
121
121
  color: 0xffffff, // Grey color
122
122
  transparent: true,
123
- opacity // 50% transparent
123
+ opacity, // 50% transparent
124
124
  })
125
125
  // Create the mesh and add it to the scene
126
126
  waitingBall = new THREE.Mesh(geometry, material)
@@ -264,7 +264,7 @@ export default class AirTeamOverlay extends Overlay {
264
264
  const circle = new Paper.Path.Circle({
265
265
  center: toCanvasRef({ x: 0, y: 0 }),
266
266
  radius: 50,
267
- fillColor: '#ffffff80'
267
+ fillColor: '#ffffff80',
268
268
  })
269
269
  circle.radius = 70
270
270
  circle.itemData = 'circle'
@@ -301,7 +301,7 @@ export default class AirTeamOverlay extends Overlay {
301
301
  loadImageOverlay(url, corners) {
302
302
  let rasterImageOverlay = new Paper.Raster({
303
303
  source: url,
304
- crossOrigin: 'Anonymous'
304
+ crossOrigin: 'Anonymous',
305
305
  })
306
306
  rasterImageOverlay.visible = false
307
307
  rasterImageOverlay.onLoad = () => {
@@ -407,7 +407,7 @@ export default class AirTeamOverlay extends Overlay {
407
407
  this.positionOffset.z = 0
408
408
  this.emit('overlay-offset-position-error', { id: this.id })
409
409
  }
410
- this.geoLocalisation={x,y}
410
+ this.geoLocalisation = { x, y }
411
411
  }
412
412
  }
413
413
  initialiseVerticalProjectionImg() {
@@ -427,23 +427,23 @@ export default class AirTeamOverlay extends Overlay {
427
427
  {
428
428
  x: 1000 * (boxCenter.x + left),
429
429
  y: 1000 * (boxCenter.y + top),
430
- z: 0
430
+ z: 0,
431
431
  },
432
432
  {
433
433
  x: 1000 * (boxCenter.x + right),
434
434
  y: 1000 * (boxCenter.y + top),
435
- z: 0
435
+ z: 0,
436
436
  },
437
437
  {
438
438
  x: 1000 * (boxCenter.x + right),
439
439
  y: 1000 * (boxCenter.y + bottom),
440
- z: 0
440
+ z: 0,
441
441
  },
442
442
  {
443
443
  x: 1000 * (boxCenter.x + left),
444
444
  y: 1000 * (boxCenter.y + bottom),
445
- z: 0
446
- }
445
+ z: 0,
446
+ },
447
447
  ]
448
448
  this.corners = []
449
449
  initialCorners.forEach((corner, index) => {
@@ -471,7 +471,7 @@ export default class AirTeamOverlay extends Overlay {
471
471
 
472
472
  const renderer = new THREE.WebGLRenderer({
473
473
  canvas: canvas,
474
- alpha: true
474
+ alpha: true,
475
475
  })
476
476
  renderer.setSize(this.canvasWidth, this.canvasHeight)
477
477
  renderer.setClearColor(0x000000, 0) // Make background transparent
@@ -540,7 +540,7 @@ export default class AirTeamOverlay extends Overlay {
540
540
  for (let j = 0; j < stepNum; j++) {
541
541
  const testPoint = {
542
542
  x: xMin + (i * (xMax - xMin)) / stepNum,
543
- y: yMin + (j * (yMax - yMin)) / stepNum
543
+ y: yMin + (j * (yMax - yMin)) / stepNum,
544
544
  }
545
545
  if (isInsidePolygon(testPoint, outline)) {
546
546
  RayCaster.set(
@@ -599,7 +599,7 @@ export default class AirTeamOverlay extends Overlay {
599
599
  return {
600
600
  version: this.version,
601
601
  corners: this.corners,
602
- geoLocalisation: this.geoLocalisation
602
+ geoLocalisation: this.geoLocalisation,
603
603
  }
604
604
  }
605
605
  }
@@ -7,7 +7,7 @@ import {
7
7
  substractVector,
8
8
  getAngleInDegFromCanvasVector,
9
9
  normalize2DVector,
10
- vectorLength2D
10
+ vectorLength2D,
11
11
  } from '@eturnity/eturnity_maths'
12
12
  let Paper
13
13
  export default class ImageOverlay extends Overlay {
@@ -73,25 +73,25 @@ export default class ImageOverlay extends Overlay {
73
73
  const initialHeightMm = ratio * initialWidthMm
74
74
  const cornersTopLeft = {
75
75
  x: -initialWidthMm / 2,
76
- y: initialHeightMm / 2
76
+ y: initialHeightMm / 2,
77
77
  }
78
78
  const cornersTopRight = {
79
79
  x: initialWidthMm / 2,
80
- y: initialHeightMm / 2
80
+ y: initialHeightMm / 2,
81
81
  }
82
82
  const cornersBottomLeft = {
83
83
  x: -initialWidthMm / 2,
84
- y: -initialHeightMm / 2
84
+ y: -initialHeightMm / 2,
85
85
  }
86
86
  const cornersBottomRight = {
87
87
  x: initialWidthMm / 2,
88
- y: -initialHeightMm / 2
88
+ y: -initialHeightMm / 2,
89
89
  }
90
90
  const corners = [
91
91
  cornersTopLeft,
92
92
  cornersTopRight,
93
93
  cornersBottomRight,
94
- cornersBottomLeft
94
+ cornersBottomLeft,
95
95
  ]
96
96
  return corners
97
97
  }
@@ -171,7 +171,7 @@ export default class ImageOverlay extends Overlay {
171
171
  ? new Paper.Raster(this.img)
172
172
  : new Paper.Raster({
173
173
  source: url,
174
- crossOrigin: 'Anonymous'
174
+ crossOrigin: 'Anonymous',
175
175
  })
176
176
  rasterImageOverlay.onLoad = () => {
177
177
  this.applyRasterToCorners(rasterImageOverlay, corners)
@@ -265,7 +265,7 @@ export default class ImageOverlay extends Overlay {
265
265
  addVector(
266
266
  addVector(corners[k], multiplyVector(squareSize / 2, u)),
267
267
  multiplyVector(squareSize / 2, v)
268
- )
268
+ ),
269
269
  ]
270
270
  let squareHandle
271
271
 
@@ -303,10 +303,10 @@ export default class ImageOverlay extends Overlay {
303
303
  scaleParams: {
304
304
  points: this.points,
305
305
  distance: this.distance,
306
- mmPerPx: this.mmPerPx
306
+ mmPerPx: this.mmPerPx,
307
307
  },
308
308
  corners: this.corners,
309
- version: this.version
309
+ version: this.version,
310
310
  }
311
311
  }
312
312
  }
@@ -6,11 +6,11 @@ import {
6
6
  rotateTransformation,
7
7
  substractVector,
8
8
  getDistanceBetweenPoints,
9
- getAngleInDegFromCanvasVector
9
+ getAngleInDegFromCanvasVector,
10
10
  } from '@eturnity/eturnity_maths'
11
11
  import {
12
12
  updateBufferRoofGeometry,
13
- getBufferRoofGeometry
13
+ getBufferRoofGeometry,
14
14
  } from '../helper/render/geometryHandler'
15
15
  import * as THREE from 'three'
16
16
  import ProjectedMaterial from '../helper/projectedMaterial'
@@ -30,12 +30,12 @@ export default class Overlay extends Item {
30
30
  { x: 10000, y: 7000 },
31
31
  { x: 10000, y: -7000 },
32
32
  { x: -10000, y: -7000 },
33
- { x: -10000, y: 7000 }
33
+ { x: -10000, y: 7000 },
34
34
  ]
35
35
  this.positionOffset = overlay.settings.positionOffset || {
36
36
  x: 0,
37
37
  y: 0,
38
- z: 0
38
+ z: 0,
39
39
  }
40
40
  this.angleOffset = overlay.settings.angleOffset || 0
41
41
  this.imageUrl = null
@@ -156,7 +156,7 @@ export default class Overlay extends Item {
156
156
  camera: this.overlayProjectionCamera,
157
157
  texture,
158
158
  transparent: true,
159
- side: THREE.DoubleSide
159
+ side: THREE.DoubleSide,
160
160
  })
161
161
 
162
162
  imageOverlayProjectionMaterial.userData = {}
@@ -202,7 +202,7 @@ export default class Overlay extends Item {
202
202
  const boxSize = {
203
203
  x: getDistanceBetweenPoints(this.corners[0], this.corners[1]) / 1000,
204
204
  y: getDistanceBetweenPoints(this.corners[1], this.corners[2]) / 1000,
205
- z: 0
205
+ z: 0,
206
206
  }
207
207
  if (
208
208
  this.overlayProjectionCamera.left != -boxSize.x / 2 ||
@@ -248,11 +248,11 @@ export default class Overlay extends Item {
248
248
  ...this.settings,
249
249
  positionOffset: this.positionOffset,
250
250
  angleOffset: this.angleOffset,
251
- ...this.serializeSettings()
251
+ ...this.serializeSettings(),
252
252
  },
253
253
  type: this.type,
254
254
  is_active: this.isActive,
255
- resources: this.resources
255
+ resources: this.resources,
256
256
  }
257
257
  return serializedOverlay
258
258
  }
@@ -13,7 +13,7 @@ const OverlayFactory = {
13
13
  overlayInstance = new Overlay(serializedOverlay, emit)
14
14
  }
15
15
  return overlayInstance
16
- }
16
+ },
17
17
  }
18
18
 
19
19
  export default OverlayFactory
@@ -27,7 +27,7 @@ const theme = {
27
27
  transparentBlack1: '#263238e6',
28
28
  transparentBlue1: '#20a4cae6',
29
29
  blueElectric: '#66dffa',
30
- eturnityGrey: '#263238'
30
+ eturnityGrey: '#263238',
31
31
  },
32
32
 
33
33
  screen: {
@@ -35,9 +35,9 @@ const theme = {
35
35
  mobile: '425px',
36
36
  mobileLarge: '530px',
37
37
  tablet: '768px',
38
- tabletLarge: '950px'
38
+ tabletLarge: '950px',
39
39
  },
40
- borderRadius: '4px'
40
+ borderRadius: '4px',
41
41
  }
42
42
 
43
43
  export default theme