viral-viewer-2 3.6.6 → 3.6.8
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 +26 -20
- 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":";;;AACA,uCAMqB;AACrB,iCAA+D;AAC/D,kEAA4D;AAC5D,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,0BAAU,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,qBAAqB;gBACrB,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,sBAAsB,CAC3B,KAAyC,EACzC,iBAAiB,GAAG,GAAG,EAAE,GAAE,CAAC;QAE5B,IAAI,SAAS,GAAG,IAAI,gCAAwB,EAAE,CAAC;QAC/C,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAClC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,OAAO,CACrB,SAAS,EACT,CAAC,IAAS,EAAE,EAAE;YACZ,IAAI,IAAI,GACN,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAS,CAAC;YACxE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAC1D,KAAK,CAAC,aAAa,CACnB,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC;YACrC,IAAI,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC3C,iBAAiB,EAAE,CAAC;QACtB,CAAC,CACF,CAAC;IACJ,CAAC;IACM,0BAA0B,CAC/B,KAA6C,EAC7C,iBAAiB,GAAG,GAAG,EAAE,GAAE,CAAC;QAE5B,IAAI,CAAC,UAAU,CAAC,OAAO,CACrB,KAAK,EACL,CAAC,IAAS,EAAE,EAAE;YACZ,IAAI,IAAI,GACN,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,CACrD,IAAI,CACY,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAC1D,KAAK,CAAC,aAAa,CACnB,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC;YACrC,IAAI,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC3C,iBAAiB,EAAE,CAAC;QACtB,CAAC,CACF,CAAC;IACJ,CAAC;CACF;
|
|
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;
|
|
@@ -34086,7 +34089,7 @@ which can be placed in CurveUtils.
|
|
|
34086
34089
|
childMesh.setMatrixAt(index, matrix4);
|
|
34087
34090
|
//if number of polygon smaller than expect, generate edges
|
|
34088
34091
|
if (geometry.attributes.position.count <= maxPolygonForEdge) {
|
|
34089
|
-
const edges = new EdgesGeometry(geometry,
|
|
34092
|
+
const edges = new EdgesGeometry(geometry, 90);
|
|
34090
34093
|
const positions = edges.attributes.position.array;
|
|
34091
34094
|
const indices = [];
|
|
34092
34095
|
for (let i = 0; i < positions.length / 3; i += 2) {
|
|
@@ -34110,16 +34113,19 @@ 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
|
-
const edges = new EdgesGeometry(geometry,
|
|
34128
|
+
const edges = new EdgesGeometry(geometry, 90);
|
|
34123
34129
|
const positions = edges.attributes.position.array;
|
|
34124
34130
|
const indices = [];
|
|
34125
34131
|
for (let i = 0; i < positions.length / 3; i += 2) {
|