fl-web-component 0.1.1 → 1.0.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 (78) hide show
  1. package/dist/fl-web-component.common.js +14751 -54489
  2. package/dist/fl-web-component.common.js.map +1 -1
  3. package/dist/fl-web-component.css +1 -1
  4. package/dist/fl-web-component.umd.js +14751 -54489
  5. package/dist/fl-web-component.umd.js.map +1 -1
  6. package/dist/fl-web-component.umd.min.js +3 -3
  7. package/dist/fl-web-component.umd.min.js.map +1 -1
  8. package/package.json +26 -5
  9. package/packages/components/button/index.vue +18 -17
  10. package/packages/components/com-card/card-page.vue +51 -49
  11. package/packages/components/com-card/index.vue +20 -21
  12. package/packages/components/com-dialogWrapper/index.vue +18 -21
  13. package/packages/components/com-flcanvas/components/bspline.js +91 -0
  14. package/packages/components/com-flcanvas/components/entityFormatting.js +503 -0
  15. package/packages/components/com-flcanvas/components/round10.js +24 -0
  16. package/packages/components/com-flcanvas/index.vue +259 -0
  17. package/packages/components/com-formDialog/index.vue +76 -75
  18. package/packages/components/com-graphics/index.vue +1059 -226
  19. package/packages/components/com-graphics/per-control.vue +109 -0
  20. package/packages/components/com-graphics/pid.vue +168 -0
  21. package/packages/components/com-page/index.vue +33 -33
  22. package/packages/components/com-selectTree/index.vue +61 -63
  23. package/packages/components/com-table/column-default.vue +9 -14
  24. package/packages/components/com-table/column-dynamic.vue +4 -8
  25. package/packages/components/com-table/column-menu.vue +8 -8
  26. package/packages/components/com-table/column-slot.vue +4 -4
  27. package/packages/components/com-table/column.vue +7 -15
  28. package/packages/components/com-table/config.js +9 -9
  29. package/packages/components/com-table/index.vue +35 -35
  30. package/packages/components/com-table/table-page.vue +17 -17
  31. package/packages/components/com-tabs/index.vue +19 -19
  32. package/packages/components/com-treeDynamic/index.vue +45 -45
  33. package/packages/components/model/api/index.js +59 -67
  34. package/packages/components/model/api/mock/detecttree.js +38 -38
  35. package/packages/components/model/api/mock/getmodel-line.js +15830 -79332
  36. package/packages/components/model/api/mock/init.js +1 -1
  37. package/packages/components/model/api/mock/pbstree.js +486 -495
  38. package/packages/components/model/components/TextOverTooltip/index.vue +3 -3
  39. package/packages/components/model/components/annotation-toolbar.vue +4 -19
  40. package/packages/components/model/components/check-proofing-model.vue +26 -29
  41. package/packages/components/model/components/clipping-type.vue +22 -14
  42. package/packages/components/model/components/com-dialogWrapper/index.vue +22 -25
  43. package/packages/components/model/components/detect-panel.vue +38 -26
  44. package/packages/components/model/components/detect-tree.vue +9 -24
  45. package/packages/components/model/components/firstPer-panel.vue +23 -25
  46. package/packages/components/model/components/header-button.vue +31 -107
  47. package/packages/components/model/components/imageViewer/index.vue +34 -35
  48. package/packages/components/model/components/import-model.vue +127 -127
  49. package/packages/components/model/components/location-panel.vue +25 -29
  50. package/packages/components/model/components/measure-type.vue +15 -15
  51. package/packages/components/model/components/pbs-tree.vue +139 -144
  52. package/packages/components/model/components/proof-config.vue +2 -10
  53. package/packages/components/model/components/proof-for-pc.vue +35 -32
  54. package/packages/components/model/components/proof-history.vue +136 -154
  55. package/packages/components/model/components/proof-panel-detail.vue +166 -165
  56. package/packages/components/model/components/proof-panel.vue +281 -205
  57. package/packages/components/model/components/proof-project-user.vue +13 -50
  58. package/packages/components/model/components/proof-publish.vue +130 -130
  59. package/packages/components/model/components/proof-role.vue +93 -124
  60. package/packages/components/model/components/props-panel.vue +63 -54
  61. package/packages/components/model/index.vue +3225 -3213
  62. package/packages/components/model/utils/annotation-tool.js +75 -82
  63. package/packages/components/model/utils/cursor.js +15 -10
  64. package/packages/components/model/utils/detect-v1.js +23 -35
  65. package/packages/components/model/utils/index.js +25 -25
  66. package/packages/components/model/utils/threejs/measure-angle.js +180 -180
  67. package/packages/components/model/utils/threejs/measure-area.js +196 -184
  68. package/packages/components/model/utils/threejs/measure-distance.js +154 -152
  69. package/packages/components/model/utils/threejs/measure-volume.js +64 -61
  70. package/src/assets/test.png +0 -0
  71. package/src/assets/worker.glb +0 -0
  72. package/src/main.js +11 -8
  73. package/src/utils/flgltf-parser.js +141 -0
  74. package/src/utils/instance-parser.js +402 -0
  75. package/src/utils/mock.js +84746 -0
  76. package/src/utils/threejs/measure-angle.js +240 -0
  77. package/src/utils/threejs/measure-area.js +249 -0
  78. package/src/utils/threejs/measure-distance.js +195 -0
