viral-viewer-2 4.2.9 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/worker/viral-viewer-4.worker.js +1 -8
- package/dist/components/worker/viral-viewer-4.worker.js.map +1 -1
- package/dist/components/worker-script/load-model-worker-3.script.js +37 -40
- package/dist/components/worker-script/load-model-worker-3.script.js.map +1 -1
- package/package.json +1 -1
|
@@ -38,20 +38,13 @@ class ViralViewerWorker4 {
|
|
|
38
38
|
this.workerPool.Enqueue(element, (data) => {
|
|
39
39
|
var _a, _b;
|
|
40
40
|
let dummyMesh = this.viralViewerApi.viralLoader.threeLoader.parseObject(data);
|
|
41
|
-
console.log(dummyMesh);
|
|
42
41
|
if (dummyMesh.children.length > 0) {
|
|
43
42
|
for (let index = 0; index < dummyMesh.children.length; index++) {
|
|
44
43
|
const child = dummyMesh.children[index];
|
|
44
|
+
child.material = this.viralViewerApi.viralScene.materials.get(child.userData.MaterialId);
|
|
45
45
|
if ((_a = dummyMesh.userData) === null || _a === void 0 ? void 0 : _a.IsInstancedMesh) {
|
|
46
|
-
for (let j = 0; j < child.children.length; j++) {
|
|
47
|
-
const element = child.children[j];
|
|
48
|
-
element.material = this.viralViewerApi.viralScene.materials.get(element.userData.MaterialId);
|
|
49
|
-
this.viralViewerApi.viralBVH.applyThreeMeshBVH(element.geometry);
|
|
50
|
-
}
|
|
51
46
|
child.userData.type = "Revit Element";
|
|
52
|
-
continue;
|
|
53
47
|
}
|
|
54
|
-
child.material = this.viralViewerApi.viralScene.materials.get(child.userData.MaterialId);
|
|
55
48
|
this.viralViewerApi.viralBVH.applyThreeMeshBVH(child.geometry);
|
|
56
49
|
}
|
|
57
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viral-viewer-4.worker.js","sourceRoot":"","sources":["../../../src/components/worker/viral-viewer-4.worker.ts"],"names":[],"mappings":";;;AASA,iCAQe;AACf,4FAAyE;AACzE,oDAAsD;AACtD,iDAAwD;AAExD,MAAa,kBAAkB;IAI7B,YACS,cAA8B,EACrC,YAAoB,gDAAgD;QAD7D,mBAAc,GAAd,cAAc,CAAgB;QAHhC,cAAS,GAAqB,EAAE,CAAC;QACjC,cAAS,GAAgB,IAAI,CAAC;QAKnC,+CAA+C;QAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,uCAAU,KAAK,CAAC,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7C,oCAAoC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,8BAAgB,CACpC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,EAC1C,UAAU,CACX,CAAC;IACJ,CAAC;IACM,OAAO,CAAC,SAA2B;QACxC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,SAAS,GAAG,IAAI,YAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,WAAW,GAAG,IAAA,2BAAiB,EACjC,QAAQ,CAAC,GAAG,EACZ,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,IAAI,CACd,CAAC;YAEF,IAAI,cAAc,GAAG,IAAI,yBAAiB,CAAC;gBACzC,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,WAAW,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;gBACjD,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;SACrE;IACH,CAAC;IACM,WAAW,CAAC,OAA0B,EAAE,iBAAiB,GAAG,GAAG,EAAE,GAAE,CAAC;QACzE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAyB,OAAO,EAAE,CAAC,IAAS,EAAE,EAAE;;YACrE,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"viral-viewer-4.worker.js","sourceRoot":"","sources":["../../../src/components/worker/viral-viewer-4.worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -34058,51 +34058,48 @@ which can be placed in CurveUtils.
|
|
|
34058
34058
|
return result;
|
|
34059
34059
|
}
|
|
34060
34060
|
self.addEventListener("message", (event) => {
|
|
34061
|
-
|
|
34061
|
+
//1 element may have multiple solids
|
|
34062
|
+
const solids = progressGeometries(event.data);
|
|
34062
34063
|
if (event.data.Instances && event.data.Instances.length > 0) {
|
|
34063
|
-
|
|
34064
|
-
|
|
34065
|
-
for (let index = 0; index <
|
|
34066
|
-
const
|
|
34067
|
-
|
|
34068
|
-
|
|
34069
|
-
|
|
34070
|
-
|
|
34071
|
-
|
|
34072
|
-
|
|
34073
|
-
|
|
34074
|
-
|
|
34075
|
-
|
|
34076
|
-
|
|
34077
|
-
|
|
34078
|
-
|
|
34079
|
-
|
|
34080
|
-
|
|
34081
|
-
|
|
34082
|
-
|
|
34083
|
-
transform
|
|
34084
|
-
|
|
34085
|
-
|
|
34086
|
-
|
|
34087
|
-
|
|
34088
|
-
|
|
34089
|
-
|
|
34090
|
-
|
|
34091
|
-
|
|
34092
|
-
|
|
34093
|
-
|
|
34094
|
-
|
|
34095
|
-
}
|
|
34096
|
-
// childMesh.instanceMatrix.needsUpdate = true;
|
|
34097
|
-
instanceGroup.updateMatrix();
|
|
34098
|
-
instanceGroup.userData.IsInstancedMesh = true;
|
|
34099
|
-
let jsonData = instanceGroup.toJSON();
|
|
34064
|
+
let group = new Mesh();
|
|
34065
|
+
//foreach solid create new InstancedMesh
|
|
34066
|
+
for (let index = 0; index < solids.length; index++) {
|
|
34067
|
+
const solid = solids[index];
|
|
34068
|
+
const instancedMesh = new InstancedMesh(solid.geometry, new MeshBasicMaterial(), event.data.Instances.length);
|
|
34069
|
+
for (let j = 0; j < event.data.Instances.length; j++) {
|
|
34070
|
+
const transform = event.data.Instances[j];
|
|
34071
|
+
let numbers = [
|
|
34072
|
+
transform.BasisX.X, -transform.BasisX.Z, -transform.BasisX.Y,
|
|
34073
|
+
0, -transform.BasisZ.X,
|
|
34074
|
+
transform.BasisZ.Z,
|
|
34075
|
+
transform.BasisZ.Y,
|
|
34076
|
+
0, -transform.BasisY.X,
|
|
34077
|
+
transform.BasisY.Z,
|
|
34078
|
+
transform.BasisY.Y,
|
|
34079
|
+
0, -transform.Offset.X,
|
|
34080
|
+
transform.Offset.Z,
|
|
34081
|
+
transform.Offset.Y,
|
|
34082
|
+
1,
|
|
34083
|
+
];
|
|
34084
|
+
//transform first
|
|
34085
|
+
let matrix4 = new Matrix4();
|
|
34086
|
+
matrix4.fromArray(numbers);
|
|
34087
|
+
instancedMesh.setMatrixAt(j, matrix4);
|
|
34088
|
+
}
|
|
34089
|
+
instancedMesh.userData.MaterialId = solid.userData.MaterialId;
|
|
34090
|
+
instancedMesh.updateMatrix();
|
|
34091
|
+
group.add(instancedMesh);
|
|
34092
|
+
}
|
|
34093
|
+
group.userData.IsInstancedMesh = true;
|
|
34094
|
+
group.updateMatrix();
|
|
34095
|
+
let jsonData = group.toJSON();
|
|
34100
34096
|
self.postMessage(jsonData);
|
|
34101
34097
|
}
|
|
34102
34098
|
else {
|
|
34099
|
+
//recreate element by combine solids
|
|
34103
34100
|
const mesh = new Mesh();
|
|
34104
|
-
for (let index = 0; index <
|
|
34105
|
-
const element =
|
|
34101
|
+
for (let index = 0; index < solids.length; index++) {
|
|
34102
|
+
const element = solids[index];
|
|
34106
34103
|
mesh.add(element);
|
|
34107
34104
|
}
|
|
34108
34105
|
let jsonData = mesh.toJSON();
|