@eturnity/eturnity_3d 6.33.0-qa.3 → 6.34.0

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 (42) hide show
  1. package/.eslintrc.json +18 -0
  2. package/package.json +5 -9
  3. package/src/App.vue +16 -16
  4. package/src/assets/theme.js +4 -4
  5. package/src/components/ThreeCanvasViewer.vue +44 -56
  6. package/src/config.js +65 -139
  7. package/src/helper/MapView.js +241 -214
  8. package/src/helper/UpdateRoofModuleFieldRelations.js +23 -17
  9. package/src/helper/UpdateRoofObstacleRelations.js +41 -48
  10. package/src/helper/cameraMixin.js +93 -97
  11. package/src/helper/customProvider.js +28 -28
  12. package/src/helper/geo-three.module.js +1903 -0
  13. package/src/helper/materialMixin.js +70 -86
  14. package/src/helper/materials.js +49 -64
  15. package/src/helper/render/background.js +5 -2
  16. package/src/helper/render/base.js +40 -43
  17. package/src/helper/render/clear.js +84 -96
  18. package/src/helper/render/edge.js +65 -59
  19. package/src/helper/render/geometryHandler.js +128 -166
  20. package/src/helper/render/imageOverlay.js +106 -157
  21. package/src/helper/render/index.js +3 -23
  22. package/src/helper/render/loader.js +34 -34
  23. package/src/helper/render/mapProjection.js +74 -88
  24. package/src/helper/render/margin.js +50 -46
  25. package/src/helper/render/moduleField.js +24 -26
  26. package/src/helper/render/node.js +43 -43
  27. package/src/helper/render/obstacle.js +48 -50
  28. package/src/helper/render/panel.js +79 -85
  29. package/src/helper/render/projectionMaterial.js +51 -56
  30. package/src/helper/render/roof.js +133 -137
  31. package/src/helper/render/texture.js +17 -17
  32. package/src/helper/renderMixin.js +38 -31
  33. package/src/helper/threeMixin.js +104 -43
  34. package/src/main.js +18 -22
  35. package/src/store/AddMargin.js +83 -87
  36. package/src/store/hydrateData.js +30 -40
  37. package/src/store/nodesEdgesCreation.js +160 -177
  38. package/src/store/three-d-module.js +27 -41
  39. package/.editorconfig +0 -5
  40. package/src/helper/render/tile.js +0 -427
  41. package/src/helper/render/tileProjection.js +0 -124
  42. package/src/utils/cancellablePromise.js +0 -23
package/.eslintrc.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "env": {
3
+ "browser": true,
4
+ "es2021": true
5
+ },
6
+ "extends": "plugin:vue/vue3-essential",
7
+ "overrides": [
8
+ ],
9
+ "parserOptions": {
10
+ "ecmaVersion": "latest",
11
+ "sourceType": "module"
12
+ },
13
+ "plugins": [
14
+ "vue"
15
+ ],
16
+ "rules": {
17
+ }
18
+ }
package/package.json CHANGED
@@ -1,16 +1,14 @@
1
1
  {
2
2
  "name": "@eturnity/eturnity_3d",
3
3
  "private": false,
4
- "version": "6.33.0-qa.3",
4
+ "version": "6.34.0",
5
5
  "main": "dist/main.js",
6
6
  "scripts": {
7
7
  "dev": "vue-cli-service serve --skip-plugins @vue/cli-plugin-eslint",
8
- "build": "vue-cli-service build --skip-plugins @vue/cli-plugin-eslint",
9
- "lint": "eslint --fix --ext .js,.vue ./src",
10
- "prettier": "prettier --write \"**/*.{js,vue}\""
8
+ "build": "vue-cli-service build --skip-plugins @vue/cli-plugin-eslint"
11
9
  },
12
10
  "dependencies": {
13
- "@eturnity/eturnity_maths": "6.33.0-qa.0",
11
+ "@eturnity/eturnity_maths": "6.34.0",
14
12
  "axios": "^1.3.2",
15
13
  "core-js": "^2.6.12",
16
14
  "cors": "^2.8.5",
@@ -34,7 +32,6 @@
34
32
  "@vue/cli-plugin-babel": "^3.12.1",
35
33
  "@vue/cli-plugin-eslint": "^3.12.1",
36
34
  "@vue/cli-service": "^3.12.1",
37
- "babel-eslint": "^10.1.0",
38
35
  "babel-loader": "^8.3.0",
39
36
  "eslint": "5.16.0",
40
37
  "eslint-config-prettier": "6.15.0",
@@ -42,8 +39,7 @@
42
39
  "eslint-plugin-vue": "5.2.3",
43
40
  "html-webpack-plugin": "^3.2.0",
44
41
  "webpack": "^4.46.0",
45
- "webpack-cli": "^4.10.0",
46
- "prettier": "2.8.4"
42
+ "webpack-cli": "^4.10.0"
47
43
  },
48
44
  "eslintConfig": {
49
45
  "root": true,
@@ -73,4 +69,4 @@
73
69
  "> 1%",
74
70
  "last 2 versions"
75
71
  ]
76
- }
72
+ }
package/src/App.vue CHANGED
@@ -1,28 +1,28 @@
1
1
  <template>
