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