viral-viewer-2 4.4.5 → 4.4.7
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/scene/viral-scene.d.ts +1 -0
- package/dist/components/scene/viral-scene.js +1 -0
- package/dist/components/scene/viral-scene.js.map +1 -1
- package/dist/components/worker/viral-viewer-4.worker.d.ts +1 -1
- package/dist/components/worker/viral-viewer-4.worker.js +19 -22
- package/dist/components/worker/viral-viewer-4.worker.js.map +1 -1
- package/dist/components/worker-script/load-model-worker-3.script.js +18 -4
- package/dist/components/worker-script/load-model-worker-3.script.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.js +8 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viral-scene.js","sourceRoot":"","sources":["../../../src/components/scene/viral-scene.ts"],"names":[],"mappings":";;;AAAA,iCAee;AAEf,uCAAyC;AACzC,6EAA0E;AAE1E,MAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"viral-scene.js","sourceRoot":"","sources":["../../../src/components/scene/viral-scene.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ import { WorkerThreadPool } from "./base/worker-pool";
|
|
|
5
5
|
export declare class ViralViewerWorker4 {
|
|
6
6
|
viralViewerApi: ViralViewerApi;
|
|
7
7
|
workerPool: WorkerThreadPool;
|
|
8
|
-
materials: RenderMaterial[];
|
|
9
8
|
mainModel: Mesh | null;
|
|
9
|
+
materialGroup: any[];
|
|
10
10
|
constructor(viralViewerApi: ViralViewerApi, scriptUrl?: string);
|
|
11
11
|
initial(materials: RenderMaterial[]): void;
|
|
12
12
|
loadElement(elements: ViralutionElement[], callbackOnSuccess?: () => void): void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ViralViewerWorker4 = void 0;
|
|
4
|
+
const types_1 = require("../../types");
|
|
4
5
|
const three_1 = require("three");
|
|
5
6
|
const load_model_worker_3_script_1 = require("../worker-script/load-model-worker-3.script");
|
|
6
7
|
const worker_pool_1 = require("./base/worker-pool");
|
|
@@ -8,8 +9,8 @@ const threejs_1 = require("../../utils/threejs");
|
|
|
8
9
|
class ViralViewerWorker4 {
|
|
9
10
|
constructor(viralViewerApi, scriptUrl = "../worker-script/load-model-worker-2.script.js") {
|
|
10
11
|
this.viralViewerApi = viralViewerApi;
|
|
11
|
-
this.materials = [];
|
|
12
12
|
this.mainModel = null;
|
|
13
|
+
this.materialGroup = [];
|
|
13
14
|
// Create a new Blob containing the worker code
|
|
14
15
|
const blob = new Blob([`(${load_model_worker_3_script_1.workerCode})()`]);
|
|
15
16
|
const workerPath = URL.createObjectURL(blob);
|
|
@@ -17,7 +18,6 @@ class ViralViewerWorker4 {
|
|
|
17
18
|
this.workerPool = new worker_pool_1.WorkerThreadPool(this.viralViewerApi.options.numberOfWorker, workerPath);
|
|
18
19
|
}
|
|
19
20
|
initial(materials) {
|
|
20
|
-
this.materials = materials;
|
|
21
21
|
this.mainModel = new three_1.Mesh();
|
|
22
22
|
this.mainModel.name = "Viral Model";
|
|
23
23
|
this.viralViewerApi.viralScene.addModel(this.mainModel);
|
|
@@ -35,30 +35,27 @@ class ViralViewerWorker4 {
|
|
|
35
35
|
polygonOffsetUnits: 0.1,
|
|
36
36
|
});
|
|
37
37
|
this.viralViewerApi.viralScene.materials.add(index, renderMaterial);
|
|
38
|
+
this.materialGroup.push(renderMaterial.toJSON());
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
loadElement(elements, callbackOnSuccess = () => { }) {
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
let toWorker = new types_1.ToWorker();
|
|
43
|
+
toWorker.Elements = elements;
|
|
44
|
+
toWorker.Materials = this.materialGroup;
|
|
45
|
+
this.workerPool.Enqueue(toWorker, (data) => {
|
|
43
46
|
let dummyMesh = this.viralViewerApi.viralLoader.threeLoader.parseObject(data);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
catch (error) { }
|
|
57
|
-
}
|
|
58
|
-
if (!((_b = element.userData) === null || _b === void 0 ? void 0 : _b.IsInstancedMesh)) {
|
|
59
|
-
element.userData.type = "Revit Element";
|
|
60
|
-
}
|
|
61
|
-
}
|
|
47
|
+
// for (let j = 0; j < dummyMesh.children.length; j++) {
|
|
48
|
+
// const element = dummyMesh.children[j];
|
|
49
|
+
// for (let index = 0; index < element.children.length; index++) {
|
|
50
|
+
// const object: any = element.children[index];
|
|
51
|
+
// object.material = this.viralViewerApi.viralScene.materials.get(
|
|
52
|
+
// object.userData.MaterialId
|
|
53
|
+
// )!;
|
|
54
|
+
// try {
|
|
55
|
+
// this.viralViewerApi.viralBVH.applyThreeMeshBVH(object.geometry);
|
|
56
|
+
// } catch (error) {}
|
|
57
|
+
// }
|
|
58
|
+
// }
|
|
62
59
|
if (this.mainModel)
|
|
63
60
|
this.mainModel.add(dummyMesh);
|
|
64
61
|
this.viralViewerApi.viralRenderer.render();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viral-viewer-4.worker.js","sourceRoot":"","sources":["../../../src/components/worker/viral-viewer-4.worker.ts"],"names":[],"mappings":";;;
|
|
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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"}
|
|
@@ -34060,9 +34060,19 @@ which can be placed in CurveUtils.
|
|
|
34060
34060
|
return result;
|
|
34061
34061
|
}
|
|
34062
34062
|
self.addEventListener("message", (event) => {
|
|
34063
|
+
let rawElements = event.data.Elements;
|
|
34064
|
+
let materialJsons = event.data.Materials;
|
|
34065
|
+
//get materials first
|
|
34066
|
+
let materials = [];
|
|
34067
|
+
let materialLoader = new MaterialLoader();
|
|
34068
|
+
for (let index = 0; index < materialJsons.length; index++) {
|
|
34069
|
+
const json = materialJsons[index];
|
|
34070
|
+
let material = materialLoader.parseObject(json);
|
|
34071
|
+
materials.push(material);
|
|
34072
|
+
}
|
|
34063
34073
|
let mainMesh = new Mesh();
|
|
34064
|
-
for (let k = 0; k <
|
|
34065
|
-
const data =
|
|
34074
|
+
for (let k = 0; k < rawElements.length; k++) {
|
|
34075
|
+
const data = rawElements[k];
|
|
34066
34076
|
//1 element may have multiple solids
|
|
34067
34077
|
const solids = progressGeometries(data);
|
|
34068
34078
|
if (data.Instances && data.Instances.length > 0) {
|
|
@@ -34092,10 +34102,12 @@ which can be placed in CurveUtils.
|
|
|
34092
34102
|
instancedMesh.setMatrixAt(j, matrix4);
|
|
34093
34103
|
}
|
|
34094
34104
|
instancedMesh.userData.MaterialId = solid.userData.MaterialId;
|
|
34105
|
+
instancedMesh.material = materials[solid.userData.MaterialId];
|
|
34095
34106
|
instancedMesh.updateMatrix();
|
|
34096
34107
|
group.add(instancedMesh);
|
|
34097
34108
|
}
|
|
34098
34109
|
group.userData.IsInstancedMesh = true;
|
|
34110
|
+
group.userData.type = 0;
|
|
34099
34111
|
group.updateMatrix();
|
|
34100
34112
|
mainMesh.add(group);
|
|
34101
34113
|
// let jsonData = group.toJSON();
|
|
@@ -34105,9 +34117,11 @@ which can be placed in CurveUtils.
|
|
|
34105
34117
|
//recreate element by combine solids
|
|
34106
34118
|
const mesh = new Mesh();
|
|
34107
34119
|
for (let index = 0; index < solids.length; index++) {
|
|
34108
|
-
const
|
|
34109
|
-
|
|
34120
|
+
const solid = solids[index];
|
|
34121
|
+
solid.material = materials[solid.userData.MaterialId];
|
|
34122
|
+
mesh.add(solid);
|
|
34110
34123
|
}
|
|
34124
|
+
mesh.userData.type = 0;
|
|
34111
34125
|
mainMesh.add(mesh);
|
|
34112
34126
|
// let jsonData = mesh.toJSON();
|
|
34113
34127
|
// self.postMessage(jsonData);
|