@maptalks/transform-control 0.115.0 → 0.116.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.
@@ -0,0 +1,1902 @@
1
+ /*!
2
+ * @maptalks/transform-control v0.116.0
3
+ * LICENSE : UNLICENSED
4
+ * (c) 2016-2025 maptalks.org
5
+ */
6
+ import { quat as A, mat4 as e, reshader as t, vec3 as s, GroupGLLayer as i, vec2 as n } from "@maptalks/gpu";
7
+
8
+ import * as o from "maptalks";
9
+
10
+ import { Point as I, Coordinate as g, Eventable as r, Handlerable as a, Class as C, INTERNAL_LAYER_PREFIX as h } from "maptalks";
11
+
12
+ import { GLTFLayer as w, GLTFMarker as c } from "@maptalks/gltf-layer/dist/maptalks.gltf.gpu.es.js";
13
+
14
+ const Q = {
15
+ yuanhuan: {
16
+ accessors: [ {
17
+ name: "������_1_0_positions",
18
+ componentType: 5126,
19
+ count: 104,
20
+ min: [ -5.407599925994873, -5.404099941253662, 0 ],
21
+ max: [ 5.405200004577637, 5.406300067901611, 0 ],
22
+ type: "VEC3",
23
+ bufferView: 0,
24
+ byteOffset: 0
25
+ }, {
26
+ name: "������_1_0_normals",
27
+ componentType: 5126,
28
+ count: 104,
29
+ min: [ 0, 0, 1 ],
30
+ max: [ 0, 0, 1 ],
31
+ type: "VEC3",
32
+ bufferView: 1,
33
+ byteOffset: 0
34
+ }, {
35
+ name: "������_1_0_indices",
36
+ componentType: 5123,
37
+ count: 288,
38
+ min: [ 0 ],
39
+ max: [ 103 ],
40
+ type: "SCALAR",
41
+ bufferView: 2,
42
+ byteOffset: 0
43
+ } ],
44
+ asset: {
45
+ generator: "obj2gltf",
46
+ version: "2.0"
47
+ },
48
+ buffers: [ {
49
+ name: "缩放圈-新",
50
+ byteLength: 3072,
51
+ uri: "data:application/octet-stream;base64,KVyjQLbzPT4AAAAAZvesQLbzPT4AAAAAhsmqQC7/YT8AAAAAZ0ShQDC7Vz8AAAAA+u2lwGKhxr8AAAAArK2cwLpJvL8AAAAAEFihwB04V78AAAAAXdyqwE7RYb8AAAAAat6lQEaUxj8AAAAAApqcQG+BvD8AAAAAB18EQFOWlcAAAAAA+u0LQLBynsAAAAAARPoxQNSalMAAAAAAJzEoQIxKjMAAAAAAQBNVQFyPiMAAAAAAIEFJQMDsgMAAAAAA0950QK36dMAAAAAAejZnQFRSZ8AAAAAAXdyAQBBYScAAAAAA+n6IQI0oVcAAAAAAcoqUQAMJMsAAAAAAKjqMQIlBKMAAAAAAXdyAQFdbSUAAAAAA+n6IQDsBVUAAAAAA0950QBTQdEAAAAAAejZnQA5PZ0AAAAAA+n6IwI0oVcAAAAAAwOyAwBBYScAAAAAAXkuMwIlBKMAAAAAA0ZGUwAMJMsAAAAAA5j+8P9ejnMAAAAAAkDFXP65HocAAAAAA1JrGPz7opcAAAAAA/7I7PvhTo8AAAAAA/7I7PmPurMAAAAAAM8RhP/vLqsAAAAAADwutwLbzPT4AAAAA0m+jwLbzPT4AAAAAEFihwDC7Vz8AAAAAXdyqwC7/YT8AAAAArK2cwG+BvD8AAAAA+u2lwEaUxj8AAAAADXGewN/gC0AAAAAAa5qVwIV8BEAAAAAAXkuMwAFNKEAAAAAA0ZGUwD7oMUAAAAAAlIeVQIV8BEAAAAAAlWWeQN/gC0AAAAAAcoqUQD7oMUAAAAAAKjqMQAFNKEAAAAAAQBNVQBB6iEAAAAAAIEFJQKfogEAAAAAAW9N0wK36dMAAAAAAsVBnwFRSZ8AAAAAAlWWeQM/3C8AAAAAAlIeVQNxoBMAAAAAA+n6IwDsBVUAAAAAAwOyAwFdbSUAAAAAAsVBnwA5PZ0AAAAAAW9N0wBTQdEAAAAAAd74LwLBynsAAAAAAkxi8v9ejnMAAAAAAwFsEwFOWlcAAAAAARpRWv65HocAAAAAAayvGvz7opcAAAAAA2c43vvhTo8AAAAAA2c43vmPurMAAAAAAt9Fgv/vLqsAAAAAAt9Fgv7fRqkAAAAAAayvGvybkpUAAAAAAd74LwAponkAAAAAA2c43vv5lo0AAAAAA2c43vmkArUAAAAAARpRWvzxOoUAAAAAAkxi8v9ejnEAAAAAAOdYxwHKKlEAAAAAAwFsEwDqSlUAAAAAA+zoowNBEjEAAAAAAJlNJwKfogEAAAAAAUPxUwBB6iEAAAAAAat6lQGKhxr8AAAAAApqcQLpJvL8AAAAAhsmqQE7RYb8AAAAAZ0ShQB04V78AAAAAZvesQP+yO74AAAAAKVyjQP+yO74AAAAAM8RhP7fRqkAAAAAA/7I7PmkArUAAAAAA/7I7Pv5lo0AAAAAA+u0LQAponkAAAAAA1JrGPybkpUAAAAAAkDFXPzxOoUAAAAAA5j+8P9ejnEAAAAAARPoxQHKKlEAAAAAAB18EQDqSlUAAAAAAJzEoQNBEjEAAAAAA+zoowIxKjMAAAAAAOdYxwNSalMAAAAAAUPxUwFyPiMAAAAAAJlNJwMDsgMAAAAAAa5qVwNxoBMAAAAAADXGewM/3C8AAAAAA0m+jwP+yO74AAAAADwutwP+yO74AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAABAAIAAAACAAMABAAFAAYABAAGAAcAAwACAAgAAwAIAAkACgALAAwACgAMAA0ADQAMAA4ADQAOAA8ADwAOABAADwAQABEAEgATABQAEgAUABUAFgAXABgAFgAYABkAGgAbABwAGgAcAB0AHgALAAoAHwALAB4AHwAgAAsAIQAgAB8AIgAjACAAIgAgACEAJAAlACYAJAAmACcAJwAmACgAJwAoACkAKgArACwAKgAsAC0ALgAvADAALgAwADEAGQAYADIAGQAyADMANAA1ABsANAAbABoAFQAUADYAFQA2ADcAOAA5ADoAOAA6ADsAPAA9AD4APAA/AD0AQAA/ADwAQABBAD8AQgBBAEAAQgBAAEMARABFAEYARABGAEcARABHAEgARgBJAEcARgBKAEkASwBKAEYASwBMAEoASwBNAEwACQAIAC8ACQAvAC4ALQAsADkALQA5ADgAOwA6AE4AOwBOAE8ATwBOAE0ATwBNAEsAKQAoACsAKQArACoANwA2AFAANwBQAFEAUQBQAFIAUQBSAFMAUwBSAFQAUwBUAFUAVgBXAFgAVgBYAFkAVgBZAFoAWwBZAFgAXABZAFsAXABdAFkAXgBdAFwAXwBdAF4APAA+AGAAPABgAGEAMQAwABcAMQAXABYAYgBjADUAYgA1ADQAYQBgAGMAYQBjAGIAMwAyAF0AMwBdAF8AHQAcAGQAHQBkAGUAZQBkAAUAZQAFAAQAZgBnAAcAZgAHAAYAEQAQABMAEQATABIA"
52
+ } ],
53
+ bufferViews: [ {
54
+ name: "bufferView_0",
55
+ buffer: 0,
56
+ byteLength: 1248,
57
+ byteOffset: 0,
58
+ byteStride: 12,
59
+ target: 34962
60
+ }, {
61
+ name: "bufferView_1",
62
+ buffer: 0,
63
+ byteLength: 1248,
64
+ byteOffset: 1248,
65
+ byteStride: 12,
66
+ target: 34962
67
+ }, {
68
+ name: "bufferView_2",
69
+ buffer: 0,
70
+ byteLength: 576,
71
+ byteOffset: 2496,
72
+ target: 34963
73
+ } ],
74
+ materials: [ {
75
+ name: "SVGMat_001",
76
+ pbrMetallicRoughness: {
77
+ baseColorFactor: [ .5, .5, .5, 1 ],
78
+ metallicFactor: 0,
79
+ roughnessFactor: 1
80
+ },
81
+ emissiveFactor: [ 0, 0, 0 ],
82
+ alphaMode: "OPAQUE",
83
+ doubleSided: !1
84
+ } ],
85
+ meshes: [ {
86
+ name: "������_1",
87
+ primitives: [ {
88
+ attributes: {
89
+ POSITION: 0,
90
+ NORMAL: 1
91
+ },
92
+ indices: 2,
93
+ material: 0,
94
+ mode: 4
95
+ } ]
96
+ } ],
97
+ nodes: [ {
98
+ name: "������",
99
+ mesh: 0
100
+ } ],
101
+ scene: 0,
102
+ scenes: [ {
103
+ nodes: [ 0 ]
104
+ } ]
105
+ },
106
+ yuanhuan41: {
107
+ accessors: [ {
108
+ name: "Բ��_1_0_positions",
109
+ componentType: 5126,
110
+ count: 39,
111
+ min: [ 0, 0, 0 ],
112
+ max: [ 5.489999771118164, 0, 5.488900184631348 ],
113
+ type: "VEC3",
114
+ bufferView: 0,
115
+ byteOffset: 0
116
+ }, {
117
+ name: "Բ��_1_0_normals",
118
+ componentType: 5126,
119
+ count: 39,
120
+ min: [ 0, -.999939501285553, -1 ],
121
+ max: [ .13969914615154266, 1, 1 ],
122
+ type: "VEC3",
123
+ bufferView: 1,
124
+ byteOffset: 0
125
+ }, {
126
+ name: "Բ��_1_0_indices",
127
+ componentType: 5123,
128
+ count: 105,
129
+ min: [ 0 ],
130
+ max: [ 38 ],
131
+ type: "SCALAR",
132
+ bufferView: 2,
133
+ byteOffset: 0
134
+ } ],
135
+ asset: {
136
+ generator: "obj2gltf",
137
+ version: "2.0"
138
+ },
139
+ buffers: [ {
140
+ name: "yh41",
141
+ byteLength: 1148,
142
+ uri: "data:application/octet-stream;base64,8tKXQAAAAACoNU09FK6vQAAAAAB1Ako/FK6vQAAAAAAAAACATfOAQAAAAAACmkg+K4dWQAAAAAAIrNw+WvUtQAAAAABbsT8/X5gIQAAAAACMSpI/OUWbQAAAAAD0/VQ/LbKHQAAAAAD0/XQ/W0JqQAAAAAC6SZQ/dLXNPwAAAACfq80/H4VHQAAAAAB0JLc/ZognQAAAAAA1XuI/YVSSPwAAAAAukAhABaMKQAAAAAB4nApABcU/PwAAAACF6y1Aw2TiPwAAAACRfidASS63PwAAAABKe0dAJLncPgAAAACze1ZAj1OUPwAAAADjNmpAAppIPgAAAADu64BAnRF1PwAAAAD8qYdAqDVNPQAAAADBypdAgQRVPwAAAAAIPZtAAAAAAAAAAAASpa9AAwlKPwAAAAASpa9AJJd/PAAAAAASpa9AAwlKPwAAAAASpa9AAAAAAAAAAAASpa9Asp1vPQAAAAASpa9AJLn8PQAAAAASpa9AqoJRPgAAAAASpa9ARwOYPgAAAAASpa9AHhbKPgAAAAASpa9A2hv8PgAAAAASpa9A5q4VPwAAAAASpa9A+n4qPwAAAAASpa9AQxw7PwAAAAASpa9AwhdGPwAAAAASpa9AAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAJ5X/OwL+fz8AAACAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/Kzs0PAn8f78AAACApLK/PA7uf78AAACAeJkZPefRfz8AAACA+ZldPQSgf78AAACA6XSTPelVfz8AAACALLO3PdT3fr8AAACAfkjZPR2Ofr8AAACANf32Paohfj8AAACAeUYHPqDBfT8AAACASw0PPlt9fb8AAACAAAABAAIAAwABAAAABAABAAMABQABAAQABgAHAAUABwABAAUABgAIAAcABgAJAAgACgAJAAYACgALAAkACgAMAAsADQAMAAoADQAOAAwADwAOAA0ADwAQAA4ADwARABAAEgARAA8AEgATABEAFAATABIAFAAVABMAFgAVABQAFgAXABUAGAAXABYAGAAZABcAGgAbABwAHQAbABoAHgAbAB0AHwAbAB4AIAAbAB8AIQAbACAAIgAbACEAIwAbACIAJAAbACMAJQAbACQAJgAbACUAAAA="
143
+ } ],
144
+ bufferViews: [ {
145
+ name: "bufferView_0",
146
+ buffer: 0,
147
+ byteLength: 468,
148
+ byteOffset: 0,
149
+ byteStride: 12,
150
+ target: 34962
151
+ }, {
152
+ name: "bufferView_1",
153
+ buffer: 0,
154
+ byteLength: 468,
155
+ byteOffset: 468,
156
+ byteStride: 12,
157
+ target: 34962
158
+ }, {
159
+ name: "bufferView_2",
160
+ buffer: 0,
161
+ byteLength: 212,
162
+ byteOffset: 936,
163
+ target: 34963
164
+ } ],
165
+ materials: [ {
166
+ name: "SVGMat_002",
167
+ pbrMetallicRoughness: {
168
+ baseColorFactor: [ .588, .588, .588, 1 ],
169
+ metallicFactor: 0,
170
+ roughnessFactor: .99
171
+ },
172
+ emissiveFactor: [ 0, 0, 0 ],
173
+ alphaMode: "OPAQUE",
174
+ doubleSided: !1
175
+ } ],
176
+ meshes: [ {
177
+ name: "Բ��_1",
178
+ primitives: [ {
179
+ attributes: {
180
+ POSITION: 0,
181
+ NORMAL: 1
182
+ },
183
+ indices: 2,
184
+ material: 0,
185
+ mode: 4
186
+ } ]
187
+ } ],
188
+ nodes: [ {
189
+ name: "Բ��",
190
+ mesh: 0
191
+ } ],
192
+ scene: 0,
193
+ scenes: [ {
194
+ nodes: [ 0 ]
195
+ } ]
196
+ },
197
+ yuanhuan411: {
198
+ accessors: [ {
199
+ name: "����СȦ_1_0_positions",
200
+ componentType: 5126,
201
+ count: 28,
202
+ min: [ .026000000536441803, -4.6834001541137695, 0 ],
203
+ max: [ 4.696700096130371, -.014800000004470348, 0 ],
204
+ type: "VEC3",
205
+ bufferView: 0,
206
+ byteOffset: 0
207
+ }, {
208
+ name: "����СȦ_1_0_normals",
209
+ componentType: 5126,
210
+ count: 28,
211
+ min: [ 0, 0, 1 ],
212
+ max: [ 0, 0, 1 ],
213
+ type: "VEC3",
214
+ bufferView: 1,
215
+ byteOffset: 0
216
+ }, {
217
+ name: "����СȦ_1_0_indices",
218
+ componentType: 5123,
219
+ count: 78,
220
+ min: [ 0 ],
221
+ max: [ 27 ],
222
+ type: "SCALAR",
223
+ bufferView: 2,
224
+ byteOffset: 0
225
+ } ],
226
+ asset: {
227
+ generator: "obj2gltf",
228
+ version: "2.0"
229
+ },
230
+ buffers: [ {
231
+ name: "yuanhuan411",
232
+ byteLength: 828,
233
+ uri: "data:application/octet-stream;base64,ufwXQLN7Mr8AAAAAObRAQLFQK78AAAAA1ediQMWP8b4AAAAAGQQ6QCv2174AAAAAqFdeQHUCWr4AAAAA7FGCQL6fmr0AAAAAHHyDQDLmrr4AAAAAXkuWQJf/kL4AAAAAXkuWQLN7crwAAAAAMCrxP2RdhL8AAAAA/BgDQJeQn78AAAAADeARQAg9i78AAAAAukkIQISeXb8AAAAAZaogQH/Zbb8AAAAA7Q3ePr4wOcAAAAAA5IMuP9/gP8AAAAAAJQZxPwrXH8AAAAAAPZs1P6UsF8AAAAAAdy2hP0VHAsAAAAAAb/CFP5eQ778AAAAA0ES4P32utr8AAAAAAprQPyL9zr8AAAAAi/1lPqqCXcAAAAAA9dv3PtcSYsAAAAAADi2yPZvmgcAAAAAAYTK1PssQg8AAAAAA9P3UPGrelcAAAAAA4liXPmrelcAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAABAAIAAAACAAMAAwACAAQABQAGAAcABQAHAAgABAACAAYABAAGAAUACQAKAAsACQALAAwAAAANAAEADgAPABAADgAQABEAEQAQABIAEQASABMAFAAVAAoAFAAKAAkADAALAA0ADAANAAAAFgAXAA8AFgAPAA4AGAAZABcAGAAXABYAGgAZABgAGgAbABkAEwASABUAEwAVABQA"
234
+ } ],
235
+ bufferViews: [ {
236
+ name: "bufferView_0",
237
+ buffer: 0,
238
+ byteLength: 336,
239
+ byteOffset: 0,
240
+ byteStride: 12,
241
+ target: 34962
242
+ }, {
243
+ name: "bufferView_1",
244
+ buffer: 0,
245
+ byteLength: 336,
246
+ byteOffset: 336,
247
+ byteStride: 12,
248
+ target: 34962
249
+ }, {
250
+ name: "bufferView_2",
251
+ buffer: 0,
252
+ byteLength: 156,
253
+ byteOffset: 672,
254
+ target: 34963
255
+ } ],
256
+ materials: [ {
257
+ name: "SVGMat",
258
+ pbrMetallicRoughness: {
259
+ baseColorFactor: [ .588, .588, .588, 1 ],
260
+ metallicFactor: 0,
261
+ roughnessFactor: .99
262
+ },
263
+ emissiveFactor: [ 0, 0, 0 ],
264
+ alphaMode: "OPAQUE",
265
+ doubleSided: !1
266
+ } ],
267
+ meshes: [ {
268
+ name: "����СȦ_1",
269
+ primitives: [ {
270
+ attributes: {
271
+ POSITION: 0,
272
+ NORMAL: 1
273
+ },
274
+ indices: 2,
275
+ material: 0,
276
+ mode: 4
277
+ } ]
278
+ } ],
279
+ nodes: [ {
280
+ name: "����СȦ",
281
+ mesh: 0
282
+ } ],
283
+ scene: 0,
284
+ scenes: [ {
285
+ nodes: [ 0 ]
286
+ } ]
287
+ },
288
+ yuanpan: {
289
+ accessors: [ {
290
+ name: "Circle001_1_0_positions",
291
+ componentType: 5126,
292
+ count: 28,
293
+ min: [ -1.9510999917984009, 0, -1.9510999917984009 ],
294
+ max: [ 1.9510999917984009, 0, 1.9510999917984009 ],
295
+ type: "VEC3",
296
+ bufferView: 0,
297
+ byteOffset: 0
298
+ }, {
299
+ name: "Circle001_1_0_normals",
300
+ componentType: 5126,
301
+ count: 28,
302
+ min: [ 0, 1, 0 ],
303
+ max: [ 0, 1, 0 ],
304
+ type: "VEC3",
305
+ bufferView: 1,
306
+ byteOffset: 0
307
+ }, {
308
+ name: "Circle001_1_0_indices",
309
+ componentType: 5123,
310
+ count: 78,
311
+ min: [ 0 ],
312
+ max: [ 27 ],
313
+ type: "SCALAR",
314
+ bufferView: 2,
315
+ byteOffset: 0
316
+ } ],
317
+ asset: {
318
+ generator: "obj2gltf",
319
+ version: "2.0"
320
+ },
321
+ buffers: [ {
322
+ name: "yuanpan",
323
+ byteLength: 828,
324
+ uri: "data:application/octet-stream;base64,S+rkvgAAAADRIvM/AAAAAAAAAAClvfk/S+rkPgAAAADRIvM/0SLzvwAAAABL6uQ+MlXgvwAAAACsi1s/c9fCvwAAAACvJZw/pb35vwAAAAAAAAAA0SLzvwAAAABL6uS+MlXgvwAAAACsi1u/c9fCvwAAAACvJZy/ryWcvwAAAABz18K/rItbvwAAAAAyVeC/S+rkvgAAAADRIvO/AAAAgAAAAAClvfm/S+rkPgAAAADRIvO/rItbPwAAAAAyVeC/ryWcPwAAAABz18K/c9fCPwAAAACvJZy/MlXgPwAAAACsi1u/0SLzPwAAAABL6uS+pb35PwAAAAAAAACA0SLzPwAAAABL6uQ+MlXgPwAAAACsi1s/c9fCPwAAAACvJZw/ryWcvwAAAABz18I/ryWcPwAAAABz18I/rItbvwAAAAAyVeA/rItbPwAAAAAyVeA/AAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAABAAIAAwAEAAUABgADAAUABwAGAAUACAAHAAUACQAIAAUACgAJAAUACwAKAAUADAALAAUADQAMAAUADgANAAUADwAOAAUAEAAPAAUAEQAQAAUAEgARAAUAEwASAAUAFAATAAUAFQAUAAUAFgAVAAUAFwAWAAUAFwAFABgAGQAXABgAGQAYABoAGwAZABoAAgAbABoAAAACABoA"
325
+ } ],
326
+ bufferViews: [ {
327
+ name: "bufferView_0",
328
+ buffer: 0,
329
+ byteLength: 336,
330
+ byteOffset: 0,
331
+ byteStride: 12,
332
+ target: 34962
333
+ }, {
334
+ name: "bufferView_1",
335
+ buffer: 0,
336
+ byteLength: 336,
337
+ byteOffset: 336,
338
+ byteStride: 12,
339
+ target: 34962
340
+ }, {
341
+ name: "bufferView_2",
342
+ buffer: 0,
343
+ byteLength: 156,
344
+ byteOffset: 672,
345
+ target: 34963
346
+ } ],
347
+ materials: [ {
348
+ name: "wire_008110135",
349
+ pbrMetallicRoughness: {
350
+ baseColorFactor: [ .0314, .4314, .5294, 1 ],
351
+ metallicFactor: 0,
352
+ roughnessFactor: .968
353
+ },
354
+ emissiveFactor: [ 0, 0, 0 ],
355
+ alphaMode: "OPAQUE",
356
+ doubleSided: !1
357
+ } ],
358
+ meshes: [ {
359
+ name: "Circle001_1",
360
+ primitives: [ {
361
+ attributes: {
362
+ POSITION: 0,
363
+ NORMAL: 1
364
+ },
365
+ indices: 2,
366
+ material: 0,
367
+ mode: 4
368
+ } ]
369
+ } ],
370
+ nodes: [ {
371
+ name: "Circle001",
372
+ mesh: 0
373
+ } ],
374
+ scene: 0,
375
+ scenes: [ {
376
+ nodes: [ 0 ]
377
+ } ]
378
+ },
379
+ zzhou: {
380
+ accessors: [ {
381
+ name: "Cube.001-Mesh_0_positions",
382
+ componentType: 5126,
383
+ count: 45,
384
+ min: [ -.2711470127105713, -5.473427772521973, -.2711470127105713 ],
385
+ max: [ .2711470127105713, .46298399567604065, .2711470127105713 ],
386
+ type: "VEC3",
387
+ bufferView: 0,
388
+ byteOffset: 0
389
+ }, {
390
+ name: "Cube.001-Mesh_0_normals",
391
+ componentType: 5126,
392
+ count: 45,
393
+ min: [ -1, -1, -1 ],
394
+ max: [ 1, 1, 1 ],
395
+ type: "VEC3",
396
+ bufferView: 1,
397
+ byteOffset: 0
398
+ }, {
399
+ name: "Cube.001-Mesh_0_texcoords",
400
+ componentType: 5126,
401
+ count: 45,
402
+ min: [ .125, 0 ],
403
+ max: [ .875, 1 ],
404
+ type: "VEC2",
405
+ bufferView: 2,
406
+ byteOffset: 0
407
+ }, {
408
+ name: "Cube.001-Mesh_0_indices",
409
+ componentType: 5123,
410
+ count: 72,
411
+ min: [ 0 ],
412
+ max: [ 44 ],
413
+ type: "SCALAR",
414
+ bufferView: 3,
415
+ byteOffset: 0
416
+ } ],
417
+ asset: {
418
+ generator: "obj2gltf",
419
+ version: "2.0"
420
+ },
421
+ buffers: [ {
422
+ name: "Z",
423
+ byteLength: 1584,
424
+ uri: "data:application/octet-stream;base64,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"
425
+ } ],
426
+ bufferViews: [ {
427
+ name: "bufferView_0",
428
+ buffer: 0,
429
+ byteLength: 540,
430
+ byteOffset: 0,
431
+ byteStride: 12,
432
+ target: 34962
433
+ }, {
434
+ name: "bufferView_1",
435
+ buffer: 0,
436
+ byteLength: 540,
437
+ byteOffset: 540,
438
+ byteStride: 12,
439
+ target: 34962
440
+ }, {
441
+ name: "bufferView_2",
442
+ buffer: 0,
443
+ byteLength: 360,
444
+ byteOffset: 1080,
445
+ byteStride: 8,
446
+ target: 34962
447
+ }, {
448
+ name: "bufferView_3",
449
+ buffer: 0,
450
+ byteLength: 144,
451
+ byteOffset: 1440,
452
+ target: 34963
453
+ } ],
454
+ materials: [ {
455
+ name: "Material.001",
456
+ pbrMetallicRoughness: {
457
+ baseColorFactor: [ .8, .8, .8, 1 ],
458
+ metallicFactor: 0,
459
+ roughnessFactor: .676000006
460
+ },
461
+ emissiveFactor: [ 0, 0, 0 ],
462
+ alphaMode: "OPAQUE",
463
+ doubleSided: !1
464
+ } ],
465
+ meshes: [ {
466
+ name: "Cube.001-Mesh",
467
+ primitives: [ {
468
+ attributes: {
469
+ POSITION: 0,
470
+ NORMAL: 1,
471
+ TEXCOORD_0: 2
472
+ },
473
+ indices: 3,
474
+ material: 0,
475
+ mode: 4
476
+ } ]
477
+ } ],
478
+ nodes: [ {
479
+ name: "Cube.001",
480
+ mesh: 0
481
+ } ],
482
+ scene: 0,
483
+ scenes: [ {
484
+ nodes: [ 0 ]
485
+ } ]
486
+ },
487
+ jiantou: {
488
+ accessors: [ {
489
+ name: "��ͷ_1_0_positions",
490
+ componentType: 5126,
491
+ count: 7,
492
+ min: [ -.47690001130104065, -.8044000267982483, 0 ],
493
+ max: [ .47780001163482666, 0, 0 ],
494
+ type: "VEC3",
495
+ bufferView: 0,
496
+ byteOffset: 0
497
+ }, {
498
+ name: "��ͷ_1_0_normals",
499
+ componentType: 5126,
500
+ count: 7,
501
+ min: [ 0, 0, 1 ],
502
+ max: [ 0, 0, 1 ],
503
+ type: "VEC3",
504
+ bufferView: 1,
505
+ byteOffset: 0
506
+ }, {
507
+ name: "��ͷ_1_0_indices",
508
+ componentType: 5123,
509
+ count: 15,
510
+ min: [ 0 ],
511
+ max: [ 6 ],
512
+ type: "SCALAR",
513
+ bufferView: 2,
514
+ byteOffset: 0
515
+ } ],
516
+ asset: {
517
+ generator: "obj2gltf",
518
+ version: "2.0"
519
+ },
520
+ buffers: [ {
521
+ name: "jiantou",
522
+ byteLength: 200,
523
+ uri: "data:application/octet-stream;base64,bxIDOintTb8AAAAAH/RsvsKGp74AAAAAPSz0vsKGp74AAAAANs17PsKGp74AAAAANKL0PsKGp74AAAAANs17PgAAAAAAAAAAH/RsvgAAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAABAAIAAAADAAEAAAAEAAMAAQAFAAYAAQADAAUAAAA="
524
+ } ],
525
+ bufferViews: [ {
526
+ name: "bufferView_0",
527
+ buffer: 0,
528
+ byteLength: 84,
529
+ byteOffset: 0,
530
+ byteStride: 12,
531
+ target: 34962
532
+ }, {
533
+ name: "bufferView_1",
534
+ buffer: 0,
535
+ byteLength: 84,
536
+ byteOffset: 84,
537
+ byteStride: 12,
538
+ target: 34962
539
+ }, {
540
+ name: "bufferView_2",
541
+ buffer: 0,
542
+ byteLength: 32,
543
+ byteOffset: 168,
544
+ target: 34963
545
+ } ],
546
+ materials: [ {
547
+ name: "SVGMat_003",
548
+ pbrMetallicRoughness: {
549
+ baseColorFactor: [ .588, .588, .588, 1 ],
550
+ metallicFactor: 0,
551
+ roughnessFactor: .99
552
+ },
553
+ emissiveFactor: [ 0, 0, 0 ],
554
+ alphaMode: "OPAQUE",
555
+ doubleSided: !1
556
+ } ],
557
+ meshes: [ {
558
+ name: "��ͷ_1",
559
+ primitives: [ {
560
+ attributes: {
561
+ POSITION: 0,
562
+ NORMAL: 1
563
+ },
564
+ indices: 2,
565
+ material: 0,
566
+ mode: 4
567
+ } ]
568
+ } ],
569
+ nodes: [ {
570
+ name: "��ͷ",
571
+ mesh: 0
572
+ } ],
573
+ scene: 0,
574
+ scenes: [ {
575
+ nodes: [ 0 ]
576
+ } ]
577
+ },
578
+ xuanzhuan: {
579
+ accessors: [ {
580
+ name: "��ת001_1_0_positions",
581
+ componentType: 5126,
582
+ count: 369,
583
+ min: [ -6.572299957275391, -7.298999786376953, 0 ],
584
+ max: [ 6.5742998123168945, 7.298299789428711, 0 ],
585
+ type: "VEC3",
586
+ bufferView: 0,
587
+ byteOffset: 0
588
+ }, {
589
+ name: "��ת001_1_0_normals",
590
+ componentType: 5126,
591
+ count: 369,
592
+ min: [ 0, -1, 0 ],
593
+ max: [ 0, 0, 1 ],
594
+ type: "VEC3",
595
+ bufferView: 1,
596
+ byteOffset: 0
597
+ }, {
598
+ name: "��ת001_1_0_indices",
599
+ componentType: 5123,
600
+ count: 1089,
601
+ min: [ 0 ],
602
+ max: [ 368 ],
603
+ type: "SCALAR",
604
+ bufferView: 2,
605
+ byteOffset: 0
606
+ } ],
607
+ asset: {
608
+ generator: "obj2gltf",
609
+ version: "2.0"
610
+ },
611
+ buffers: [ {
612
+ name: "旋转-新",
613
+ byteLength: 11036,
614
+ uri: "data:application/octet-stream;base64,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AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAABAAIAAwABAAAAAwAEAAEAAwAFAAQAAwAGAAUAAwAHAAYAAwAIAAcAAwAJAAgAAwAKAAkAAwALAAoAAwAMAAsADQAMAAMADQAOAAwADQAPAA4ADQAQAA8ADQARABAADQASABEADQATABIADQAUABMADQAVABQADQAWABUADQAXABYADQAYABcADQAZABgADQAaABkADQAbABoAHAAbAA0AHAAdABsAHAAeAB0AHAAfAB4AHAAgAB8AHAAhACAAHAAiACEAHAAjACIAHAAkACMAHAAlACQAHAAmACUAHAAnACYAHAAoACcAHAApACgAHAAqACkAHAArACoAHAAsACsAHAAtACwAHAAuAC0AHAAvAC4AHAAwAC8AHAAxADAAHAAyADEAHAAzADIAHAA0ADMAHAA1ADQAHAA2ADUAHAA3ADYAHAA4ADcAHAA5ADgAHAA6ADkAHAA7ADoAHAA8ADsAHAA9ADwAHAA+AD0AHAA/AD4AHABAAD8AQABBAD8AQQBCAD8AQgBDAD8AHABAAEQAHABEAEUAHABGAEUARgBHAEUARgBIAEcARgBJAEgARgBKAEkARgBLAEoARgBMAEsAHABNAEYAHABOAE0AHABPAE4AHABQAE8AHABRAFAAHABSAFEAUgBTAFEAUgBUAFMAUgBVAFQAUgBWAFUAUgBXAFYAUgBYAFcAHABZAFIAHABaAFkAHABbAFoAHABcAFsAHABdAFwAHABeAF0AHABfAF4AHABgAF8AHABhAGAAHABiAGEAHABjAGIAHABjAGQAZABlAGMAZQBmAGMAHABnAGQAaABpAGoAawBpAGgAbABpAGsAbQBpAGwAbgBpAG0AbwBpAG4AcABpAG8AcQBpAHAAcgBpAHEAcwBpAHIAdABnABwAdAB1AGcAdAB2AHUAdwB4AHkAdwB5AHoAegB5AHsAegB7AHwAfAB7AH0AfAB9AH4AfgB9AH8AfgB/AIAAgQCCAIMAgQCDAIQAhACDAIUAhACFAIYAhgCFAIcAhgCHAIgAiACHAIkAiACJAIoAiwCMAI0AiwCNAI4AjwCKAJAAigCJAJAAkQCSAJMAkQCTAJQAlACTAJUAlACVAJYAlgCVAJcAlgCXAJgAgAB/AIIAgACCAIEAmACXAJkAmACZAJoAmgCZAJsAmgCbAJwAnACbAJ0AnACdAJ4AngCdAHYAngB2AHQAnwB4AHcAoAB4AJ8AoAChAHgAogChAKAAowCkAKUAowCmAKQAowCnAKYAowCoAKcAowCpAKgAowCqAKkAowCrAKoAowCsAKsAowCtAKwAowCuAK0AowCvAK4AowCiAK8AowChAKIAsAChAKMAsQChALAAsgChALEAswChALIAtAChALMAtQChALQAtgChALUAtwChALYAuAChALcAuQChALgAugChALkAuwChALoAvAChALsAvQChALwAvgChAL0AvwChAL4AwAChAL8AwQChAMAAwgChAMEAwwChAMIAxAChAMMAxQChAMQAxgChAMUAxwChAMYAyAChAMcAyQChAMgAygChAMkAywChAMoAzAChAMsAzQChAMwAzgChAM0AzwChAM4A0AChAM8A0QChANAA0gChANEA0wChANIA1AChANMA1QChANQA1gChANUA1wChANYA2AChANcA2QChANgA2gChANkA2wChANoA3AChANsA3QChANwA3gChAN0A3wChAN4A4AChAN8A4QChAOAA4gChAOEA4wChAOIA5AChAOMA5QChAOQA5gChAOUA5wChAOYA6AChAOcA6QChAOgA6gChAOkA6wChAOoA7AChAOsA7QChAOwA7gChAO0A7wChAO4A8AChAO8A8QChAO8A8gChAPEA8wChAPIA9AChAPMA9QChAPQA9gChAPUA9gD3AKEA+AD3APYA+QD3APgA+gD3APkA+wD3APoA/AD3APsA/QD3APwA/gD3AP0A/wD3AP4AAAH3AP8AAQH3AAABAgH3AAEBAwH3AAIBBAH3AAMBBQH3AAQBBgH3AAUBBgEHAfcACAEHAQYBCQEHAQgBCgEHAQkBCwEHAQoBDAEHAQsBDQEHAQwBDgEHAQ0BDwEHAQ4BEAEHAQ8BEQESARMBFAESAREBFAEVARIBFgEVARQBFgEXARUBGAEXARYBGAEZARcBGgEbARgBGwEcARgBHAEZARgBHAEdARkBHQEeARkBHwEeAR0BGgEgARsBIQEeAR8BGgEiASABIwEiARoBIQEkAR4BJQEkASEBIwEmASIBJwEkASUBIwEoASYBKQEoASMBJwEqASQBKwEqAScBKQEsASgBLQEsASkBKwEuASoBLwEuASsBLQEwASwBMQEuAS8BLQEyATABjgCNADMBjgAzATQBNQE2ATcBNQE3ATgBOAE3ATkBOAE5AToBOwE8AT0BOwE9AT4BPwFAAUEBPwFBAUIBPgE9AUMBPgFDAUQBRQFGAUABRQFAAT8BRwFIAZIARwGSAJEASQFKAUYBSQFGAUUBRAFDAUsBRAFLAUwBOgE5AUoBOgFKAUkBTAFLAU0BTAFNAU4BTgFNAU8BTgFPAVABQgFBAVEBQgFRAVIBUgFRAS4BUgEuATEBNAEzATwBNAE8ATsBUwFUATYBUwE2ATUBUAFPATIBUAEyAS0BiwBVAYwAVgFUAVMBiwBXAVUBWAFUAVYBWAFZAVQBWgFXAYsAWgFbAVcBXAFZAVgBXAFdAVkBXgFbAVoBXgFfAVsBYAFdAVwBXgFhAV8BYgFdAWABYgFjAV0BZAFhAV4BZAFlAWEBZgFjAWIBZAFnAWUBZwFjAWYBZAFjAWcBZAFoAWMBaQFoAWQBaQFqAWgBawFqAWkBawFsAWoBbQFsAWsBbQFuAWwBbwFwAUgBbwFIAUcBAAA="
615
+ } ],
616
+ bufferViews: [ {
617
+ name: "bufferView_0",
618
+ buffer: 0,
619
+ byteLength: 4428,
620
+ byteOffset: 0,
621
+ byteStride: 12,
622
+ target: 34962
623
+ }, {
624
+ name: "bufferView_1",
625
+ buffer: 0,
626
+ byteLength: 4428,
627
+ byteOffset: 4428,
628
+ byteStride: 12,
629
+ target: 34962
630
+ }, {
631
+ name: "bufferView_2",
632
+ buffer: 0,
633
+ byteLength: 2180,
634
+ byteOffset: 8856,
635
+ target: 34963
636
+ } ],
637
+ materials: [ {
638
+ name: "SVGMat",
639
+ pbrMetallicRoughness: {
640
+ baseColorFactor: [ .5, .5, .5, 1 ],
641
+ metallicFactor: 0,
642
+ roughnessFactor: 1
643
+ },
644
+ emissiveFactor: [ 0, 0, 0 ],
645
+ alphaMode: "OPAQUE",
646
+ doubleSided: !1
647
+ } ],
648
+ meshes: [ {
649
+ name: "��ת001_1",
650
+ primitives: [ {
651
+ attributes: {
652
+ POSITION: 0,
653
+ NORMAL: 1
654
+ },
655
+ indices: 2,
656
+ material: 0,
657
+ mode: 4
658
+ } ]
659
+ } ],
660
+ nodes: [ {
661
+ name: "��ת001",
662
+ mesh: 0
663
+ } ],
664
+ scene: 0,
665
+ scenes: [ {
666
+ nodes: [ 0 ]
667
+ } ]
668
+ },
669
+ plane: {
670
+ accessors: [ {
671
+ name: "Rectangle001_1_0_positions",
672
+ componentType: 5126,
673
+ count: 4,
674
+ min: [ -5, -5, 0 ],
675
+ max: [ 5, 5, 0 ],
676
+ type: "VEC3",
677
+ bufferView: 0,
678
+ byteOffset: 0
679
+ }, {
680
+ name: "Rectangle001_1_0_normals",
681
+ componentType: 5126,
682
+ count: 4,
683
+ min: [ 0, 0, 1 ],
684
+ max: [ 0, 0, 1 ],
685
+ type: "VEC3",
686
+ bufferView: 1,
687
+ byteOffset: 0
688
+ }, {
689
+ name: "Rectangle001_1_0_indices",
690
+ componentType: 5123,
691
+ count: 6,
692
+ min: [ 0 ],
693
+ max: [ 3 ],
694
+ type: "SCALAR",
695
+ bufferView: 2,
696
+ byteOffset: 0
697
+ } ],
698
+ asset: {
699
+ generator: "obj2gltf",
700
+ version: "2.0"
701
+ },
702
+ buffers: [ {
703
+ name: "plane",
704
+ byteLength: 108,
705
+ uri: "data:application/octet-stream;base64,AACgQAAAoEAAAAAAAACgwAAAoEAAAAAAAACgwAAAoMAAAAAAAACgQAAAoMAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAABAAIAAgADAAAA"
706
+ } ],
707
+ bufferViews: [ {
708
+ name: "bufferView_0",
709
+ buffer: 0,
710
+ byteLength: 48,
711
+ byteOffset: 0,
712
+ byteStride: 12,
713
+ target: 34962
714
+ }, {
715
+ name: "bufferView_1",
716
+ buffer: 0,
717
+ byteLength: 48,
718
+ byteOffset: 48,
719
+ byteStride: 12,
720
+ target: 34962
721
+ }, {
722
+ name: "bufferView_2",
723
+ buffer: 0,
724
+ byteLength: 12,
725
+ byteOffset: 96,
726
+ target: 34963
727
+ } ],
728
+ materials: [ {
729
+ name: "wire_225198087",
730
+ pbrMetallicRoughness: {
731
+ baseColorFactor: [ .8824, .7765, .3412, 1 ],
732
+ metallicFactor: 0,
733
+ roughnessFactor: .968
734
+ },
735
+ emissiveFactor: [ 0, 0, 0 ],
736
+ alphaMode: "OPAQUE",
737
+ doubleSided: !1
738
+ } ],
739
+ meshes: [ {
740
+ name: "Rectangle001_1",
741
+ primitives: [ {
742
+ attributes: {
743
+ POSITION: 0,
744
+ NORMAL: 1
745
+ },
746
+ indices: 2,
747
+ material: 0,
748
+ mode: 4
749
+ } ]
750
+ } ],
751
+ nodes: [ {
752
+ name: "Rectangle001",
753
+ mesh: 0
754
+ } ],
755
+ scene: 0,
756
+ scenes: [ {
757
+ nodes: [ 0 ]
758
+ } ]
759
+ },
760
+ xyzScale: {
761
+ asset: {
762
+ generator: "Khronos glTF Blender I/O v1.6.16",
763
+ version: "2.0"
764
+ },
765
+ scene: 0,
766
+ scenes: [ {
767
+ name: "Scene",
768
+ nodes: [ 0, 1, 2, 3, 4, 5, 6 ]
769
+ } ],
770
+ nodes: [ {
771
+ mesh: 0,
772
+ name: "Cube",
773
+ scale: [ .7008190751075745, .014999999664723873, .014999999664723873 ]
774
+ }, {
775
+ mesh: 1,
776
+ name: "Cube.001",
777
+ scale: [ .10000000149011612, .10000000149011612, .10000000149011612 ]
778
+ }, {
779
+ mesh: 2,
780
+ name: "Cube.004",
781
+ rotation: [ 0, -.7071068286895752, 0, .7071068286895752 ],
782
+ scale: [ .7008190751075745, .014999999664723873, .014999999664723873 ]
783
+ }, {
784
+ mesh: 3,
785
+ name: "Cube.003",
786
+ rotation: [ 0, -.7071068286895752, 0, .7071068286895752 ],
787
+ scale: [ .10000000149011612, .10000000149011612, .10000000149011612 ]
788
+ }, {
789
+ mesh: 4,
790
+ name: "Cube.006",
791
+ rotation: [ 0, 0, .7071068286895752, .7071068286895752 ],
792
+ scale: [ .7008190751075745, .014999999664723873, .014999999664723873 ]
793
+ }, {
794
+ mesh: 5,
795
+ name: "Cube.005",
796
+ rotation: [ 0, 0, .7071068286895752, .7071068286895752 ],
797
+ scale: [ .10000000149011612, .10000000149011612, .10000000149011612 ]
798
+ }, {
799
+ mesh: 6,
800
+ name: "Cube.002",
801
+ scale: [ .10000000149011612, .10000000149011612, .10000000149011612 ]
802
+ } ],
803
+ materials: [ {
804
+ doubleSided: !0,
805
+ name: "Material",
806
+ pbrMetallicRoughness: {
807
+ baseColorFactor: [ .6938720345497131, .020288480445742607, .011612260714173317, 1 ],
808
+ metallicFactor: 0,
809
+ roughnessFactor: .4000000059604645
810
+ }
811
+ }, {
812
+ doubleSided: !0,
813
+ name: "Material.001",
814
+ pbrMetallicRoughness: {
815
+ baseColorFactor: [ .6938720345497131, .020288480445742607, .011612260714173317, 1 ],
816
+ metallicFactor: 0,
817
+ roughnessFactor: .4000000059604645
818
+ }
819
+ }, {
820
+ doubleSided: !0,
821
+ name: "Material.002",
822
+ pbrMetallicRoughness: {
823
+ baseColorFactor: [ .626582869887352, .626582869887352, .626582869887352, 1 ],
824
+ metallicFactor: 0,
825
+ roughnessFactor: .4000000059604645
826
+ }
827
+ }, {
828
+ doubleSided: !0,
829
+ name: "Material.006",
830
+ pbrMetallicRoughness: {
831
+ baseColorFactor: [ .11193240433931351, .5583405494689941, .033104799687862396, 1 ],
832
+ metallicFactor: 0,
833
+ roughnessFactor: .4000000059604645
834
+ }
835
+ }, {
836
+ doubleSided: !0,
837
+ name: "Material.005",
838
+ pbrMetallicRoughness: {
839
+ baseColorFactor: [ .11193240433931351, .5583405494689941, .033104799687862396, 1 ],
840
+ metallicFactor: 0,
841
+ roughnessFactor: .4000000059604645
842
+ }
843
+ }, {
844
+ doubleSided: !0,
845
+ name: "Material.010",
846
+ pbrMetallicRoughness: {
847
+ baseColorFactor: [ .004391402006149292, .21223078668117523, .5209956169128418, 1 ],
848
+ metallicFactor: 0,
849
+ roughnessFactor: .4000000059604645
850
+ }
851
+ }, {
852
+ doubleSided: !0,
853
+ name: "Material.009",
854
+ pbrMetallicRoughness: {
855
+ baseColorFactor: [ .004391402006149292, .21223078668117523, .5209956169128418, 1 ],
856
+ metallicFactor: 0,
857
+ roughnessFactor: .4000000059604645
858
+ }
859
+ } ],
860
+ meshes: [ {
861
+ name: "Cube",
862
+ primitives: [ {
863
+ attributes: {
864
+ POSITION: 0,
865
+ NORMAL: 1,
866
+ TEXCOORD_0: 2
867
+ },
868
+ indices: 3,
869
+ material: 0
870
+ } ]
871
+ }, {
872
+ name: "Cube.001",
873
+ primitives: [ {
874
+ attributes: {
875
+ POSITION: 4,
876
+ NORMAL: 5,
877
+ TEXCOORD_0: 6
878
+ },
879
+ indices: 3,
880
+ material: 1
881
+ } ]
882
+ }, {
883
+ name: "Cube.006",
884
+ primitives: [ {
885
+ attributes: {
886
+ POSITION: 10,
887
+ NORMAL: 11,
888
+ TEXCOORD_0: 12
889
+ },
890
+ indices: 3,
891
+ material: 3
892
+ } ]
893
+ }, {
894
+ name: "Cube.005",
895
+ primitives: [ {
896
+ attributes: {
897
+ POSITION: 13,
898
+ NORMAL: 14,
899
+ TEXCOORD_0: 15
900
+ },
901
+ indices: 3,
902
+ material: 4
903
+ } ]
904
+ }, {
905
+ name: "Cube.010",
906
+ primitives: [ {
907
+ attributes: {
908
+ POSITION: 16,
909
+ NORMAL: 17,
910
+ TEXCOORD_0: 18
911
+ },
912
+ indices: 3,
913
+ material: 5
914
+ } ]
915
+ }, {
916
+ name: "Cube.009",
917
+ primitives: [ {
918
+ attributes: {
919
+ POSITION: 19,
920
+ NORMAL: 20,
921
+ TEXCOORD_0: 21
922
+ },
923
+ indices: 3,
924
+ material: 6
925
+ } ]
926
+ }, {
927
+ name: "Cube.002",
928
+ primitives: [ {
929
+ attributes: {
930
+ POSITION: 7,
931
+ NORMAL: 8,
932
+ TEXCOORD_0: 9
933
+ },
934
+ indices: 3,
935
+ material: 2
936
+ } ]
937
+ } ],
938
+ accessors: [ {
939
+ bufferView: 0,
940
+ componentType: 5126,
941
+ count: 24,
942
+ max: [ 2.0003609657287598, 1, 1 ],
943
+ min: [ .0003610849380493164, -1, -1 ],
944
+ type: "VEC3"
945
+ }, {
946
+ bufferView: 1,
947
+ componentType: 5126,
948
+ count: 24,
949
+ type: "VEC3"
950
+ }, {
951
+ bufferView: 2,
952
+ componentType: 5126,
953
+ count: 24,
954
+ type: "VEC2"
955
+ }, {
956
+ bufferView: 3,
957
+ componentType: 5123,
958
+ count: 36,
959
+ type: "SCALAR"
960
+ }, {
961
+ bufferView: 4,
962
+ componentType: 5126,
963
+ count: 24,
964
+ max: [ 14.549108505249023, 1, 1 ],
965
+ min: [ 12.549108505249023, -1, -1 ],
966
+ type: "VEC3"
967
+ }, {
968
+ bufferView: 5,
969
+ componentType: 5126,
970
+ count: 24,
971
+ type: "VEC3"
972
+ }, {
973
+ bufferView: 6,
974
+ componentType: 5126,
975
+ count: 24,
976
+ type: "VEC2"
977
+ }, {
978
+ bufferView: 7,
979
+ componentType: 5126,
980
+ count: 24,
981
+ max: [ 1, 1, 1 ],
982
+ min: [ -1, -1, -1 ],
983
+ type: "VEC3"
984
+ }, {
985
+ bufferView: 8,
986
+ componentType: 5126,
987
+ count: 24,
988
+ type: "VEC3"
989
+ }, {
990
+ bufferView: 9,
991
+ componentType: 5126,
992
+ count: 24,
993
+ type: "VEC2"
994
+ }, {
995
+ bufferView: 10,
996
+ componentType: 5126,
997
+ count: 24,
998
+ max: [ 2.0003609657287598, 1, 1 ],
999
+ min: [ .0003610849380493164, -1, -1 ],
1000
+ type: "VEC3"
1001
+ }, {
1002
+ bufferView: 11,
1003
+ componentType: 5126,
1004
+ count: 24,
1005
+ type: "VEC3"
1006
+ }, {
1007
+ bufferView: 12,
1008
+ componentType: 5126,
1009
+ count: 24,
1010
+ type: "VEC2"
1011
+ }, {
1012
+ bufferView: 13,
1013
+ componentType: 5126,
1014
+ count: 24,
1015
+ max: [ 14.549108505249023, 1, 1 ],
1016
+ min: [ 12.549108505249023, -1, -1 ],
1017
+ type: "VEC3"
1018
+ }, {
1019
+ bufferView: 14,
1020
+ componentType: 5126,
1021
+ count: 24,
1022
+ type: "VEC3"
1023
+ }, {
1024
+ bufferView: 15,
1025
+ componentType: 5126,
1026
+ count: 24,
1027
+ type: "VEC2"
1028
+ }, {
1029
+ bufferView: 16,
1030
+ componentType: 5126,
1031
+ count: 24,
1032
+ max: [ 2.0003609657287598, 1, 1 ],
1033
+ min: [ .0003610849380493164, -1, -1 ],
1034
+ type: "VEC3"
1035
+ }, {
1036
+ bufferView: 17,
1037
+ componentType: 5126,
1038
+ count: 24,
1039
+ type: "VEC3"
1040
+ }, {
1041
+ bufferView: 18,
1042
+ componentType: 5126,
1043
+ count: 24,
1044
+ type: "VEC2"
1045
+ }, {
1046
+ bufferView: 19,
1047
+ componentType: 5126,
1048
+ count: 24,
1049
+ max: [ 14.549108505249023, 1, 1 ],
1050
+ min: [ 12.549108505249023, -1, -1 ],
1051
+ type: "VEC3"
1052
+ }, {
1053
+ bufferView: 20,
1054
+ componentType: 5126,
1055
+ count: 24,
1056
+ type: "VEC3"
1057
+ }, {
1058
+ bufferView: 21,
1059
+ componentType: 5126,
1060
+ count: 24,
1061
+ type: "VEC2"
1062
+ } ],
1063
+ bufferViews: [ {
1064
+ buffer: 0,
1065
+ byteLength: 288,
1066
+ byteOffset: 0
1067
+ }, {
1068
+ buffer: 0,
1069
+ byteLength: 288,
1070
+ byteOffset: 288
1071
+ }, {
1072
+ buffer: 0,
1073
+ byteLength: 192,
1074
+ byteOffset: 576
1075
+ }, {
1076
+ buffer: 0,
1077
+ byteLength: 72,
1078
+ byteOffset: 768
1079
+ }, {
1080
+ buffer: 0,
1081
+ byteLength: 288,
1082
+ byteOffset: 840
1083
+ }, {
1084
+ buffer: 0,
1085
+ byteLength: 288,
1086
+ byteOffset: 1128
1087
+ }, {
1088
+ buffer: 0,
1089
+ byteLength: 192,
1090
+ byteOffset: 1416
1091
+ }, {
1092
+ buffer: 0,
1093
+ byteLength: 288,
1094
+ byteOffset: 1608
1095
+ }, {
1096
+ buffer: 0,
1097
+ byteLength: 288,
1098
+ byteOffset: 1896
1099
+ }, {
1100
+ buffer: 0,
1101
+ byteLength: 192,
1102
+ byteOffset: 2184
1103
+ }, {
1104
+ buffer: 0,
1105
+ byteLength: 288,
1106
+ byteOffset: 2376
1107
+ }, {
1108
+ buffer: 0,
1109
+ byteLength: 288,
1110
+ byteOffset: 2664
1111
+ }, {
1112
+ buffer: 0,
1113
+ byteLength: 192,
1114
+ byteOffset: 2952
1115
+ }, {
1116
+ buffer: 0,
1117
+ byteLength: 288,
1118
+ byteOffset: 3144
1119
+ }, {
1120
+ buffer: 0,
1121
+ byteLength: 288,
1122
+ byteOffset: 3432
1123
+ }, {
1124
+ buffer: 0,
1125
+ byteLength: 192,
1126
+ byteOffset: 3720
1127
+ }, {
1128
+ buffer: 0,
1129
+ byteLength: 288,
1130
+ byteOffset: 3912
1131
+ }, {
1132
+ buffer: 0,
1133
+ byteLength: 288,
1134
+ byteOffset: 4200
1135
+ }, {
1136
+ buffer: 0,
1137
+ byteLength: 192,
1138
+ byteOffset: 4488
1139
+ }, {
1140
+ buffer: 0,
1141
+ byteLength: 288,
1142
+ byteOffset: 4680
1143
+ }, {
1144
+ buffer: 0,
1145
+ byteLength: 288,
1146
+ byteOffset: 4968
1147
+ }, {
1148
+ buffer: 0,
1149
+ byteLength: 192,
1150
+ byteOffset: 5256
1151
+ } ],
1152
+ buffers: [ {
1153
+ byteLength: 5448,
1154
+ uri: "data:application/octet-stream;base64,6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAAAQAOABQAAQAUAAcACgAGABMACgATABcAFQASAAwAFQAMAA8AEAADAAkAEAAJABYABQACAAgABQAIAAsAEQANAAAAEQAAAAQAJsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAAAACAPwAAgD8AAIC/AACAPwAAgD8AAIC/AACAPwAAgD8AAIC/AACAPwAAgL8AAIC/AACAPwAAgL8AAIC/AACAPwAAgL8AAIC/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgL8AAIA/AACAPwAAgL8AAIA/AACAPwAAgL8AAIA/AACAvwAAgD8AAIC/AACAvwAAgD8AAIC/AACAvwAAgD8AAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgD8AAIA/AACAvwAAgD8AAIA/AACAvwAAgD8AAIA/AACAvwAAgL8AAIA/AACAvwAAgL8AAIA/AACAvwAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAA6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAAJsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAA6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAAJsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAA"
1155
+ } ]
1156
+ }
1157
+ }, f = function() {
1158
+ if ("undefined" != typeof globalThis) return globalThis;
1159
+ if ("undefined" != typeof self) return self;
1160
+ if ("undefined" != typeof window) return window;
1161
+ if ("undefined" != typeof global) return global;
1162
+ throw new Error("unable to locate global object");
1163
+ }, l = f(), P = l.gl_trans__coders = l.gl_trans__coders || {};
1164
+
1165
+ P.inject = function(A) {
1166
+ const e = A.toString(), t = e.indexOf("{") + 1, s = e.substring(0, t), i = l.gl_trans__coders = l.gl_trans__coders || {};
1167
+ let n = `${s}\n const _____getGlobal = ${f.toString()};\n const g___lobals = _____getGlobal()\n const tran_____scoders = g___lobals['gl_trans__coders'] = g___lobals['gl_trans__coders'] || {};`;
1168
+ for (const A in i) "inject" !== A && "getTranscoder" !== A && "registerTranscoder" !== A && (n += 'tran_____scoders["' + A + '"] =' + i[A].toString() + "\n;");
1169
+ return n += "\n(" + f().maptalks_gltf_loader_bundle.toString() + ")({});\n", n += "\n" + e.substring(s.length),
1170
+ n;
1171
+ }, P.registerTranscoder = function(A, e) {
1172
+ P[A] = e;
1173
+ }, P.getTranscoder = function(A) {
1174
+ return P[A];
1175
+ };
1176
+
1177
+ const D = f().maptalks_gltf_loader;
1178
+
1179
+ function u(s, i, n, o, I, g) {
1180
+ const r = [], a = A.fromEuler([], n[0], n[1], n[2]), C = e.fromRotationTranslationScale([], a, i, o), h = function(A) {
1181
+ return new D.GLTFLoader("", JSON.parse(JSON.stringify(Q[A]))).load().then((A => A));
1182
+ }(s);
1183
+ return h.then((A => {
1184
+ t.GLTFHelper.exportGLTFPack(A).getMeshesInfo().forEach(((A, s) => {
1185
+ const a = new t.Material({
1186
+ color: I || A.materialInfo.baseColorFactor
1187
+ }), h = new t.Mesh(A.geometry, a);
1188
+ h.setUniform("uPickingId", g + s);
1189
+ const w = h.getDefines();
1190
+ w.HAS_PICKING_ID = 2, h.setDefines(w), h.translate = i, h.rotation = n, h.scaling = o,
1191
+ e.multiply(h.localTransform, C, A.nodeMatrix), h.originTransform = e.copy([], h.localTransform),
1192
+ h.originColor = I || A.materialInfo.baseColorFactor, r.push(h);
1193
+ })), g > 100 && (r[0].properties.relatedMeshes = r.slice(1, 2), r[1].properties.relatedMeshes = r.slice(0, 1),
1194
+ r[2].properties.relatedMeshes = r.slice(3, 4), r[3].properties.relatedMeshes = r.slice(2, 3),
1195
+ r[4].properties.relatedMeshes = r.slice(5, 6), r[5].properties.relatedMeshes = r.slice(4, 5),
1196
+ r[6].properties.relatedMeshes = r.slice(0, 6));
1197
+ })), r;
1198
+ }
1199
+
1200
+ function m(A, e) {
1201
+ return Math.abs(A) * Math.sign(e);
1202
+ }
1203
+
1204
+ function b(A, e) {
1205
+ const t = A.getCoordinates(), i = e.coordinateToPointAtRes(t, e.getGLRes()), n = [ i.x, i.y, 0 ], I = B(e, A.getTranslation());
1206
+ s.add(n, n, I);
1207
+ const g = function(A, e, t, s) {
1208
+ return A._pointAtResToContainerPoint(e, t, s);
1209
+ }(e, new o.Point(n[0], n[1]), e.getGLRes());
1210
+ g.x += 85;
1211
+ const r = function(A, e, t, s) {
1212
+ {
1213
+ const s = A.containerPointToCoordinate(e);
1214
+ return A.coordinateToPointAtRes(s, t);
1215
+ }
1216
+ }(e, g, e.getGLRes());
1217
+ return Math.sqrt(Math.pow(r.x - n[0], 2) + Math.pow(r.y - n[1], 2)) / 5.272881136101205;
1218
+ }
1219
+
1220
+ function B(A, e) {
1221
+ if (!A) return e;
1222
+ const t = A.distanceToPointAtRes(e[0], e[1], A.getGLRes()), i = A.altitudeToPoint(e[2], A.getGLRes());
1223
+ return s.set([], m(t.x, e[0]), m(t.y, e[1]), m(i, e[2]));
1224
+ }
1225
+
1226
+ class y {
1227
+ constructor(A) {
1228
+ this.A = A, this._meshes = this.t();
1229
+ }
1230
+ setCoordinate(A) {
1231
+ this.A = A;
1232
+ }
1233
+ t() {
1234
+ const A = [], e = 340 / 177, t = u("jiantou", [ 1.2 * e, 0, 0 ], [ 0, 0, 90 ], [ e, e, e ], [ 89 / 255, 206 / 255, 147 / 255, 0 ], 7), s = u("jiantou", [ 0, 1.2 * e, 0 ], [ 0, 0, 180 ], [ e, e, e ], [ 89 / 255, 206 / 255, 147 / 255, 0 ], 8), i = u("jiantou", [ -1.2 * e, 0, 0 ], [ 0, 0, 270 ], [ e, e, e ], [ 89 / 255, 206 / 255, 147 / 255, 0 ], 9), n = u("jiantou", [ 0, -1.2 * e, 0 ], [ 0, 0, 0 ], [ e, e, e ], [ 89 / 255, 206 / 255, 147 / 255, 0 ], 10);
1235
+ return A.push(t, s, i, n), A;
1236
+ }
1237
+ getMeshes() {
1238
+ return this._meshes;
1239
+ }
1240
+ }
1241
+
1242
+ class p {
1243
+ constructor(A) {
1244
+ this.A = A, this._meshes = this.t();
1245
+ }
1246
+ setCoordinate(A) {
1247
+ this.A = A;
1248
+ }
1249
+ t() {
1250
+ const A = [], e = 340 / 177, t = u("xuanzhuan", [ 0, 0, 0 ], [ 180, 0, 0 ], [ .5 * e, .5 * e, .5 * e ], [ 50 / 255, 130 / 255, 184 / 255, .8 ], 11);
1251
+ return A.push(t), A;
1252
+ }
1253
+ getMeshes() {
1254
+ return this._meshes;
1255
+ }
1256
+ }
1257
+
1258
+ class v {
1259
+ constructor(A) {
1260
+ this.A = A, this._meshes = this.t();
1261
+ }
1262
+ setCoordinate(A) {
1263
+ this.A = A;
1264
+ }
1265
+ t() {
1266
+ const A = [], e = 340 / 177, t = u("yuanhuan", [ 0, 0, 0 ], [ 0, 0, 0 ], [ .5 * e, .5 * e, .5 * e ], [ 149 / 255, 179 / 255, 199 / 255, .5 ], 12);
1267
+ return A.push(t), A;
1268
+ }
1269
+ getMeshes() {
1270
+ return this._meshes;
1271
+ }
1272
+ }
1273
+
1274
+ class d {
1275
+ constructor(A) {
1276
+ this.A = A, this._meshes = this.t();
1277
+ }
1278
+ setCoordinate(A) {
1279
+ this.A = A;
1280
+ }
1281
+ t() {
1282
+ const A = [], e = u("plane", [ 0, 0, 0 ], [ 0, 0, 0 ], [ 10, 10, 10 ], [ 1, 0, 0, .5 ], 16);
1283
+ return A.push(e), A;
1284
+ }
1285
+ getMeshes() {
1286
+ return this._meshes;
1287
+ }
1288
+ }
1289
+
1290
+ class L {
1291
+ constructor(A) {
1292
+ this.A = A, this._meshes = this.t();
1293
+ }
1294
+ setCoordinate(A) {
1295
+ this.A = A;
1296
+ }
1297
+ t() {
1298
+ const A = [], e = u("xyzScale", [ 0, 0, 0 ], [ 0, 0, 0 ], [ 2, 2, 2 ], null, 113);
1299
+ return A.push(e), A;
1300
+ }
1301
+ getMeshes() {
1302
+ return this._meshes;
1303
+ }
1304
+ }
1305
+
1306
+ const M = [], E = [], O = [], F = [], x = [], U = [ 177 / 170, 177 / 170, 177 / 170 ], V = [], S = [ 1, 2, 3, 4, 12 ];
1307
+
1308
+ class k {
1309
+ constructor() {
1310
+ this.translate = new y, this.rotation = new p, this.scaling = new v, this.planeHelper = new d,
1311
+ this.xyzScaleHelper = new L, this._meshes = this.t(), this.i = !0;
1312
+ }
1313
+ t() {
1314
+ const A = {};
1315
+ A.translate = this.translate.getMeshes(), A.rotation = this.rotation.getMeshes(),
1316
+ A.scaling = this.scaling.getMeshes(), A.planeHelper = this.planeHelper.getMeshes(),
1317
+ A.xyzScale = this.xyzScaleHelper.getMeshes();
1318
+ const e = 340 / 177, t = u("yuanhuan41", [ -2.745 * e, 2.745 * e, 0 ], [ 90, 0, 0 ], [ .5 * e, .5 * e, .5 * e ], [ 149 / 255, 179 / 255, 199 / 255, .6 ], 1), s = u("yuanhuan41", [ 2.745 * e, 2.745 * e, 0 ], [ -90, 0, 180 ], [ .5 * e, .5 * e, .5 * e ], [ 50 / 255, 130 / 255, 184 / 255, .5 ], 2), i = u("yuanhuan41", [ 2.745 * e, -2.745 * e, 0 ], [ 90, 0, 180 ], [ .5 * e, .5 * e, .5 * e ], [ 149 / 255, 179 / 255, 199 / 255, .6 ], 3), n = u("yuanhuan41", [ -2.745 * e, -2.745 * e, 0 ], [ -90, 0, 0 ], [ .5 * e, .5 * e, .5 * e ], [ 50 / 255, 130 / 255, 184 / 255, .5 ], 4), o = u("yuanpan", [ 0, 0, 0 ], [ 90, 0, 0 ], [ .5 * e, .5 * e, .5 * e ], [ 89 / 255, 206 / 255, 147 / 255, .5 ], 5), I = u("zzhou", [ 0, 0, 6.5 ], [ 90, 0, 0 ], [ 1, 1, 1 ], [ 14 / 255, 127 / 255, 191 / 255, 1 ], 6);
1319
+ return A.translate.push(t, s, i, n, o, I), A;
1320
+ }
1321
+ updateMatrix(t, i, n, o, I) {
1322
+ const g = i.getCoordinates(), r = t.coordinateToPointAtRes(g, t.getGLRes()), a = i.o();
1323
+ s.set(E, r.x, r.y, a);
1324
+ const C = s.copy(M, I), h = B(t, i.getTranslation());
1325
+ s.add(E, E, h), s.add(E, E, C);
1326
+ for (const I in this._meshes) for (let g = 0; g < this._meshes[I].length; g++) {
1327
+ const r = this._meshes[I][g];
1328
+ for (let g = 0; g < r.length; g++) {
1329
+ const a = r[g], C = a.getUniform("uPickingId"), h = s.copy(M, a.translate);
1330
+ let w = s.copy(V, a.rotation);
1331
+ const c = a.scaling;
1332
+ if (11 === C && (this.i ? (w[2] += n, a.rotation[2] += n) : this.i || (w[2] += n,
1333
+ a.rotation[2] += n, w[0] = 360, w[2] -= 90)), C > 100 && 1 === i.getTargets().length && (w = i.getTargets()[0].getRotation()),
1334
+ S.indexOf(C) > -1) if (12 !== C) c[0] += o, c[1] += o, c[2] += o; else {
1335
+ const A = this._meshes.translate[4][0];
1336
+ c[0] = 1.2 * A.scaling[0], c[1] = 1.2 * A.scaling[0], c[2] = 1.2 * A.scaling[0];
1337
+ }
1338
+ let Q = b(i, t);
1339
+ if (Q = s.set(O, Q, Q, Q), s.multiply(h, h, Q), s.multiply(Q, Q, c), 1 === C || 2 === C || 3 === C || 4 === C) {
1340
+ const A = s.multiply(x, c, U);
1341
+ s.multiply(h, h, A);
1342
+ }
1343
+ const f = A.fromEuler(F, w[0], w[1], w[2]);
1344
+ if (s.add(h, h, E), "xyzScale" === I) {
1345
+ const A = e.fromRotationTranslationScale([], f, h, Q);
1346
+ e.multiply(a.localTransform, A, a.originTransform);
1347
+ } else e.fromRotationTranslationScale(a.localTransform, f, h, Q);
1348
+ }
1349
+ }
1350
+ }
1351
+ getMeshes(A) {
1352
+ const e = {};
1353
+ return A ? ("xyzScale" === A ? e[A] = this._meshes[A] : (e.translate = this._meshes.translate,
1354
+ "translate" !== A && (e[A] = this._meshes[A])), e) : e;
1355
+ }
1356
+ I(A) {
1357
+ this.i = A;
1358
+ }
1359
+ dispose() {
1360
+ for (const A in this._meshes) for (let e = 0; e < this._meshes[A].length; e++) {
1361
+ const t = this._meshes[A][e];
1362
+ for (let A = 0; A < t.length; A++) {
1363
+ const e = t[A];
1364
+ e.geometry.dispose(), e.dispose();
1365
+ }
1366
+ }
1367
+ }
1368
+ }
1369
+
1370
+ const T = [], _ = [], H = [], J = new I(0, 0), N = [], R = [], K = [], z = [ 0, 0, 0 ];
1371
+
1372
+ class G {
1373
+ constructor() {
1374
+ this.C = [], this.h = [ 0, 0, 0 ], this.l = [ 1, 1, 1 ], this.P = [ 0, 0, 0 ];
1375
+ }
1376
+ D(A) {
1377
+ Array.isArray(A) ? A.forEach((A => {
1378
+ this.D(A);
1379
+ })) : (A.on("remove", this.u, this), A.m = {
1380
+ coordinate: A.getCoordinates(),
1381
+ translation: A.getTranslation(),
1382
+ rotation: A.getRotation(),
1383
+ scale: A.getScale()
1384
+ }, this.C.push(A));
1385
+ }
1386
+ B() {
1387
+ this.C.forEach((A => {
1388
+ A.off("remove", this.u, this);
1389
+ })), this.C = [];
1390
+ }
1391
+ p(A, e, t, i, n, o, I) {
1392
+ for (let I = 0; I < this.C.length; I++) {
1393
+ const g = this.C[I], r = g.getRotation(), a = g.getScale(), C = this.v(o, g, i, t, e);
1394
+ let h = null;
1395
+ h = i >= 0 ? i : i * (this.options && this.options.scaleStrength || 1);
1396
+ const w = s.add(K, s.set(T, h * a[0], h * a[1], h * a[2]), a), c = Math.min(...w);
1397
+ if (Math.abs(c) < n) {
1398
+ const A = Math.abs(c);
1399
+ w[0] = w[0] * (n / A), w[1] = w[1] * (n / A), w[2] = w[2] * (n / A);
1400
+ }
1401
+ const Q = s.add(r, t, r);
1402
+ g.setCoordinates(C), this.L(A, w, a);
1403
+ const f = g.getTranslation();
1404
+ g.setTRS(f, Q, w);
1405
+ }
1406
+ s.set(K, i, i, i), s.add(this.P, t, this.P), s.add(this.l, K, this.l), s.add(this.h, e, this.h),
1407
+ A.indexOf("translate") > -1 ? I.fire("positionchange", {
1408
+ action: A,
1409
+ type: "positionchange",
1410
+ transformtarget: this.C,
1411
+ center: this.getCoordinates(),
1412
+ scale: this.l,
1413
+ rotation: this.P,
1414
+ translation: this.h,
1415
+ deltaTranslate: e,
1416
+ deltaRotation: t,
1417
+ deltaScale: i
1418
+ }) : I.fire("transforming", {
1419
+ action: A,
1420
+ type: "transforming",
1421
+ transformtarget: this.C,
1422
+ center: this.C[0].getTransformOrigin(),
1423
+ scale: this.l,
1424
+ rotation: this.P,
1425
+ translation: this.h,
1426
+ deltaTranslate: e,
1427
+ deltaRotation: t,
1428
+ deltaScale: i
1429
+ });
1430
+ }
1431
+ v(t, i, n, o, I) {
1432
+ const g = i.getCenter(), r = i.getTransformOrigin(), a = t.getGLRes(), C = t.coordinateToPointAtRes(g, a, J);
1433
+ C.z = t.altitudeToPoint(g.z, a), s.set(N, C.x, C.y, C.z || 0);
1434
+ const h = t.coordinateToPointAtRes(r, a, J);
1435
+ h.z = t.altitudeToPoint(r.z, a), s.set(R, h.x, h.y, h.z || 0);
1436
+ const w = s.sub(T, N, R), c = A.fromEuler(_, 0, 0, o[2]);
1437
+ s.set(K, n + 1, n + 1, n + 1);
1438
+ const Q = e.fromRotationTranslationScale(H, c, I, K);
1439
+ s.transformMat4(w, w, Q), s.add(w, w, R), J.set(w[0], w[1]);
1440
+ const f = t.pointAtResToCoordinate(J, a);
1441
+ return f.z = w[2] / t.altitudeToPoint(1, a), f;
1442
+ }
1443
+ L(A, e, t) {
1444
+ return "x-scale" === A && (e[1] = t[1], e[2] = t[2]), "y-scale" === A && (e[0] = t[0],
1445
+ e[2] = t[2]), "z-scale" === A && (e[0] = t[0], e[1] = t[1]), e;
1446
+ }
1447
+ M() {
1448
+ this.C.forEach((A => {
1449
+ if (A.m) {
1450
+ const {coordinate: e, translation: t, rotation: s, scale: i} = A.m;
1451
+ A.setCoordinates(e), A.setTRS(t, s, i);
1452
+ }
1453
+ }));
1454
+ }
1455
+ getScale() {
1456
+ return this.l;
1457
+ }
1458
+ getTranslation() {
1459
+ return 1 === this.C.length && this.C[0].getTranslation() || z;
1460
+ }
1461
+ getRotation() {
1462
+ return this.P;
1463
+ }
1464
+ O() {
1465
+ return this.C[0] ? this.C[0].getLayer() : null;
1466
+ }
1467
+ getCoordinates() {
1468
+ let A = 0, e = 0, t = 0;
1469
+ const s = this.C.length;
1470
+ if (!s) return null;
1471
+ for (let i = 0; i < s; i++) {
1472
+ const s = this.C[i].getCenter();
1473
+ A += s.x, e += s.y, t += s.z || 0;
1474
+ }
1475
+ A /= s, e /= s, t /= s;
1476
+ const i = new g(A, e, t);
1477
+ for (let A = 0; A < s; A++) this.C[A].setTransformOrigin(i);
1478
+ return i;
1479
+ }
1480
+ u(A) {
1481
+ const e = A.target, t = this.C.indexOf(e);
1482
+ t > -1 && (delete e.m, this.C.splice(t, 1));
1483
+ }
1484
+ getTargets() {
1485
+ return this.C;
1486
+ }
1487
+ o() {
1488
+ let A = 0;
1489
+ const e = this.C.length;
1490
+ for (let t = 0; t < e; t++) {
1491
+ A += this.C[t].getPointZ();
1492
+ }
1493
+ return A /= e, A;
1494
+ }
1495
+ F() {
1496
+ for (let A = 0; A < this.C.length; A++) if (this.C[A].isVisible()) return !0;
1497
+ return !1;
1498
+ }
1499
+ }
1500
+
1501
+ const j = [ 5, 6, 7, 8, 9, 10 ], Z = [ 5, 7, 8, 9, 10 ], Y = [ 2, 4, 11 ], W = [ 1, 3, 12 ], q = [ 12, 16 ], X = [ 1, 2, 3, 4 ], $ = [ 1, 2, 3, 4, 12 ], AA = [], eA = [], tA = [], sA = [], iA = [], nA = [], oA = [];
1502
+
1503
+ class IA extends(r(a(C))){
1504
+ constructor(A = {}) {
1505
+ super(A), this.options = A, this.mouseAction = "moving", this.U = this.options.mode || "translate",
1506
+ this.V = !0, this.TransformHelper = new k, this.S = new G, this.helperScene = new t.Scene([]),
1507
+ this.addToMapCount = 0, this.k();
1508
+ }
1509
+ setCoordinates(A) {
1510
+ this.T.setCoordinates(A), this.transform(this.T);
1511
+ }
1512
+ enable() {
1513
+ return this.V = !0, this.layerRenderer && this.layerRenderer.setToRedraw(), this;
1514
+ }
1515
+ disable() {
1516
+ return this.V = !1, this.layerRenderer && this.layerRenderer.setToRedraw(), this.map && this.map.resetCursor(),
1517
+ this;
1518
+ }
1519
+ setMode(A) {
1520
+ this.U = A, this._(), this.layerRenderer && this.layerRenderer.setToRedraw(), this.fire("modechange", {
1521
+ mode: A,
1522
+ type: "modechange"
1523
+ });
1524
+ }
1525
+ getMode() {
1526
+ return this.U;
1527
+ }
1528
+ isEnable() {
1529
+ return this.V;
1530
+ }
1531
+ H(A) {
1532
+ j.indexOf(A) > -1 ? this.U = "translate" : Y.indexOf(A) > -1 ? this.U = "rotation" : W.indexOf(A) > -1 ? this.U = "scaling" : "xyzScale" !== this.U && (this.U = "translate");
1533
+ }
1534
+ J() {
1535
+ return this.U;
1536
+ }
1537
+ addTo(A) {
1538
+ if (this.map) return this.N(), void console.warn("transform control has been added to a map, it suggest remove from the map before");
1539
+ this.addToMapCount++, this.map = A;
1540
+ const e = A.getLayers((A => A instanceof i))[0];
1541
+ e ? this.R.addTo(e) : this.R.addTo(this.map), this.container = A.getContainer(),
1542
+ A.on("dom:mousemove", this.K, this), A.on("dom:mousedown", this.G, this), A.on("dom:mouseup", this.j, this),
1543
+ A.on("zooming moving dragrotating", this.Z, this), this.Y();
1544
+ }
1545
+ k() {
1546
+ this.R = new w(`${h}_transformcontrol`), this.T = new c([ 0, 0 ], {
1547
+ symbol: {
1548
+ url: "cube",
1549
+ modelHeight: 1,
1550
+ uniforms: {
1551
+ polygonOpacity: .01
1552
+ }
1553
+ }
1554
+ }).addTo(this.R);
1555
+ }
1556
+ remove() {
1557
+ this.map && (this.N(), this.TransformHelper.dispose(), this.R.remove(), this.layerRenderer && this.layerRenderer.setToRedraw(),
1558
+ delete this.T, delete this.R, delete this.map, delete this.layer, delete this.layerRenderer,
1559
+ delete this.container, delete this.S);
1560
+ }
1561
+ N() {
1562
+ this.container && this.map && (this.map.off("dom:mousemove", this.K, this), this.map.off("dom:mousedown", this.G, this),
1563
+ this.map.off("dom:mouseup", this.j, this), this.map.off("zooming moving dragrotating", this.Z, this),
1564
+ this.layer && this.layer.off("renderend", this.render, this));
1565
+ }
1566
+ K(A) {
1567
+ if (this.W()) {
1568
+ if (this.currentMousePosition = {
1569
+ x: A.containerPoint.x,
1570
+ y: A.containerPoint.y
1571
+ }, "moving" === this.mouseAction) {
1572
+ const A = this.q();
1573
+ this.currentPickingObject = this.X(this.currentMousePosition, A, "meshes"), this.currentPickingObject && null != this.currentPickingObject.pickingId ? (this.H(this.currentPickingObject.pickingId),
1574
+ 6 === this.currentPickingObject.pickingId ? this.$(!0) : this.$(!1)) : (this.$(!1),
1575
+ this.H()), this.AA();
1576
+ }
1577
+ this.eA(this.currentMousePosition);
1578
+ }
1579
+ }
1580
+ G(A) {
1581
+ if (!this.W() || 0 !== A.domEvent.button) return;
1582
+ const e = this.q();
1583
+ this.currentMousePosition = {
1584
+ x: A.containerPoint.x,
1585
+ y: A.containerPoint.y
1586
+ }, this.tA = !0, this.currentPickingObject = this.X(this.currentMousePosition, e, "meshes"),
1587
+ this.firstDownPoint = this.X(this.currentMousePosition, e, "meshes"), this.currentPickingObject && null != this.currentPickingObject.meshId ? (this.mouseAction = "transform",
1588
+ this.sA(this.currentPickingObject.pickingId), this.map.config("zoomable", !1), this.map.config("draggable", !1),
1589
+ this.layerRenderer && this.layerRenderer.setToRedraw()) : (this.mouseAction = "pan",
1590
+ this.map.config("zoomable", !0), this.map.config("draggable", !0), this._()), this.lastMousePosition = this.currentMousePosition,
1591
+ this.lastPickingObject = this.currentPickingObject, this.lastPickingMesh = e[this.currentPickingObject.meshId];
1592
+ }
1593
+ j() {
1594
+ "transform" === this.mouseAction && (this.firstDownPoint = null, this._(), this.tA = !0,
1595
+ this.fire("transformend", {
1596
+ action: this.iA,
1597
+ type: "transformend",
1598
+ transformtarget: this.S.getTargets()
1599
+ })), this.mouseAction = "moving", "xyzScale" !== this.U && (this.U = "translate"),
1600
+ this.map.config("zoomable", !0), this.map.config("draggable", !0), this.layerRenderer && this.layerRenderer.setToRedraw();
1601
+ }
1602
+ Z() {
1603
+ const A = this.TransformHelper.planeHelper.getMeshes()[0][0], e = this.map.getBearing();
1604
+ A.rotation[2] = -e, this.nA();
1605
+ }
1606
+ nA() {
1607
+ this.W() && (this.TransformHelper.updateMatrix(this.map, this.S, 0, 0, [ 0, 0, 0 ]),
1608
+ this.tA = !0);
1609
+ }
1610
+ picked(A) {
1611
+ if (!this.layerRenderer) return !1;
1612
+ const e = this.q(), t = this.map;
1613
+ let s = A;
1614
+ A instanceof I || (s = t.coordinateToContainerPoint(new g(A)));
1615
+ const i = this.X(s, e, "picked");
1616
+ return !(!i || null === i.meshId);
1617
+ }
1618
+ _() {
1619
+ const A = this.TransformHelper.getMeshes("scaling").scaling[0][0], e = 340 / 177;
1620
+ A.scaling = [ .6 * e, .6 * e, .6 * e ], this.layerRenderer && (this.oA(A), this.IA());
1621
+ }
1622
+ IA() {
1623
+ this.TransformHelper._meshes.translate.forEach((A => {
1624
+ for (let e = 0; e < A.length; e++) {
1625
+ const t = A[e];
1626
+ X.indexOf(t.getUniform("uPickingId")) > -1 && t.material.set("color", t.originColor);
1627
+ }
1628
+ }));
1629
+ }
1630
+ oA(t) {
1631
+ const i = this.S.getCoordinates(), n = this.map.coordinateToPointAtRes(i, this.map.getGLRes()), o = [ n.x, n.y, 0 ], I = B(this.map, this.S.getTranslation());
1632
+ s.add(o, o, I);
1633
+ const g = s.copy([], t.translate), r = t.scaling;
1634
+ let a = b(this.S, this.map);
1635
+ a = s.set([], a, a, a), s.multiply(g, g, a), s.multiply(a, a, r), s.add(g, g, o),
1636
+ e.fromRotationTranslationScale(t.localTransform, [ 0, 0, 0, 1 ], g, a);
1637
+ this.q().forEach((t => {
1638
+ const i = t.getUniform("uPickingId");
1639
+ if (1 === i || 3 === i || 2 === i || 4 === i) {
1640
+ const i = s.copy([], t.translate), n = 170 / 177;
1641
+ t.scaling = [ n, n, n ];
1642
+ const I = t.scaling, g = t.rotation;
1643
+ let r = b(this.S, this.map);
1644
+ r = s.set([], r, r, r), s.multiply(i, i, r), s.multiply(r, r, I), s.add(i, i, o);
1645
+ const a = A.fromEuler([], g[0], g[1], g[2]);
1646
+ e.fromRotationTranslationScale(t.localTransform, a, i, r);
1647
+ }
1648
+ }));
1649
+ }
1650
+ gA(A) {
1651
+ const e = this.map.containerPointToCoordinate(A), t = this.map.coordinateToPointAtRes(e, this.map.getGLRes());
1652
+ return {
1653
+ point: [ t.x, t.y ]
1654
+ };
1655
+ }
1656
+ eA(A) {
1657
+ if ("transform" === this.mouseAction) {
1658
+ const A = this.J(), e = B(this.map, this.S.getTranslation()), t = this.S.o();
1659
+ let s = null, i = null;
1660
+ if (e[2] + t < .01 && "z-translate" !== this.iA) s = this.gA(this.currentMousePosition),
1661
+ i = this.gA(this.lastMousePosition); else {
1662
+ const A = this.TransformHelper.planeHelper.getMeshes()[0];
1663
+ if (s = this.X(this.currentMousePosition, A, "plane"), i = this.X(this.lastMousePosition, A, "plane"),
1664
+ !s || null === s.meshId || !i || null === i.meshId) return;
1665
+ }
1666
+ const o = [ 0, 0, 0 ], g = [ 0, 0, 0 ];
1667
+ let r = 0, a = 0, C = 0;
1668
+ if ("translate" === A) {
1669
+ if ("xy-translate" === this.iA) {
1670
+ const A = s.point[0] - i.point[0], e = s.point[1] - i.point[1];
1671
+ o[0] = A, o[1] = e;
1672
+ } else if ("x-translate" === this.iA) {
1673
+ const A = s.point[0] - i.point[0];
1674
+ o[0] = A;
1675
+ } else if ("y-translate" === this.iA) {
1676
+ const A = s.point[1] - i.point[1];
1677
+ o[1] = A;
1678
+ } else if ("z-translate" === this.iA) {
1679
+ let A = 0;
1680
+ if (this.rA()) {
1681
+ const e = this.map.getGLRes(), t = this.map._pointAtResToContainerPoint(new I(i.point[0], i.point[1]), e), o = this.map._pointAtResToContainerPoint(new I(s.point[0], s.point[1]), e), g = n.length(n.set(sA, s.point[0] - i.point[0], s.point[1] - i.point[1]));
1682
+ A = o.y < t.y ? g : -g;
1683
+ } else A = s.point[2] - i.point[2];
1684
+ o[2] = A;
1685
+ }
1686
+ } else if ("rotation" === A) a = this.aA(s.point, i.point), a >= 0 ? this.TransformHelper.I(!0) : this.TransformHelper.I(!1),
1687
+ g[2] += a; else if ("scaling" === A || "xyzScale" === A) {
1688
+ const A = this.CA(), e = n.length(n.set(sA, this.firstDownPoint.point[0] - A[0], this.firstDownPoint.point[1] - A[1])), t = n.length(n.set(sA, i.point[0] - A[0], i.point[1] - A[1]));
1689
+ r = this.hA(s.point, i.point, A, t), C = this.hA(s.point, i.point, A, e);
1690
+ }
1691
+ this.TransformHelper.updateMatrix(this.map, this.S, a, C, o), this.S.p(this.iA, o, g, r, .01, this.map, this);
1692
+ }
1693
+ this.lastMousePosition = A, this.lastPickingObject = this.currentPickingObject;
1694
+ const e = this.q();
1695
+ this.lastPickingMesh = e[this.currentPickingObject.meshId];
1696
+ }
1697
+ hA(A, e, t, s, i) {
1698
+ const o = (n.length(n.set(sA, A[0] - t[0], A[1] - t[1])) - n.length(n.set(sA, e[0] - t[0], e[1] - t[1]))) / s;
1699
+ return i ? (i[0] - .01) * o : o;
1700
+ }
1701
+ CA() {
1702
+ const A = this.map, e = this.S.getCoordinates(), t = A.coordinateToPointAtRes(e, A.getGLRes()), i = s.set(iA, t.x, t.y, 0), n = B(A, this.S.getTranslation());
1703
+ return s.add(i, i, n), i;
1704
+ }
1705
+ $(t) {
1706
+ const i = this.TransformHelper.planeHelper.getMeshes()[0][0], n = e.getTranslation(tA, i.localTransform), o = e.getScaling(eA, i.localTransform);
1707
+ let I = A.fromEuler(AA, 0, 0, 0);
1708
+ const g = this.map.getBearing();
1709
+ t && !this.rA() ? (I = A.fromEuler(AA, 90, 0, -g), 0 === i.rotation[0] && (this.tA = !0),
1710
+ s.set(i.rotation, 90, 0, -g)) : (90 === i.rotation[0] && (this.tA = !0), s.set(i.rotation, 0, 0, -g)),
1711
+ e.fromRotationTranslationScale(i.localTransform, I, n, o);
1712
+ }
1713
+ rA() {
1714
+ if (this.map.getPitch()) return !1;
1715
+ const A = this.map.cameraPosition, e = this.map.coordinateToPointAtRes(this.map.getCenter(), this.map.getGLRes());
1716
+ s.set(e, e.x, e.y, 0);
1717
+ const t = this.S.getCoordinates(), i = this.map.coordinateToPointAtRes(t, this.map.getGLRes()), n = B(this.map, this.S.getTranslation()), o = s.set(tA, i.x, i.y, 0), I = s.add(o, o, n), g = s.subtract([], A, I), r = s.subtract([], A, e);
1718
+ return s.angle(g, r) < 1 / 180 * Math.PI;
1719
+ }
1720
+ AA() {
1721
+ const A = this.q();
1722
+ if (this.currentPickingObject && null != this.currentPickingObject.meshId) {
1723
+ this.wA(), this.lastPickingObject && null != this.lastPickingObject.meshId && this.lastPickingObject.meshId !== this.currentPickingObject.meshId && this.cA();
1724
+ const e = A[this.currentPickingObject.meshId];
1725
+ if (e && q.indexOf(this.currentPickingObject.pickingId) < 0) if (this.currentPickingObject.pickingId > 100) this.QA(e); else {
1726
+ const A = [ e.originColor[0], e.originColor[1], e.originColor[2], .8 ];
1727
+ e.material.set("color", A), this.fA(e, .5);
1728
+ }
1729
+ this.layerRenderer.setToRedraw();
1730
+ } else this.lastPickingObject && null != this.lastPickingObject.meshId && (this.map.resetCursor(),
1731
+ this.cA(), this.layerRenderer.setToRedraw());
1732
+ }
1733
+ QA(A) {
1734
+ const e = [ 1, 179 / 255, 2 / 255, 1 ];
1735
+ A.material.set("color", e), A.properties.relatedMeshes && A.properties.relatedMeshes.forEach((A => {
1736
+ A.material.set("color", e);
1737
+ }));
1738
+ }
1739
+ wA() {
1740
+ 6 === this.currentPickingObject.pickingId ? this.map.setCursor("ns-resize") : Z.indexOf(this.currentPickingObject.pickingId) > -1 ? this.map.setCursor("move") : this.map.setCursor("pointer");
1741
+ }
1742
+ cA() {
1743
+ const A = this.lastPickingMesh;
1744
+ if (!A) return;
1745
+ const e = A.getUniform("uPickingId"), t = this.q();
1746
+ Z.indexOf(e) > -1 ? t.forEach((A => {
1747
+ Z.indexOf(A.getUniform("uPickingId")) > -1 && A.material.set("color", A.originColor);
1748
+ })) : $.indexOf(e) > -1 ? t.forEach((A => {
1749
+ const e = A.getUniform("uPickingId");
1750
+ X.indexOf(e) > -1 && A.material.set("color", A.originColor);
1751
+ })) : 11 === e && t.forEach((A => {
1752
+ X.indexOf(A.getUniform("uPickingId")) > -1 && A.material.set("color", A.originColor);
1753
+ })), A.material.set("color", A.originColor), A.properties.relatedMeshes && A.properties.relatedMeshes.forEach((A => {
1754
+ A.material.set("color", A.originColor);
1755
+ }));
1756
+ }
1757
+ fA(A, e) {
1758
+ const t = A.getUniform("uPickingId"), s = this.q();
1759
+ Z.indexOf(t) > -1 ? s.forEach((t => {
1760
+ if (Z.indexOf(t.getUniform("uPickingId")) > -1 && t.getUniform("uPickingId") !== A.getUniform("uPickingId")) {
1761
+ const A = [ t.originColor[0], t.originColor[1], t.originColor[2], e ];
1762
+ t.material.set("color", A);
1763
+ }
1764
+ })) : "scaling" === this.U ? s.forEach((A => {
1765
+ const e = A.getUniform("uPickingId");
1766
+ if (1 === e || 3 === e || 2 === e || 4 === e) {
1767
+ const e = [ 149 / 255, 179 / 255, 199 / 255, .8 ];
1768
+ A.material.set("color", e);
1769
+ }
1770
+ })) : "rotation" === this.U && s.forEach((A => {
1771
+ const e = A.getUniform("uPickingId");
1772
+ if (1 === e || 3 === e || 2 === e || 4 === e) {
1773
+ const e = A.originColor;
1774
+ A.material.set("color", [ e[0], e[1], e[2], 0 ]);
1775
+ }
1776
+ }));
1777
+ }
1778
+ reset() {
1779
+ this.map && this.S && (this.S.M(), this.TransformHelper.updateMatrix(this.map, this.S, 0, 0, [ 0, 0, 0 ]));
1780
+ }
1781
+ aA(A, e) {
1782
+ const t = this.CA(), s = n.set(nA, e[0] - t[0], e[1] - t[1]), i = n.set(oA, A[0] - t[0], A[1] - t[1]), o = Math.atan2(s[1], s[0]);
1783
+ return (Math.atan2(i[1], i[0]) - o) / Math.PI * 180;
1784
+ }
1785
+ sA(A) {
1786
+ return this.iA = 113 === A || 114 === A ? "x-scale" : 115 === A || 116 === A ? "z-scale" : 117 === A || 118 === A ? "y-scale" : 119 === A ? "xyz-scale" : 5 === A ? "xy-translate" : 6 === A ? "z-translate" : 7 === A || 9 === A ? "x-translate" : 8 === A || 10 === A ? "y-translate" : 11 === A ? "z-rotate" : "scale",
1787
+ this.iA;
1788
+ }
1789
+ transform(A) {
1790
+ if (!A) return;
1791
+ if (this.layerRenderer && this.layerRenderer.layer && (this.layerRenderer.layer.off("renderend", this.render),
1792
+ this.layerRenderer.layer.off("resizeCanvas", this.lA)), !this.map) return void console.error("should add to a target first");
1793
+ if (this.S && (this.S.B(), this.S.D(A)), !this.S.getTargets().length) return;
1794
+ const e = this.map;
1795
+ this.TransformHelper.updateMatrix(e, this.S, 0, 0, [ 0, 0, 0 ]), this.PA(), this.tA = !0;
1796
+ }
1797
+ getTransformTarget() {
1798
+ return this.S;
1799
+ }
1800
+ u() {
1801
+ delete this.S;
1802
+ }
1803
+ PA() {
1804
+ const A = this.S.O();
1805
+ A && (A.off("renderend", this.render), A.off("resizeCanvas", this.lA));
1806
+ const e = this.map, t = A.getRenderer();
1807
+ this.layerRenderer = t, this.regl = t.regl, this.renderer = t.renderer, this.DA = this.layerRenderer.getFBORayPicking(),
1808
+ this.uA = {
1809
+ projViewMatrix: e.projViewMatrix,
1810
+ projMatrix: e.projMatrix,
1811
+ viewMatrix: e.viewMatrix,
1812
+ pointSize: 1
1813
+ }, A.on("renderend", this.render, this), A.on("resizeCanvas", this.lA, this), t.setToRedraw();
1814
+ }
1815
+ lA() {
1816
+ this.DA.clear(), this.tA = !0;
1817
+ }
1818
+ X(A, e, t) {
1819
+ const s = this.map;
1820
+ if (!(s && this.DA && this.layerRenderer && this.layerRenderer.canvas)) return null;
1821
+ const i = s.getDevicePixelRatio(), n = A.x * i, o = A.y * i, I = this.uA, g = this.layerRenderer.canvas.gl && this.layerRenderer.canvas.gl.wrap;
1822
+ (this.tA || g || !this.mA || this.mA !== t) && (this.DA.render(e, I, !0), this.mA = t,
1823
+ this.tA = !1);
1824
+ return this.DA.pick(n, o, 10, I, {
1825
+ viewMatrix: this.map.viewMatrix,
1826
+ projMatrix: this.map.projMatrix,
1827
+ returnPoint: !0
1828
+ });
1829
+ }
1830
+ Y() {
1831
+ const A = this.map.getDevicePixelRatio(), s = {
1832
+ x: 0,
1833
+ y: 0,
1834
+ width: () => this.map ? this.map.width * A : 1,
1835
+ height: () => this.map ? this.map.height * A : 1
1836
+ };
1837
+ this.bA = new t.MeshShader({
1838
+ vert: "attribute vec3 aPosition;\n\nuniform mat4 projViewModelMatrix;\n\n\n\nvoid main()\n\n{\n\n gl_Position = projViewModelMatrix * vec4(aPosition, 1.0);\n\n\n\n}\n\n",
1839
+ frag: "precision mediump float;\n\nuniform vec4 color;\n\n\n\nvoid main() {\n\n gl_FragColor = color;\n\n}\n\n",
1840
+ uniforms: [ "color", {
1841
+ name: "projViewModelMatrix",
1842
+ type: "function",
1843
+ fn: function(A, t) {
1844
+ return e.multiply([], t.projViewMatrix, t.modelMatrix);
1845
+ }
1846
+ } ],
1847
+ extraCommandProps: {
1848
+ viewport: s,
1849
+ depth: {
1850
+ enable: !0,
1851
+ func: "always",
1852
+ mask: !0,
1853
+ range: [ 0, 0 ]
1854
+ },
1855
+ blend: {
1856
+ enable: !0,
1857
+ func: {
1858
+ src: "src alpha",
1859
+ dst: "one minus src alpha"
1860
+ },
1861
+ equation: "add"
1862
+ }
1863
+ },
1864
+ defines: {}
1865
+ });
1866
+ }
1867
+ render() {
1868
+ if (!this.W()) return;
1869
+ const A = this.q();
1870
+ this.helperScene.setMeshes(A);
1871
+ const e = this.layerRenderer.getFrameContext();
1872
+ if (e && e.renderTarget && this.layerRenderer.getFrameTimestamp() !== e.timestamp) return;
1873
+ this.nA(), this.bA.filter = e && e.sceneFilter;
1874
+ const t = e && e.renderTarget && e.renderTarget.fbo;
1875
+ this.renderer.render(this.bA, this.uA, this.helperScene, t);
1876
+ }
1877
+ q() {
1878
+ let A = [];
1879
+ const e = this.TransformHelper.getMeshes(this.U);
1880
+ for (const t in e) {
1881
+ if ("translate" === t) continue;
1882
+ const s = e[t];
1883
+ for (let e = 0; e < s.length; e++) A = A.concat(s[e]);
1884
+ }
1885
+ const t = e.translate;
1886
+ if (t) for (let e = 0; e < t.length; e++) A = A.concat(t[e]);
1887
+ return A;
1888
+ }
1889
+ W() {
1890
+ const A = this.layerRenderer, e = A && A.layer;
1891
+ return A && this.S && e && e.isVisible() && this.S.F() && this.regl && this.V;
1892
+ }
1893
+ }
1894
+
1895
+ IA.mergeOptions({
1896
+ scaleStrength: 2
1897
+ });
1898
+
1899
+ export { IA as TransformControl };
1900
+
1901
+ "undefined" != typeof console && console.log("@maptalks/transform-control v0.116.0");
1902
+ //# sourceMappingURL=transform-control.es.js.map