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.
@@ -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":"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"}
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
- const meshes = progressGeometries(event.data);
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
- const instanceGroup = new Mesh();
34064
- const mesh = new Mesh();
34065
- for (let index = 0; index < meshes.length; index++) {
34066
- const element = meshes[index];
34067
- mesh.add(element);
34068
- }
34069
- mesh.castShadow = true;
34070
- mesh.receiveShadow = true;
34071
- for (let index = 0; index < event.data.Instances.length; index++) {
34072
- const transform = event.data.Instances[index];
34073
- let numbers = [
34074
- transform.BasisX.X, -transform.BasisX.Z, -transform.BasisX.Y,
34075
- 0, -transform.BasisZ.X,
34076
- transform.BasisZ.Z,
34077
- transform.BasisZ.Y,
34078
- 0, -transform.BasisY.X,
34079
- transform.BasisY.Z,
34080
- transform.BasisY.Y,
34081
- 0, -transform.Offset.X,
34082
- transform.Offset.Z,
34083
- transform.Offset.Y,
34084
- 1,
34085
- ];
34086
- //transform first
34087
- let matrix4 = new Matrix4();
34088
- matrix4.fromArray(numbers);
34089
- let cloneMesh = mesh.clone();
34090
- cloneMesh.applyMatrix4(matrix4);
34091
- // cloneMesh.setMatrixAt(index, matrix4);
34092
- // cloneMesh.setColorAt(index, new Color());
34093
- cloneMesh.updateMatrix();
34094
- instanceGroup.add(cloneMesh);
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 < meshes.length; index++) {
34105
- const element = meshes[index];
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();