diff --git a/package-lock.json b/package-lock.json
index a3b92a1..ef5de27 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,7 +14,8 @@
"@vitejs/plugin-vue-jsx": "^3.0.1",
"@vueuse/components": "^10.1.2",
"@vueuse/core": "^10.1.2",
- "echarts": "^5.4.2",
+ "echarts": "^5.4.3",
+ "echarts-gl": "^2.0.9",
"element-plus": "^2.3.6",
"three": "^0.154.0",
"vue": "^3.3.4",
@@ -2027,6 +2028,11 @@
"node": ">=4"
}
},
+ "node_modules/claygl": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/claygl/-/claygl-1.3.0.tgz",
+ "integrity": "sha512-+gGtJjT6SSHD2l2yC3MCubW/sCV40tZuSs5opdtn79vFSGUgp/lH139RNEQ6Jy078/L0aV8odCw8RSrUcMfLaQ=="
+ },
"node_modules/color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -2156,12 +2162,24 @@
}
},
"node_modules/echarts": {
- "version": "5.4.2",
- "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.2.tgz",
- "integrity": "sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==",
+ "version": "5.4.3",
+ "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.3.tgz",
+ "integrity": "sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==",
"dependencies": {
"tslib": "2.3.0",
- "zrender": "5.4.3"
+ "zrender": "5.4.4"
+ }
+ },
+ "node_modules/echarts-gl": {
+ "version": "2.0.9",
+ "resolved": "https://registry.npmjs.org/echarts-gl/-/echarts-gl-2.0.9.tgz",
+ "integrity": "sha512-oKeMdkkkpJGWOzjgZUsF41DOh6cMsyrGGXimbjK2l6Xeq/dBQu4ShG2w2Dzrs/1bD27b2pLTGSaUzouY191gzA==",
+ "dependencies": {
+ "claygl": "^1.2.1",
+ "zrender": "^5.1.1"
+ },
+ "peerDependencies": {
+ "echarts": "^5.1.2"
}
},
"node_modules/electron-to-chromium": {
@@ -5083,9 +5101,9 @@
}
},
"node_modules/zrender": {
- "version": "5.4.3",
- "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.3.tgz",
- "integrity": "sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==",
+ "version": "5.4.4",
+ "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.4.tgz",
+ "integrity": "sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==",
"dependencies": {
"tslib": "2.3.0"
}
diff --git a/package.json b/package.json
index 5f61115..ee78293 100644
--- a/package.json
+++ b/package.json
@@ -18,7 +18,8 @@
"@vitejs/plugin-vue-jsx": "^3.0.1",
"@vueuse/components": "^10.1.2",
"@vueuse/core": "^10.1.2",
- "echarts": "^5.4.2",
+ "echarts": "^5.4.3",
+ "echarts-gl": "^2.0.9",
"element-plus": "^2.3.6",
"three": "^0.154.0",
"vue": "^3.3.4",
diff --git a/public/models/robotic_arm/license.txt b/public/models/robotic_arm/license.txt
new file mode 100644
index 0000000..5983a12
--- /dev/null
+++ b/public/models/robotic_arm/license.txt
@@ -0,0 +1,11 @@
+Model Information:
+* title: Robotic Arm - Brazo Robotico
+* source: https://sketchfab.com/3d-models/robotic-arm-brazo-robotico-e10b8ba5105b4d5c9ff5ba3de5e649c3
+* author: pcorralr (https://sketchfab.com/pcorralr)
+
+Model License:
+* license type: CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)
+* requirements: Author must be credited. Commercial use is allowed.
+
+If you use this 3D model in your project be sure to copy paste this credit wherever you share it:
+This work is based on "Robotic Arm - Brazo Robotico" (https://sketchfab.com/3d-models/robotic-arm-brazo-robotico-e10b8ba5105b4d5c9ff5ba3de5e649c3) by pcorralr (https://sketchfab.com/pcorralr) licensed under CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)
\ No newline at end of file
diff --git a/public/models/robotic_arm/scene.bin b/public/models/robotic_arm/scene.bin
new file mode 100644
index 0000000..d60862e
Binary files /dev/null and b/public/models/robotic_arm/scene.bin differ
diff --git a/public/models/robotic_arm/scene.gltf b/public/models/robotic_arm/scene.gltf
new file mode 100644
index 0000000..5ae1612
--- /dev/null
+++ b/public/models/robotic_arm/scene.gltf
@@ -0,0 +1,4163 @@
+{
+ "accessors": [
+ {
+ "bufferView": 2,
+ "componentType": 5126,
+ "count": 682,
+ "max": [
+ 500.68133544921875,
+ 500.68133544921875,
+ 111.28155517578125
+ ],
+ "min": [
+ -500.68133544921875,
+ -500.68133544921875,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 8184,
+ "componentType": 5126,
+ "count": 682,
+ "max": [
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ -0.542387068271637
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "componentType": 5126,
+ "count": 682,
+ "max": [
+ 0.7652646899223328,
+ 0.7183356285095215
+ ],
+ "min": [
+ 0.019999999552965164,
+ 0.038197144865989685
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 5456,
+ "componentType": 5126,
+ "count": 682,
+ "max": [
+ 0.7652646899223328,
+ 0.7183356285095215
+ ],
+ "min": [
+ 0.019999999552965164,
+ 0.038197144865989685
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "componentType": 5125,
+ "count": 1626,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 16368,
+ "componentType": 5126,
+ "count": 1881,
+ "max": [
+ 106.47113037109375,
+ 106.47113037109375,
+ 10.0
+ ],
+ "min": [
+ -106.47113037109375,
+ -330.64739990234375,
+ -99.27532958984375
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 38940,
+ "componentType": 5126,
+ "count": 1881,
+ "max": [
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 10912,
+ "componentType": 5126,
+ "count": 1881,
+ "max": [
+ 0.9665953516960144,
+ 0.8210182785987854
+ ],
+ "min": [
+ 0.10643641650676727,
+ 0.2929570972919464
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 25960,
+ "componentType": 5126,
+ "count": 1881,
+ "max": [
+ 0.9665953516960144,
+ 0.8210182785987854
+ ],
+ "min": [
+ 0.10643641650676727,
+ 0.2929570972919464
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 6504,
+ "componentType": 5125,
+ "count": 3384,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 61512,
+ "componentType": 5126,
+ "count": 150,
+ "max": [
+ 108.80197143554688,
+ 107.14903259277344,
+ 0.0
+ ],
+ "min": [
+ -108.80197143554688,
+ -107.14903259277344,
+ -44.527313232421875
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 63312,
+ "componentType": 5126,
+ "count": 150,
+ "max": [
+ 1.0,
+ 0.9848079085350037,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -0.9848078489303589,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 41008,
+ "componentType": 5126,
+ "count": 150,
+ "max": [
+ 0.8836376070976257,
+ 0.9267833232879639
+ ],
+ "min": [
+ 0.02454928494989872,
+ 0.6159562468528748
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 42208,
+ "componentType": 5126,
+ "count": 150,
+ "max": [
+ 0.8836376070976257,
+ 0.9267833232879639
+ ],
+ "min": [
+ 0.02454928494989872,
+ 0.6159562468528748
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 20040,
+ "componentType": 5125,
+ "count": 420,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 65112,
+ "componentType": 5126,
+ "count": 38,
+ "max": [
+ 95.26261138916016,
+ 93.81536102294922,
+ 45.767242431640625
+ ],
+ "min": [
+ -95.26261138916016,
+ -93.81536865234375,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 65568,
+ "componentType": 5126,
+ "count": 38,
+ "max": [
+ 1.0,
+ 0.9848078489303589,
+ 0.0
+ ],
+ "min": [
+ -1.0,
+ -0.9848079085350037,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 43408,
+ "componentType": 5126,
+ "count": 38,
+ "max": [
+ 0.4867900013923645,
+ 0.23459714651107788
+ ],
+ "min": [
+ 0.48402705788612366,
+ 0.11553499102592468
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 43712,
+ "componentType": 5126,
+ "count": 38,
+ "max": [
+ 0.4867900013923645,
+ 0.23459714651107788
+ ],
+ "min": [
+ 0.48402705788612366,
+ 0.11553499102592468
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 21720,
+ "componentType": 5125,
+ "count": 108,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 66024,
+ "componentType": 5126,
+ "count": 165,
+ "max": [
+ 76.48653411865234,
+ 76.48653411865234,
+ 23.925018310546875
+ ],
+ "min": [
+ -76.48653411865234,
+ -0.0003144160145893693,
+ -89.50841522216797
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 68004,
+ "componentType": 5126,
+ "count": 165,
+ "max": [
+ 0.9876883625984192,
+ 1.0,
+ 1.0
+ ],
+ "min": [
+ -0.987688422203064,
+ -3.449095942187341e-08,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 44016,
+ "componentType": 5126,
+ "count": 165,
+ "max": [
+ 0.5028036832809448,
+ 0.3487233519554138
+ ],
+ "min": [
+ 0.47037920355796814,
+ 0.31570351123809814
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 45336,
+ "componentType": 5126,
+ "count": 165,
+ "max": [
+ 0.5028036832809448,
+ 0.3487233519554138
+ ],
+ "min": [
+ 0.47037920355796814,
+ 0.31570351123809814
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 22152,
+ "componentType": 5125,
+ "count": 240,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 69984,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 60.465087890625,
+ 59.5465087890625,
+ 42.18867874145508
+ ],
+ "min": [
+ -60.465110778808594,
+ -59.5464973449707,
+ -59.291770935058594
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 71112,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 1.0,
+ 0.9848079085350037,
+ 3.0367223757821193e-07
+ ],
+ "min": [
+ -1.0,
+ -0.9848078489303589,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 46656,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 0.7026785612106323,
+ 0.4865551292896271
+ ],
+ "min": [
+ 0.33390069007873535,
+ 0.37939348816871643
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 47408,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 0.7026785612106323,
+ 0.4865551292896271
+ ],
+ "min": [
+ 0.33390069007873535,
+ 0.37939348816871643
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 23112,
+ "componentType": 5125,
+ "count": 264,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 72240,
+ "componentType": 5126,
+ "count": 20,
+ "max": [
+ 22.261444091796875,
+ 54.49249267578125,
+ 41.28282928466797
+ ],
+ "min": [
+ -22.261444091796875,
+ -54.49249267578125,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 72480,
+ "componentType": 5126,
+ "count": 20,
+ "max": [
+ 1.0,
+ 0.0,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 48160,
+ "componentType": 5126,
+ "count": 20,
+ "max": [
+ 0.40940484404563904,
+ 0.20043572783470154
+ ],
+ "min": [
+ 0.38394278287887573,
+ 0.17012639343738556
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 48320,
+ "componentType": 5126,
+ "count": 20,
+ "max": [
+ 0.40940484404563904,
+ 0.20043572783470154
+ ],
+ "min": [
+ 0.38394278287887573,
+ 0.17012639343738556
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 24168,
+ "componentType": 5125,
+ "count": 30,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 72720,
+ "componentType": 5126,
+ "count": 16,
+ "max": [
+ 22.261444091796875,
+ 54.49249267578125,
+ 41.28282928466797
+ ],
+ "min": [
+ -22.261444091796875,
+ -54.49249267578125,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 72912,
+ "componentType": 5126,
+ "count": 16,
+ "max": [
+ 1.0,
+ 0.0,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ 0.0,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 48480,
+ "componentType": 5126,
+ "count": 16,
+ "max": [
+ 0.3012407720088959,
+ 0.35071778297424316
+ ],
+ "min": [
+ 0.274759978055954,
+ 0.33390069007873535
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 48608,
+ "componentType": 5126,
+ "count": 16,
+ "max": [
+ 0.3012407720088959,
+ 0.35071778297424316
+ ],
+ "min": [
+ 0.274759978055954,
+ 0.33390069007873535
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 24288,
+ "componentType": 5125,
+ "count": 24,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 73104,
+ "componentType": 5126,
+ "count": 138,
+ "max": [
+ 22.773792266845703,
+ 271.2161560058594,
+ 51.402244567871094
+ ],
+ "min": [
+ -22.773792266845703,
+ -21.444345474243164,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 74760,
+ "componentType": 5126,
+ "count": 138,
+ "max": [
+ 1.0,
+ 0.999738335609436,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 48736,
+ "componentType": 5126,
+ "count": 138,
+ "max": [
+ 0.903915286064148,
+ 0.8150997757911682
+ ],
+ "min": [
+ 0.8161247968673706,
+ 0.7706320285797119
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 49840,
+ "componentType": 5126,
+ "count": 138,
+ "max": [
+ 0.903915286064148,
+ 0.8150997757911682
+ ],
+ "min": [
+ 0.8161247968673706,
+ 0.7706320285797119
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 24384,
+ "componentType": 5125,
+ "count": 240,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 76416,
+ "componentType": 5126,
+ "count": 138,
+ "max": [
+ 22.773792266845703,
+ 271.2161560058594,
+ 51.402244567871094
+ ],
+ "min": [
+ -22.773792266845703,
+ -21.444345474243164,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 78072,
+ "componentType": 5126,
+ "count": 138,
+ "max": [
+ 1.0,
+ 0.999738335609436,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 50944,
+ "componentType": 5126,
+ "count": 138,
+ "max": [
+ 0.9221124649047852,
+ 0.8833391070365906
+ ],
+ "min": [
+ 0.834321916103363,
+ 0.8388712406158447
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 52048,
+ "componentType": 5126,
+ "count": 138,
+ "max": [
+ 0.9221124649047852,
+ 0.8833391070365906
+ ],
+ "min": [
+ 0.834321916103363,
+ 0.8388712406158447
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 25344,
+ "componentType": 5125,
+ "count": 240,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 79728,
+ "componentType": 5126,
+ "count": 16,
+ "max": [
+ 22.261444091796875,
+ 54.49249267578125,
+ 41.28282928466797
+ ],
+ "min": [
+ -22.261444091796875,
+ -54.49249267578125,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 79920,
+ "componentType": 5126,
+ "count": 16,
+ "max": [
+ 1.0,
+ 0.0,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ 0.0,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 53152,
+ "componentType": 5126,
+ "count": 16,
+ "max": [
+ 0.5878456234931946,
+ 0.4007599651813507
+ ],
+ "min": [
+ 0.5613648891448975,
+ 0.38394278287887573
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 53280,
+ "componentType": 5126,
+ "count": 16,
+ "max": [
+ 0.5878456234931946,
+ 0.4007599651813507
+ ],
+ "min": [
+ 0.5613648891448975,
+ 0.38394278287887573
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 26304,
+ "componentType": 5125,
+ "count": 24,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 80112,
+ "componentType": 5126,
+ "count": 20,
+ "max": [
+ 22.261444091796875,
+ 54.49249267578125,
+ 41.28282928466797
+ ],
+ "min": [
+ -22.261444091796875,
+ -54.49249267578125,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 80352,
+ "componentType": 5126,
+ "count": 20,
+ "max": [
+ 1.0,
+ 0.0,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 53408,
+ "componentType": 5126,
+ "count": 20,
+ "max": [
+ 0.4455886781215668,
+ 0.35022860765457153
+ ],
+ "min": [
+ 0.41578778624534607,
+ 0.32480210065841675
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 53568,
+ "componentType": 5126,
+ "count": 20,
+ "max": [
+ 0.4455886781215668,
+ 0.35022860765457153
+ ],
+ "min": [
+ 0.41578778624534607,
+ 0.32480210065841675
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 26400,
+ "componentType": 5125,
+ "count": 30,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 80592,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 78.05186462402344,
+ 76.86610412597656,
+ 63.62615203857422
+ ],
+ "min": [
+ -78.05188751220703,
+ -76.86609649658203,
+ -37.85429000854492
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 81720,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 1.0,
+ 0.9848079085350037,
+ 3.336458860303537e-07
+ ],
+ "min": [
+ -1.0,
+ -0.9848077893257141,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 53728,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 0.9488936066627502,
+ 0.5979639291763306
+ ],
+ "min": [
+ 0.15647855401039124,
+ 0.47947776317596436
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 54480,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 0.9488936066627502,
+ 0.5979639291763306
+ ],
+ "min": [
+ 0.15647855401039124,
+ 0.47947776317596436
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 26520,
+ "componentType": 5125,
+ "count": 264,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 82848,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 89.72779846191406,
+ 88.36463928222656,
+ 84.01304626464844
+ ],
+ "min": [
+ -89.72779083251953,
+ -88.36463165283203,
+ -17.467391967773438
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 83976,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 1.0,
+ 0.9848079085350037,
+ 3.7609598280141654e-07
+ ],
+ "min": [
+ -1.0,
+ -0.9848078489303589,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 55232,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 0.8131521344184875,
+ 0.814903974533081
+ ],
+ "min": [
+ 0.6250548362731934,
+ 0.47037920355796814
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 55984,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 0.8131521344184875,
+ 0.814903974533081
+ ],
+ "min": [
+ 0.6250548362731934,
+ 0.47037920355796814
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 27576,
+ "componentType": 5125,
+ "count": 264,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 85104,
+ "componentType": 5126,
+ "count": 264,
+ "max": [
+ 79.6983642578125,
+ 99.61431884765625,
+ -0.0001660468988120556
+ ],
+ "min": [
+ -79.69843292236328,
+ -79.6983871459961,
+ -45.39055252075195
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 88272,
+ "componentType": 5126,
+ "count": 264,
+ "max": [
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 56736,
+ "componentType": 5126,
+ "count": 264,
+ "max": [
+ 0.7269895672798157,
+ 0.6400495171546936
+ ],
+ "min": [
+ 0.2019713819026947,
+ 0.1974221020936966
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 58848,
+ "componentType": 5126,
+ "count": 264,
+ "max": [
+ 0.7269895672798157,
+ 0.6400495171546936
+ ],
+ "min": [
+ 0.2019713819026947,
+ 0.1974221020936966
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 28632,
+ "componentType": 5125,
+ "count": 504,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 91440,
+ "componentType": 5126,
+ "count": 150,
+ "max": [
+ 108.80197143554688,
+ 107.14903259277344,
+ 0.0
+ ],
+ "min": [
+ -108.80197143554688,
+ -107.14903259277344,
+ -44.527313232421875
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 93240,
+ "componentType": 5126,
+ "count": 150,
+ "max": [
+ 1.0,
+ 0.9848079085350037,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -0.9848078489303589,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 60960,
+ "componentType": 5126,
+ "count": 150,
+ "max": [
+ 0.5842157602310181,
+ 0.6201326847076416
+ ],
+ "min": [
+ 0.34754854440689087,
+ 0.24291494488716125
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 62160,
+ "componentType": 5126,
+ "count": 150,
+ "max": [
+ 0.5842157602310181,
+ 0.6201326847076416
+ ],
+ "min": [
+ 0.34754854440689087,
+ 0.24291494488716125
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 30648,
+ "componentType": 5125,
+ "count": 420,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 95040,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 57.55388641357422,
+ 56.6698112487793,
+ 41.559165954589844
+ ],
+ "min": [
+ -57.574981689453125,
+ -56.66981506347656,
+ -7.490840435028076
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 96168,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 0.9999996423721313,
+ 0.9848244786262512,
+ 1.0
+ ],
+ "min": [
+ -0.9999996423721313,
+ -0.9848244786262512,
+ -0.0008799081551842391
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 63360,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 0.4463443160057068,
+ 0.4287244975566864
+ ],
+ "min": [
+ 0.32480210065841675,
+ 0.3566471040248871
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 64112,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 0.4463443160057068,
+ 0.4287244975566864
+ ],
+ "min": [
+ 0.32480210065841675,
+ 0.3566471040248871
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 32328,
+ "componentType": 5125,
+ "count": 264,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 97296,
+ "componentType": 5126,
+ "count": 18,
+ "max": [
+ 40.78863525390625,
+ 40.78863525390625,
+ 361.11846923828125
+ ],
+ "min": [
+ -40.78863525390625,
+ -40.78863525390625,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 97512,
+ "componentType": 5126,
+ "count": 18,
+ "max": [
+ 1.0,
+ 1.0,
+ 0.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 64864,
+ "componentType": 5126,
+ "count": 18,
+ "max": [
+ 0.9545474648475647,
+ 0.9682350158691406
+ ],
+ "min": [
+ 0.8661670088768005,
+ 0.9071105122566223
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 65008,
+ "componentType": 5126,
+ "count": 18,
+ "max": [
+ 0.9545474648475647,
+ 0.9682350158691406
+ ],
+ "min": [
+ 0.8661670088768005,
+ 0.9071105122566223
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 33384,
+ "componentType": 5125,
+ "count": 48,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 97728,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 57.55388641357422,
+ 56.6698112487793,
+ 41.559165954589844
+ ],
+ "min": [
+ -57.574981689453125,
+ -56.66981506347656,
+ -7.490840435028076
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 98856,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 0.9999996423721313,
+ 0.9848244786262512,
+ 1.0
+ ],
+ "min": [
+ -0.9999996423721313,
+ -0.9848244786262512,
+ -0.0008799081551842391
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 65152,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 0.9799999594688416,
+ 0.8757890462875366
+ ],
+ "min": [
+ 0.17012637853622437,
+ 0.12008427083492279
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 65904,
+ "componentType": 5126,
+ "count": 94,
+ "max": [
+ 0.9799999594688416,
+ 0.8757890462875366
+ ],
+ "min": [
+ 0.17012637853622437,
+ 0.12008427083492279
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 33576,
+ "componentType": 5125,
+ "count": 264,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 99984,
+ "componentType": 5126,
+ "count": 38,
+ "max": [
+ 57.54403305053711,
+ 56.6698112487793,
+ 16.239513397216797
+ ],
+ "min": [
+ -57.54403305053711,
+ -56.66981506347656,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 100440,
+ "componentType": 5126,
+ "count": 38,
+ "max": [
+ 1.0,
+ 0.9848078489303589,
+ 0.0
+ ],
+ "min": [
+ -1.0,
+ -0.9848079085350037,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 66656,
+ "componentType": 5126,
+ "count": 38,
+ "max": [
+ 0.4562755525112152,
+ 0.20616061985492706
+ ],
+ "min": [
+ 0.4521820843219757,
+ 0.11553497612476349
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 66960,
+ "componentType": 5126,
+ "count": 38,
+ "max": [
+ 0.4562755525112152,
+ 0.20616061985492706
+ ],
+ "min": [
+ 0.4521820843219757,
+ 0.11553497612476349
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 34632,
+ "componentType": 5125,
+ "count": 108,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 100896,
+ "componentType": 5126,
+ "count": 338,
+ "max": [
+ 180.0201416015625,
+ 201.11404418945313,
+ 382.08880615234375
+ ],
+ "min": [
+ -87.83654022216797,
+ -82.48674774169922,
+ 9.966599464416504
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 104952,
+ "componentType": 5126,
+ "count": 338,
+ "max": [
+ 0.9936104416847229,
+ 1.0,
+ 0.9711464643478394
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ -0.9638761878013611
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 67264,
+ "componentType": 5126,
+ "count": 338,
+ "max": [
+ 0.8809950351715088,
+ 0.9694674015045166
+ ],
+ "min": [
+ 0.5158720016479492,
+ 0.4385342001914978
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 69968,
+ "componentType": 5126,
+ "count": 338,
+ "max": [
+ 0.8809950351715088,
+ 0.9694674015045166
+ ],
+ "min": [
+ 0.5158720016479492,
+ 0.4385342001914978
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 35064,
+ "componentType": 5125,
+ "count": 756,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 109008,
+ "componentType": 5126,
+ "count": 184,
+ "max": [
+ 109.70357513427734,
+ 109.70357513427734,
+ 169.8992462158203
+ ],
+ "min": [
+ -109.70357513427734,
+ -109.70357513427734,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 111216,
+ "componentType": 5126,
+ "count": 184,
+ "max": [
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 72672,
+ "componentType": 5126,
+ "count": 184,
+ "max": [
+ 0.5365810990333557,
+ 0.39310920238494873
+ ],
+ "min": [
+ 0.07114402949810028,
+ 0.019999999552965164
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 74144,
+ "componentType": 5126,
+ "count": 184,
+ "max": [
+ 0.5365810990333557,
+ 0.39310920238494873
+ ],
+ "min": [
+ 0.07004213333129883,
+ 0.019999999552965164
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 38088,
+ "componentType": 5125,
+ "count": 534,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 113424,
+ "componentType": 5126,
+ "count": 62,
+ "max": [
+ 194.96820068359375,
+ -118.39031982421875,
+ 382.0848083496094
+ ],
+ "min": [
+ -72.94303894042969,
+ -179.59835815429688,
+ 9.95806884765625
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 114168,
+ "componentType": 5126,
+ "count": 62,
+ "max": [
+ 0.9737647771835327,
+ 5.78831386519596e-05,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 75616,
+ "componentType": 5126,
+ "count": 62,
+ "max": [
+ 0.9262850880622864,
+ 0.5314533114433289
+ ],
+ "min": [
+ 0.5158720016479492,
+ 0.11553497612476349
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 76112,
+ "componentType": 5126,
+ "count": 62,
+ "max": [
+ 0.9262850880622864,
+ 0.5314533114433289
+ ],
+ "min": [
+ 0.5158720016479492,
+ 0.11553497612476349
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 40224,
+ "componentType": 5125,
+ "count": 114,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 114912,
+ "componentType": 5126,
+ "count": 56,
+ "max": [
+ 35.94198226928711,
+ 35.39594268798828,
+ 27.828262329101563
+ ],
+ "min": [
+ -35.94198226928711,
+ -35.39594650268555,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 115584,
+ "componentType": 5126,
+ "count": 56,
+ "max": [
+ 1.0,
+ 0.9848078489303589,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -0.9848079085350037,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 76608,
+ "componentType": 5126,
+ "count": 56,
+ "max": [
+ 0.693692684173584,
+ 0.979295015335083
+ ],
+ "min": [
+ 0.02454928494989872,
+ 0.33844995498657227
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 77056,
+ "componentType": 5126,
+ "count": 56,
+ "max": [
+ 0.693692684173584,
+ 0.979295015335083
+ ],
+ "min": [
+ 0.02454928494989872,
+ 0.33844995498657227
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 40680,
+ "componentType": 5125,
+ "count": 156,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 116256,
+ "componentType": 5126,
+ "count": 294,
+ "max": [
+ 109.70359802246094,
+ 109.70359802246094,
+ 169.8992462158203
+ ],
+ "min": [
+ -109.70359802246094,
+ -109.70359802246094,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 119784,
+ "componentType": 5126,
+ "count": 294,
+ "max": [
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 77504,
+ "componentType": 5126,
+ "count": 294,
+ "max": [
+ 0.9405826330184937,
+ 0.7358646988868713
+ ],
+ "min": [
+ 0.07004214078187943,
+ 0.39759066700935364
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 79856,
+ "componentType": 5126,
+ "count": 294,
+ "max": [
+ 0.9405826330184937,
+ 0.7358646988868713
+ ],
+ "min": [
+ 0.07004214078187943,
+ 0.39759066700935364
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 41304,
+ "componentType": 5125,
+ "count": 852,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 123312,
+ "componentType": 5126,
+ "count": 110,
+ "max": [
+ 109.70357513427734,
+ 109.70357513427734,
+ 169.8992462158203
+ ],
+ "min": [
+ -109.70357513427734,
+ -109.70357513427734,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 124632,
+ "componentType": 5126,
+ "count": 110,
+ "max": [
+ 1.0,
+ 1.0,
+ 0.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 82208,
+ "componentType": 5126,
+ "count": 110,
+ "max": [
+ 0.8570070862770081,
+ 0.5975303053855896
+ ],
+ "min": [
+ 0.07004214078187943,
+ 0.4931256175041199
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 83088,
+ "componentType": 5126,
+ "count": 110,
+ "max": [
+ 0.8570070862770081,
+ 0.5975303053855896
+ ],
+ "min": [
+ 0.07004214078187943,
+ 0.4931256175041199
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 44712,
+ "componentType": 5125,
+ "count": 318,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 125952,
+ "componentType": 5126,
+ "count": 640,
+ "max": [
+ 122.6666030883789,
+ 366.4515686035156,
+ 124.89019775390625
+ ],
+ "min": [
+ -1000.6387939453125,
+ -122.6666030883789,
+ 2.8458612177928444e-06
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 133632,
+ "componentType": 5126,
+ "count": 640,
+ "max": [
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 83968,
+ "componentType": 5126,
+ "count": 640,
+ "max": [
+ 0.9664340615272522,
+ 0.32548391819000244
+ ],
+ "min": [
+ 0.07459143549203873,
+ 0.019999999552965164
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 89088,
+ "componentType": 5126,
+ "count": 640,
+ "max": [
+ 0.9664340615272522,
+ 0.32548391819000244
+ ],
+ "min": [
+ 0.07459143549203873,
+ 0.019999999552965164
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 45984,
+ "componentType": 5125,
+ "count": 1860,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 141312,
+ "componentType": 5126,
+ "count": 472,
+ "max": [
+ 27.953916549682617,
+ 27.953916549682617,
+ 18.759889602661133
+ ],
+ "min": [
+ -27.953916549682617,
+ -27.953916549682617,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 146976,
+ "componentType": 5126,
+ "count": 472,
+ "max": [
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 94208,
+ "componentType": 5126,
+ "count": 472,
+ "max": [
+ 0.7971087098121643,
+ 0.8712167739868164
+ ],
+ "min": [
+ 0.6250548362731934,
+ 0.5067734718322754
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 97984,
+ "componentType": 5126,
+ "count": 472,
+ "max": [
+ 0.7971087098121643,
+ 0.8712167739868164
+ ],
+ "min": [
+ 0.6250548362731934,
+ 0.5067734718322754
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 53424,
+ "componentType": 5125,
+ "count": 966,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 152640,
+ "componentType": 5126,
+ "count": 768,
+ "max": [
+ 799.6898803710938,
+ 211.10348510742188,
+ -12.580184936523438
+ ],
+ "min": [
+ -223.6195526123047,
+ -465.4950256347656,
+ -272.6370544433594
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 161856,
+ "componentType": 5126,
+ "count": 768,
+ "max": [
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -0.9569405913352966,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 101760,
+ "componentType": 5126,
+ "count": 768,
+ "max": [
+ 0.7797155976295471,
+ 0.7494584321975708
+ ],
+ "min": [
+ 0.1246335506439209,
+ 0.11553497612476349
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 107904,
+ "componentType": 5126,
+ "count": 768,
+ "max": [
+ 0.7797155976295471,
+ 0.7494584321975708
+ ],
+ "min": [
+ 0.1246335506439209,
+ 0.11553497612476349
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 57288,
+ "componentType": 5125,
+ "count": 1704,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 171072,
+ "componentType": 5126,
+ "count": 584,
+ "max": [
+ 151.21044921875,
+ 151.21044921875,
+ 211.65963745117188
+ ],
+ "min": [
+ -151.21044921875,
+ -151.21044921875,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 178080,
+ "componentType": 5126,
+ "count": 584,
+ "max": [
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 114048,
+ "componentType": 5126,
+ "count": 584,
+ "max": [
+ 0.9783942103385925,
+ 0.6977366805076599
+ ],
+ "min": [
+ 0.34754854440689087,
+ 0.3020556569099426
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 118720,
+ "componentType": 5126,
+ "count": 584,
+ "max": [
+ 0.9783942103385925,
+ 0.6977366805076599
+ ],
+ "min": [
+ 0.34754854440689087,
+ 0.3020556569099426
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 64104,
+ "componentType": 5125,
+ "count": 1716,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 185088,
+ "componentType": 5126,
+ "count": 164,
+ "max": [
+ 273.5501403808594,
+ 273.5501403808594,
+ 126.99469757080078
+ ],
+ "min": [
+ -273.5501403808594,
+ -273.5501403808594,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 187056,
+ "componentType": 5126,
+ "count": 164,
+ "max": [
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 123392,
+ "componentType": 5126,
+ "count": 164,
+ "max": [
+ 0.9495565295219421,
+ 0.46278300881385803
+ ],
+ "min": [
+ 0.07459142059087753,
+ 0.07459142059087753
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 124704,
+ "componentType": 5126,
+ "count": 164,
+ "max": [
+ 0.9495565295219421,
+ 0.46278300881385803
+ ],
+ "min": [
+ 0.07459142059087753,
+ 0.07459142059087753
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 70968,
+ "componentType": 5125,
+ "count": 474,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 189024,
+ "componentType": 5126,
+ "count": 24,
+ "max": [
+ 576.7679443359375,
+ 576.7679443359375,
+ -7.62939453125e-06
+ ],
+ "min": [
+ -576.7679443359375,
+ -576.7679443359375,
+ -40.00000762939453
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 189312,
+ "componentType": 5126,
+ "count": 24,
+ "max": [
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 126016,
+ "componentType": 5126,
+ "count": 24,
+ "max": [
+ 0.7973579168319702,
+ 0.9665467739105225
+ ],
+ "min": [
+ 0.07004212588071823,
+ 0.03819713741540909
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 126208,
+ "componentType": 5126,
+ "count": 24,
+ "max": [
+ 0.7973579168319702,
+ 0.9665467739105225
+ ],
+ "min": [
+ 0.07004212588071823,
+ 0.03819713741540909
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 72864,
+ "componentType": 5125,
+ "count": 36,
+ "type": "SCALAR"
+ }
+ ],
+ "asset": {
+ "extras": {
+ "author": "pcorralr (https://sketchfab.com/pcorralr)",
+ "license": "CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)",
+ "source": "https://sketchfab.com/3d-models/robotic-arm-brazo-robotico-e10b8ba5105b4d5c9ff5ba3de5e649c3",
+ "title": "Robotic Arm - Brazo Robotico"
+ },
+ "generator": "Sketchfab-12.67.0",
+ "version": "2.0"
+ },
+ "bufferViews": [
+ {
+ "buffer": 0,
+ "byteLength": 73008,
+ "name": "floatBufferViews",
+ "target": 34963
+ },
+ {
+ "buffer": 0,
+ "byteLength": 126400,
+ "byteOffset": 73008,
+ "byteStride": 8,
+ "name": "floatBufferViews",
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 189600,
+ "byteOffset": 199408,
+ "byteStride": 12,
+ "name": "floatBufferViews",
+ "target": 34962
+ }
+ ],
+ "buffers": [
+ {
+ "byteLength": 389008,
+ "uri": "scene.bin"
+ }
+ ],
+ "images": [
+ {
+ "uri": "textures/01_-_Default_baseColor.jpeg"
+ }
+ ],
+ "materials": [
+ {
+ "doubleSided": true,
+ "name": "01_-_Default",
+ "pbrMetallicRoughness": {
+ "baseColorTexture": {
+ "index": 0
+ },
+ "metallicFactor": 0.0,
+ "roughnessFactor": 0.22389481707317072
+ }
+ }
+ ],
+ "meshes": [
+ {
+ "name": "Base_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 1,
+ "POSITION": 0,
+ "TEXCOORD_0": 2,
+ "TEXCOORD_1": 3
+ },
+ "indices": 4,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder016_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 6,
+ "POSITION": 5,
+ "TEXCOORD_0": 7,
+ "TEXCOORD_1": 8
+ },
+ "indices": 9,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder020_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 11,
+ "POSITION": 10,
+ "TEXCOORD_0": 12,
+ "TEXCOORD_1": 13
+ },
+ "indices": 14,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder019_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 16,
+ "POSITION": 15,
+ "TEXCOORD_0": 17,
+ "TEXCOORD_1": 18
+ },
+ "indices": 19,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder022_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 21,
+ "POSITION": 20,
+ "TEXCOORD_0": 22,
+ "TEXCOORD_1": 23
+ },
+ "indices": 24,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Object003_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 26,
+ "POSITION": 25,
+ "TEXCOORD_0": 27,
+ "TEXCOORD_1": 28
+ },
+ "indices": 29,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Box005_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 31,
+ "POSITION": 30,
+ "TEXCOORD_0": 32,
+ "TEXCOORD_1": 33
+ },
+ "indices": 34,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Box006_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 36,
+ "POSITION": 35,
+ "TEXCOORD_0": 37,
+ "TEXCOORD_1": 38
+ },
+ "indices": 39,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Box007_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 41,
+ "POSITION": 40,
+ "TEXCOORD_0": 42,
+ "TEXCOORD_1": 43
+ },
+ "indices": 44,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Box004_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 46,
+ "POSITION": 45,
+ "TEXCOORD_0": 47,
+ "TEXCOORD_1": 48
+ },
+ "indices": 49,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Box003_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 51,
+ "POSITION": 50,
+ "TEXCOORD_0": 52,
+ "TEXCOORD_1": 53
+ },
+ "indices": 54,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Box002_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 56,
+ "POSITION": 55,
+ "TEXCOORD_0": 57,
+ "TEXCOORD_1": 58
+ },
+ "indices": 59,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Object004_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 61,
+ "POSITION": 60,
+ "TEXCOORD_0": 62,
+ "TEXCOORD_1": 63
+ },
+ "indices": 64,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder021_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 66,
+ "POSITION": 65,
+ "TEXCOORD_0": 67,
+ "TEXCOORD_1": 68
+ },
+ "indices": 69,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder017_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 71,
+ "POSITION": 70,
+ "TEXCOORD_0": 72,
+ "TEXCOORD_1": 73
+ },
+ "indices": 74,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder018_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 76,
+ "POSITION": 75,
+ "TEXCOORD_0": 77,
+ "TEXCOORD_1": 78
+ },
+ "indices": 79,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder014_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 81,
+ "POSITION": 80,
+ "TEXCOORD_0": 82,
+ "TEXCOORD_1": 83
+ },
+ "indices": 84,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder013_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 86,
+ "POSITION": 85,
+ "TEXCOORD_0": 87,
+ "TEXCOORD_1": 88
+ },
+ "indices": 89,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder012_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 91,
+ "POSITION": 90,
+ "TEXCOORD_0": 92,
+ "TEXCOORD_1": 93
+ },
+ "indices": 94,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder011_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 96,
+ "POSITION": 95,
+ "TEXCOORD_0": 97,
+ "TEXCOORD_1": 98
+ },
+ "indices": 99,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Box001_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 101,
+ "POSITION": 100,
+ "TEXCOORD_0": 102,
+ "TEXCOORD_1": 103
+ },
+ "indices": 104,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder009_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 106,
+ "POSITION": 105,
+ "TEXCOORD_0": 107,
+ "TEXCOORD_1": 108
+ },
+ "indices": 109,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Object002_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 111,
+ "POSITION": 110,
+ "TEXCOORD_0": 112,
+ "TEXCOORD_1": 113
+ },
+ "indices": 114,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder010_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 116,
+ "POSITION": 115,
+ "TEXCOORD_0": 117,
+ "TEXCOORD_1": 118
+ },
+ "indices": 119,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder008_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 121,
+ "POSITION": 120,
+ "TEXCOORD_0": 122,
+ "TEXCOORD_1": 123
+ },
+ "indices": 124,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder007_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 126,
+ "POSITION": 125,
+ "TEXCOORD_0": 127,
+ "TEXCOORD_1": 128
+ },
+ "indices": 129,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder005_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 131,
+ "POSITION": 130,
+ "TEXCOORD_0": 132,
+ "TEXCOORD_1": 133
+ },
+ "indices": 134,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder006_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 136,
+ "POSITION": 135,
+ "TEXCOORD_0": 137,
+ "TEXCOORD_1": 138
+ },
+ "indices": 139,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder002_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 141,
+ "POSITION": 140,
+ "TEXCOORD_0": 142,
+ "TEXCOORD_1": 143
+ },
+ "indices": 144,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder003_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 146,
+ "POSITION": 145,
+ "TEXCOORD_0": 147,
+ "TEXCOORD_1": 148
+ },
+ "indices": 149,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder001_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 151,
+ "POSITION": 150,
+ "TEXCOORD_0": 152,
+ "TEXCOORD_1": 153
+ },
+ "indices": 154,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Object005_01 - Default_0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 156,
+ "POSITION": 155,
+ "TEXCOORD_0": 157,
+ "TEXCOORD_1": 158
+ },
+ "indices": 159,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ }
+ ],
+ "nodes": [
+ {
+ "children": [
+ 1
+ ],
+ "matrix": [
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 2.220446049250313e-16,
+ -1.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 2.220446049250313e-16,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0
+ ],
+ "name": "Sketchfab_model"
+ },
+ {
+ "children": [
+ 2
+ ],
+ "matrix": [
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0,
+ -1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0
+ ],
+ "name": "brazo.FBX"
+ },
+ {
+ "children": [
+ 3,
+ 5,
+ 78
+ ],
+ "name": "RootNode"
+ },
+ {
+ "children": [
+ 4
+ ],
+ "matrix": [
+ 0.8668997883796692,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.924904210203569e-16,
+ -0.8668997883796692,
+ 0.0,
+ 0.0,
+ 1.0,
+ 2.220446049250313e-16,
+ 0.0,
+ 0.0,
+ 40.00000762939453,
+ 0.0,
+ 1.0
+ ],
+ "name": "Base"
+ },
+ {
+ "mesh": 0,
+ "name": "Base_01 - Default_0"
+ },
+ {
+ "children": [
+ 6,
+ 70,
+ 73,
+ 76
+ ],
+ "matrix": [
+ 4.183074951171875,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 9.288292249047536e-16,
+ -4.183074951171875,
+ 0.0,
+ 0.0,
+ 4.183074951171875,
+ 9.288292249047536e-16,
+ 0.0,
+ 0.0,
+ 151.27996826171875,
+ 0.0,
+ 1.0
+ ],
+ "name": "Base"
+ },
+ {
+ "children": [
+ 7,
+ 62,
+ 64,
+ 66,
+ 68
+ ],
+ "matrix": [
+ 0.23905816674026342,
+ -3.384132920528149e-07,
+ 9.333082537836931e-07,
+ 0.0,
+ 3.384138196446063e-07,
+ 0.23905855417227628,
+ 5.3433755197890265e-09,
+ 0.0,
+ -9.333112864834274e-07,
+ -5.3420629741580225e-09,
+ 0.23905894160088498,
+ 0.0,
+ 24.07707977294922,
+ 52.12690353393555,
+ 72.58599853515625,
+ 1.0
+ ],
+ "name": "Arm01"
+ },
+ {
+ "children": [
+ 8,
+ 10,
+ 46,
+ 48,
+ 50,
+ 52,
+ 54,
+ 56,
+ 58,
+ 60
+ ],
+ "matrix": [
+ 0.1311066895723343,
+ 6.58425732898763e-15,
+ -1.3968556135124125e-22,
+ 0.0,
+ -1.7041315844209679e-15,
+ 0.033932913277214816,
+ -0.12663933609719158,
+ 0.0,
+ -6.35990409654943e-15,
+ 0.12663933609719158,
+ 0.033932913277214816,
+ 0.0,
+ -82.28008270263672,
+ -847.1983032226563,
+ 449.5225830078125,
+ 1.0
+ ],
+ "name": "Arm02"
+ },
+ {
+ "children": [
+ 9
+ ],
+ "matrix": [
+ -1.2426611121862782e-06,
+ -7.6273756027215756,
+ 2.7418143442823878e-06,
+ 0.0,
+ -1.1396064260518958e-05,
+ 2.741815513581581e-06,
+ 7.627373695364531,
+ 0.0,
+ -11.634041786180711,
+ 1.8954256857614263e-06,
+ -1.7382430483487443e-05,
+ 0.0,
+ -1117.31640625,
+ -430.6298828125,
+ 7484.99951171875,
+ 1.0
+ ],
+ "name": "Cylinder016"
+ },
+ {
+ "mesh": 1,
+ "name": "Cylinder016_01 - Default_0"
+ },
+ {
+ "children": [
+ 11,
+ 42,
+ 44
+ ],
+ "matrix": [
+ -1.8066475917798134e-06,
+ -11.089127725426966,
+ 30.46713116885068,
+ 0.0,
+ -3.185548809967761e-07,
+ 30.46713116885073,
+ 11.089127725426968,
+ 0.0,
+ -32.42244338989253,
+ 3.185661378906477e-07,
+ -1.8066456119919393e-06,
+ 0.0,
+ -598.2978515625,
+ -430.6298828125,
+ 7484.99951171875,
+ 1.0
+ ],
+ "name": "Arm03"
+ },
+ {
+ "children": [
+ 12,
+ 14,
+ 16
+ ],
+ "matrix": [
+ 3.4075804531508667e-09,
+ -1.943005486266128e-18,
+ -0.017501037567853598,
+ 0.0,
+ -0.017501037567853574,
+ 9.313225710244162e-10,
+ -3.407580451207861e-09,
+ 0.0,
+ 9.313225719959189e-10,
+ 0.017501037567853903,
+ 1.7875650473648378e-16,
+ 0.0,
+ 1.52587890625e-05,
+ 42.53497314453125,
+ -0.009520530700683594,
+ 1.0
+ ],
+ "name": "Arm03Rotation"
+ },
+ {
+ "children": [
+ 13
+ ],
+ "matrix": [
+ -13.442047119118666,
+ 6.368837606437336e-06,
+ -2.3449362144239132e-05,
+ 0.0,
+ 6.368843193028321e-06,
+ 13.442051887510562,
+ -1.9073484954484713e-06,
+ 0.0,
+ 3.209807967670826e-05,
+ -2.6108412187374255e-06,
+ -18.399814605684714,
+ 0.0,
+ -0.00457763671875,
+ 0.001953125,
+ 123.865234375,
+ 1.0
+ ],
+ "name": "Cylinder020"
+ },
+ {
+ "mesh": 2,
+ "name": "Cylinder020_01 - Default_0"
+ },
+ {
+ "children": [
+ 15
+ ],
+ "matrix": [
+ 13.442049026481618,
+ -6.40966709397263e-06,
+ 1.2819337825923772e-05,
+ 0.0,
+ 6.409668912964654e-06,
+ 13.44205188751067,
+ -4.76837124452345e-07,
+ 0.0,
+ -2.580918727285876e-06,
+ 9.600288388052172e-08,
+ 2.7062892913806036,
+ 0.0,
+ -0.00469970703125,
+ 0.001953125,
+ 0.0,
+ 1.0
+ ],
+ "name": "Cylinder019"
+ },
+ {
+ "mesh": 3,
+ "name": "Cylinder019_01 - Default_0"
+ },
+ {
+ "children": [
+ 17,
+ 40
+ ],
+ "matrix": [
+ 0.8983889222145081,
+ 2.2737364505592508e-13,
+ 2.2737364452652946e-13,
+ 0.0,
+ -2.2737364505592508e-13,
+ 0.8983889222145081,
+ 0.0,
+ 0.0,
+ -2.2737364452652946e-13,
+ -5.754609509009851e-26,
+ 0.8983889222145081,
+ 0.0,
+ 0.0,
+ 0.0029296875,
+ 801.1953125,
+ 1.0
+ ],
+ "name": "Expand01"
+ },
+ {
+ "children": [
+ 18,
+ 38
+ ],
+ "matrix": [
+ 0.13900363445281982,
+ -2.8421709377464445e-14,
+ -2.8421709390699338e-14,
+ 0.0,
+ 2.842171090086496e-14,
+ 0.13900363445281963,
+ 7.450579805889924e-09,
+ 0.0,
+ 2.842170786729874e-14,
+ -7.450579805889924e-09,
+ 0.13900363445281963,
+ 0.0,
+ -0.0584716796875,
+ 0.0048828125,
+ 466.734375,
+ 1.0
+ ],
+ "name": "Expand02"
+ },
+ {
+ "children": [
+ 19,
+ 22,
+ 24,
+ 31
+ ],
+ "matrix": [
+ 216.9894256591797,
+ -1.897353801849633e-19,
+ -5.421010862427521e-20,
+ 0.0,
+ 1.8973538209100231e-19,
+ 216.98942565917955,
+ 7.629395085473336e-06,
+ 0.0,
+ 5.421010195313823e-20,
+ -7.629395085473336e-06,
+ 216.98942565917955,
+ 0.0,
+ 0.4150390625,
+ -0.0078125,
+ 7006.515625,
+ 1.0
+ ],
+ "name": "Expand03"
+ },
+ {
+ "children": [
+ 20
+ ],
+ "matrix": [
+ -1.3925916502629495e-07,
+ -0.30096814036354147,
+ -2.6822129985228826e-07,
+ 0.0,
+ -2.905065427077409e-07,
+ -2.682205279616319e-07,
+ 0.30096742510769625,
+ 0.0,
+ -0.30096754431707307,
+ 1.3925914814244352e-07,
+ -2.905065336903142e-07,
+ 0.0,
+ -6.103515625e-05,
+ 0.0,
+ 7.2666168212890625,
+ 1.0
+ ],
+ "name": "Cylinder022"
+ },
+ {
+ "children": [
+ 21
+ ],
+ "matrix": [
+ 1.0,
+ 0.0,
+ -0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 1.433370130143885e-06,
+ 0.0,
+ 32.79168701171875,
+ 1.0
+ ],
+ "name": "Object_20"
+ },
+ {
+ "mesh": 4,
+ "name": "Cylinder022_01 - Default_0"
+ },
+ {
+ "children": [
+ 23
+ ],
+ "matrix": [
+ -0.49606221914153886,
+ 1.0579694943411505e-06,
+ -4.948780280483827e-07,
+ 0.0,
+ 1.0579701612042058e-06,
+ 0.49606263637424874,
+ 2.2351752522810378e-07,
+ 0.0,
+ 6.774025496040621e-07,
+ 3.059548913647595e-07,
+ -0.6790228486057028,
+ 0.0,
+ 5.340576171875e-05,
+ 0.0,
+ -32.99415588378906,
+ 1.0
+ ],
+ "name": "Object003"
+ },
+ {
+ "mesh": 5,
+ "name": "Object003_01 - Default_0"
+ },
+ {
+ "children": [
+ 25,
+ 27,
+ 29
+ ],
+ "matrix": [
+ -8.081886942284227e-08,
+ -0.4960625469684535,
+ 2.7537003064929127e-17,
+ 0.0,
+ -8.081872248539393e-08,
+ 1.321776147116598e-14,
+ 0.4960625469684535,
+ 0.0,
+ -0.49606254696844687,
+ 8.081886942284227e-08,
+ -8.081872248539393e-08,
+ 0.0,
+ -6.103515625e-05,
+ 0.0,
+ 7.2666168212890625,
+ 1.0
+ ],
+ "name": "Finger01"
+ },
+ {
+ "children": [
+ 26
+ ],
+ "matrix": [
+ -5.394876885755653e-07,
+ -9.455545257230002e-17,
+ -0.851679801940747,
+ -0.0,
+ 0.36354887485494897,
+ -1.192092896732804e-07,
+ -2.302862433727459e-07,
+ -0.0,
+ 2.792697239944513e-07,
+ 0.8516802191733855,
+ -1.7710244942923803e-13,
+ -0.0,
+ -32.164794921875,
+ -0.000274658203125,
+ -0.000244140625,
+ 1.0
+ ],
+ "name": "Box005"
+ },
+ {
+ "mesh": 6,
+ "name": "Box005_01 - Default_0"
+ },
+ {
+ "children": [
+ 28
+ ],
+ "matrix": [
+ -4.80030324580829e-07,
+ -3.658235706645572e-17,
+ -0.6590091586111227,
+ -0.0,
+ 0.603202700614733,
+ -2.0861625675055698e-07,
+ -4.393802185576887e-07,
+ -0.0,
+ 2.279168733254377e-07,
+ 0.6590093970298372,
+ -1.6608396116810865e-13,
+ -0.0,
+ -83.0394287109375,
+ 3.12322998046875,
+ -0.00048828125,
+ 1.0
+ ],
+ "name": "Box006"
+ },
+ {
+ "mesh": 7,
+ "name": "Box006_01 - Default_0"
+ },
+ {
+ "children": [
+ 30
+ ],
+ "matrix": [
+ -6.192726854194306e-07,
+ -0.0,
+ -0.9999998211858739,
+ -0.0,
+ 6.556511708111782e-07,
+ 1.0000004768369433,
+ -4.060269338469014e-13,
+ -0.0,
+ -1.0000001192088828,
+ 6.556509363322849e-07,
+ 6.192728699771058e-07,
+ -0.0,
+ -115.90948486328125,
+ 21.60797119140625,
+ -0.00048828125,
+ 1.0
+ ],
+ "name": "Box007"
+ },
+ {
+ "mesh": 8,
+ "name": "Box007_01 - Default_0"
+ },
+ {
+ "children": [
+ 32,
+ 34,
+ 36
+ ],
+ "matrix": [
+ 0.5632542371749878,
+ -1.1368683761573692e-13,
+ -2.273736754432321e-13,
+ 0.0,
+ 1.136868376157369e-13,
+ 0.5632542371749878,
+ -5.551115123125783e-17,
+ 0.0,
+ 2.273736754432321e-13,
+ 5.551115118536488e-17,
+ 0.5632542371749878,
+ 0.0,
+ -3.552713678800501e-15,
+ 0.0,
+ 7.2666168212890625,
+ 1.0
+ ],
+ "name": "Finger02"
+ },
+ {
+ "children": [
+ 33
+ ],
+ "matrix": [
+ 0.8807078599917905,
+ -8.465574978788409e-07,
+ 1.1748973065534784e-06,
+ 0.0,
+ -1.1748986015457417e-06,
+ -6.854525638957467e-07,
+ 0.8807083368290888,
+ 0.0,
+ -8.465566980456074e-07,
+ -0.8807079792015969,
+ -6.854534148936162e-07,
+ 0.0,
+ -0.0001068115234375,
+ -99.9674072265625,
+ 19.030731201171875,
+ 1.0
+ ],
+ "name": "Box004"
+ },
+ {
+ "mesh": 9,
+ "name": "Box004_01 - Default_0"
+ },
+ {
+ "children": [
+ 35
+ ],
+ "matrix": [
+ 0.5803945064537439,
+ -5.665116278236657e-07,
+ 7.20660943670989e-07,
+ 0.0,
+ 5.185378872759724e-07,
+ 0.5312454104420522,
+ 2.2351741790771476e-07,
+ 0.0,
+ -7.206616260834705e-07,
+ -2.441959688426617e-07,
+ 0.5803948640818376,
+ 0.0,
+ -8.0108642578125e-05,
+ -71.01861572265625,
+ 2.750518798828125,
+ 1.0
+ ],
+ "name": "Box003"
+ },
+ {
+ "mesh": 10,
+ "name": "Box003_01 - Default_0"
+ },
+ {
+ "children": [
+ 37
+ ],
+ "matrix": [
+ 0.750081062316034,
+ -7.07492406085532e-07,
+ 8.890954331518817e-07,
+ 0.0,
+ 3.020008171337907e-07,
+ 0.3201804161070072,
+ 1.3411045077238446e-07,
+ 0.0,
+ -8.890963653530697e-07,
+ -3.1417759412265903e-07,
+ 0.7500815987581048,
+ 0.0,
+ -4.9591064453125e-05,
+ -26.21282958984375,
+ -0.000244140625,
+ 1.0
+ ],
+ "name": "Box002"
+ },
+ {
+ "mesh": 11,
+ "name": "Box002_01 - Default_0"
+ },
+ {
+ "children": [
+ 39
+ ],
+ "matrix": [
+ -107.64022827110564,
+ 0.00026425793660338974,
+ -0.00010817662013822078,
+ 0.0,
+ 0.0002642582724330273,
+ 107.64038848842995,
+ 5.7220503605308494e-05,
+ 0.0,
+ 0.00014807519411394785,
+ 7.832444966843942e-05,
+ -147.3407745360376,
+ 0.0,
+ 0.4150390625,
+ -0.0078125,
+ 0.0,
+ 1.0
+ ],
+ "name": "Object004"
+ },
+ {
+ "mesh": 12,
+ "name": "Object004_01 - Default_0"
+ },
+ {
+ "children": [
+ 41
+ ],
+ "matrix": [
+ -14.962402343714086,
+ -1.3334728104770745e-05,
+ -2.9949259072159898e-05,
+ 0.0,
+ -1.3334710479065042e-05,
+ 14.962388992303355,
+ -2.861021309964972e-06,
+ 0.0,
+ 4.0995280685388163e-05,
+ -3.916202795738032e-06,
+ -20.480901718098252,
+ 0.0,
+ -0.0020751953125,
+ -0.0009765625,
+ 466.73046875,
+ 1.0
+ ],
+ "name": "Cylinder021"
+ },
+ {
+ "mesh": 13,
+ "name": "Cylinder021_01 - Default_0"
+ },
+ {
+ "children": [
+ 43
+ ],
+ "matrix": [
+ 0.2830557227134065,
+ 1.3411042251720853e-07,
+ 1.3497148643179242e-07,
+ 0.0,
+ -1.3411014357617417e-07,
+ 0.2830557823173504,
+ -6.442054427654279e-07,
+ 0.0,
+ -1.121761080546705e-07,
+ 5.354039987281874e-07,
+ 0.23524981737073242,
+ 0.0,
+ 1.52587890625e-05,
+ 6.103515625e-05,
+ 5.329712867736816,
+ 1.0
+ ],
+ "name": "Cylinder017"
+ },
+ {
+ "mesh": 14,
+ "name": "Cylinder017_01 - Default_0"
+ },
+ {
+ "children": [
+ 45
+ ],
+ "matrix": [
+ 7.384878879932685e-08,
+ 2.6117976378455633e-17,
+ 0.2352498173713568,
+ 0.0,
+ -0.2352498620748063,
+ -1.2665986217855047e-07,
+ 7.384880284554495e-08,
+ 0.0,
+ 1.7337519594343826e-07,
+ -0.3220159113406668,
+ -5.441294271386243e-14,
+ 0.0,
+ 0.0,
+ 28.196517944335938,
+ -0.009276390075683594,
+ 1.0
+ ],
+ "name": "Cylinder018"
+ },
+ {
+ "mesh": 15,
+ "name": "Cylinder018_01 - Default_0"
+ },
+ {
+ "children": [
+ 47
+ ],
+ "matrix": [
+ 8.079594454553805,
+ -0.1936323604968644,
+ 0.010046291900454226,
+ 0.0,
+ -0.19363242962770302,
+ -8.079595928965036,
+ 2.717972127304321e-05,
+ 0.0,
+ 0.00947792539184042,
+ -0.000252802667173755,
+ -7.627365895102928,
+ 0.0,
+ -598.0875244140625,
+ -430.6298828125,
+ 5065.76318359375,
+ 1.0
+ ],
+ "name": "Cylinder014"
+ },
+ {
+ "mesh": 16,
+ "name": "Cylinder014_01 - Default_0"
+ },
+ {
+ "children": [
+ 49
+ ],
+ "matrix": [
+ 7.627383948514046,
+ 2.337623973757905e-07,
+ -0.010617450835869156,
+ 0.0,
+ -2.3774473521812838e-07,
+ 7.627375602721628,
+ -2.8610229647618728e-06,
+ 0.0,
+ 0.010617407691058513,
+ 2.8613454131061746e-06,
+ 7.627352954128258,
+ 0.0,
+ -602.3084716796875,
+ -430.734375,
+ 2029.24169921875,
+ 1.0
+ ],
+ "name": "Cylinder013"
+ },
+ {
+ "mesh": 17,
+ "name": "Cylinder013_01 - Default_0"
+ },
+ {
+ "children": [
+ 51
+ ],
+ "matrix": [
+ 8.079588759484047,
+ 0.19363237705183692,
+ -0.010022925554444248,
+ 0.0,
+ -0.1936325292959656,
+ 8.079595926606816,
+ 1.573563195567118e-05,
+ 0.0,
+ 0.009456857805336179,
+ 0.00021178458349015012,
+ 7.627366876177125,
+ 0.0,
+ -602.6658935546875,
+ -430.7431640625,
+ 1712.2529296875,
+ 1.0
+ ],
+ "name": "Cylinder012"
+ },
+ {
+ "mesh": 18,
+ "name": "Cylinder012_01 - Default_0"
+ },
+ {
+ "children": [
+ 53
+ ],
+ "matrix": [
+ 8.079588759484047,
+ 0.19363237705183692,
+ -0.010022925554444248,
+ 0.0,
+ -0.1936325292959656,
+ 8.079595926606816,
+ 1.573563195567118e-05,
+ 0.0,
+ 0.009456857805336179,
+ 0.00021178458349015012,
+ 7.627366876177125,
+ 0.0,
+ -602.919677734375,
+ -430.75,
+ 1530.70947265625,
+ 1.0
+ ],
+ "name": "Cylinder011"
+ },
+ {
+ "mesh": 19,
+ "name": "Cylinder011_01 - Default_0"
+ },
+ {
+ "children": [
+ 55
+ ],
+ "matrix": [
+ -8.583399330335721e-05,
+ -7.62737607907627,
+ -1.1920931184693543e-06,
+ 0.0,
+ 0.0006273547127188853,
+ -1.1991526961971412e-06,
+ 7.627374146410506,
+ 0.0,
+ -3.0853912724033736,
+ 3.472113457404875e-05,
+ 0.00025377472768543807,
+ 0.0,
+ -0.000579833984375,
+ 0.0009765625,
+ -0.00048828125,
+ 1.0
+ ],
+ "name": "Box001"
+ },
+ {
+ "mesh": 20,
+ "name": "Box001_01 - Default_0"
+ },
+ {
+ "children": [
+ 57
+ ],
+ "matrix": [
+ -4.879680552175606e-06,
+ -7.627375602720472,
+ 1.4305117426636759e-06,
+ 0.0,
+ -1.6926400663395386e-06,
+ 1.4305122891478294e-06,
+ 7.627372741698897,
+ 0.0,
+ -0.17725318670268764,
+ 1.1339927605221499e-07,
+ -3.933543279478869e-08,
+ 0.0,
+ -0.0001220703125,
+ -9.094947017729282e-13,
+ 0.00048828125,
+ 1.0
+ ],
+ "name": "Cylinder009"
+ },
+ {
+ "mesh": 21,
+ "name": "Cylinder009_01 - Default_0"
+ },
+ {
+ "children": [
+ 59
+ ],
+ "matrix": [
+ -5.979898005185203e-05,
+ -5.313855647704289,
+ -3.576279007107273e-07,
+ 0.0,
+ 0.0004370666364212539,
+ -3.6254629307387866e-07,
+ 5.313854199554832,
+ 0.0,
+ -2.149536602242605,
+ 2.4189598229885674e-05,
+ 0.00017680024819918347,
+ 0.0,
+ -188.90426635742188,
+ 0.013671875,
+ 0.0146484375,
+ 1.0
+ ],
+ "name": "Object002"
+ },
+ {
+ "mesh": 22,
+ "name": "Object002_01 - Default_0"
+ },
+ {
+ "children": [
+ 61
+ ],
+ "matrix": [
+ -7.6273593897283325,
+ -7.105640435184127e-05,
+ 5.5162940831947334e-05,
+ 0.0,
+ -7.105658324058656e-05,
+ 7.627376556065052,
+ -2.6226046996021365e-06,
+ 0.0,
+ -5.516313710798612e-05,
+ -2.6231231897946635e-06,
+ -7.627389907636987,
+ 0.0,
+ -593.3447265625,
+ -399.0166015625,
+ -954.31640625,
+ 1.0
+ ],
+ "name": "Cylinder010"
+ },
+ {
+ "mesh": 23,
+ "name": "Cylinder010_01 - Default_0"
+ },
+ {
+ "children": [
+ 63
+ ],
+ "matrix": [
+ -6.500004588273616e-07,
+ -1.0160101652143305,
+ -1.12799787867439e-16,
+ 0.0,
+ 3.4680051367916053e-06,
+ -2.2187713066919604e-12,
+ 1.0160099267900407,
+ 0.0,
+ -0.10979530215197159,
+ 7.024240427873178e-08,
+ 3.7477062164923195e-07,
+ 0.0,
+ -65.60008239746094,
+ -847.1983642578125,
+ 449.5225830078125,
+ 1.0
+ ],
+ "name": "Cylinder008"
+ },
+ {
+ "mesh": 24,
+ "name": "Cylinder008_01 - Default_0"
+ },
+ {
+ "children": [
+ 65
+ ],
+ "matrix": [
+ -1.629208421058481e-07,
+ -0.9999998211860353,
+ -1.8626395126296094e-07,
+ 0.0,
+ -2.3542172849536196e-06,
+ -1.8626353459649173e-07,
+ 0.999999642369343,
+ 0.0,
+ -0.02323907800012317,
+ 3.786141023207981e-09,
+ -5.470985797326251e-08,
+ 0.0,
+ -63.62598419189453,
+ -847.1983642578125,
+ 449.5225830078125,
+ 1.0
+ ],
+ "name": "Cylinder007"
+ },
+ {
+ "mesh": 25,
+ "name": "Cylinder007_01 - Default_0"
+ },
+ {
+ "children": [
+ 67
+ ],
+ "matrix": [
+ -8.718468647488735e-07,
+ 0.9813754715472789,
+ -0.1921012730318603,
+ 0.0,
+ 1.9375324262869388e-07,
+ 0.1921015478350726,
+ 0.9813768754159718,
+ 0.0,
+ 0.9999983906741923,
+ 8.183870341449059e-07,
+ -3.576264693285692e-07,
+ 0.0,
+ -65.60167694091797,
+ 9.1552734375e-05,
+ -0.000244140625,
+ 1.0
+ ],
+ "name": "Cylinder005"
+ },
+ {
+ "mesh": 26,
+ "name": "Cylinder005_01 - Default_0"
+ },
+ {
+ "children": [
+ 69
+ ],
+ "matrix": [
+ 3.2042639840977503e-07,
+ 3.998519420623727,
+ -5.666243280038158e-07,
+ 0.0,
+ 9.124871073881024e-07,
+ 5.666241529544644e-07,
+ 3.998518705367898,
+ 0.0,
+ 3.834773778915294,
+ -3.0730455978191165e-07,
+ -8.751194429142739e-07,
+ 0.0,
+ 0.0,
+ 3.0517578125e-05,
+ 0.0,
+ 1.0
+ ],
+ "name": "Cylinder006"
+ },
+ {
+ "mesh": 27,
+ "name": "Cylinder006_01 - Default_0"
+ },
+ {
+ "children": [
+ 71
+ ],
+ "matrix": [
+ -2.3769546373031352e-08,
+ -0.14589643478393363,
+ 8.098879055392391e-18,
+ 0.0,
+ -1.6290724317375968e-07,
+ 2.6531927785465473e-14,
+ 0.14589643478384462,
+ 0.0,
+ -0.09445346146815962,
+ 1.5388422155258294e-08,
+ -1.0546627161831608e-07,
+ 0.0,
+ -14.143759727478027,
+ 48.88691329956055,
+ 73.74624633789063,
+ 1.0
+ ],
+ "name": "Cylinder002"
+ },
+ {
+ "children": [
+ 72
+ ],
+ "matrix": [
+ 1.0,
+ 0.0,
+ -0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ -88.77874755859375,
+ 73.97308349609375,
+ 142.60855102539063,
+ 1.0
+ ],
+ "name": "Object_71"
+ },
+ {
+ "mesh": 28,
+ "name": "Cylinder002_01 - Default_0"
+ },
+ {
+ "children": [
+ 74
+ ],
+ "matrix": [
+ -3.894752380465508e-08,
+ 0.23905852437018768,
+ -3.5622503681253695e-08,
+ 0.0,
+ 1.4396567481561037e-07,
+ 3.562254043949255e-08,
+ 0.23905861377711465,
+ 0.0,
+ 0.18550619482990469,
+ 3.022273719367594e-08,
+ -1.1171538719080574e-07,
+ 0.0,
+ -12.733936309814453,
+ 52.12690734863281,
+ 72.5859375,
+ 1.0
+ ],
+ "name": "Cylinder003"
+ },
+ {
+ "children": [
+ 75
+ ],
+ "matrix": [
+ 1.0,
+ 0.0,
+ -0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ -1.7210186342708766e-07,
+ -8.718889148440212e-06,
+ -97.76383972167969,
+ 1.0
+ ],
+ "name": "Object_74"
+ },
+ {
+ "mesh": 29,
+ "name": "Cylinder003_01 - Default_0"
+ },
+ {
+ "children": [
+ 77
+ ],
+ "matrix": [
+ 0.23905856907367706,
+ 0.0,
+ -1.2247121270616658e-15,
+ 0.0,
+ 1.5786656921118277e-47,
+ 0.23905856907367706,
+ 3.0814879110195774e-33,
+ 0.0,
+ 6.955290759269579e-16,
+ -1.7500148744127055e-33,
+ 0.13576430082321167,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.52587890625e-05,
+ 1.0
+ ],
+ "name": "Cylinder001"
+ },
+ {
+ "mesh": 30,
+ "name": "Cylinder001_01 - Default_0"
+ },
+ {
+ "children": [
+ 79
+ ],
+ "matrix": [
+ 0.8668997883796692,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.924904210203569e-16,
+ -0.8668997883796692,
+ 0.0,
+ 0.0,
+ 1.0,
+ 2.220446049250313e-16,
+ 0.0,
+ 0.0,
+ 40.00000762939453,
+ 0.0,
+ 1.0
+ ],
+ "name": "Object005"
+ },
+ {
+ "mesh": 31,
+ "name": "Object005_01 - Default_0"
+ }
+ ],
+ "samplers": [
+ {
+ "magFilter": 9729,
+ "minFilter": 9987,
+ "wrapS": 10497,
+ "wrapT": 10497
+ }
+ ],
+ "scene": 0,
+ "scenes": [
+ {
+ "name": "Sketchfab_Scene",
+ "nodes": [
+ 0
+ ]
+ }
+ ],
+ "textures": [
+ {
+ "sampler": 0,
+ "source": 0
+ }
+ ]
+}
diff --git a/public/models/robotic_arm/textures/01_-_Default_baseColor.jpeg b/public/models/robotic_arm/textures/01_-_Default_baseColor.jpeg
new file mode 100644
index 0000000..3ece8c4
Binary files /dev/null and b/public/models/robotic_arm/textures/01_-_Default_baseColor.jpeg differ
diff --git a/public/models/sensor/license.txt b/public/models/sensor/license.txt
new file mode 100644
index 0000000..52608d6
--- /dev/null
+++ b/public/models/sensor/license.txt
@@ -0,0 +1,11 @@
+Model Information:
+* title: Security Camera
+* source: https://sketchfab.com/3d-models/security-camera-03aa77b6c6864f3e93fc3deecbd79309
+* author: Vladyslav Holhanov (https://sketchfab.com/vladicom08)
+
+Model License:
+* license type: CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)
+* requirements: Author must be credited. Commercial use is allowed.
+
+If you use this 3D model in your project be sure to copy paste this credit wherever you share it:
+This work is based on "Security Camera" (https://sketchfab.com/3d-models/security-camera-03aa77b6c6864f3e93fc3deecbd79309) by Vladyslav Holhanov (https://sketchfab.com/vladicom08) licensed under CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)
\ No newline at end of file
diff --git a/public/models/sensor/scene.bin b/public/models/sensor/scene.bin
new file mode 100644
index 0000000..d613546
Binary files /dev/null and b/public/models/sensor/scene.bin differ
diff --git a/public/models/sensor/scene.gltf b/public/models/sensor/scene.gltf
new file mode 100644
index 0000000..5d60727
--- /dev/null
+++ b/public/models/sensor/scene.gltf
@@ -0,0 +1,663 @@
+{
+ "accessors": [
+ {
+ "bufferView": 2,
+ "componentType": 5126,
+ "count": 22234,
+ "max": [
+ 0.9676374197006226,
+ 0.9796046018600464,
+ 0.8089432120323181
+ ],
+ "min": [
+ -0.9676378965377808,
+ -0.9676375985145569,
+ -0.9908630847930908
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 266808,
+ "componentType": 5126,
+ "count": 22234,
+ "max": [
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ -1.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "componentType": 5126,
+ "count": 22234,
+ "max": [
+ 0.9956167340278625,
+ 0.8686246871948242
+ ],
+ "min": [
+ 0.001953125,
+ 0.001953125
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "componentType": 5125,
+ "count": 119328,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 533616,
+ "componentType": 5126,
+ "count": 1520,
+ "max": [
+ 0.3981478810310364,
+ 0.05236194655299187,
+ 0.05236194655299187
+ ],
+ "min": [
+ -0.3981478810310364,
+ -0.7798631191253662,
+ -0.05236194655299187
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 551856,
+ "componentType": 5126,
+ "count": 1520,
+ "max": [
+ 1.0,
+ 1.0,
+ 0.994147777557373
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ 0.0
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 177872,
+ "componentType": 5126,
+ "count": 1520,
+ "max": [
+ 0.948782205581665,
+ 0.7309250831604004
+ ],
+ "min": [
+ 0.001953125,
+ 0.001953125
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 477312,
+ "componentType": 5125,
+ "count": 5220,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 570096,
+ "componentType": 5126,
+ "count": 49,
+ "max": [
+ 1.0,
+ 1.0,
+ 0.5088424682617188
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ 0.14030812680721283
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 570684,
+ "componentType": 5126,
+ "count": 49,
+ "max": [
+ 0.30805838108062744,
+ 0.30805838108062744,
+ 1.0
+ ],
+ "min": [
+ -0.30805838108062744,
+ -0.30805838108062744,
+ 0.9454177021980286
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 190032,
+ "componentType": 5126,
+ "count": 49,
+ "max": [
+ 0.11482230573892593,
+ 0.6809145212173462
+ ],
+ "min": [
+ 0.05209394171833992,
+ 0.618148684501648
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 498192,
+ "componentType": 5125,
+ "count": 216,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 571272,
+ "componentType": 5126,
+ "count": 6432,
+ "max": [
+ 1.0426695346832275,
+ 1.0426691770553589,
+ 0.49606871604919434
+ ],
+ "min": [
+ -1.0426692962646484,
+ -1.0426422357559204,
+ -0.2453860640525818
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 648456,
+ "componentType": 5126,
+ "count": 6432,
+ "max": [
+ 0.9999982118606567,
+ 0.9999998807907104,
+ 0.9999828338623047
+ ],
+ "min": [
+ -0.9999982118606567,
+ -0.9999988079071045,
+ -0.9959748983383179
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 190424,
+ "componentType": 5126,
+ "count": 6432,
+ "max": [
+ 0.998046875,
+ 0.9271726608276367
+ ],
+ "min": [
+ 0.001953125,
+ 0.001953125
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 499056,
+ "componentType": 5125,
+ "count": 33600,
+ "type": "SCALAR"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 725640,
+ "componentType": 5126,
+ "count": 3690,
+ "max": [
+ 1.254111647605896,
+ 1.2541104555130005,
+ -0.2964184284210205
+ ],
+ "min": [
+ -1.2541115283966064,
+ -1.2541019916534424,
+ -0.9171618819236755
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 769920,
+ "componentType": 5126,
+ "count": 3690,
+ "max": [
+ 1.0,
+ 1.0,
+ 0.9999982118606567
+ ],
+ "min": [
+ -1.0,
+ -1.0,
+ -0.9999984502792358
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 1,
+ "byteOffset": 241880,
+ "componentType": 5126,
+ "count": 3690,
+ "max": [
+ 0.46055126190185547,
+ 0.9659651517868042
+ ],
+ "min": [
+ 0.18428337574005127,
+ 0.38238927721977234
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "byteOffset": 633456,
+ "componentType": 5125,
+ "count": 21120,
+ "type": "SCALAR"
+ }
+ ],
+ "asset": {
+ "extras": {
+ "author": "Vladyslav Holhanov (https://sketchfab.com/vladicom08)",
+ "license": "CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)",
+ "source": "https://sketchfab.com/3d-models/security-camera-03aa77b6c6864f3e93fc3deecbd79309",
+ "title": "Security Camera"
+ },
+ "generator": "Sketchfab-14.6.0",
+ "version": "2.0"
+ },
+ "bufferViews": [
+ {
+ "buffer": 0,
+ "byteLength": 717936,
+ "name": "floatBufferViews",
+ "target": 34963
+ },
+ {
+ "buffer": 0,
+ "byteLength": 271400,
+ "byteOffset": 717936,
+ "byteStride": 8,
+ "name": "floatBufferViews",
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 814200,
+ "byteOffset": 989336,
+ "byteStride": 12,
+ "name": "floatBufferViews",
+ "target": 34962
+ }
+ ],
+ "buffers": [
+ {
+ "byteLength": 1803536,
+ "uri": "scene.bin"
+ }
+ ],
+ "images": [
+ {
+ "uri": "textures/Scene_-_Root_baseColor.png"
+ },
+ {
+ "uri": "textures/Scene_-_Root_metallicRoughness.png"
+ },
+ {
+ "uri": "textures/Scene_-_Root_emissive.png"
+ }
+ ],
+ "materials": [
+ {
+ "doubleSided": true,
+ "emissiveFactor": [
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "emissiveTexture": {
+ "index": 2
+ },
+ "name": "Scene_-_Root",
+ "pbrMetallicRoughness": {
+ "baseColorTexture": {
+ "index": 0
+ },
+ "metallicRoughnessTexture": {
+ "index": 1
+ },
+ "roughnessFactor": 0.3094512195121951
+ }
+ }
+ ],
+ "meshes": [
+ {
+ "name": "Sphere.002__0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 1,
+ "POSITION": 0,
+ "TEXCOORD_0": 2
+ },
+ "indices": 3,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Cylinder__0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 5,
+ "POSITION": 4,
+ "TEXCOORD_0": 6
+ },
+ "indices": 7,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Plane__0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 9,
+ "POSITION": 8,
+ "TEXCOORD_0": 10
+ },
+ "indices": 11,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Sphere__0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 13,
+ "POSITION": 12,
+ "TEXCOORD_0": 14
+ },
+ "indices": 15,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ },
+ {
+ "name": "Sphere.001__0",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 17,
+ "POSITION": 16,
+ "TEXCOORD_0": 18
+ },
+ "indices": 19,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ }
+ ],
+ "nodes": [
+ {
+ "children": [
+ 1
+ ],
+ "matrix": [
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 2.220446049250313e-16,
+ -1.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 2.220446049250313e-16,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0
+ ],
+ "name": "Sketchfab_model"
+ },
+ {
+ "children": [
+ 2
+ ],
+ "matrix": [
+ 0.009999999776482582,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.009999999776482582,
+ 0.0,
+ 0.0,
+ -0.009999999776482582,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0
+ ],
+ "name": "7753a399fa7a4cb4935d6f20a29b1484.fbx"
+ },
+ {
+ "children": [
+ 3,
+ 5,
+ 7,
+ 9,
+ 11
+ ],
+ "name": "RootNode"
+ },
+ {
+ "children": [
+ 4
+ ],
+ "matrix": [
+ 89.09976196289063,
+ -6.782561509268415e-15,
+ -4.326657775644804e-15,
+ 0.0,
+ 1.6357326979866193e-15,
+ 62.19013289541116,
+ -63.80560282839485,
+ 0.0,
+ 7.87702270374375e-15,
+ 63.80560282839485,
+ 62.19013289541116,
+ 0.0,
+ 0.0,
+ 96.58325958251953,
+ -0.8378736972808838,
+ 1.0
+ ],
+ "name": "Sphere.002"
+ },
+ {
+ "mesh": 0,
+ "name": "Sphere.002__0"
+ },
+ {
+ "children": [
+ 6
+ ],
+ "matrix": [
+ 100.0,
+ -7.612322154665843e-15,
+ -4.855970072565206e-15,
+ 0.0,
+ 1.835843609916839e-15,
+ 69.79831542233848,
+ -71.61141783405594,
+ 0.0,
+ 8.840677133115588e-15,
+ 71.61141783405594,
+ 69.79831542233848,
+ 0.0,
+ 0.0,
+ 167.83177185058594,
+ 17.81170654296875,
+ 1.0
+ ],
+ "name": "Cylinder"
+ },
+ {
+ "mesh": 1,
+ "name": "Cylinder__0"
+ },
+ {
+ "children": [
+ 8
+ ],
+ "matrix": [
+ 19.624774932861328,
+ -1.4939010900175114e-15,
+ -9.529731975480243e-16,
+ 0.0,
+ 3.6028031499329666e-16,
+ 13.697764477518456,
+ -14.053580125593436,
+ 0.0,
+ 1.7349631370630286e-15,
+ 14.053580125593436,
+ 13.697764477518456,
+ 0.0,
+ 1.8812717144101043e-06,
+ 130.5634765625,
+ 32.83354187011719,
+ 1.0
+ ],
+ "name": "Plane"
+ },
+ {
+ "mesh": 2,
+ "name": "Plane__0"
+ },
+ {
+ "children": [
+ 10
+ ],
+ "matrix": [
+ 100.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ -1.629206793918314e-05,
+ -99.99999999999868,
+ 0.0,
+ 0.0,
+ 99.99999999999868,
+ -1.629206793918314e-05,
+ 0.0,
+ 0.0,
+ 84.99791717529297,
+ 0.0,
+ 1.0
+ ],
+ "name": "Sphere"
+ },
+ {
+ "mesh": 3,
+ "name": "Sphere__0"
+ },
+ {
+ "children": [
+ 12
+ ],
+ "matrix": [
+ 100.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ -1.629206793918314e-05,
+ -99.99999999999868,
+ 0.0,
+ 0.0,
+ 99.99999999999868,
+ -1.629206793918314e-05,
+ 0.0,
+ 0.0,
+ 90.17996978759766,
+ 0.0,
+ 1.0
+ ],
+ "name": "Sphere.001"
+ },
+ {
+ "mesh": 4,
+ "name": "Sphere.001__0"
+ }
+ ],
+ "samplers": [
+ {
+ "magFilter": 9729,
+ "minFilter": 9987,
+ "wrapS": 10497,
+ "wrapT": 10497
+ }
+ ],
+ "scene": 0,
+ "scenes": [
+ {
+ "name": "Sketchfab_Scene",
+ "nodes": [
+ 0
+ ]
+ }
+ ],
+ "textures": [
+ {
+ "sampler": 0,
+ "source": 0
+ },
+ {
+ "sampler": 0,
+ "source": 1
+ },
+ {
+ "sampler": 0,
+ "source": 2
+ }
+ ]
+}
diff --git a/public/models/sensor/textures/Scene_-_Root_baseColor.png b/public/models/sensor/textures/Scene_-_Root_baseColor.png
new file mode 100644
index 0000000..aa945a1
Binary files /dev/null and b/public/models/sensor/textures/Scene_-_Root_baseColor.png differ
diff --git a/public/models/sensor/textures/Scene_-_Root_emissive.png b/public/models/sensor/textures/Scene_-_Root_emissive.png
new file mode 100644
index 0000000..72e3ee0
Binary files /dev/null and b/public/models/sensor/textures/Scene_-_Root_emissive.png differ
diff --git a/public/models/sensor/textures/Scene_-_Root_metallicRoughness.png b/public/models/sensor/textures/Scene_-_Root_metallicRoughness.png
new file mode 100644
index 0000000..f25bf06
Binary files /dev/null and b/public/models/sensor/textures/Scene_-_Root_metallicRoughness.png differ
diff --git a/public/models/server/license.txt b/public/models/server/license.txt
new file mode 100644
index 0000000..7f50d56
--- /dev/null
+++ b/public/models/server/license.txt
@@ -0,0 +1,11 @@
+Model Information:
+* title: Server Rack
+* source: https://sketchfab.com/3d-models/server-rack-62f6779cb7e448b19aaf58544c3c7218
+* author: Spellkaze (https://sketchfab.com/Spellkaze)
+
+Model License:
+* license type: CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)
+* requirements: Author must be credited. Commercial use is allowed.
+
+If you use this 3D model in your project be sure to copy paste this credit wherever you share it:
+This work is based on "Server Rack" (https://sketchfab.com/3d-models/server-rack-62f6779cb7e448b19aaf58544c3c7218) by Spellkaze (https://sketchfab.com/Spellkaze) licensed under CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)
\ No newline at end of file
diff --git a/public/models/server/scene.bin b/public/models/server/scene.bin
new file mode 100644
index 0000000..dfd7f0e
Binary files /dev/null and b/public/models/server/scene.bin differ
diff --git a/public/models/server/scene.gltf b/public/models/server/scene.gltf
new file mode 100644
index 0000000..4b298f8
--- /dev/null
+++ b/public/models/server/scene.gltf
@@ -0,0 +1,278 @@
+{
+ "accessors": [
+ {
+ "bufferView": 2,
+ "componentType": 5126,
+ "count": 816,
+ "max": [
+ 0.3235290050506592,
+ 1.0,
+ 0.323529988527298
+ ],
+ "min": [
+ -0.3235290050506592,
+ -1.0,
+ -0.323529988527298
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 2,
+ "byteOffset": 9792,
+ "componentType": 5126,
+ "count": 816,
+ "max": [
+ 0.9238797426223755,
+ 0.8755810260772705,
+ 0.9238797426223755
+ ],
+ "min": [
+ -0.9238797426223755,
+ -0.8755802512168884,
+ -0.9238797426223755
+ ],
+ "type": "VEC3"
+ },
+ {
+ "bufferView": 3,
+ "componentType": 5126,
+ "count": 816,
+ "max": [
+ 0.9534627795219421,
+ 0.9534627795219421,
+ 0.9398505687713623,
+ 1.0
+ ],
+ "min": [
+ -0.9534627795219421,
+ -0.9534627199172974,
+ -0.9398506283760071,
+ 1.0
+ ],
+ "type": "VEC4"
+ },
+ {
+ "bufferView": 1,
+ "componentType": 5126,
+ "count": 816,
+ "max": [
+ 0.9955019950866699,
+ 0.995402991771698
+ ],
+ "min": [
+ 0.004497520159929991,
+ 0.004596559796482325
+ ],
+ "type": "VEC2"
+ },
+ {
+ "bufferView": 0,
+ "componentType": 5125,
+ "count": 2232,
+ "type": "SCALAR"
+ }
+ ],
+ "asset": {
+ "extras": {
+ "author": "Spellkaze (https://sketchfab.com/Spellkaze)",
+ "license": "CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)",
+ "source": "https://sketchfab.com/3d-models/server-rack-62f6779cb7e448b19aaf58544c3c7218",
+ "title": "Server Rack"
+ },
+ "generator": "Sketchfab-12.66.0",
+ "version": "2.0"
+ },
+ "bufferViews": [
+ {
+ "buffer": 0,
+ "byteLength": 8928,
+ "name": "floatBufferViews",
+ "target": 34963
+ },
+ {
+ "buffer": 0,
+ "byteLength": 6528,
+ "byteOffset": 8928,
+ "byteStride": 8,
+ "name": "floatBufferViews",
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 19584,
+ "byteOffset": 15456,
+ "byteStride": 12,
+ "name": "floatBufferViews",
+ "target": 34962
+ },
+ {
+ "buffer": 0,
+ "byteLength": 13056,
+ "byteOffset": 35040,
+ "byteStride": 16,
+ "name": "floatBufferViews",
+ "target": 34962
+ }
+ ],
+ "buffers": [
+ {
+ "byteLength": 48096,
+ "uri": "scene.bin"
+ }
+ ],
+ "images": [
+ {
+ "uri": "textures/ServerMaterial_baseColor.jpeg"
+ },
+ {
+ "uri": "textures/ServerMaterial_metallicRoughness.png"
+ },
+ {
+ "uri": "textures/ServerMaterial_emissive.jpeg"
+ },
+ {
+ "uri": "textures/ServerMaterial_normal.png"
+ }
+ ],
+ "materials": [
+ {
+ "doubleSided": true,
+ "emissiveFactor": [
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "emissiveTexture": {
+ "index": 2
+ },
+ "name": "ServerMaterial",
+ "normalTexture": {
+ "index": 3
+ },
+ "occlusionTexture": {
+ "index": 1
+ },
+ "pbrMetallicRoughness": {
+ "baseColorTexture": {
+ "index": 0
+ },
+ "metallicRoughnessTexture": {
+ "index": 1
+ }
+ }
+ }
+ ],
+ "meshes": [
+ {
+ "name": "defaultMaterial",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": 1,
+ "POSITION": 0,
+ "TANGENT": 2,
+ "TEXCOORD_0": 3
+ },
+ "indices": 4,
+ "material": 0,
+ "mode": 4
+ }
+ ]
+ }
+ ],
+ "nodes": [
+ {
+ "children": [
+ 1
+ ],
+ "matrix": [
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 2.220446049250313e-16,
+ -1.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 2.220446049250313e-16,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0
+ ],
+ "name": "Sketchfab_model"
+ },
+ {
+ "children": [
+ 2
+ ],
+ "matrix": [
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ -4.371139006309477e-08,
+ 0.999999999999999,
+ 0.0,
+ 0.0,
+ -0.999999999999999,
+ -4.371139006309477e-08,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0
+ ],
+ "name": "Collada visual scene group"
+ },
+ {
+ "children": [
+ 3
+ ],
+ "name": "Server_lp"
+ },
+ {
+ "mesh": 0,
+ "name": "defaultMaterial"
+ }
+ ],
+ "samplers": [
+ {
+ "magFilter": 9729,
+ "minFilter": 9987,
+ "wrapS": 10497,
+ "wrapT": 10497
+ }
+ ],
+ "scene": 0,
+ "scenes": [
+ {
+ "name": "Sketchfab_Scene",
+ "nodes": [
+ 0
+ ]
+ }
+ ],
+ "textures": [
+ {
+ "sampler": 0,
+ "source": 0
+ },
+ {
+ "sampler": 0,
+ "source": 1
+ },
+ {
+ "sampler": 0,
+ "source": 2
+ },
+ {
+ "sampler": 0,
+ "source": 3
+ }
+ ]
+}
diff --git a/public/models/server/textures/ServerMaterial_baseColor.jpeg b/public/models/server/textures/ServerMaterial_baseColor.jpeg
new file mode 100644
index 0000000..ccedc5c
Binary files /dev/null and b/public/models/server/textures/ServerMaterial_baseColor.jpeg differ
diff --git a/public/models/server/textures/ServerMaterial_emissive.jpeg b/public/models/server/textures/ServerMaterial_emissive.jpeg
new file mode 100644
index 0000000..af83d71
Binary files /dev/null and b/public/models/server/textures/ServerMaterial_emissive.jpeg differ
diff --git a/public/models/server/textures/ServerMaterial_metallicRoughness.png b/public/models/server/textures/ServerMaterial_metallicRoughness.png
new file mode 100644
index 0000000..b790cae
Binary files /dev/null and b/public/models/server/textures/ServerMaterial_metallicRoughness.png differ
diff --git a/public/models/server/textures/ServerMaterial_normal.png b/public/models/server/textures/ServerMaterial_normal.png
new file mode 100644
index 0000000..df402ad
Binary files /dev/null and b/public/models/server/textures/ServerMaterial_normal.png differ
diff --git a/src/components/ScheduleTable.vue b/src/components/ScheduleTable.vue
index 0d647d4..ee69ebb 100644
--- a/src/components/ScheduleTable.vue
+++ b/src/components/ScheduleTable.vue
@@ -1,12 +1,12 @@
@@ -18,7 +18,7 @@ onMounted(() => {
diff --git a/src/hooks/useDrawSchedule3D.ts b/src/hooks/useDrawSchedule3D.ts
new file mode 100644
index 0000000..20c603b
--- /dev/null
+++ b/src/hooks/useDrawSchedule3D.ts
@@ -0,0 +1,117 @@
+import * as echarts from 'echarts'
+import 'echarts-gl'
+
+import { Network } from './useStates'
+
+export function useDrawSchedule3D(chartDom: HTMLElement): any {
+ const chart = echarts.init(chartDom)
+
+ const zCategories = ['Shared', 'Mgmt', 'Data'];
+
+ const option: any = {
+ dataset: {
+ dimensions: ['slot', 'channel', 'type'],
+ source: []
+ },
+ yAxis3D: {
+ type: 'category',
+ name: 'Channels',
+ nameTextStyle: {
+ color: 'white'
+ },
+ data: Array.from({length: Network.SchConfig.value.num_slots}, (_, i) => i + 1),
+ axisTick: {
+ interval: 1
+ },
+ axisLabel: {
+ color: 'white'
+ },
+ min: 0,
+ max: 10
+ },
+ xAxis3D: {
+ type: 'category',
+ name: 'Slots',
+ nameTextStyle: {
+ color: 'white'
+ },
+ data: Array.from({length: Network.SchConfig.value.num_channels}, (_, i) => i + 1),
+ axisTick: {
+ interval: 1
+ },
+ axisLabel: {
+ color: 'white'
+ },
+ min: 0,
+ max: 20
+ },
+ zAxis3D: {
+ type: 'category',
+ data: zCategories,
+ axisTick: {
+ interval: 1
+ },
+ axisLabel: {
+ color: 'white'
+ },
+ min: 0,
+ max: 2
+ },
+ grid3D: {
+ light: {
+ main: {
+ shadow: true,
+ quality: 'ultra',
+ intensity: 1.5
+ }
+ },
+ borderColor: 'white'
+ },
+ series: [{
+ type: 'bar3D',
+
+ xAxisIndex: 0,
+ yAxisIndex: 0,
+ zAxisIndex: 0,
+
+ seriesIndex: 0,
+ itemStyle: {
+ depth: 20,
+ height: 20
+ },
+ encode: {
+ x: 'slot',
+ y: 'channel',
+ z: {
+ field: 'type',
+ ordinal: 'true',
+ },
+ color: 'color'
+ }
+ }],
+ visualMap: {
+ show: false,
+ dimension: 2,
+ categories: [0, 1, 2],
+ inRange: {
+ color: ['green', 'red', 'blue']
+ }
+ },
+ responsive: true
+ }
+
+ for (let slot = 1; slot <= Network.SchConfig.value.num_slots; slot++) {
+ for (let channel = 1; channel <= Network.SchConfig.value.num_channels; channel++) {
+ const cell = Network.Schedule.value[slot][channel]
+ if (cell) {
+ option.dataset.source.push({
+ slot: `${slot}`,
+ channel: `${channel}`,
+ type: cell.type
+ })
+ }
+ }
+ }
+ console.log(option.dataset.source)
+ chart.setOption(option)
+}
\ No newline at end of file
diff --git a/src/hooks/useDrawTopology.ts b/src/hooks/useDrawTopology.ts
index d76b65d..53be181 100644
--- a/src/hooks/useDrawTopology.ts
+++ b/src/hooks/useDrawTopology.ts
@@ -335,6 +335,67 @@ export function useDrawTopology(dom: HTMLElement) {
}
})
}
+
+ const drawEndSystems = () => {
+ const loader = new GLTFLoader();
+
+ const loadAndPlaceModel = async (modelPath: any, scale: any, rotationY: any, positionY: any, labelY: any, typeVal: any) => {
+ const gltf: any = await new Promise((resolve) => {
+ loader.load(modelPath, (gltf: any) => resolve(gltf));
+ });
+
+ const modelTemplate = gltf.scene;
+
+ modelTemplate.scale.set(...scale);
+ modelTemplate.rotation.y = rotationY;
+ modelTemplate.traverse((object: any) => {
+ if (object.isMesh) {
+ object.castShadow = true;
+ object.receiveShadow = true;
+ object.material.color = new THREE.Color('#999');
+ }
+ });
+
+ const box = new THREE.Box3().setFromObject(modelTemplate);
+ const size = new THREE.Vector3();
+ box.getSize(size);
+
+ for (const es of Network.EndSystems.value) {
+ if (es.type !== typeVal) continue;
+
+ const model = modelTemplate.clone();
+ model.position.set(es.pos[0], positionY, es.pos[1]);
+ model.traverse((object: any) => {
+ if (object.isMesh) {
+ object.userData.type = NODE_TYPE[4]; // EndSystem
+ object.userData.node_id = es.id;
+ }
+ });
+ scene.add(model);
+
+ const label = createLabel(`${NODE_TYPE[4]}-${es.id}`);
+ label.position.set(model.position.x, labelY, model.position.z);
+ scene.add(label);
+
+ const { dragBox, dragBoxHelper } = createDragBox(node, model)
+
+ drawnNodes[`${NODE_TYPE[4]}-${es.id}`] = {
+ model,
+ label,
+ modelGroup: model,
+ dragBox,
+ boxHelper,
+ };
+ }
+ };
+
+ // Load and place models
+ loadAndPlaceModel('/models/server/scene.gltf', [3, 3, 3], -Math.PI / 2, 3, 7, 0);
+ loadAndPlaceModel('/models/robotic_arm/scene.gltf', [0.004, 0.004, 0.004], -Math.PI / 2, 0, 7, 1);
+ loadAndPlaceModel('/models/sensor/scene.gltf', [2, 2, 2], -Math.PI / 2, 0, 5, 2);
+ };
+
+
const createDragBox = (node: any, model: any): any => {
const box = new THREE.Box3().setFromObject(model)
const size = new THREE.Vector3()
diff --git a/src/networks/common.ts b/src/networks/common.ts
index 411817a..f19fb7b 100644
--- a/src/networks/common.ts
+++ b/src/networks/common.ts
@@ -1,4 +1,5 @@
import { ref, type Ref } from 'vue'
+import { SeededRandom } from '@/hooks/useSeed'
export class Network {
ID: number
@@ -31,7 +32,29 @@ export class Network {
})
this.createEndSystems()
}
- createEndSystems = () => {}
+ createEndSystems = () => {
+ // initialize ref array if it does not already exist
+ this.EndSystems = ref([])
+ const rand = new SeededRandom(this.TopoConfig.value.seed)
+
+ this.EndSystems.value = [] // clear any old end systems
+
+ for (let i = 1; i <= this.TopoConfig.value.num_es; i++) {
+ const es = {
+ id: i,
+ type: Math.floor(rand.next() * Object.keys(END_SYSTEM_TYPE).filter(key => isNaN(Number(key))).length), // Object.keys(...).filter(...) is used to count # of elements in enum
+ pos: [
+ Math.floor(rand.next() * this.TopoConfig.value.grid_size) -
+ this.TopoConfig.value.grid_size / 2,
+ Math.floor(rand.next() * this.TopoConfig.value.grid_size) -
+ this.TopoConfig.value.grid_size / 2
+ ],
+ neighbor: 1 + Math.floor(rand.next() * this.TopoConfig.value.num_nodes) // range from 1 to num_nodes inclusive
+ }
+
+ this.EndSystems.value.push(es)
+ }
+ }
Run = () => {
this.Step()
diff --git a/tsconfig.app.json b/tsconfig.app.json
index 709c09f..2832479 100644
--- a/tsconfig.app.json
+++ b/tsconfig.app.json
@@ -4,6 +4,7 @@
"exclude": ["src/**/__tests__/*"],
"compilerOptions": {
"composite": true,
+ "moduleResolution": "node",
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
diff --git a/tsconfig.json b/tsconfig.json
index 78f134a..829cb63 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -8,4 +8,17 @@
"path": "./tsconfig.app.json"
}
],
+ "compilerOptions": {
+ "resolveJsonModule": true,
+ "moduleResolution": "node",
+ "paths": {
+ "echarts": [
+ "./node_modules/echarts/dist/echarts.min.js"
+ ],
+ "echarts-gl": [
+ "./node_modules/echarts-gl/dist/echarts-gl.min.js"
+ ]
+ }
+ },
+
}