viral-viewer-2 3.6.6 → 3.6.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/bvh/viral-bvh.d.ts +5 -0
- package/dist/components/bvh/viral-bvh.js +17 -0
- package/dist/components/bvh/viral-bvh.js.map +1 -0
- package/dist/components/worker/viral-viewer-3.worker.js +2 -0
- package/dist/components/worker/viral-viewer-3.worker.js.map +1 -1
- package/dist/components/worker-script/threejs.types.js +24 -18
- package/dist/components/worker-script/threejs.types.js.map +1 -1
- package/dist/viral-viewer-api.d.ts +2 -0
- package/dist/viral-viewer-api.js +2 -0
- package/dist/viral-viewer-api.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ViralBVH = void 0;
|
|
4
|
+
const three_1 = require("three");
|
|
5
|
+
const three_mesh_bvh_1 = require("three-mesh-bvh");
|
|
6
|
+
class ViralBVH {
|
|
7
|
+
constructor() {
|
|
8
|
+
three_1.BufferGeometry.prototype.computeBoundsTree = three_mesh_bvh_1.computeBoundsTree;
|
|
9
|
+
three_1.BufferGeometry.prototype.disposeBoundsTree = three_mesh_bvh_1.disposeBoundsTree;
|
|
10
|
+
three_1.Mesh.prototype.raycast = three_mesh_bvh_1.acceleratedRaycast;
|
|
11
|
+
}
|
|
12
|
+
applyThreeMeshBVH(geometry) {
|
|
13
|
+
geometry.computeBoundsTree();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.ViralBVH = ViralBVH;
|
|
17
|
+
//# sourceMappingURL=viral-bvh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viral-bvh.js","sourceRoot":"","sources":["../../../src/components/bvh/viral-bvh.ts"],"names":[],"mappings":";;;AAAA,iCAA6C;AAC7C,mDAIwB;AAExB,MAAa,QAAQ;IACnB;QACE,sBAAc,CAAC,SAAS,CAAC,iBAAiB,GAAG,kCAAiB,CAAC;QAC/D,sBAAc,CAAC,SAAS,CAAC,iBAAiB,GAAG,kCAAiB,CAAC;QAC/D,YAAI,CAAC,SAAS,CAAC,OAAO,GAAG,mCAAkB,CAAC;IAC9C,CAAC;IACD,iBAAiB,CAAC,QAAwB;QACtC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IACjC,CAAC;CACF;AATD,4BASC"}
|
|
@@ -42,6 +42,7 @@ class ViralViewerWorker3 {
|
|
|
42
42
|
this.workerPool.Enqueue(inputData, (data) => {
|
|
43
43
|
let mesh = this.viralViewerApi.viralLoader.threeLoader.parseObject(data);
|
|
44
44
|
mesh.material = this.viralViewerApi.viralScene.materials.get(model.MaterialIndex);
|
|
45
|
+
this.viralViewerApi.viralBVH.applyThreeMeshBVH(mesh.geometry);
|
|
45
46
|
mesh.userData.type = "Revit Element";
|
|
46
47
|
if (this.mainModel)
|
|
47
48
|
this.mainModel.add(mesh);
|
|
@@ -53,6 +54,7 @@ class ViralViewerWorker3 {
|
|
|
53
54
|
this.workerPool.Enqueue(model, (data) => {
|
|
54
55
|
let mesh = this.viralViewerApi.viralLoader.threeLoader.parseObject(data);
|
|
55
56
|
mesh.material = this.viralViewerApi.viralScene.materials.get(model.MaterialIndex);
|
|
57
|
+
this.viralViewerApi.viralBVH.applyThreeMeshBVH(mesh.geometry);
|
|
56
58
|
mesh.userData.type = "Revit Element";
|
|
57
59
|
if (this.mainModel)
|
|
58
60
|
this.mainModel.add(mesh);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viral-viewer-3.worker.js","sourceRoot":"","sources":["../../../src/components/worker/viral-viewer-3.worker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"viral-viewer-3.worker.js","sourceRoot":"","sources":["../../../src/components/worker/viral-viewer-3.worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -34051,16 +34051,19 @@ which can be placed in CurveUtils.
|
|
|
34051
34051
|
dummyGeometry.setAttribute("position", new BufferAttribute(buffer, 3));
|
|
34052
34052
|
if (event.data.Instances && event.data.Instances.length > 0) {
|
|
34053
34053
|
let geometry = new BufferGeometry();
|
|
34054
|
-
// In case number of polygon larger than expect, merge them to reduce polygon first, for optimize purpose
|
|
34055
|
-
if (dummyGeometry.attributes.position.count > maxPolygonPerObject) {
|
|
34056
|
-
|
|
34057
|
-
|
|
34058
|
-
|
|
34059
|
-
|
|
34060
|
-
|
|
34061
|
-
|
|
34062
|
-
|
|
34063
|
-
}
|
|
34054
|
+
// // In case number of polygon larger than expect, merge them to reduce polygon first, for optimize purpose
|
|
34055
|
+
// if (dummyGeometry.attributes.position.count > maxPolygonPerObject) {
|
|
34056
|
+
// let modifier = new SimplifyModifier();
|
|
34057
|
+
// // decrease 50% of polygon
|
|
34058
|
+
// geometry = modifier.modify(dummyGeometry, dummyGeometry.attributes.position.count * 0.5);
|
|
34059
|
+
// console.log(
|
|
34060
|
+
// dummyGeometry.attributes.position.count,
|
|
34061
|
+
// geometry.attributes.position.count
|
|
34062
|
+
// );
|
|
34063
|
+
// } else {
|
|
34064
|
+
// geometry = dummyGeometry;
|
|
34065
|
+
// }
|
|
34066
|
+
geometry = mergeVertices(dummyGeometry);
|
|
34064
34067
|
geometry.computeVertexNormals();
|
|
34065
34068
|
const childMesh = new InstancedMesh(geometry, new MeshBasicMaterial(), event.data.Instances.length);
|
|
34066
34069
|
childMesh.castShadow = true;
|
|
@@ -34110,14 +34113,17 @@ which can be placed in CurveUtils.
|
|
|
34110
34113
|
}
|
|
34111
34114
|
else {
|
|
34112
34115
|
let geometry = new BufferGeometry();
|
|
34113
|
-
if (dummyGeometry.attributes.position.count > maxPolygonPerObject) {
|
|
34114
|
-
|
|
34115
|
-
|
|
34116
|
-
|
|
34117
|
-
|
|
34118
|
-
|
|
34119
|
-
|
|
34120
|
-
}
|
|
34116
|
+
// if (dummyGeometry.attributes.position.count > maxPolygonPerObject) {
|
|
34117
|
+
// let modifier = new SimplifyModifier();
|
|
34118
|
+
// geometry = modifier.modify(dummyGeometry, maxPolygonPerObject);
|
|
34119
|
+
// console.log(
|
|
34120
|
+
// dummyGeometry.attributes.position.count,
|
|
34121
|
+
// geometry.attributes.position.count
|
|
34122
|
+
// );
|
|
34123
|
+
// } else {
|
|
34124
|
+
// geometry = dummyGeometry;
|
|
34125
|
+
// }
|
|
34126
|
+
geometry = mergeVertices(dummyGeometry);
|
|
34121
34127
|
geometry.computeVertexNormals();
|
|
34122
34128
|
const edges = new EdgesGeometry(geometry, 15);
|
|
34123
34129
|
const positions = edges.attributes.position.array;
|