2
- <div class="frame" :style="{ height: '100%' }">
2
+ <div class="frame" :style="{height:'100%'}">
3
3
  <ThreeCanvas />
4
4
  </div>
5
5
  </template>
6
6
 
7
7
  <script>
8
- import { mapState } from 'vuex'
9
- import ThreeCanvas from './components/ThreeCanvasViewer.vue'
10
- export default {
11
- components: {
12
- ThreeCanvas
13
- },
14
- computed: {
15
- ...mapState({
16
- uuid: (state) => state.uuid,
17
- view_mode: (state) => state.view_mode
18
- })
8
+ import {mapState} from 'vuex'
9
+ import ThreeCanvas from './components/ThreeCanvasViewer.vue'
10
+ export default {
11
+ components:{
12
+ ThreeCanvas
13
+ },
14
+ computed:{
15
+ ...mapState({
16
+ uuid:(state)=>state.uuid,
17
+ view_mode:(state)=>state.view_mode,
18
+ })
19
+ }
19
20
  }
20
- }
21
21
  </script>
22
22
 
23
23
  <style scoped>
24
- .frame {
25
- width: 100%;
26
- height: 100%;
24
+ .frame{
25
+ width:100%;
26
+ height:100%;
27
27
  }
28
28
  </style>
@@ -18,15 +18,15 @@ const theme = {
18
18
  grey3: '#b2b9c5',
19
19
  grey4: '#dee2eb',
20
20
  grey5: '#fafafa',
21
- grey6: '#555d61',
22
- turquoise: '#20A4CA',
21
+ grey6: '#555d61',
22
+ turquoise:'#20A4CA',
23
23
  green: '#99db0c',
24
24
  purple: '#505ca6',
25
25
  disabled: '#dfe1e1',
26
26
  transparentWhite1: '#ffffff32',
27
27
  transparentBlack1: '#263238e6',
28
- transparentBlue1: '#20a4cae6',
29
- blueElectric: '#66dffa',
28
+ transparentBlue1:'#20a4cae6',
29
+ blueElectric:'#66dffa',
30
30
  eturnityGrey: '#263238'
31
31
  },
32
32
 
@@ -1,14 +1,9 @@
1
1
  <template>
2
- <div
3
- class="canvas3DContainer"
4
- ref="canvas3DContainer"
5
- :style="{ height: '100%' }"
6
- crossorigin
7
- />
2
+ <div class="canvas3DContainer" ref="canvas3DContainer" :style="{height:'100%'}" crossorigin />
8
3
  </template>
9
4
 
10
5
  <script>
11
- import { mapActions, mapState, mapGetters, mapMutations } from 'vuex'
6
+ import { mapActions, mapState, mapGetters,mapMutations } from 'vuex'
12
7
  import * as THREE from 'three'
13
8
  import { addVector, multiplyVector } from '@eturnity/eturnity_maths'
14
9
  import { updateComputedGeometryPolygon } from '@eturnity/eturnity_maths'
@@ -30,14 +25,14 @@ export default {
30
25
  1,
31
26
  1000
32
27
  ),
33
- provider: null,
34
- cameraProjection: null,
28
+ provider:null,
29
+ cameraprojection: null,
35
30
  texture: null,
36
31
  renderer: new THREE.WebGLRenderer({
37
32
  antialias: true,
38
33
  preserveDrawingBuffer: true
39
34
  }),
40
- orbitControl: null,
35
+ orbitControl:null,
41
36
  raycaster: new THREE.Raycaster(),
42
37
  loader: new THREE.TextureLoader(),
43
38
  pointer: { x: 0, y: 0 },
@@ -58,10 +53,10 @@ export default {
58
53
  camera: false
59
54
  },
60
55
  screenshotable: false,
61
- areModuleFieldsVisible: false
56
+ areModuleFieldsVisible:false
62
57
  }
63
58
  },
