redhotmagma-visualization 1.28.0-beta.2 → 1.28.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/README.md +4 -11
  2. package/babel.config.js +41 -0
  3. package/package.json +72 -6
  4. package/public/libs/draco/README.md +32 -0
  5. package/public/libs/draco/draco_decoder.js +52 -0
  6. package/public/libs/draco/draco_decoder.wasm +0 -0
  7. package/public/libs/draco/draco_encoder.js +33 -0
  8. package/public/libs/draco/draco_wasm_wrapper.js +104 -0
  9. package/public/libs/draco/gltf/draco_decoder.js +48 -0
  10. package/public/libs/draco/gltf/draco_decoder.wasm +0 -0
  11. package/public/libs/draco/gltf/draco_encoder.js +33 -0
  12. package/public/libs/draco/gltf/draco_wasm_wrapper.js +104 -0
  13. package/scripts/cpPath.js +151 -0
  14. package/scripts/cpPublic.js +39 -0
  15. package/scripts/moveLibToPackageRoot.js +44 -0
  16. package/scripts/utils/fileSystem.js +69 -0
  17. package/scripts/utils/process.js +19 -0
  18. package/src/CommonUtils/Observable.js +0 -1
  19. package/src/CommonUtils/pointerEvent.js +1 -2
  20. package/src/DevApp.js +1 -2
  21. package/src/FallbackVisualization.js +5 -1
  22. package/src/PrintingEffects/DomingEffect.js +0 -1
  23. package/src/PrintingEffects/EmbroideryEffect.js +2 -3
  24. package/src/React/ReactBase.js +1 -1
  25. package/src/Three/Controls/OrbitControls.js +0 -2
  26. package/src/Three/Loaders/ColladaLoader.js +294 -111
  27. package/src/Three/Loaders/MTLLoader.js +0 -2
  28. package/src/Three/Loaders/OBJLoader.js +0 -2
  29. package/src/Three/Three2D.js +6 -7
  30. package/src/Three/Three3D.js +1 -9
  31. package/src/Three/ThreeBase.js +1 -10
  32. package/src/Utils/DesignArea/getDesignAreaCanvasSize.js +0 -1
  33. package/src/Utils/TextureBuilder/createTextureBuilder.js +0 -2
  34. package/src/Utils/imagePreloader.js +0 -1
  35. package/src/Utils/initTextureCanvas.js +0 -3
  36. package/src/Utils/isMobileDevice.js +0 -2
  37. package/src/Utils/optimizeTextureImage.js +0 -1
  38. package/src/VisualizationContainer.js +1 -3
  39. package/src/VisualizationInterface.js +1 -10
  40. package/tsconfig.json +22 -0
  41. package/AlignTargetProvider.js +0 -129
  42. package/CommonUtils/Deferred.js +0 -135
  43. package/CommonUtils/Observable.js +0 -126
  44. package/CommonUtils/PropertyObserver.js +0 -61
  45. package/CommonUtils/SyncCurrentFunction.js +0 -59
  46. package/CommonUtils/SyncObservableEvent.js +0 -19
  47. package/CommonUtils/pointerEvent.js +0 -415
  48. package/Constants.js +0 -23
  49. package/DevApp.js +0 -1049
  50. package/ExposedModules.js +0 -26
  51. package/FallbackVisualization.js +0 -26
  52. package/PrintingEffects/ColorEmbossingEffect.js +0 -58
  53. package/PrintingEffects/DomingEffect.js +0 -150
  54. package/PrintingEffects/EmbossingEffect.js +0 -65
  55. package/PrintingEffects/EmbroideryEffect.js +0 -541
  56. package/PrintingEffects/EngravingEffect.js +0 -65
  57. package/PrintingEffects/PrintingEffects.js +0 -117
  58. package/PrintingEffects/PrintingEffectsUtils.js +0 -53
  59. package/PrintingEffects/resources/embroidery_multiply.jpg +0 -0
  60. package/PrintingEffects/resources/embroidery_screen.jpg +0 -0
  61. package/React/ReactBase.js +0 -111
  62. package/Three/Controls/OrbitControls.js +0 -745
  63. package/Three/Exporters/glTFExporter.js +0 -48
  64. package/Three/Loaders/ColladaLoader.js +0 -2916
  65. package/Three/Loaders/MTLLoader.js +0 -449
  66. package/Three/Loaders/OBJLoader.js +0 -548
  67. package/Three/Three2D.js +0 -1778
  68. package/Three/Three2DLayers.js +0 -504
  69. package/Three/Three3D.js +0 -1412
  70. package/Three/Three3DScene.js +0 -1432
  71. package/Three/ThreeBase.js +0 -722
  72. package/Utils/DesignArea/getDesignAreaCanvasSize.js +0 -32
  73. package/Utils/TextureBuilder/createTextureBuilder.js +0 -334
  74. package/Utils/TextureBuilder/textureBuilderFunctions.js +0 -87
  75. package/Utils/alignToElement.js +0 -58
  76. package/Utils/createAlphaMapFromAlphaChannel.js +0 -50
  77. package/Utils/createCache.js +0 -46
  78. package/Utils/createCanvas.js +0 -29
  79. package/Utils/createImageRepository.js +0 -124
  80. package/Utils/disposeMaterial.js +0 -41
  81. package/Utils/getImageSize.js +0 -15
  82. package/Utils/imagePreloader.js +0 -76
  83. package/Utils/initTextureCanvas.js +0 -49
  84. package/Utils/isMobileDevice.js +0 -19
  85. package/Utils/optimizeTextureImage.js +0 -73
  86. package/Utils/rememberCameraViewOffset.js +0 -21
  87. package/Utils/removeObject.js +0 -22
  88. package/Utils/restrictCameraMovement.js +0 -45
  89. package/Utils/setOrthographicCameraSize.js +0 -16
  90. package/Utils/updateFitSizeToElement.js +0 -39
  91. package/VisualizationContainer.js +0 -279
  92. package/VisualizationInterface.js +0 -293
  93. package/VisualizationProvider.js +0 -38
  94. package/__mocks__/exportedSample.svg +0 -45
  95. package/index.js +0 -16
  96. package/visualizationAdapterCreator.js +0 -76
