@crystaldesign/real-time-viewer 25.14.0-rc.7 → 25.14.0-rc.9
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/build/esm/index.js
CHANGED
|
@@ -3871,16 +3871,41 @@ function _createForOfIteratorHelper$1(r, e) { var t = "undefined" != typeof Symb
|
|
|
3871
3871
|
function _unsupportedIterableToArray$1(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$1(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$1(r, a) : void 0; } }
|
|
3872
3872
|
function _arrayLikeToArray$1(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
3873
3873
|
function findMaterials(cache) {
|
|
3874
|
+
var matsOnMeshes = {};
|
|
3874
3875
|
//! parent = the parent from which on every child should receive the Material
|
|
3875
3876
|
//! id = the id which points to the material that should be assigned
|
|
3876
3877
|
var setMaterials = function setMaterials(onNode, mat) {
|
|
3877
|
-
if (onNode !== null && onNode !== void 0 && onNode._isMesh)
|
|
3878
|
+
if (onNode !== null && onNode !== void 0 && onNode._isMesh) {
|
|
3879
|
+
matsOnMeshes[onNode.uniqueId] = {
|
|
3880
|
+
mat: mat,
|
|
3881
|
+
onNode: onNode
|
|
3882
|
+
};
|
|
3883
|
+
onNode.material = mat;
|
|
3884
|
+
}
|
|
3878
3885
|
var _iterator = _createForOfIteratorHelper$1(onNode.getChildMeshes()),
|
|
3879
3886
|
_step;
|
|
3880
3887
|
try {
|
|
3888
|
+
var _loop = function _loop() {
|
|
3889
|
+
var mesh = _step.value;
|
|
3890
|
+
var existing = Object.keys(matsOnMeshes).find(function (key) {
|
|
3891
|
+
return key == mesh.uniqueId.toString();
|
|
3892
|
+
});
|
|
3893
|
+
if (existing) {
|
|
3894
|
+
if (onNode.uniqueId.toString() == existing) return 0; // continue
|
|
3895
|
+
if (onNode.getChildren().find(function (node) {
|
|
3896
|
+
return node.uniqueId.toString() == existing;
|
|
3897
|
+
})) return 0; // continue
|
|
3898
|
+
}
|
|
3899
|
+
matsOnMeshes[mesh.uniqueId] = {
|
|
3900
|
+
mat: mat,
|
|
3901
|
+
onNode: onNode
|
|
3902
|
+
};
|
|
3903
|
+
mesh.material = mat;
|
|
3904
|
+
},
|
|
3905
|
+
_ret;
|
|
3881
3906
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
3882
|
-
|
|
3883
|
-
|
|
3907
|
+
_ret = _loop();
|
|
3908
|
+
if (_ret === 0) continue;
|
|
3884
3909
|
}
|
|
3885
3910
|
} catch (err) {
|
|
3886
3911
|
_iterator.e(err);
|
|
@@ -3890,7 +3915,7 @@ function findMaterials(cache) {
|
|
|
3890
3915
|
};
|
|
3891
3916
|
|
|
3892
3917
|
//! find On Node from json to scene and then call setMaterials to apply it to all Children
|
|
3893
|
-
var findOnNode = function findOnNode(mat, parent) {
|
|
3918
|
+
var findOnNode = function findOnNode(mat, parent, onNode) {
|
|
3894
3919
|
if (!mat.onNodes) return;
|
|
3895
3920
|
var children = parent.getChildTransformNodes(false);
|
|
3896
3921
|
var _iterator2 = _createForOfIteratorHelper$1(children),
|
|
@@ -3898,20 +3923,10 @@ function findMaterials(cache) {
|
|
|
3898
3923
|
try {
|
|
3899
3924
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
3900
3925
|
var child = _step2.value;
|
|
3901
|
-
|
|
3902
|
-
|
|
3903
|
-
|
|
3904
|
-
|
|
3905
|
-
var onNode = _step3.value;
|
|
3906
|
-
if (onNode == "" || onNode == "ALL") setMaterials(child, mat.mat);
|
|
3907
|
-
if (child.name.startsWith(onNode) || child.name.startsWith('geo_') && child.name.includes(onNode)) {
|
|
3908
|
-
setMaterials(child, mat.mat);
|
|
3909
|
-
}
|
|
3910
|
-
}
|
|
3911
|
-
} catch (err) {
|
|
3912
|
-
_iterator3.e(err);
|
|
3913
|
-
} finally {
|
|
3914
|
-
_iterator3.f();
|
|
3926
|
+
if (onNode == "" || onNode == "ALL") setMaterials(child, mat.mat);
|
|
3927
|
+
if (child.name.startsWith(onNode) || child.name.startsWith('geo_') && child.name.includes(onNode)) {
|
|
3928
|
+
if (child.getChildren(undefined, true)) {}
|
|
3929
|
+
setMaterials(child, mat.mat);
|
|
3915
3930
|
}
|
|
3916
3931
|
}
|
|
3917
3932
|
} catch (err) {
|
|
@@ -3920,29 +3935,22 @@ function findMaterials(cache) {
|
|
|
3920
3935
|
_iterator2.f();
|
|
3921
3936
|
}
|
|
3922
3937
|
};
|
|
3923
|
-
var
|
|
3924
|
-
|
|
3938
|
+
var _iterator3 = _createForOfIteratorHelper$1(cache),
|
|
3939
|
+
_step3;
|
|
3925
3940
|
try {
|
|
3926
|
-
for (
|
|
3927
|
-
var element =
|
|
3941
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
3942
|
+
var element = _step3.value;
|
|
3928
3943
|
if (!element.material || !element.material.parents) continue;
|
|
3929
|
-
var
|
|
3930
|
-
|
|
3931
|
-
|
|
3932
|
-
|
|
3933
|
-
var parent = _step5.value;
|
|
3934
|
-
findOnNode(element.material, parent);
|
|
3935
|
-
}
|
|
3936
|
-
} catch (err) {
|
|
3937
|
-
_iterator5.e(err);
|
|
3938
|
-
} finally {
|
|
3939
|
-
_iterator5.f();
|
|
3944
|
+
for (var idx = 0; idx < element.material.parents.length; idx++) {
|
|
3945
|
+
var parent = element.material.parents[idx];
|
|
3946
|
+
var onNode = element.material.onNodes[idx];
|
|
3947
|
+
findOnNode(element.material, parent, onNode);
|
|
3940
3948
|
}
|
|
3941
3949
|
}
|
|
3942
3950
|
} catch (err) {
|
|
3943
|
-
|
|
3951
|
+
_iterator3.e(err);
|
|
3944
3952
|
} finally {
|
|
3945
|
-
|
|
3953
|
+
_iterator3.f();
|
|
3946
3954
|
}
|
|
3947
3955
|
return findMaterials;
|
|
3948
3956
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/findMaterials/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAY,MAAM,aAAa,CAAC;AAG9C,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/findMaterials/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAY,MAAM,aAAa,CAAC;AAG9C,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,wBA6CnD"}
|