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.
- package/dist/components/material/viral-material-manager.d.ts +1 -0
- package/dist/components/material/viral-material-manager.js +7 -0
- package/dist/components/material/viral-material-manager.js.map +1 -1
- package/dist/components/worker/viral-viewer-4.worker.js +6 -19
- package/dist/components/worker/viral-viewer-4.worker.js.map +1 -1
- package/dist/components/worker-script/load-model-worker-3.script.js +7 -4
- package/dist/components/worker-script/load-model-worker-3.script.js.map +1 -1
- package/package.json +1 -1
|
@@ -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;
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
|
|
58
|
-
|
|
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":";;;AAKA,iCAGe;AACf,4FAAyE;AACzE,oDAAsD;AACtD,iDAAwD;AAExD,MAAa,kBAAkB;IAG7B,YACS,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAFhC,cAAS,GAAgB,IAAI,CAAC;QAGnC,+CAA+C;QAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,uCAAU,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,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,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,aAAa,EAAE,IAAI;gBACnB,mBAAmB,EAAE,CAAC;gBACtB,kBAAkB,EAAE,GAAG;aACxB,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;SAC/E;IACH,CAAC;IACM,WAAW,CAChB,QAA6B,EAC7B,iBAAiB,GAAG,GAAG,EAAE,GAAE,CAAC;QAE5B,IAAI,CAAC,UAAU,CAAC,OAAO,CAA2B,QAAQ,EAAE,CAAC,IAAS,EAAE,EAAE
|
|
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,
|
|
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.
|
|
34146
|
+
mesh.userData.MaterialIds.push(solid.userData.MaterialId);
|
|
34144
34147
|
}
|
|
34145
34148
|
mesh.userData.Type = 1; //element
|
|
34146
34149
|
mesh.userData.Id = data.Id;
|