@@ -1,5 +1,3 @@
1
- /* eslint-disable */
2
-
3
1
  // original source: three/examples/js/loaders/ColladaLoader
4
2
 
5
3
  import * as THREE_imp from "three";
@@ -25,7 +23,10 @@ THREE.ColladaLoader.prototype = {
25
23
  load: function(url, onLoad, onProgress, onError) {
26
24
  var scope = this;
27
25
 
28
- var path = scope.path === undefined ? THREE.LoaderUtils.extractUrlBase(url) : scope.path;
26
+ var path =
27
+ scope.path === undefined
28
+ ? THREE.LoaderUtils.extractUrlBase(url)
29
+ : scope.path;
29
30
 
30
31
  var loader = new THREE.FileLoader(scope.manager);
31
32
  loader.setPath(scope.path);
@@ -54,7 +55,7 @@ THREE.ColladaLoader.prototype = {
54
55
  console.warn(
55
56
  "THREE.ColladaLoader: options.convertUpAxis() has been removed. Up axis is converted automatically."
56
57
  );
57
- },
58
+ }
58
59
  },
59
60
 
60
61
  setCrossOrigin: function(value) {
@@ -136,7 +137,7 @@ THREE.ColladaLoader.prototype = {
136
137
  function parseAsset(xml) {
137
138
  return {
138
139
  unit: parseAssetUnit(getElementsByTagName(xml, "unit")[0]),
139
- upAxis: parseAssetUpAxis(getElementsByTagName(xml, "up_axis")[0]),
140
+ upAxis: parseAssetUpAxis(getElementsByTagName(xml, "up_axis")[0])
140
141
  };
141
142
  }
142
143
 
@@ -189,7 +190,7 @@ THREE.ColladaLoader.prototype = {
189
190
  var data = {
190
191
  sources: {},
191
192
  samplers: {},
192
- channels: {},
193
+ channels: {}
193
194
  };
194
195
 
195
196
  for (var i = 0, l = xml.childNodes.length; i < l; i++) {
@@ -225,7 +226,7 @@ THREE.ColladaLoader.prototype = {
225
226
 
226
227
  function parseAnimationSampler(xml) {
227
228
  var data = {
228
- inputs: {},
229
+ inputs: {}
229
230
  };
230
231
 
231
232
  for (var i = 0, l = xml.childNodes.length; i < l; i++) {
@@ -310,7 +311,11 @@ THREE.ColladaLoader.prototype = {
310
311
  var inputSource = sources[inputId];
311
312
  var outputSource = sources[outputId];
312
313
 
313
- var animation = buildAnimationChannel(channel, inputSource, outputSource);
314
+ var animation = buildAnimationChannel(
315
+ channel,
316
+ inputSource,
317
+ outputSource
318
+ );
314
319
 
315
320
  createKeyframeTracks(animation, tracks);
316
321
  }
@@ -386,7 +391,7 @@ THREE.ColladaLoader.prototype = {
386
391
 
387
392
  var animation = {
388
393
  name: object3D.uuid,
389
- keyframes: keyframes,
394
+ keyframes: keyframes
390
395
  };
391
396
 
392
397
  return animation;
@@ -444,16 +449,31 @@ THREE.ColladaLoader.prototype = {
444
449
 
445
450
  times.push(time);
446
451
  positionData.push(position.x, position.y, position.z);
447
- quaternionData.push(quaternion.x, quaternion.y, quaternion.z, quaternion.w);
452
+ quaternionData.push(
453
+ quaternion.x,
454
+ quaternion.y,
455
+ quaternion.z,
456
+ quaternion.w
457
+ );
448
458
  scaleData.push(scale.x, scale.y, scale.z);
449
459
  }
450
460
 
451
461
  if (positionData.length > 0)
452
- tracks.push(new THREE.VectorKeyframeTrack(name + ".position", times, positionData));
462
+ tracks.push(
463
+ new THREE.VectorKeyframeTrack(name + ".position", times, positionData)
464
+ );
453
465
  if (quaternionData.length > 0)
454
- tracks.push(new THREE.QuaternionKeyframeTrack(name + ".quaternion", times, quaternionData));
466
+ tracks.push(
467
+ new THREE.QuaternionKeyframeTrack(
468
+ name + ".quaternion",
469
+ times,
470
+ quaternionData
471
+ )
472
+ );
455
473
  if (scaleData.length > 0)
456
- tracks.push(new THREE.VectorKeyframeTrack(name + ".scale", times, scaleData));
474
+ tracks.push(
475
+ new THREE.VectorKeyframeTrack(name + ".scale", times, scaleData)
476
+ );
457
477
 
458
478
  return tracks;
459
479
  }
@@ -547,7 +567,8 @@ THREE.ColladaLoader.prototype = {
547
567
  }
548
568
 
549
569
  key.value[property] =
550
- ((key.time - prev.time) * (next.value[property] - prev.value[property])) /
570
+ ((key.time - prev.time) *
571
+ (next.value[property] - prev.value[property])) /
551
572
  (next.time - prev.time) +
552
573
  prev.value[property];
553
574
  }
@@ -559,7 +580,7 @@ THREE.ColladaLoader.prototype = {
559
580
  name: xml.getAttribute("id") || "default",
560
581
  start: parseFloat(xml.getAttribute("start") || 0),
561
582
  end: parseFloat(xml.getAttribute("end") || 0),
562
- animations: [],
583
+ animations: []
563
584
  };
564
585
 
565
586
  for (var i = 0, l = xml.childNodes.length; i < l; i++) {
@@ -618,7 +639,9 @@ THREE.ColladaLoader.prototype = {
618
639
 
619
640
  case "morph":
620
641
  data.id = parseId(child.getAttribute("source"));
621
- console.warn("THREE.ColladaLoader: Morph target animation not supported yet.");
642
+ console.warn(
643
+ "THREE.ColladaLoader: Morph target animation not supported yet."
644
+ );
622
645
  break;
623
646
  }
624
647
  }
@@ -628,7 +651,7 @@ THREE.ColladaLoader.prototype = {
628
651
 
629
652
  function parseSkin(xml) {
630
653
  var data = {
631
- sources: {},
654
+ sources: {}
632
655
  };
633
656
 
634
657
  for (var i = 0, l = xml.childNodes.length; i < l; i++) {
@@ -661,7 +684,7 @@ THREE.ColladaLoader.prototype = {
661
684
 
662
685
  function parseJoints(xml) {
663
686
  var data = {
664
- inputs: {},
687
+ inputs: {}
665
688
  };
666
689
 
667
690
  for (var i = 0, l = xml.childNodes.length; i < l; i++) {
@@ -683,7 +706,7 @@ THREE.ColladaLoader.prototype = {
683
706
 
684
707
  function parseVertexWeights(xml) {
685
708
  var data = {
686
- inputs: {},
709
+ inputs: {}
687
710
  };
688
711
 
689
712
  for (var i = 0, l = xml.childNodes.length; i < l; i++) {
@@ -714,7 +737,7 @@ THREE.ColladaLoader.prototype = {
714
737
 
715
738
  function buildController(data) {
716
739
  var build = {
717
- id: data.id,
740
+ id: data.id
718
741
  };
719
742
 
720
743
  var geometry = library.geometries[build.id];
@@ -738,12 +761,12 @@ THREE.ColladaLoader.prototype = {
738
761
  joints: [], // this must be an array to preserve the joint order
739
762
  indices: {
740
763
  array: [],
741
- stride: BONE_LIMIT,
764
+ stride: BONE_LIMIT
742
765
  },
743
766
  weights: {
744
767
  array: [],
745
- stride: BONE_LIMIT,
746
- },
768
+ stride: BONE_LIMIT
769
+ }
747
770
  };
748
771
 
749
772
  var sources = data.sources;
@@ -802,7 +825,9 @@ THREE.ColladaLoader.prototype = {
802
825
  // setup bind matrix
803
826
 
804
827
  if (data.bindShapeMatrix) {
805
- build.bindMatrix = new THREE.Matrix4().fromArray(data.bindShapeMatrix).transpose();
828
+ build.bindMatrix = new THREE.Matrix4()
829
+ .fromArray(data.bindShapeMatrix)
830
+ .transpose();
806
831
  } else {
807
832
  build.bindMatrix = new THREE.Matrix4().identity();
808
833
  }
@@ -835,7 +860,7 @@ THREE.ColladaLoader.prototype = {
835
860
 
836
861
  function parseImage(xml) {
837
862
  var data = {
838
- init_from: getElementsByTagName(xml, "init_from")[0].textContent,
863
+ init_from: getElementsByTagName(xml, "init_from")[0].textContent
839
864
  };
840
865
 
841
866
  library.images[xml.getAttribute("id")] = data;
@@ -882,7 +907,7 @@ THREE.ColladaLoader.prototype = {
882
907
  function parseEffectProfileCOMMON(xml) {
883
908
  var data = {
884
909
  surfaces: {},
885
- samplers: {},
910
+ samplers: {}
886
911
  };
887
912
 
888
913
  for (var i = 0, l = xml.childNodes.length; i < l; i++) {
@@ -1007,7 +1032,7 @@ THREE.ColladaLoader.prototype = {
1007
1032
  case "transparent":
1008
1033
  data[child.nodeName] = {
1009
1034
  opaque: child.getAttribute("opaque"),
1010
- data: parseEffectParameter(child),
1035
+ data: parseEffectParameter(child)
1011
1036
  };
1012
1037
  break;
1013
1038
  }
@@ -1036,7 +1061,7 @@ THREE.ColladaLoader.prototype = {
1036
1061
  case "texture":
1037
1062
  data[child.nodeName] = {
1038
1063
  id: child.getAttribute("texture"),
1039
- extra: parseEffectParameterTexture(child),
1064
+ extra: parseEffectParameterTexture(child)
1040
1065
  };
1041
1066
  break;
1042
1067
  }
@@ -1047,7 +1072,7 @@ THREE.ColladaLoader.prototype = {
1047
1072
 
1048
1073
  function parseEffectParameterTexture(xml) {
1049
1074
  var data = {
1050
- technique: {},
1075
+ technique: {}
1051
1076
  };
1052
1077
 
1053
1078
  for (var i = 0, l = xml.childNodes.length; i < l; i++) {
@@ -1158,7 +1183,7 @@ THREE.ColladaLoader.prototype = {
1158
1183
 
1159
1184
  function parseMaterial(xml) {
1160
1185
  var data = {
1161
- name: xml.getAttribute("name"),
1186
+ name: xml.getAttribute("name")
1162
1187
  };
1163
1188
 
1164
1189
  for (var i = 0, l = xml.childNodes.length; i < l; i++) {
@@ -1251,11 +1276,21 @@ THREE.ColladaLoader.prototype = {
1251
1276
  ) {
1252
1277
  var technique = extra.technique;
1253
1278
 
1254
- texture.wrapS = technique.wrapU ? THREE.RepeatWrapping : THREE.ClampToEdgeWrapping;
1255
- texture.wrapT = technique.wrapV ? THREE.RepeatWrapping : THREE.ClampToEdgeWrapping;
1279
+ texture.wrapS = technique.wrapU
1280
+ ? THREE.RepeatWrapping
1281
+ : THREE.ClampToEdgeWrapping;
1282
+ texture.wrapT = technique.wrapV
1283
+ ? THREE.RepeatWrapping
1284
+ : THREE.ClampToEdgeWrapping;
1256
1285
 
1257
- texture.offset.set(technique.offsetU || 0, technique.offsetV || 0);
1258
- texture.repeat.set(technique.repeatU || 1, technique.repeatV || 1);
1286
+ texture.offset.set(
1287
+ technique.offsetU || 0,
1288
+ technique.offsetV || 0
1289
+ );
1290
+ texture.repeat.set(
1291
+ technique.repeatU || 1,
1292
+ technique.repeatV || 1
1293
+ );
1259
1294
  } else {
1260
1295
  texture.wrapS = THREE.RepeatWrapping;
1261
1296
  texture.wrapT = THREE.RepeatWrapping;
@@ -1263,12 +1298,18 @@ THREE.ColladaLoader.prototype = {
1263
1298
 
1264
1299
  return texture;
1265
1300
  } else {
1266
- console.warn("THREE.ColladaLoader: Loader for texture %s not found.", image);
1301
+ console.warn(
1302
+ "THREE.ColladaLoader: Loader for texture %s not found.",
1303
+ image
1304
+ );
1267
1305
 
1268
1306
  return null;
1269
1307
  }
1270
1308
  } else {
1271
- console.warn("THREE.ColladaLoader: Couldn't create texture with ID:", textureObject.id);
1309
+ console.warn(
1310
+ "THREE.ColladaLoader: Couldn't create texture with ID:",
1311
+ textureObject.id
1312
+ );
1272
1313
 
1273
1314
  return null;
1274
1315
  }
@@ -1285,21 +1326,28 @@ THREE.ColladaLoader.prototype = {
1285
1326
  if (parameter.texture) material.map = getTexture(parameter.texture);
1286
1327
  break;
1287
1328
  case "specular":
1288
- if (parameter.color && material.specular) material.specular.fromArray(parameter.color);
1289
- if (parameter.texture) material.specularMap = getTexture(parameter.texture);
1329
+ if (parameter.color && material.specular)
1330
+ material.specular.fromArray(parameter.color);
1331
+ if (parameter.texture)
1332
+ material.specularMap = getTexture(parameter.texture);
1290
1333
  break;
1291
1334
  case "bump":
1292
- if (parameter.texture) material.normalMap = getTexture(parameter.texture);
1335
+ if (parameter.texture)
1336
+ material.normalMap = getTexture(parameter.texture);
1293
1337
  break;
1294
1338
  case "ambient":
1295
- if (parameter.texture) material.lightMap = getTexture(parameter.texture);
1339
+ if (parameter.texture)
1340
+ material.lightMap = getTexture(parameter.texture);
1296
1341
  break;
1297
1342
  case "shininess":
1298
- if (parameter.float && material.shininess) material.shininess = parameter.float;
1343
+ if (parameter.float && material.shininess)
1344
+ material.shininess = parameter.float;
1299
1345
  break;
1300
1346
  case "emission":
1301
- if (parameter.color && material.emissive) material.emissive.fromArray(parameter.color);
1302
- if (parameter.texture) material.emissiveMap = getTexture(parameter.texture);
1347
+ if (parameter.color && material.emissive)
1348
+ material.emissive.fromArray(parameter.color);
1349
+ if (parameter.texture)
1350
+ material.emissiveMap = getTexture(parameter.texture);
1303
1351
  break;
1304
1352
  }
1305
1353
  }
@@ -1313,7 +1361,7 @@ THREE.ColladaLoader.prototype = {
1313
1361
 
1314
1362
  if (transparency === undefined && transparent) {
1315
1363
  transparency = {
1316
- float: 1,
1364
+ float: 1
1317
1365
  };
1318
1366
  }
1319
1367
 
@@ -1323,8 +1371,8 @@ THREE.ColladaLoader.prototype = {
1323
1371
  transparent = {
1324
1372
  opaque: "A_ONE",
1325
1373
  data: {
1326
- color: [1, 1, 1, 1],
1327
- },
1374
+ color: [1, 1, 1, 1]
1375
+ }
1328
1376
  };
1329
1377
  }
1330
1378
 
@@ -1383,7 +1431,7 @@ THREE.ColladaLoader.prototype = {
1383
1431
 
1384
1432
  function parseCamera(xml) {
1385
1433
  var data = {
1386
- name: xml.getAttribute("name"),
1434
+ name: xml.getAttribute("name")
1387
1435
  };
1388
1436
 
1389
1437
  for (var i = 0, l = xml.childNodes.length; i < l; i++) {
@@ -1626,7 +1674,7 @@ THREE.ColladaLoader.prototype = {
1626
1674
  name: xml.getAttribute("name"),
1627
1675
  sources: {},
1628
1676
  vertices: {},
1629
- primitives: [],
1677
+ primitives: []
1630
1678
  };
1631
1679
 
1632
1680
  var mesh = getElementsByTagName(xml, "mesh")[0];
@@ -1652,7 +1700,10 @@ THREE.ColladaLoader.prototype = {
1652
1700
  break;
1653
1701
 
1654
1702
  case "polygons":
1655
- console.warn("THREE.ColladaLoader: Unsupported primitive type: ", child.nodeName);
1703
+ console.warn(
1704
+ "THREE.ColladaLoader: Unsupported primitive type: ",
1705
+ child.nodeName
1706
+ );
1656
1707
  break;
1657
1708
 
1658
1709
  case "lines":
@@ -1673,7 +1724,7 @@ THREE.ColladaLoader.prototype = {
1673
1724
  function parseSource(xml) {
1674
1725
  var data = {
1675
1726
  array: [],
1676
- stride: 3,
1727
+ stride: 3
1677
1728
  };
1678
1729
 
1679
1730
  for (var i = 0; i < xml.childNodes.length; i++) {
@@ -1711,7 +1762,9 @@ THREE.ColladaLoader.prototype = {
1711
1762
 
1712
1763
  if (child.nodeType !== 1) continue;
1713
1764
 
1714
- data[child.getAttribute("semantic")] = parseId(child.getAttribute("source"));
1765
+ data[child.getAttribute("semantic")] = parseId(
1766
+ child.getAttribute("source")
1767
+ );
1715
1768
  }
1716
1769
 
1717
1770
  return data;
@@ -1724,7 +1777,7 @@ THREE.ColladaLoader.prototype = {
1724
1777
  count: parseInt(xml.getAttribute("count")),
1725
1778
  inputs: {},
1726
1779
  stride: 0,
1727
- hasUV: false,
1780
+ hasUV: false
1728
1781
  };
1729
1782
 
1730
1783
  for (var i = 0, l = xml.childNodes.length; i < l; i++) {
@@ -1874,7 +1927,10 @@ THREE.ColladaLoader.prototype = {
1874
1927
  break;
1875
1928
 
1876
1929
  default:
1877
- console.warn("THREE.ColladaLoader: Unknow primitive type:", primitive.type);
1930
+ console.warn(
1931
+ "THREE.ColladaLoader: Unknow primitive type:",
1932
+ primitive.type
1933
+ );
1878
1934
  }
1879
1935
 
1880
1936
  geometry.addGroup(start, count, p);
@@ -1899,7 +1955,12 @@ THREE.ColladaLoader.prototype = {
1899
1955
  switch (key) {
1900
1956
  case "POSITION":
1901
1957
  var prevLength = position.array.length;
1902
- buildGeometryData(primitive, sources[id], input.offset, position.array);
1958
+ buildGeometryData(
1959
+ primitive,
1960
+ sources[id],
1961
+ input.offset,
1962
+ position.array
1963
+ );
1903
1964
  position.stride = sources[id].stride;
1904
1965
 
1905
1966
  if (sources.skinWeights && sources.skinIndices) {
@@ -1919,8 +1980,12 @@ THREE.ColladaLoader.prototype = {
1919
1980
 
1920
1981
  // see #3803
1921
1982
 
1922
- if (primitive.hasUV === false && primitives.uvsNeedsFix === true) {
1923
- var count = (position.array.length - prevLength) / position.stride;
1983
+ if (
1984
+ primitive.hasUV === false &&
1985
+ primitives.uvsNeedsFix === true
1986
+ ) {
1987
+ var count =
1988
+ (position.array.length - prevLength) / position.stride;
1924
1989
 
1925
1990
  for (var i = 0; i < count; i++) {
1926
1991
  // fill missing uv coordinates
@@ -1931,22 +1996,42 @@ THREE.ColladaLoader.prototype = {
1931
1996
  break;
1932
1997
 
1933
1998
  case "NORMAL":
1934
- buildGeometryData(primitive, sources[id], input.offset, normal.array);
1999
+ buildGeometryData(
2000
+ primitive,
2001
+ sources[id],
2002
+ input.offset,
2003
+ normal.array
2004
+ );
1935
2005
  normal.stride = sources[id].stride;
1936
2006
  break;
1937
2007
 
1938
2008
  case "COLOR":
1939
- buildGeometryData(primitive, sources[id], input.offset, color.array);
2009
+ buildGeometryData(
2010
+ primitive,
2011
+ sources[id],
2012
+ input.offset,
2013
+ color.array
2014
+ );
1940
2015
  color.stride = sources[id].stride;
1941
2016
  break;
1942
2017
 
1943
2018
  case "TEXCOORD":
1944
- buildGeometryData(primitive, sources[id], input.offset, uv.array);
2019
+ buildGeometryData(
2020
+ primitive,
2021
+ sources[id],
2022
+ input.offset,
2023
+ uv.array
2024
+ );
1945
2025
  uv.stride = sources[id].stride;
1946
2026
  break;
1947
2027
 
1948
2028
  case "TEXCOORD1":
1949
- buildGeometryData(primitive, sources[id], input.offset, uv2.array);
2029
+ buildGeometryData(
2030
+ primitive,
2031
+ sources[id],
2032
+ input.offset,
2033
+ uv2.array
2034
+ );
1950
2035
  uv.stride = sources[id].stride;
1951
2036
  break;
1952
2037
 
@@ -1960,22 +2045,42 @@ THREE.ColladaLoader.prototype = {
1960
2045
  break;
1961
2046
 
1962
2047
  case "NORMAL":
1963
- buildGeometryData(primitive, sources[input.id], input.offset, normal.array);
2048
+ buildGeometryData(
2049
+ primitive,
2050
+ sources[input.id],
2051
+ input.offset,
2052
+ normal.array
2053
+ );
1964
2054
  normal.stride = sources[input.id].stride;
1965
2055
  break;
1966
2056
 
1967
2057
  case "COLOR":
1968
- buildGeometryData(primitive, sources[input.id], input.offset, color.array);
2058
+ buildGeometryData(
2059
+ primitive,
2060
+ sources[input.id],
2061
+ input.offset,
2062
+ color.array
2063
+ );
1969
2064
  color.stride = sources[input.id].stride;
1970
2065
  break;
1971
2066
 
1972
2067
  case "TEXCOORD":
1973
- buildGeometryData(primitive, sources[input.id], input.offset, uv.array);
2068
+ buildGeometryData(
2069
+ primitive,
2070
+ sources[input.id],
2071
+ input.offset,
2072
+ uv.array
2073
+ );
1974
2074
  uv.stride = sources[input.id].stride;
1975
2075
  break;
1976
2076
 
1977
2077
  case "TEXCOORD1":
1978
- buildGeometryData(primitive, sources[input.id], input.offset, uv2.array);
2078
+ buildGeometryData(
2079
+ primitive,
2080
+ sources[input.id],
2081
+ input.offset,
2082
+ uv2.array
2083
+ );
1979
2084
  uv2.stride = sources[input.id].stride;
1980
2085
  break;
1981
2086
  }
@@ -1995,11 +2100,20 @@ THREE.ColladaLoader.prototype = {
1995
2100
  new THREE.Float32BufferAttribute(normal.array, normal.stride)
1996
2101
  );
1997
2102
  if (color.array.length > 0)
1998
- geometry.addAttribute("color", new THREE.Float32BufferAttribute(color.array, color.stride));
2103
+ geometry.addAttribute(
2104
+ "color",
2105
+ new THREE.Float32BufferAttribute(color.array, color.stride)
2106
+ );
1999
2107
  if (uv.array.length > 0)
2000
- geometry.addAttribute("uv", new THREE.Float32BufferAttribute(uv.array, uv.stride));
2108
+ geometry.addAttribute(
2109
+ "uv",
2110
+ new THREE.Float32BufferAttribute(uv.array, uv.stride)
2111
+ );
2001
2112
  if (uv2.array.length > 0)
2002
- geometry.addAttribute("uv2", new THREE.Float32BufferAttribute(uv2.array, uv2.stride));
2113
+ geometry.addAttribute(
2114
+ "uv2",
2115
+ new THREE.Float32BufferAttribute(uv2.array, uv2.stride)
2116
+ );
2003
2117
 
2004
2118
  if (skinIndex.array.length > 0)
2005
2119
  geometry.addAttribute(
@@ -2093,7 +2207,7 @@ THREE.ColladaLoader.prototype = {
2093
2207
  var data = {
2094
2208
  name: xml.getAttribute("name") || "",
2095
2209
  joints: {},
2096
- links: [],
2210
+ links: []
2097
2211
  };
2098
2212
 
2099
2213
  for (var i = 0; i < xml.childNodes.length; i++) {
@@ -2129,7 +2243,9 @@ THREE.ColladaLoader.prototype = {
2129
2243
 
2130
2244
  switch (child.nodeName) {
2131
2245
  case "joint":
2132
- data.joints[child.getAttribute("sid")] = parseKinematicsJoint(child);
2246
+ data.joints[child.getAttribute("sid")] = parseKinematicsJoint(
2247
+ child
2248
+ );
2133
2249
  break;
2134
2250
 
2135
2251
  case "link":
@@ -2165,12 +2281,12 @@ THREE.ColladaLoader.prototype = {
2165
2281
  axis: new THREE.Vector3(),
2166
2282
  limits: {
2167
2283
  min: 0,
2168
- max: 0,
2284
+ max: 0
2169
2285
  },
2170
2286
  type: xml.nodeName,
2171
2287
  static: false,
2172
2288
  zeroPosition: 0,
2173
- middlePosition: 0,
2289
+ middlePosition: 0
2174
2290
  };
2175
2291
 
2176
2292
  for (var i = 0; i < xml.childNodes.length; i++) {
@@ -2211,7 +2327,7 @@ THREE.ColladaLoader.prototype = {
2211
2327
  sid: xml.getAttribute("sid"),
2212
2328
  name: xml.getAttribute("name") || "",
2213
2329
  attachments: [],
2214
- transforms: [],
2330
+ transforms: []
2215
2331
  };
2216
2332
 
2217
2333
  for (var i = 0; i < xml.childNodes.length; i++) {
@@ -2242,7 +2358,7 @@ THREE.ColladaLoader.prototype = {
2242
2358
  .split("/")
2243
2359
  .pop(),
2244
2360
  transforms: [],
2245
- links: [],
2361
+ links: []
2246
2362
  };
2247
2363
 
2248
2364
  for (var i = 0; i < xml.childNodes.length; i++) {
@@ -2268,7 +2384,7 @@ THREE.ColladaLoader.prototype = {
2268
2384
 
2269
2385
  function parseKinematicsTransform(xml) {
2270
2386
  var data = {
2271
- type: xml.nodeName,
2387
+ type: xml.nodeName
2272
2388
  };
2273
2389
 
2274
2390
  var array = parseFloats(xml.textContent);
@@ -2299,7 +2415,7 @@ THREE.ColladaLoader.prototype = {
2299
2415
  function parsePhysicsModel(xml) {
2300
2416
  var data = {
2301
2417
  name: xml.getAttribute("name") || "",
2302
- rigidBodies: {},
2418
+ rigidBodies: {}
2303
2419
  };
2304
2420
 
2305
2421
  for (var i = 0; i < xml.childNodes.length; i++) {
@@ -2310,7 +2426,10 @@ THREE.ColladaLoader.prototype = {
2310
2426
  switch (child.nodeName) {
2311
2427
  case "rigid_body":
2312
2428
  data.rigidBodies[child.getAttribute("name")] = {};
2313
- parsePhysicsRigidBody(child, data.rigidBodies[child.getAttribute("name")]);
2429
+ parsePhysicsRigidBody(
2430
+ child,
2431
+ data.rigidBodies[child.getAttribute("name")]
2432
+ );
2314
2433
  break;
2315
2434
  }
2316
2435
  }
@@ -2354,7 +2473,7 @@ THREE.ColladaLoader.prototype = {
2354
2473
 
2355
2474
  function parseKinematicsScene(xml) {
2356
2475
  var data = {
2357
- bindJointAxis: [],
2476
+ bindJointAxis: []
2358
2477
  };
2359
2478
 
2360
2479
  for (var i = 0; i < xml.childNodes.length; i++) {
@@ -2377,7 +2496,7 @@ THREE.ColladaLoader.prototype = {
2377
2496
  target: xml
2378
2497
  .getAttribute("target")
2379
2498
  .split("/")
2380
- .pop(),
2499
+ .pop()
2381
2500
  };
2382
2501
 
2383
2502
  for (var i = 0; i < xml.childNodes.length; i++) {
@@ -2416,7 +2535,8 @@ THREE.ColladaLoader.prototype = {
2416
2535
  var kinematicsSceneId = Object.keys(library.kinematicsScenes)[0];
2417
2536
  var visualSceneId = Object.keys(library.visualScenes)[0];
2418
2537
 
2419
- if (kinematicsModelId === undefined || kinematicsSceneId === undefined) return;
2538
+ if (kinematicsModelId === undefined || kinematicsSceneId === undefined)
2539
+ return;
2420
2540
 
2421
2541
  var kinematicsModel = getKinematicsModel(kinematicsModelId);
2422
2542
  var kinematicsScene = getKinematicsScene(kinematicsSceneId);
@@ -2430,7 +2550,9 @@ THREE.ColladaLoader.prototype = {
2430
2550
 
2431
2551
  // the result of the following query is an element of type 'translate', 'rotate','scale' or 'matrix'
2432
2552
 
2433
- var targetElement = collada.querySelector('[sid="' + axis.target + '"]');
2553
+ var targetElement = collada.querySelector(
2554
+ '[sid="' + axis.target + '"]'
2555
+ );
2434
2556
 
2435
2557
  if (targetElement) {
2436
2558
  // get the parent of the transfrom element
@@ -2439,7 +2561,10 @@ THREE.ColladaLoader.prototype = {
2439
2561
 
2440
2562
  // connect the joint of the kinematics model with the element in the visual scene
2441
2563
 
2442
- connect(axis.jointIndex, parentVisualElement);
2564
+ connect(
2565
+ axis.jointIndex,
2566
+ parentVisualElement
2567
+ );
2443
2568
  }
2444
2569
  }
2445
2570
 
@@ -2453,7 +2578,7 @@ THREE.ColladaLoader.prototype = {
2453
2578
  object: object,
2454
2579
  transforms: buildTransformList(visualElement),
2455
2580
  joint: joint,
2456
- position: joint.zeroPosition,
2581
+ position: joint.zeroPosition
2457
2582
  };
2458
2583
  }
2459
2584
  });
@@ -2470,7 +2595,9 @@ THREE.ColladaLoader.prototype = {
2470
2595
  if (jointData) {
2471
2596
  return jointData.position;
2472
2597
  } else {
2473
- console.warn("THREE.ColladaLoader: Joint " + jointIndex + " doesn't exist.");
2598
+ console.warn(
2599
+ "THREE.ColladaLoader: Joint " + jointIndex + " doesn't exist."
2600
+ );
2474
2601
  }
2475
2602
  },
2476
2603
 
@@ -2493,7 +2620,9 @@ THREE.ColladaLoader.prototype = {
2493
2620
  ")."
2494
2621
  );
2495
2622
  } else if (joint.static) {
2496
- console.warn("THREE.ColladaLoader: Joint " + jointIndex + " is static.");
2623
+ console.warn(
2624
+ "THREE.ColladaLoader: Joint " + jointIndex + " is static."
2625
+ );
2497
2626
  } else {
2498
2627
  var object = jointData.object;
2499
2628
  var axis = joint.axis;
@@ -2511,17 +2640,25 @@ THREE.ColladaLoader.prototype = {
2511
2640
  if (transform.sid && transform.sid.indexOf(jointIndex) !== -1) {
2512
2641
  switch (joint.type) {
2513
2642
  case "revolute":
2514
- matrix.multiply(m0.makeRotationAxis(axis, THREE.Math.degToRad(value)));
2643
+ matrix.multiply(
2644
+ m0.makeRotationAxis(axis, THREE.Math.degToRad(value))
2645
+ );
2515
2646
  break;
2516
2647
 
2517
2648
  case "prismatic":
2518
2649
  matrix.multiply(
2519
- m0.makeTranslation(axis.x * value, axis.y * value, axis.z * value)
2650
+ m0.makeTranslation(
2651
+ axis.x * value,
2652
+ axis.y * value,
2653
+ axis.z * value
2654
+ )
2520
2655
  );
2521
2656
  break;
2522
2657
 
2523
2658
  default:
2524
- console.warn("THREE.ColladaLoader: Unknown joint type: " + joint.type);
2659
+ console.warn(
2660
+ "THREE.ColladaLoader: Unknown joint type: " + joint.type
2661
+ );
2525
2662
  break;
2526
2663
  }
2527
2664
  } else {
@@ -2532,7 +2669,11 @@ THREE.ColladaLoader.prototype = {
2532
2669
 
2533
2670
  case "translate":
2534
2671
  matrix.multiply(
2535
- m0.makeTranslation(transform.obj.x, transform.obj.y, transform.obj.z)
2672
+ m0.makeTranslation(
2673
+ transform.obj.x,
2674
+ transform.obj.y,
2675
+ transform.obj.z
2676
+ )
2536
2677
  );
2537
2678
  break;
2538
2679
 
@@ -2541,21 +2682,29 @@ THREE.ColladaLoader.prototype = {
2541
2682
  break;
2542
2683
 
2543
2684
  case "rotate":
2544
- matrix.multiply(m0.makeRotationAxis(transform.obj, transform.angle));
2685
+ matrix.multiply(
2686
+ m0.makeRotationAxis(transform.obj, transform.angle)
2687
+ );
2545
2688
  break;
2546
2689
  }
2547
2690
  }
2548
2691
  }
2549
2692
 
2550
2693
  object.matrix.copy(matrix);
2551
- object.matrix.decompose(object.position, object.quaternion, object.scale);
2694
+ object.matrix.decompose(
2695
+ object.position,
2696
+ object.quaternion,
2697
+ object.scale
2698
+ );
2552
2699
 
2553
2700
  jointMap[jointIndex].position = value;
2554
2701
  }
2555
2702
  } else {
2556
- console.log("THREE.ColladaLoader: " + jointIndex + " does not exist.");
2703
+ console.log(
2704
+ "THREE.ColladaLoader: " + jointIndex + " does not exist."
2705
+ );
2557
2706
  }
2558
- },
2707
+ }
2559
2708
  };
2560
2709
  }
2561
2710
 
@@ -2576,7 +2725,7 @@ THREE.ColladaLoader.prototype = {
2576
2725
  transforms.push({
2577
2726
  sid: child.getAttribute("sid"),
2578
2727
  type: child.nodeName,
2579
- obj: matrix,
2728
+ obj: matrix
2580
2729
  });
2581
2730
  break;
2582
2731
 
@@ -2587,7 +2736,7 @@ THREE.ColladaLoader.prototype = {
2587
2736
  transforms.push({
2588
2737
  sid: child.getAttribute("sid"),
2589
2738
  type: child.nodeName,
2590
- obj: vector,
2739
+ obj: vector
2591
2740
  });
2592
2741
  break;
2593
2742
 
@@ -2599,7 +2748,7 @@ THREE.ColladaLoader.prototype = {
2599
2748
  sid: child.getAttribute("sid"),
2600
2749
  type: child.nodeName,
2601
2750
  obj: vector,
2602
- angle: angle,
2751
+ angle: angle
2603
2752
  });
2604
2753
  break;
2605
2754
  }
@@ -2640,7 +2789,7 @@ THREE.ColladaLoader.prototype = {
2640
2789
  instanceLights: [],
2641
2790
  instanceGeometries: [],
2642
2791
  instanceNodes: [],
2643
- transforms: {},
2792
+ transforms: {}
2644
2793
  };
2645
2794
 
2646
2795
  for (var i = 0; i < xml.childNodes.length; i++) {
@@ -2683,14 +2832,18 @@ THREE.ColladaLoader.prototype = {
2683
2832
  case "translate":
2684
2833
  var array = parseFloats(child.textContent);
2685
2834
  vector.fromArray(array);
2686
- data.matrix.multiply(matrix.makeTranslation(vector.x, vector.y, vector.z));
2835
+ data.matrix.multiply(
2836
+ matrix.makeTranslation(vector.x, vector.y, vector.z)
2837
+ );
2687
2838
  data.transforms[child.getAttribute("sid")] = child.nodeName;
2688
2839
  break;
2689
2840
 
2690
2841
  case "rotate":
2691
2842
  var array = parseFloats(child.textContent);
2692
2843
  var angle = THREE.Math.degToRad(array[3]);
2693
- data.matrix.multiply(matrix.makeRotationAxis(vector.fromArray(array), angle));
2844
+ data.matrix.multiply(
2845
+ matrix.makeRotationAxis(vector.fromArray(array), angle)
2846
+ );
2694
2847
  data.transforms[child.getAttribute("sid")] = child.nodeName;
2695
2848
  break;
2696
2849
 
@@ -2724,7 +2877,7 @@ THREE.ColladaLoader.prototype = {
2724
2877
  var data = {
2725
2878
  id: parseId(xml.getAttribute("url")),
2726
2879
  materials: {},
2727
- skeletons: [],
2880
+ skeletons: []
2728
2881
  };
2729
2882
 
2730
2883
  for (var i = 0; i < xml.childNodes.length; i++) {
@@ -2866,7 +3019,7 @@ THREE.ColladaLoader.prototype = {
2866
3019
  boneData.push({
2867
3020
  bone: object,
2868
3021
  boneInverse: boneInverse,
2869
- processed: false,
3022
+ processed: false
2870
3023
  });
2871
3024
  }
2872
3025
  });
@@ -3007,7 +3160,10 @@ THREE.ColladaLoader.prototype = {
3007
3160
  for (var type in geometries) {
3008
3161
  var geometry = geometries[type];
3009
3162
 
3010
- var materials = resolveMaterialBinding(geometry.materialKeys, instanceMaterials);
3163
+ var materials = resolveMaterialBinding(
3164
+ geometry.materialKeys,
3165
+ instanceMaterials
3166
+ );
3011
3167
 
3012
3168
  // handle case if no materials are defined
3013
3169
 
@@ -3075,7 +3231,7 @@ THREE.ColladaLoader.prototype = {
3075
3231
  function parseVisualScene(xml) {
3076
3232
  var data = {
3077
3233
  name: xml.getAttribute("name"),
3078
- children: [],
3234
+ children: []
3079
3235
  };
3080
3236
 
3081
3237
  prepareNodes(xml);
@@ -3160,7 +3316,9 @@ THREE.ColladaLoader.prototype = {
3160
3316
 
3161
3317
  var asset = parseAsset(getElementsByTagName(collada, "asset")[0]);
3162
3318
  var textureLoader = new THREE.TextureLoader(this.manager);
3163
- textureLoader.setPath(this.resourcePath || path).setCrossOrigin(this.crossOrigin);
3319
+ textureLoader
3320
+ .setPath(this.resourcePath || path)
3321
+ .setCrossOrigin(this.crossOrigin);
3164
3322
 
3165
3323
  var tgaLoader;
3166
3324
 
@@ -3191,11 +3349,16 @@ THREE.ColladaLoader.prototype = {
3191
3349
  visualScenes: {},
3192
3350
  kinematicsModels: {},
3193
3351
  physicsModels: {},
3194
- kinematicsScenes: {},
3352
+ kinematicsScenes: {}
3195
3353
  };
3196
3354
 
3197
3355
  parseLibrary(collada, "library_animations", "animation", parseAnimation);
3198
- parseLibrary(collada, "library_animation_clips", "animation_clip", parseAnimationClip);
3356
+ parseLibrary(
3357
+ collada,
3358
+ "library_animation_clips",
3359
+ "animation_clip",
3360
+ parseAnimationClip
3361
+ );
3199
3362
  parseLibrary(collada, "library_controllers", "controller", parseController);
3200
3363
  parseLibrary(collada, "library_images", "image", parseImage);
3201
3364
  parseLibrary(collada, "library_effects", "effect", parseEffect);
@@ -3204,10 +3367,30 @@ THREE.ColladaLoader.prototype = {
3204
3367
  parseLibrary(collada, "library_lights", "light", parseLight);
3205
3368
  parseLibrary(collada, "library_geometries", "geometry", parseGeometry);
3206
3369
  parseLibrary(collada, "library_nodes", "node", parseNode);
3207
- parseLibrary(collada, "library_visual_scenes", "visual_scene", parseVisualScene);
3208
- parseLibrary(collada, "library_kinematics_models", "kinematics_model", parseKinematicsModel);
3209
- parseLibrary(collada, "library_physics_models", "physics_model", parsePhysicsModel);
3210
- parseLibrary(collada, "scene", "instance_kinematics_scene", parseKinematicsScene);
3370
+ parseLibrary(
3371
+ collada,
3372
+ "library_visual_scenes",
3373
+ "visual_scene",
3374
+ parseVisualScene
3375
+ );
3376
+ parseLibrary(
3377
+ collada,
3378
+ "library_kinematics_models",
3379
+ "kinematics_model",
3380
+ parseKinematicsModel
3381
+ );
3382
+ parseLibrary(
3383
+ collada,
3384
+ "library_physics_models",
3385
+ "physics_model",
3386
+ parsePhysicsModel
3387
+ );
3388
+ parseLibrary(
3389
+ collada,
3390
+ "scene",
3391
+ "instance_kinematics_scene",
3392
+ parseKinematicsScene
3393
+ );
3211
3394
 
3212
3395
  buildLibrary(library.animations, buildAnimation);
3213
3396
  buildLibrary(library.clips, buildAnimationClip);
@@ -3235,9 +3418,9 @@ THREE.ColladaLoader.prototype = {
3235
3418
  animations: animations,
3236
3419
  kinematics: kinematics,
3237
3420
  library: library,
3238
- scene: scene,
3421
+ scene: scene
3239
3422
  };
3240
- },
3423
+ }
3241
3424
  };
3242
3425
 
3243
3426
  // important: don't forget to export it