64
- mixins: [renderMixin, threeMixin, materialMixin],
59
+ mixins: [renderMixin,threeMixin,materialMixin],
65
60
  async mounted() {
66
61
  await this.hydrateData(this.geometryData)
67
62
  this.renderer.domElement.style.width = '100%'
@@ -72,13 +67,11 @@ export default {
72
67
  await this.loadPanelsTexture()
73
68
  this.renderGeometry()
74
69
  this.onWindowResize()
75
- this.updateProjectionMaterials()
70
+ // this.updateProjectionMaterials()
76
71
  this.animate()
77
- this.$root.$on('on-roofSelected', (polygon) =>
78
- this.setCameraOrthogonalTo(polygon)
79
- )
72
+ this.$root.$on('on-roofSelected',(polygon)=>this.setCameraOrthogonalTo(polygon))
80
73
  this.initializeProjectionMaterial()
81
-
74
+
82
75
  const polygon = this.polygons.find((p) => p.id == this.uuid)
83
76
  this.setCamera(polygon, this.view_mode)
84
77
  this.isReady.geometry = true
@@ -89,7 +82,7 @@ export default {
89
82
  uuid: (state) => state.threeDModule.uuid,
90
83
  view_mode: (state) => state.threeDModule.view_mode,
91
84
  isInteractive: (state) => state.threeDModule.isInteractive,
92
- imageOverlay: (state) => state.threeDModule.imageOverlay
85
+ imageOverlay: (state) => state.threeDModule.imageOverlay,
93
86
  }),
94
87
  ...mapGetters({
95
88
  polygons: 'getPolygons',
@@ -113,7 +106,7 @@ export default {
113
106
  setModuleTextureVersionId: 'mutate_moduleTextureVersionId'
114
107
  }),
115
108
  setCamera(polygon, view_mode) {
116
- let margin = 0.2
109
+ let margin=0.2
117
110
  if (!polygon || view_mode == 'global') {
118
111
  let roofsBounds = this.roofsBounds
119
112
  const position = [0, 0, 100]
@@ -121,12 +114,9 @@ export default {
121
114
  this.orthographicCamera.position.set(...position)
122
115
  this.orthographicCamera.lookAt(...target)
123
116
  this.isReady.camera = true
124
-
125
- let { xMin, xMax, yMin, yMax } = this.orthographicBounds(
126
- roofsBounds,
127
- margin
128
- )
129
-
117
+
118
+ let {xMin,xMax,yMin,yMax}=this.orthographicBounds(roofsBounds,margin)
119
+
130
120
  this.orthographicCamera.left = xMin / 1000
131
121
  this.orthographicCamera.right = xMax / 1000
132
122
  this.orthographicCamera.top = yMax / 1000
@@ -163,8 +153,7 @@ export default {
163
153
  const targetVector = polygonRef.meanPoint
164
154
  //const target=[targetVector.x/1000,targetVector.y/1000,targetVector.z/1000]
165
155
  let cameraMoveVector = { x: 0, y: 0, z: 0 }
166
- let flatRoof =
167
- polygonRef.normalVector.x == 0 && polygonRef.normalVector.y == 0
156
+ let flatRoof=polygonRef.normalVector.x==0 && polygonRef.normalVector.y==0
168
157
  if (view_mode == 'ortho') {
169
158
  cameraMoveVector = multiplyVector(
170
159
  distance * 1000,
@@ -172,17 +161,14 @@ export default {
172
161
  )
173
162
  } else if (view_mode == 'top') {
174
163
  let polygonBounds = polygonRef.getBounds()
175
- polygonBounds.xMin -= 1000
176
- polygonBounds.xMax += 1000
177
- polygonBounds.yMin -= 1000
178
- polygonBounds.yMax += 1000
179
- const position = [0, 0, 100]
164
+ polygonBounds.xMin-=1000
165
+ polygonBounds.xMax+=1000
166
+ polygonBounds.yMin-=1000
167
+ polygonBounds.yMax+=1000
168
+ const position = [0,0, 100]
180
169
  const target = [0, 0, 0]
181
170
 
182
- let { xMin, xMax, yMin, yMax } = this.orthographicBounds(
183
- polygonBounds,
184
- margin
185
- )
171
+ let {xMin,xMax,yMin,yMax}=this.orthographicBounds(polygonBounds,margin)
186
172
  this.orthographicCamera.position.set(...position)
187
173
  this.orthographicCamera.lookAt(...target)
188
174
 
@@ -206,7 +192,7 @@ export default {
206
192
  }
207
193
 
208
194
  const positionVector = addVector(polygonRef.meanPoint, cameraMoveVector)
209
- if (flatRoof) positionVector.z += 3000
195
+ if(flatRoof) positionVector.z+=3000
210
196
  const position = [
211
197
  positionVector.x / 1000,
212
198
  positionVector.y / 1000 - 1,
@@ -220,32 +206,34 @@ export default {
220
206
  this.isReady.camera = true
221
207
  }
222
208
  },
223
- orthographicBounds(bounds, margin) {
224
- let ratioCanvas = this.canvasHeight / this.canvasWidth
209
+ orthographicBounds(bounds,margin){
210
+ let ratioCanvas=this.canvasHeight/this.canvasWidth
225
211
 
226
- let width = (bounds.xMax - bounds.xMin) * (1 + margin)
227
- let height = (bounds.yMax - bounds.yMin) * (1 + margin)
228
- let ratio = height / width
229
212
 
230
- let xCenter = (bounds.xMax + bounds.xMin) / 2
231
- let yCenter = (bounds.yMax + bounds.yMin) / 2
213
+ let width=(bounds.xMax-bounds.xMin)*(1+margin)
214
+ let height=(bounds.yMax-bounds.yMin)*(1+margin)
215
+ let ratio=height/width
216
+
217
+ let xCenter=(bounds.xMax+bounds.xMin)/2
218
+ let yCenter=(bounds.yMax+bounds.yMin)/2
232
219
  let xMin
233
220
  let xMax
234
221
  let yMin
235
222
  let yMax
236
- if (ratioCanvas < ratio) {
223
+ if(ratioCanvas<ratio){
237
224
  //canvas wider
238
- xMin = xCenter - height / (2 * ratioCanvas)
239
- xMax = xCenter + height / (2 * ratioCanvas)
240
- yMin = yCenter - height / 2
241
- yMax = yCenter + height / 2
242
- } else {
243
- xMin = xCenter - width / 2
244
- xMax = xCenter + width / 2
245
- yMin = yCenter - (width * ratioCanvas) / 2
246
- yMax = yCenter + (width * ratioCanvas) / 2
225
+ xMin=xCenter-height/(2*ratioCanvas)
226
+ xMax=xCenter+height/(2*ratioCanvas)
227
+ yMin=yCenter-height/2
228
+ yMax=yCenter+height/2
229
+
230
+ }else{
231
+ xMin=xCenter-width/2
232
+ xMax=xCenter+width/2
233
+ yMin=yCenter-(width*ratioCanvas/2)
234
+ yMax=yCenter+(width*ratioCanvas/2)
247
235
  }
248
- return { xMin, xMax, yMin, yMax }
236
+ return {xMin,xMax,yMin,yMax}
249
237
  },
250
238
  animate() {
251
239
  this.render()
@@ -266,7 +254,7 @@ export default {
266
254
  } else {
267
255
  this.renderer.render(this.scene, this.camera)
268
256
  }
269
- }
257
+ },
270
258
  },
271
259
  watch: {
272
260
  isReady: {
package/src/config.js CHANGED
@@ -1,153 +1,79 @@
1
1
  import theme from './assets/theme'
2
- export const polygonCloseTolerance = 15
2
+ export const polygonCloseTolerance=15
3
3
  export const snapToPointTolerance = 15
4
4
  export const snapToIntersectionPointTolerance = 15
5
5
  export const snapToLineTolerance = 10
6
6
  export const distanceToCloseNode = 70
7
- export const mmTolerance = 50
8
- export const earthRadius = 6371008
7
+ export const mmTolerance=50
8
+ export const earthRadius=6371008
9
9
 
10
10
  export const layerColors = {
11
- construction: {
12
- fillColor: 'transparent',
13
- strokeColor: theme.colors.blueElectric,
14
- strokeWidth: 3
15
- },
16
- roof: {
17
- fillColor: 'rgba(255, 255, 255, 0.1)',
18
- strokeColor: 'white',
19
- strokeWidth: 0
20
- },
21
- roofInside: {
22
- fillColor: 'rgba(255, 255, 255, 0.1)',
23
- strokeColor: 'white',
24
- strokeWidth: 1
25
- },
26
- obstacle: { fillColor: theme.colors.red, strokeColor: 'red', strokeWidth: 1 },
27
- panel: {
28
- fillColor: 'rgba(115, 115, 229, 0.1)',
29
- strokeColor: '#ffffff',
30
- strokeWidth: 1
31
- },
32
- user_deactivated_panel: {
33
- fillColor: 'rgba(115, 115, 229, 0.1)',
34
- strokeColor: 'white',
35
- strokeWidth: 4
36
- },
37
- selectedPanel: {
38
- fillColor: '#0068DE80',
39
- strokeColor: theme.colors.blue,
40
- strokeWidth: 1
41
- },
11
+ construction: { fillColor: 'transparent', strokeColor: theme.colors.blueElectric ,strokeWidth:3 },
12
+ roof: { fillColor: 'rgba(255, 255, 255, 0.1)', strokeColor: 'white' ,strokeWidth:0 },
13
+ roofInside: { fillColor: 'rgba(255, 255, 255, 0.1)', strokeColor: 'white' ,strokeWidth:1},
14
+ obstacle: { fillColor: theme.colors.red, strokeColor: 'red' ,strokeWidth:1 },
15
+ panel: { fillColor: 'rgba(115, 115, 229, 0.1)', strokeColor: '#ffffff' ,strokeWidth:1},
16
+ user_deactivated_panel: { fillColor: 'rgba(115, 115, 229, 0.1)', strokeColor: 'white' ,strokeWidth:4},
17
+ selectedPanel: { fillColor: '#0068DE80', strokeColor: theme.colors.blue ,strokeWidth:1},
42
18
  snap: { fillColor: 'transparent', strokeColor: 'white' },
43
- moduleField: {
44
- fillColor: 'rgba(255, 255, 255, 0.1)',
45
- strokeColor: 'white',
46
- strokeWidth: 3
47
- },
48
- hoveredModuleFieldEdge: { strokeColor: theme.colors.blue, strokeWidth: 6 },
49
- tmpModuleField: {
50
- fillColor: 'rgba(115, 115, 229, 0.4)',
51
- strokeColor: theme.colors.blue,
52
- strokeWidth: 2
53
- },
54
- selectedModuleField: {
55
- fillColor: '#0068DE80',
56
- strokeColor: theme.colors.blue,
57
- strokeWidth: 3
58
- },
59
- highlight: {
60
- fillColor: 'rgba(255, 255, 255, 0.2)',
61
- strokeColor: 'white',
62
- strokeWidth: 1
63
- },
64
- selectedRoof: {
65
- fillColor: '#0068DE80',
66
- strokeColor: 'white',
67
- strokeWidth: 3
68
- },
69
- selectedObstacle: {
70
- fillColor: '#0068DE80',
71
- strokeColor: theme.colors.blue,
72
- strokeWidth: 2
73
- },
74
- selectedAndHighlighted: {
75
- fillColor: '#0068DEA0',
76
- strokeColor: theme.colors.blue,
77
- strokeWidth: 3
78
- },
79
- flatWarning: {
80
- fillColor: '#ffff0090',
81
- strokeColor: 'yellow',
82
- strokeWidth: 1
83
- },
84
- customLength: {
85
- fillColor: 'transparent',
86
- strokeColor: theme.colors.blueElectric,
87
- strokeWidth: 1
88
- },
89
- snapDirectionIncline: {
90
- fillColor: 'transparent',
91
- strokeColor: theme.colors.blue,
92
- strokeWidth: 1
93
- },
94
- inclineDirectionArrow: {
95
- fillColor: 'transparent',
96
- strokeColor: '#FF5656',
97
- strokeWidth: 5
98
- },
99
- inclineLabel: {
100
- fillColor: theme.colors.transparentBlack1,
101
- textColor: 'white'
102
- },
103
- directionLabel: {
104
- fillColor: theme.colors.transparentBlack1,
105
- textColor: 'white'
106
- }
19
+ moduleField: { fillColor: 'rgba(255, 255, 255, 0.1)', strokeColor: 'white' ,strokeWidth:3 },
20
+ hoveredModuleFieldEdge: { strokeColor: theme.colors.blue ,strokeWidth:6 },
21
+ tmpModuleField: { fillColor: 'rgba(115, 115, 229, 0.4)', strokeColor: theme.colors.blue ,strokeWidth:2 },
22
+ selectedModuleField: {fillColor: '#0068DE80', strokeColor: theme.colors.blue ,strokeWidth:3},
23
+ highlight: { fillColor: 'rgba(255, 255, 255, 0.2)', strokeColor: 'white' ,strokeWidth:1 },
24
+ selectedRoof: { fillColor: '#0068DE80', strokeColor: 'white' ,strokeWidth:3 },
25
+ selectedObstacle: { fillColor: '#0068DE80', strokeColor: theme.colors.blue ,strokeWidth:2 },
26
+ selectedAndHighlighted: {fillColor: '#0068DEA0', strokeColor: theme.colors.blue ,strokeWidth:3},
27
+ flatWarning: {fillColor: '#ffff0090', strokeColor: 'yellow' ,strokeWidth:1},
28
+ customLength: { fillColor: 'transparent', strokeColor: theme.colors.blueElectric ,strokeWidth:1 },
29
+ snapDirectionIncline: { fillColor: 'transparent', strokeColor: theme.colors.blue ,strokeWidth:1 },
30
+ inclineDirectionArrow: { fillColor: 'transparent', strokeColor: "#FF5656" ,strokeWidth:5 },
31
+ inclineLabel: { fillColor: theme.colors.transparentBlack1, textColor: "white"},
32
+ directionLabel: { fillColor: theme.colors.transparentBlack1, textColor: "white"},
107
33
  }
108
34
 
109
- export const snapInclineTolerance = 5
110
- export const snapDirectionTolerance = 15
111
- export const radiusPadding = 20
112
- export const InclineDirectionCircleRadius = 250
113
- export const inclineDirectionMinRadius = 50
114
- export const baseEdgeOfModuleField = theme.colors.blueElectric
115
- export const maximumGapLimit = 500
116
- export const defaultBaseHeight = 3000
117
- export const colorArrayBase = [
118
- '#FF5656',
119
- '#FDB813',
120
- '#505CA6',
121
- '#8392EE',
122
- '#6CD5D5',
123
- '#C84E4E',
124
- '#90A650',
125
- '#D27CCA',
126
- '#6276DF'
35
+ export const snapInclineTolerance=5
36
+ export const snapDirectionTolerance=15
37
+ export const radiusPadding=20
38
+ export const InclineDirectionCircleRadius=250
39
+ export const inclineDirectionMinRadius=50
40
+ export const baseEdgeOfModuleField=theme.colors.blueElectric
41
+ export const maximumGapLimit=500
42
+ export const defaultBaseHeight=3000
43
+ export const colorArrayBase=[
44
+ "#FF5656",
45
+ "#FDB813",
46
+ "#505CA6",
47
+ "#8392EE",
48
+ "#6CD5D5",
49
+ "#C84E4E",
50
+ "#90A650",
51
+ "#D27CCA",
52
+ "#6276DF",
127
53
  ]
128
- export const colorArray = colorArrayBase.map((c) => c + 'c0')
129
- export const layerTools = {
130
- map: [],
131
- roof: ['drawRoof', 'selectRoof'],
132
- obstacle: ['drawObstacle'],
133
- margin: ['selectMargin'],
134
- panel: ['selectModuleField']
54
+ export const colorArray=colorArrayBase.map(c=>c+"c0")
55
+ export const layerTools={
56
+ map:[],
57
+ roof:["drawRoof","selectRoof"],
58
+ obstacle:["drawObstacle"],
59
+ margin:["selectMargin"],
60
+ panel:["selectModuleField"],
135
61
  }
136
62
  //3D visualisation:
137
- export const beamRadius = 0.05
138
- export const maxMargin = 2500
139
- export const node3DRadius = 0.05
140
- export const beamColor = '#ffffff'
141
- export const node3DColor = 'white'
142
- export const beamOpacity = 0.4
143
- export const node3dOpacity = 0.3
144
- export const dimMarginColor = '#ff000020'
145
- export const defaultTextureUrl = require('./assets/images/panels/reneSola_Virtus_2_JC320S_24_Bbw.png')
146
- const textureImageDomain = 'https://public-data.eturnity.io/'
63
+ export const beamRadius=0.05
64
+ export const maxMargin=2500
65
+ export const node3DRadius=0.05
66
+ export const beamColor="#ffffff"
67
+ export const node3DColor="white"
68
+ export const beamOpacity=0.4
69
+ export const node3dOpacity=0.3
70
+ export const dimMarginColor='#ff000020'
71
+ export const defaultTextureUrl=require('./assets/images/panels/reneSola_Virtus_2_JC320S_24_Bbw.png')
72
+ const textureImageDomain='https://public-data.eturnity.io/'
147
73
  export const defaultTextureUrls = [
148
- textureImageDomain + 'textures/reneSola_Virtus_2_JC320S_24_Bbw.png',
149
- textureImageDomain + 'textures/longiSolarLR4_60HPH_370M.png',
150
- textureImageDomain + 'textures/longiSolarLR4_60HPH_350M.png'
74
+ textureImageDomain+'textures/reneSola_Virtus_2_JC320S_24_Bbw.png',
75
+ textureImageDomain+'textures/longiSolarLR4_60HPH_370M.png',
76
+ textureImageDomain+'textures/longiSolarLR4_60HPH_350M.png',
151
77
  ]
152
78
 
153
79
  export const hitOption = {
@@ -156,7 +82,7 @@ export const hitOption = {
156
82
  fill: true,
157
83
  tolerance: 10
158
84
  }
159
- export const zoomFactor = Math.exp(Math.log(2) / 10)
85
+ export const zoomFactor=Math.exp(Math.log(2)/10)
160
86
  export const hitOptionPolygonStrict = {
161
87
  segments: false,
162
88
  stroke: false,
@@ -176,5 +102,5 @@ export const hitOptionStroke = {
176
102
  tolerance: 2
177
103
  }
178
104
 
179
- export const dragHeightSensitivity = 20
180
- export const snapLimit = 100
105
+ export const dragHeightSensitivity=20
106
+ export const snapLimit=100