viral-viewer-2 4.7.5 → 4.7.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.
@@ -4,6 +4,7 @@ import { Dictionary } from "../../types";
4
4
  export declare class ViralMaterialManager {
5
5
  private viralViewerApi;
6
6
  hoverMaterial: MeshPhongMaterial;
7
+ selectedMaterial: MeshPhongMaterial;
7
8
  vertexShader: string;
8
9
  fragmentShader: string;
9
10
  outlineMaterial: ShaderMaterial;
@@ -14,6 +14,13 @@ class ViralMaterialManager {
14
14
  transparent: true,
15
15
  name: "Render Material",
16
16
  });
17
+ this.selectedMaterial = new three_1.MeshPhongMaterial({
18
+ color: (0, threejs_1.hexToThreejsColor)(colors_1.LightTheme.secondary),
19
+ opacity: 0.7,
20
+ transparent: true,
21
+ name: "Render Material",
22
+ depthTest: false
23
+ });
17
24
  this.vertexShader = `
18
25
  uniform float outline;
19
26
  void main() {
@@ -1 +1 @@
1
- {"version":3,"file":"viral-material-manager.js","sourceRoot":"","sources":["../../../src/components/material/viral-material-manager.ts"],"names":[],"mappings":";;;AAAA,iCAMe;AAEf,iDAAwD;AACxD,+CAAgD;AAChD,uCAAyC;AAEzC,MAAa,oBAAoB;IAkC/B,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAjC3C,kBAAa,GAAG,IAAI,yBAAiB,CAAC;YAC3C,KAAK,EAAE,IAAA,2BAAiB,EAAC,mBAAU,CAAC,SAAS,CAAC;YAC9C,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,iBAAiB;SACxB,CAAC,CAAC;QACH,iBAAY,GAAG;;;;;CAKhB,CAAC;QAEA,mBAAc,GAAG;;;;;;CAMlB,CAAC;QAEO,oBAAe,GAAG,IAAI,sBAAc,CAAC;YAC1C,QAAQ,EAAE;gBACR,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,aAAK,CAAC,mBAAU,CAAC,MAAM,CAAC,EAAE;gBAC9C,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;gBACvB,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;aACxB;YACD,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,IAAI,EAAE,gBAAQ;SACf,CAAC,CAAC;QACH,cAAS,GAAiC,IAAI,kBAAU,EAAoB,CAAC;IAExB,CAAC;CACvD;AAnCD,oDAmCC"}
1
+ {"version":3,"file":"viral-material-manager.js","sourceRoot":"","sources":["../../../src/components/material/viral-material-manager.ts"],"names":[],"mappings":";;;AAAA,iCAMe;AAEf,iDAAwD;AACxD,+CAAgD;AAChD,uCAAyC;AAEzC,MAAa,oBAAoB;IAyC/B,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAxC3C,kBAAa,GAAG,IAAI,yBAAiB,CAAC;YAC3C,KAAK,EAAE,IAAA,2BAAiB,EAAC,mBAAU,CAAC,SAAS,CAAC;YAC9C,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,iBAAiB;SACxB,CAAC,CAAC;QACI,qBAAgB,GAAG,IAAI,yBAAiB,CAAC;YAC9C,KAAK,EAAE,IAAA,2BAAiB,EAAC,mBAAU,CAAC,SAAS,CAAC;YAC9C,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,iBAAiB;YACvB,SAAS,EAAC,KAAK;SAChB,CAAC,CAAC;QACH,iBAAY,GAAG;;;;;CAKhB,CAAC;QAEA,mBAAc,GAAG;;;;;;CAMlB,CAAC;QAEO,oBAAe,GAAG,IAAI,sBAAc,CAAC;YAC1C,QAAQ,EAAE;gBACR,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,aAAK,CAAC,mBAAU,CAAC,MAAM,CAAC,EAAE;gBAC9C,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;gBACvB,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;aACxB;YACD,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,IAAI,EAAE,gBAAQ;SACf,CAAC,CAAC;QACH,cAAS,GAAiC,IAAI,kBAAU,EAAoB,CAAC;IAExB,CAAC;CACvD;AA1CD,oDA0CC"}
@@ -37,31 +37,18 @@ class ViralViewerWorker4 {
37
37
  }
38
38
  loadElement(elements, callbackOnSuccess = () => { }) {
39
39
  this.workerPool.Enqueue(elements, (data) => {
40
- var _a;
41
40
  let dummyMesh = this.viralViewerApi.viralLoader.threeLoader.parseObject(data);
42
41
  for (let j = 0; j < dummyMesh.children.length; j++) {
43
42
  const element = dummyMesh.children[j];
44
43
  this.viralViewerApi.viralScene.selectables.push(element);
45
- if ((_a = element.userData) === null || _a === void 0 ? void 0 : _a.IsInstancedMesh) {
46
- element.material = [];
47
- for (let k = 0; k < element.userData.MaterialIds.length; k++) {
48
- const materialIndex = element.userData.MaterialIds[k];
49
- element.material.push(this.viralViewerApi.viralMaterialManager.materials.get(materialIndex));
50
- }
51
- try {
52
- this.viralViewerApi.viralBVH.applyThreeMeshBVH(element.geometry);
53
- }
54
- catch (error) { }
55
- continue;
44
+ for (let k = 0; k < element.userData.MaterialIds.length; k++) {
45
+ const materialIndex = element.userData.MaterialIds[k];
46
+ element.material.push(this.viralViewerApi.viralMaterialManager.materials.get(materialIndex));
56
47
  }
57
- for (let index = 0; index < element.children.length; index++) {
58
- const solid = element.children[index];
59
- solid.material = this.viralViewerApi.viralMaterialManager.materials.get(solid.userData.MaterialId);
60
- try {
61
- this.viralViewerApi.viralBVH.applyThreeMeshBVH(solid.geometry);
62
- }
63
- catch (error) { }
48
+ try {
49
+ this.viralViewerApi.viralBVH.applyThreeMeshBVH(element.geometry);
64
50
  }
51
+ catch (error) { }
65
52
  }
66
53
  if (this.mainModel)
67
54
  this.mainModel.add(dummyMesh);
@@ -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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"}
@@ -34065,7 +34065,7 @@ which can be placed in CurveUtils.
34065
34065
  let geometry = new BufferGeometry();
34066
34066
  geometry = mergeVertices(dummyGeometry);
34067
34067
  geometry.computeVertexNormals();
34068
- const mesh = new Mesh(geometry);
34068
+ const mesh = new Mesh(geometry, []);
34069
34069
  mesh.userData.MaterialId = element.MaterialIndex;
34070
34070
  mesh.userData.Type = 0; //solid
34071
34071
  mesh.receiveShadow = true;
@@ -34087,7 +34087,7 @@ which can be placed in CurveUtils.
34087
34087
  let mergedGeometry = new BufferGeometry();
34088
34088
  let geometries = solids.map(x => x.geometry);
34089
34089
  mergedGeometry = mergeGeometries(geometries, true);
34090
- const instancedMesh = new InstancedMesh(mergedGeometry, new MeshBasicMaterial(), data.Instances.length);
34090
+ const instancedMesh = new InstancedMesh(mergedGeometry, [], data.Instances.length);
34091
34091
  instancedMesh.userData.Instances = [];
34092
34092
  instancedMesh.userData.MaterialIds = [];
34093
34093
  for (let index = 0; index < solids.length; index++) {
@@ -34136,11 +34136,14 @@ which can be placed in CurveUtils.
34136
34136
  // self.postMessage(jsonData);
34137
34137
  }
34138
34138
  else {
34139
+ let mergedGeometry = new BufferGeometry();
34140
+ let geometries = solids.map(x => x.geometry);
34141
+ mergedGeometry = mergeGeometries(geometries, true);
34139
34142
  //recreate element by combine solids
34140
- const mesh = new Mesh();
34143
+ const mesh = new Mesh(mergedGeometry);
34141
34144
  for (let index = 0; index < solids.length; index++) {
34142
34145
  const solid = solids[index];
34143
- mesh.add(solid);
34146
+ mesh.userData.MaterialIds.push(solid.userData.MaterialId);
34144
34147
  }
34145
34148
  mesh.userData.Type = 1; //element
34146
34149
  mesh.userData.Id = data.Id;