@@ -1,269 +1,281 @@
1
- import * as THREE from 'three'
2
- import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer'
3
- var _this = null
4
- var MeasureArea = function(renderer, scene, camera, width, height) {
5
- this.renderer = renderer
6
- this.scene = scene
7
- this.camera = camera
8
- this.pointArray = [] // 保存当前操作所添加的点
9
- this.raycaster = new THREE.Raycaster()
10
- this.points = [] // 保存页面中所添加的点
11
- this.polyline = [] //保存页面中所添加的直线
12
- this.labels = [] // 保存页面中所添加的文本
13
- this.tempPoints = undefined
14
- this.tempLine = undefined
15
- this.tempLabel = undefined
16
- this.tipsLabel = undefined
17
- this.isCompleted = false
18
- this.timer = null
19
- this.polygonMesh = undefined
20
- this.polygons = []
21
- this.width = width
22
- this.height = height
23
- }
1
+ import * as THREE from 'three';
2
+ import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer';
3
+ var _this = null;
4
+ var MeasureArea = function (renderer, scene, camera, width, height) {
5
+ this.renderer = renderer;
6
+ this.scene = scene;
7
+ this.camera = camera;
8
+ this.pointArray = []; // 保存当前操作所添加的点
9
+ this.raycaster = new THREE.Raycaster();
10
+ this.points = []; // 保存页面中所添加的点
11
+ this.polyline = []; //保存页面中所添加的直线
12
+ this.labels = []; // 保存页面中所添加的文本
13
+ this.tempPoints = undefined;
14
+ this.tempLine = undefined;
15
+ this.tempLabel = undefined;
16
+ this.tipsLabel = undefined;
17
+ this.isCompleted = false;
18
+ this.timer = null;
19
+ this.polygonMesh = undefined;
20
+ this.polygons = [];
21
+ this.width = width;
22
+ this.height = height;
23
+ };
24
24
 
25
25
  MeasureArea.prototype = {
26
26
  start() {
27
- _this = this
28
- this.renderer.domElement.style.cursor = 'crosshair'
29
- this.renderer.domElement.addEventListener('click', this.click, false)
30
- this.renderer.domElement.addEventListener('mousemove', this.mousemove, false)
31
- this.renderer.domElement.addEventListener('contextmenu', this.rightClick, false)
27
+ _this = this;
28
+ this.renderer.domElement.style.cursor = 'crosshair';
29
+ this.renderer.domElement.addEventListener('click', this.click, false);
30
+ this.renderer.domElement.addEventListener('mousemove', this.mousemove, false);
31
+ this.renderer.domElement.addEventListener('contextmenu', this.rightClick, false);
32
32
  },
33
33
  updateParams(width, height) {
34
- this.camera.aspect = width / height
35
- this.camera.updateProjectionMatrix()
36
- this.renderer.setSize(width, height, true)
37
- this.width = width
38
- this.height = height
34
+ this.camera.aspect = width / height;
35
+ this.camera.updateProjectionMatrix();
36
+ this.renderer.setSize(width, height, true);
37
+ this.width = width;
38
+ this.height = height;
39
39
  },
40
40
  getPosition(e) {
41
- const mouse = new THREE.Vector2()
42
- mouse.x = (e.clientX / _this.width) * 2 - 1
43
- mouse.y = -(e.clientY / _this.height) * 2 + 1
44
- _this.raycaster.setFromCamera(mouse, _this.camera)
45
- let intersects =_this.raycaster.intersectObjects(_this.scene.children, true)
46
- if(intersects.length > 0) {
47
- return intersects[0].point
41
+ const mouse = new THREE.Vector2();
42
+ mouse.x = (e.clientX / _this.width) * 2 - 1;
43
+ mouse.y = -(e.clientY / _this.height) * 2 + 1;
44
+ _this.raycaster.setFromCamera(mouse, _this.camera);
45
+ let intersects = _this.raycaster.intersectObjects(_this.scene.children, true);
46
+ if (intersects.length > 0) {
47
+ return intersects[0].point;
48
48
  }
49
- return null
49
+ return null;
50
50
  },
51
- createLine(p1, p2, config = {color:0xff0000}) {
52
- const lineMaterial = new THREE.LineBasicMaterial({ color: config.color, linewidth: 20 })
53
- const lineGeometry = new THREE.BufferGeometry().setFromPoints([p1, p2])
54
- const line = new THREE.Line(lineGeometry, lineMaterial)
51
+ createLine(p1, p2, config = { color: 0xff0000 }) {
52
+ const lineMaterial = new THREE.LineBasicMaterial({ color: config.color, linewidth: 20 });
53
+ const lineGeometry = new THREE.BufferGeometry().setFromPoints([p1, p2]);
54
+ const line = new THREE.Line(lineGeometry, lineMaterial);
55
55
  line.frustumCulled = false;
56
56
 
57
- return line
57
+ return line;
58
58
  },
59
59
  createLabel(name, text, position) {
60
- const div = document.createElement('div')
61
- div.className = name
62
- div.textContent = text
63
- const divLabel = new CSS2DObject(div)
64
- divLabel.position.set(position.x, position.y, position.z)
65
- return divLabel
60
+ const div = document.createElement('div');
61
+ div.className = name;
62
+ div.textContent = text;
63
+ const divLabel = new CSS2DObject(div);
64
+ divLabel.position.set(position.x, position.y, position.z);
65
+ return divLabel;
66
66
  },
67
67
  mousemove(e) {
68
- if (_this.isCompleted || _this.pointArray.length === 0) return
69
- const point =_this.getPosition(e)
68
+ if (_this.isCompleted || _this.pointArray.length === 0) return;
69
+ const point = _this.getPosition(e);
70
70
  if (point) {
71
- _this.pointArray.length === 1 ? _this.pointArray.push(point) : _this.pointArray.splice(_this.pointArray.length - 1, 1, point)
72
- const length = _this.pointArray.length
71
+ _this.pointArray.length === 1
72
+ ? _this.pointArray.push(point)
73
+ : _this.pointArray.splice(_this.pointArray.length - 1, 1, point);
74
+ const length = _this.pointArray.length;
73
75
  if (_this.tempPoints) {
74
- _this.tempPoints.position.set(point.x, point.y, point.z)
76
+ _this.tempPoints.position.set(point.x, point.y, point.z);
75
77
  } else {
76
- const geom = _this.createLabel('circle-tag', '', point)
77
- _this.tempPoints = geom
78
- _this.points.push(geom)
79
- _this.scene.add(geom)
78
+ const geom = _this.createLabel('circle-tag', '', point);
79
+ _this.tempPoints = geom;
80
+ _this.points.push(geom);
81
+ _this.scene.add(geom);
80
82
  }
81
- const p1 = _this.pointArray[length - 2]
82
- const p2 = _this.pointArray[length - 1]
83
+ const p1 = _this.pointArray[length - 2];
84
+ const p2 = _this.pointArray[length - 1];
83
85
  if (_this.tempLine) {
84
- _this.tempLine.geometry.setFromPoints([p1, p2])
86
+ _this.tempLine.geometry.setFromPoints([p1, p2]);
85
87
  } else {
86
- _this.tempLine = _this.createLine(p1, p2)
87
- _this.polyline.push(_this.tempLine)
88
- _this.scene.add(_this.tempLine)
88
+ _this.tempLine = _this.createLine(p1, p2);
89
+ _this.polyline.push(_this.tempLine);
90
+ _this.scene.add(_this.tempLine);
89
91
  }
90
92
  if (_this.pointArray.length > 2) {
91
- const area = _this.calculateArea(_this.pointArray)
92
- _this.createPolygon(_this.pointArray)
93
+ const area = _this.calculateArea(_this.pointArray);
94
+ _this.createPolygon(_this.pointArray);
93
95
  if (_this.tempLabel) {
94
- _this.polygonMesh.geometry.computeBoundingSphere()
95
- _this.tempLabel.element.textContent = _this.numberToString(area) // + '㎡'
96
- _this.tempLabel.position.set(_this.polygonMesh.geometry.boundingSphere.center.x, _this.polygonMesh.geometry.boundingSphere.center.y, _this.polygonMesh.geometry.boundingSphere.center.z)
96
+ _this.polygonMesh.geometry.computeBoundingSphere();
97
+ _this.tempLabel.element.textContent = _this.numberToString(area); // + '㎡'
98
+ _this.tempLabel.position.set(
99
+ _this.polygonMesh.geometry.boundingSphere.center.x,
100
+ _this.polygonMesh.geometry.boundingSphere.center.y,
101
+ _this.polygonMesh.geometry.boundingSphere.center.z,
102
+ );
97
103
  } else {
98
- _this.polygonMesh.geometry.computeBoundingSphere()
99
- console.log(_this.polygonMesh.geometry)
100
- _this.tempLabel = _this.createLabel('measure-label', area, _this.polygonMesh.geometry.boundingSphere.center)
101
- _this.labels.push(_this.tempLabel)
102
- _this.scene.add(_this.tempLabel)
104
+ _this.polygonMesh.geometry.computeBoundingSphere();
105
+ console.log(_this.polygonMesh.geometry);
106
+ _this.tempLabel = _this.createLabel(
107
+ 'measure-label',
108
+ area,
109
+ _this.polygonMesh.geometry.boundingSphere.center,
110
+ );
111
+ _this.labels.push(_this.tempLabel);
112
+ _this.scene.add(_this.tempLabel);
103
113
  }
104
114
  }
105
115
  if (_this.tipsLabel) {
106
- _this.tipsLabel.position.set(point.x + 0.1, point.y, point.z + 0.05)
107
- }
116
+ _this.tipsLabel.position.set(point.x + 0.1, point.y, point.z + 0.05);
117
+ }
108
118
  }
109
119
  },
110
120
  createTipsLabel(label, position) {
111
- const div = document.createElement('div')
112
- div.className = 'tips-label'
113
- div.textContent = label
114
- div.style = 'top: -50px'
115
- const tipsLabel = new CSS2DObject(div)
116
- tipsLabel.position.set(position.x + 0.1, position.y, position.z + 0.05)
117
- return tipsLabel
121
+ const div = document.createElement('div');
122
+ div.className = 'tips-label';
123
+ div.textContent = label;
124
+ div.style = 'top: -50px';
125
+ const tipsLabel = new CSS2DObject(div);
126
+ tipsLabel.position.set(position.x + 0.1, position.y, position.z + 0.05);
127
+ return tipsLabel;
118
128
  },
119
129
  click(e) {
120
130
  if (_this.isCompleted) {
121
- _this.renderer.domElement.addEventListener('mousemove', _this.mousemove)
131
+ _this.renderer.domElement.addEventListener('mousemove', _this.mousemove);
122
132
  }
123
- clearTimeout(_this.timer)
133
+ clearTimeout(_this.timer);
124
134
  _this.timer = setTimeout(() => {
125
- _this.isCompleted = false
126
- const point = _this.getPosition(e)
135
+ _this.isCompleted = false;
136
+ const point = _this.getPosition(e);
127
137
  if (point) {
128
- if(_this.tipsLabel) {
129
- _this.tipsLabel.position.set(point.x + 0.01, point.y, point.z + 0.05)
138
+ if (_this.tipsLabel) {
139
+ _this.tipsLabel.position.set(point.x + 0.01, point.y, point.z + 0.05);
130
140
  } else {
131
- _this.tipsLabel = _this.createTipsLabel('左击绘制右击结束', point)
132
- _this.scene.add(_this.tipsLabel)
141
+ _this.tipsLabel = _this.createTipsLabel('左击绘制右击结束', point);
142
+ _this.scene.add(_this.tipsLabel);
133
143
  }
134
144
  if (_this.tempPoints) {
135
- _this.tempPoints.position.set(point.x, point.y, point.z)
136
- _this.tempPoints = undefined
145
+ _this.tempPoints.position.set(point.x, point.y, point.z);
146
+ _this.tempPoints = undefined;
137
147
  } else {
138
- const geom = _this.createLabel('circle-tag', '', point)
139
- _this.points.push(geom)
140
- _this.scene.add(geom)
148
+ const geom = _this.createLabel('circle-tag', '', point);
149
+ _this.points.push(geom);
150
+ _this.scene.add(geom);
141
151
  }
142
- _this.tempLine = undefined
143
- _this.pointArray.push(point)
152
+ _this.tempLine = undefined;
153
+ _this.pointArray.push(point);
144
154
  }
145
- }, 100)
146
-
155
+ }, 100);
147
156
  },
148
- rightClick (e) {
149
- if(_this.tipsLabel) {
150
- _this.scene.remove(_this.tipsLabel)
151
- _this.tipsLabel = undefined
157
+ rightClick(e) {
158
+ if (_this.tipsLabel) {
159
+ _this.scene.remove(_this.tipsLabel);
160
+ _this.tipsLabel = undefined;
152
161
  }
153
- clearTimeout(_this.timer)
154
- const point = _this.getPosition(e)
162
+ clearTimeout(_this.timer);
163
+ const point = _this.getPosition(e);
155
164
  _this.pointArray.pop();
156
165
  // this.remove(_this.points.pop());
157
166
 
158
167
  // if (point) {
159
- if (_this.pointArray.length == 2) {
160
- _this.scene.remove(_this.points[_this.points.length-1])
161
- }
162
- if (_this.pointArray.length > 2) {
163
- const area = _this.calculateArea(_this.pointArray)
164
- _this.createPolygon(_this.pointArray)
168
+ if (_this.pointArray.length == 2) {
169
+ _this.scene.remove(_this.points[_this.points.length - 1]);
170
+ }
171
+ if (_this.pointArray.length > 2) {
172
+ const area = _this.calculateArea(_this.pointArray);
173
+ _this.createPolygon(_this.pointArray);
165
174
 
166
- if(_this.tempLabel){
167
- _this.polygonMesh.geometry.computeBoundingSphere()
168
- _this.tempLabel.element.textContent = _this.numberToString(area) // + '㎡'
169
- }
175
+ if (_this.tempLabel) {
176
+ _this.polygonMesh.geometry.computeBoundingSphere();
177
+ _this.tempLabel.element.textContent = _this.numberToString(area); // + '㎡'
170
178
  }
171
- _this.scene.remove(_this.tempPoints)
172
- _this.scene.remove(_this.tempLine)
173
- // _this.scene.remove(_this.tempLabel)
174
-
175
- _this.isCompleted = true
176
- if (_this.tempPoints) {
177
- _this.tempPoints.position.set(point.x, point.y, point.z)
178
- _this.tempPoints = undefined
179
- }
180
- _this.tempLine = undefined
181
- _this.tempLabel = undefined
182
- _this.polygonMesh = undefined
183
- _this.pointArray.splice(0)
184
- _this.renderer.domElement.removeEventListener('mousemove', _this.mousemove)
179
+ }
180
+ _this.scene.remove(_this.tempPoints);
181
+ _this.scene.remove(_this.tempLine);
182
+ // _this.scene.remove(_this.tempLabel)
183
+
184
+ _this.isCompleted = true;
185
+ if (_this.tempPoints) {
186
+ _this.tempPoints.position.set(point.x, point.y, point.z);
187
+ _this.tempPoints = undefined;
188
+ }
189
+ _this.tempLine = undefined;
190
+ _this.tempLabel = undefined;
191
+ _this.polygonMesh = undefined;
192
+ _this.pointArray.splice(0);
193
+ _this.renderer.domElement.removeEventListener('mousemove', _this.mousemove);
185
194
  // }
186
195
  },
187
196
  close() {
188
- this.renderer.domElement.removeEventListener('mousemove', this.mousemove)
189
- this.renderer.domElement.removeEventListener('click',this.click)
190
- this.renderer.domElement.removeEventListener('contextmenu',this.rightClick)
191
- this.remove(this.points)
192
- this.remove(this.polyline)
193
- this.remove(this.labels)
194
- this.remove(this.polygons)
195
- this.pointArray.splice(0)
196
- this.points.splice(0)
197
- this.polyline.splice(0)
198
- this.labels.splice(0)
199
- this.tempPoints = undefined
200
- this.tempLabel = undefined
201
- this.tempLine = undefined
202
- this.scene.remove(this.tipsLabel)
203
- this.tipsLabel = undefined
204
- this.renderer.domElement.style.cursor = 'pointer'
197
+ this.renderer.domElement.removeEventListener('mousemove', this.mousemove);
198
+ this.renderer.domElement.removeEventListener('click', this.click);
199
+ this.renderer.domElement.removeEventListener('contextmenu', this.rightClick);
200
+ this.remove(this.points);
201
+ this.remove(this.polyline);
202
+ this.remove(this.labels);
203
+ this.remove(this.polygons);
204
+ this.pointArray.splice(0);
205
+ this.points.splice(0);
206
+ this.polyline.splice(0);
207
+ this.labels.splice(0);
208
+ this.tempPoints = undefined;
209
+ this.tempLabel = undefined;
210
+ this.tempLine = undefined;
211
+ this.scene.remove(this.tipsLabel);
212
+ this.tipsLabel = undefined;
213
+ this.renderer.domElement.style.cursor = 'pointer';
205
214
  },
206
215
  remove(array) {
207
216
  for (let index = 0; index < array.length; index++) {
208
- const element = array[index]
217
+ const element = array[index];
209
218
  if (element.geometry) {
210
- element.geometry.dispose()
219
+ element.geometry.dispose();
211
220
  }
212
- this.scene.remove(element)
221
+ this.scene.remove(element);
213
222
  }
214
223
  },
215
224
  calculateArea(points) {
216
- let area = 0
225
+ let area = 0;
217
226
  for (let i = 0, j = 1, k = 2; k < points.length; j++, k++) {
218
- const a = points[i].distanceTo(points[j])
219
- const b = points[j].distanceTo(points[k])
220
- const c = points[k].distanceTo(points[i])
221
- const p = (a + b + c) / 2
222
- area += Math.sqrt(p * (p - a) * (p - b) * (p - c))
227
+ const a = points[i].distanceTo(points[j]);
228
+ const b = points[j].distanceTo(points[k]);
229
+ const c = points[k].distanceTo(points[i]);
230
+ const p = (a + b + c) / 2;
231
+ area += Math.sqrt(p * (p - a) * (p - b) * (p - c));
223
232
  }
224
- return area
233
+ return area;
225
234
  },
226
235
  numberToString(num) {
227
236
  if (num < 0.0001) {
228
- return num.toString()
237
+ return num.toString();
229
238
  }
230
- let fractionDigits = 2
239
+ let fractionDigits = 2;
231
240
  if (num < 0.01) {
232
- fractionDigits = 4
241
+ fractionDigits = 4;
233
242
  } else if (num < 0.1) {
234
- fractionDigits = 3
243
+ fractionDigits = 3;
235
244
  }
236
- return num.toFixed(fractionDigits)
245
+ return num.toFixed(fractionDigits);
237
246
  },
238
247
  createPolygon(points) {
239
- const length = points.length
240
- const faces = []
248
+ const length = points.length;
249
+ const faces = [];
241
250
  for (let i = 0; i < length - 2; i++) {
242
- faces.push(points[0].x, points[0].y, points[0].z)
243
- faces.push(points[i+1].x, points[i+1].y, points[i+1].z)
244
- faces.push(points[i+2].x, points[i+2].y, points[i+2].z)
251
+ faces.push(points[0].x, points[0].y, points[0].z);
252
+ faces.push(points[i + 1].x, points[i + 1].y, points[i + 1].z);
253
+ faces.push(points[i + 2].x, points[i + 2].y, points[i + 2].z);
245
254
  }
246
255
  if (faces.length > 3) {
247
256
  if (_this.polygonMesh) {
248
- _this.polygonMesh.geometry.setAttribute('position', new THREE.BufferAttribute(new Float32Array(faces), 3 ))
257
+ _this.polygonMesh.geometry.setAttribute(
258
+ 'position',
259
+ new THREE.BufferAttribute(new Float32Array(faces), 3),
260
+ );
249
261
  } else {
250
- const geom = new THREE.BufferGeometry()
251
- geom.setAttribute('position', new THREE.BufferAttribute(new Float32Array(faces), 3 ))
262
+ const geom = new THREE.BufferGeometry();
263
+ geom.setAttribute('position', new THREE.BufferAttribute(new Float32Array(faces), 3));
252
264
  const material = new THREE.MeshBasicMaterial({
253
265
  color: 0xffffff,
254
266
  transparent: true,
255
267
  opacity: 0.5,
256
- side: THREE.DoubleSide
257
- })
258
- const mesh = new THREE.Mesh(geom, material)
259
- mesh.name = 'polygonMesh'
260
- _this.polygonMesh = mesh
261
- _this.scene.add(mesh)
262
- _this.polygons.push(mesh)
268
+ side: THREE.DoubleSide,
269
+ });
270
+ const mesh = new THREE.Mesh(geom, material);
271
+ mesh.name = 'polygonMesh';
272
+ _this.polygonMesh = mesh;
273
+ _this.scene.add(mesh);
274
+ _this.polygons.push(mesh);
263
275
  }
264
276
  }
265
- }
266
- }
277
+ },
278
+ };
267
279
  export default {
268
- MeasureArea
269
- }
280
+ MeasureArea,
281
+ };