viral-viewer-2 4.7.0 → 4.7.2

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.
@@ -10,7 +10,9 @@ class ViralBVH {
10
10
  three_1.Mesh.prototype.raycast = three_mesh_bvh_1.acceleratedRaycast;
11
11
  }
12
12
  applyThreeMeshBVH(geometry) {
13
- geometry.computeBoundsTree();
13
+ if (!geometry.boundsTree) {
14
+ geometry.computeBoundsTree();
15
+ }
14
16
  }
15
17
  }
16
18
  exports.ViralBVH = ViralBVH;
@@ -1 +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"}
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;QACxC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YAExB,QAAQ,CAAC,iBAAiB,EAAE,CAAC;SAC9B;IACH,CAAC;CACF;AAZD,4BAYC"}
@@ -0,0 +1,12 @@
1
+ import { Material, MeshPhongMaterial, ShaderMaterial } from "three";
2
+ import { ViralViewerApi } from "../../viral-viewer-api";
3
+ import { Dictionary } from "../../types";
4
+ export declare class ViralMaterialManager {
5
+ private viralViewerApi;
6
+ hoverMaterial: MeshPhongMaterial;
7
+ vertexShader: string;
8
+ fragmentShader: string;
9
+ outlineMaterial: ShaderMaterial;
10
+ materials: Dictionary<number, Material>;
11
+ constructor(viralViewerApi: ViralViewerApi);
12
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViralMaterialManager = void 0;
4
+ const three_1 = require("three");
5
+ const threejs_1 = require("../../utils/threejs");
6
+ const colors_1 = require("../../const/colors");
7
+ const types_1 = require("../../types");
8
+ class ViralMaterialManager {
9
+ constructor(viralViewerApi) {
10
+ this.viralViewerApi = viralViewerApi;
11
+ this.hoverMaterial = new three_1.MeshPhongMaterial({
12
+ color: (0, threejs_1.hexToThreejsColor)(colors_1.LightTheme.secondary),
13
+ opacity: 0.7,
14
+ transparent: true,
15
+ name: "Render Material",
16
+ });
17
+ this.vertexShader = `
18
+ uniform float outline;
19
+ void main() {
20
+ gl_Position = projectionMatrix * modelViewMatrix * vec4(position + normal * outline, 1.0);
21
+ }
22
+ `;
23
+ this.fragmentShader = `
24
+ uniform vec3 color;
25
+ uniform float opacity;
26
+ void main() {
27
+ gl_FragColor = vec4(color, opacity);
28
+ }
29
+ `;
30
+ this.outlineMaterial = new three_1.ShaderMaterial({
31
+ uniforms: {
32
+ color: { value: new three_1.Color(colors_1.LightTheme.accent) },
33
+ opacity: { value: 1.0 },
34
+ outline: { value: 0.1 },
35
+ },
36
+ vertexShader: this.vertexShader,
37
+ fragmentShader: this.fragmentShader,
38
+ side: three_1.BackSide,
39
+ });
40
+ this.materials = new types_1.Dictionary();
41
+ }
42
+ }
43
+ exports.ViralMaterialManager = ViralMaterialManager;
44
+ //# sourceMappingURL=viral-material-manager.js.map
@@ -0,0 +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"}
@@ -8,7 +8,7 @@ class ViralRenderer {
8
8
  this.viralViewerApi = viralViewerApi;
9
9
  this.renderer = new three_1.WebGLRenderer({
10
10
  alpha: true,
11
- antialias: false,
11
+ antialias: true,
12
12
  stencil: false,
13
13
  logarithmicDepthBuffer: true,
14
14
  powerPreference: "high-performance",
@@ -1 +1 @@
1
- {"version":3,"file":"viral-renderer.js","sourceRoot":"","sources":["../../../src/components/renderer/viral-renderer.ts"],"names":[],"mappings":";;;AAAA,iCAA8F;AAE9F,0FAAqF;AAErF,MAAa,aAAa;IAWxB,YAAmB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAVjD,aAAQ,GAAkB,IAAI,qBAAa,CAAC;YAC1C,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,KAAK;YACd,sBAAsB,EAAE,IAAI;YAC5B,eAAe,EAAE,kBAAkB;SACpC,CAAC,CAAC;QAKD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,wBAAgB,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,sBAAc,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,CACnB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,EAC7C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAC/C,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,CAAC,sBAAsB,GAAG,IAAI,iDAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;IACM,UAAU,CAAC,KAAY,EAAC,MAAa;QAE1C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IACM,MAAM;;QACX,IACE,IAAI,CAAC,cAAc,CAAC,WAAW;YAC/B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,EACtC;YACA,0CAA0C;YAC1C,MAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,0CAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAChE,wBAAwB;YACxB,0CAA0C;YAC1C,2CAA2C;YAC3C,KAAK;YACL,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE;gBAC/D,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,qBAAqB,EACrE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CACvC,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;aAChC;SACF;IACH,CAAC;CACF;AApDD,sCAoDC"}
1
+ {"version":3,"file":"viral-renderer.js","sourceRoot":"","sources":["../../../src/components/renderer/viral-renderer.ts"],"names":[],"mappings":";;;AAAA,iCAA8F;AAE9F,0FAAqF;AAErF,MAAa,aAAa;IAWxB,YAAmB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAVjD,aAAQ,GAAkB,IAAI,qBAAa,CAAC;YAC1C,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,KAAK;YACd,sBAAsB,EAAE,IAAI;YAC5B,eAAe,EAAE,kBAAkB;SACpC,CAAC,CAAC;QAKD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,wBAAgB,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,sBAAc,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,CACnB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,EAC7C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAC/C,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,CAAC,sBAAsB,GAAG,IAAI,iDAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;IACM,UAAU,CAAC,KAAY,EAAC,MAAa;QAE1C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IACM,MAAM;;QACX,IACE,IAAI,CAAC,cAAc,CAAC,WAAW;YAC/B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,EACtC;YACA,0CAA0C;YAC1C,MAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,0CAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAChE,wBAAwB;YACxB,0CAA0C;YAC1C,2CAA2C;YAC3C,KAAK;YACL,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE;gBAC/D,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,qBAAqB,EACrE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CACvC,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;aAChC;SACF;IACH,CAAC;CACF;AApDD,sCAoDC"}
@@ -1,6 +1,5 @@
1
- import { Scene, Object3D, Light, CameraHelper, Material } from "three";
1
+ import { Scene, Object3D, Light, CameraHelper } from "three";
2
2
  import { ViralViewerApi } from "../../viral-viewer-api";
3
- import { Dictionary } from "../../types";
4
3
  import { TransformControls } from "../../threejs-addon/transform-control";
5
4
  export declare class ViralScene {
6
5
  viralViewerApi: ViralViewerApi;
@@ -12,11 +11,9 @@ export declare class ViralScene {
12
11
  lights: Light[];
13
12
  transformControls: TransformControls | null;
14
13
  lightHelpers: CameraHelper[];
15
- materials: Dictionary<number, Material>;
16
14
  constructor(viralViewerApi: ViralViewerApi);
17
15
  addObject(object: Object3D): void;
18
16
  addModel(object: Object3D): void;
19
- addMaterial(index: number, material: Material): void;
20
17
  addEdge(object: Object3D): void;
21
18
  getObjectByName(name: string): Object3D<import("three").Event> | undefined;
22
19
  addLights(): void;
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ViralScene = void 0;
4
4
  const three_1 = require("three");
5
- const types_1 = require("../../types");
6
5
  const transform_control_1 = require("../../threejs-addon/transform-control");
7
6
  const threejs_1 = require("../../utils/threejs");
8
7
  const colors_1 = require("../../const/colors");
@@ -17,7 +16,6 @@ class ViralScene {
17
16
  this.lights = [];
18
17
  this.transformControls = null;
19
18
  this.lightHelpers = [];
20
- this.materials = new types_1.Dictionary();
21
19
  this.addLights();
22
20
  this.addPivotPoint();
23
21
  }
@@ -30,9 +28,6 @@ class ViralScene {
30
28
  this.addObject(object);
31
29
  this.models.push(object);
32
30
  }
33
- addMaterial(index, material) {
34
- this.materials.add(index, material);
35
- }
36
31
  addEdge(object) {
37
32
  this.addObject(object);
38
33
  this.edges.push(object);
@@ -1 +1 @@
1
- {"version":3,"file":"viral-scene.js","sourceRoot":"","sources":["../../../src/components/scene/viral-scene.ts"],"names":[],"mappings":";;;AAAA,iCAee;AAEf,uCAAyC;AACzC,6EAA0E;AAC1E,iDAAwD;AACxD,+CAAgD;AAEhD,MAAa,UAAU;IAUrB,YAAmB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QATjD,UAAK,GAAU,IAAI,aAAK,EAAE,CAAC;QAC3B,YAAO,GAAe,EAAE,CAAC;QACzB,WAAM,GAAe,EAAE,CAAC;QACxB,gBAAW,GAAe,EAAE,CAAC;QAC7B,UAAK,GAAe,EAAE,CAAC;QACvB,WAAM,GAAY,EAAE,CAAC;QACrB,sBAAiB,GAA6B,IAAI,CAAC;QACnD,iBAAY,GAAmB,EAAE,CAAC;QAClC,cAAS,GAAiC,IAAI,kBAAU,EAAoB,CAAC;QAE3E,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,qBAAqB;IACd,SAAS,CAAC,MAAgB;QAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IACM,QAAQ,CAAC,MAAgB;QAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IACM,WAAW,CAAC,KAAa,EAAE,QAAkB;QAClD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IACM,OAAO,CAAC,MAAgB;QAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IACD,YAAY;IAEL,eAAe,CAAC,IAAY;QACjC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC;IAChB,CAAC;IACM,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,wBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAEzC,MAAM,MAAM,GAAG,IAAI,wBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAE1C,MAAM,MAAM,GAAG,IAAI,wBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAC3C,sDAAsD;QACtD,kDAAkD;QAElD,MAAM,QAAQ,GAAG,IAAI,wBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACrD,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;QAC3B,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;QAC3B,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QACjC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC;QACrC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC;QACnC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;QACnC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC;QACnC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;QACjC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;QACjC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,MAAM,cAAc,GAAG,IAAI,oBAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChE,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;QAE/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,gCAAgC;QAChC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAE/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,kCAAkC;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IAEM,aAAa;QAClB,MAAM,cAAc,GAAG,IAAI,sBAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,IAAI,yBAAiB,CAAC;YAC3C,KAAK,EAAE,IAAA,2BAAiB,EAAC,mBAAU,CAAC,OAAO,CAAC;YAC5C,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,YAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QACxD,MAAM,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAClC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAEM,oBAAoB;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,qCAAiB,CAC5C,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,EACtC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CACtD,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACzC,CAAC;IAED,gBAAgB;IACT,OAAO;QACZ,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,IAAI,GAAG,IAAI,YAAI,CACnB,IAAI,mBAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACxB,IAAI,4BAAoB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAC/D,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACtB;IACH,CAAC;IACM,OAAO;QACZ,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,UAAU,GAAG,IAAI,kBAAU,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;SAC5B;IACH,CAAC;IACM,iBAAiB,CAAC,KAAc;QACrC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;SACzB;IACH,CAAC;CAEF;AA5HD,gCA4HC"}
1
+ {"version":3,"file":"viral-scene.js","sourceRoot":"","sources":["../../../src/components/scene/viral-scene.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ class ViralViewerWorker3 {
32
32
  flatShading: true,
33
33
  name: material.Name,
34
34
  });
35
- this.viralViewerApi.viralScene.materials.add(index, renderMaterial);
35
+ this.viralViewerApi.viralMaterialManager.materials.add(index, renderMaterial);
36
36
  }
37
37
  }
38
38
  loadStructuralGeometry(model, callbackOnSuccess = () => { }) {
@@ -41,7 +41,7 @@ class ViralViewerWorker3 {
41
41
  inputData.Vertices = model.Vertices;
42
42
  this.workerPool.Enqueue(inputData, (data) => {
43
43
  let mesh = this.viralViewerApi.viralLoader.threeLoader.parseObject(data);
44
- mesh.material = this.viralViewerApi.viralScene.materials.get(model.MaterialIndex);
44
+ mesh.material = this.viralViewerApi.viralMaterialManager.materials.get(model.MaterialIndex);
45
45
  if (mesh.children.length > 0) {
46
46
  for (let index = 0; index < mesh.children.length; index++) {
47
47
  const edge = mesh.children[index];
@@ -60,7 +60,7 @@ class ViralViewerWorker3 {
60
60
  loadNoneStructuralGeometry(model, callbackOnSuccess = () => { }) {
61
61
  this.workerPool.Enqueue(model, (data) => {
62
62
  let mesh = this.viralViewerApi.viralLoader.threeLoader.parseObject(data);
63
- mesh.material = this.viralViewerApi.viralScene.materials.get(model.MaterialIndex);
63
+ mesh.material = this.viralViewerApi.viralMaterialManager.materials.get(model.MaterialIndex);
64
64
  //seperate edge from mesh
65
65
  if (mesh.children.length > 0) {
66
66
  for (let index = 0; index < mesh.children.length; index++) {
@@ -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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"}
@@ -6,7 +6,7 @@ export declare class ViralViewerWorker4 {
6
6
  viralViewerApi: ViralViewerApi;
7
7
  workerPool: WorkerThreadPool;
8
8
  mainModel: Mesh | null;
9
- constructor(viralViewerApi: ViralViewerApi, scriptUrl?: string);
9
+ constructor(viralViewerApi: ViralViewerApi);
10
10
  initial(materials: RenderMaterial[]): void;
11
11
  loadElement(elements: ViralutionElement[], callbackOnSuccess?: () => void): void;
12
12
  }
@@ -6,7 +6,7 @@ const load_model_worker_3_script_1 = require("../worker-script/load-model-worker
6
6
  const worker_pool_1 = require("./base/worker-pool");
7
7
  const threejs_1 = require("../../utils/threejs");
8
8
  class ViralViewerWorker4 {
9
- constructor(viralViewerApi, scriptUrl = "../worker-script/load-model-worker-2.script.js") {
9
+ constructor(viralViewerApi) {
10
10
  this.viralViewerApi = viralViewerApi;
11
11
  this.mainModel = null;
12
12
  // Create a new Blob containing the worker code
@@ -32,18 +32,23 @@ class ViralViewerWorker4 {
32
32
  polygonOffsetFactor: 1,
33
33
  polygonOffsetUnits: 0.1,
34
34
  });
35
- this.viralViewerApi.viralScene.materials.add(index, renderMaterial);
35
+ this.viralViewerApi.viralMaterialManager.materials.add(index, renderMaterial);
36
36
  }
37
37
  }
38
38
  loadElement(elements, callbackOnSuccess = () => { }) {
39
39
  this.workerPool.Enqueue(elements, (data) => {
40
+ var _a;
40
41
  let dummyMesh = this.viralViewerApi.viralLoader.threeLoader.parseObject(data);
41
42
  for (let j = 0; j < dummyMesh.children.length; j++) {
42
43
  const element = dummyMesh.children[j];
43
44
  this.viralViewerApi.viralScene.selectables.push(element);
45
+ if ((_a = element.userData) === null || _a === void 0 ? void 0 : _a.IsInstancedMesh) {
46
+ console.log(element);
47
+ continue;
48
+ }
44
49
  for (let index = 0; index < element.children.length; index++) {
45
50
  const solid = element.children[index];
46
- solid.material = this.viralViewerApi.viralScene.materials.get(solid.userData.MaterialId);
51
+ solid.material = this.viralViewerApi.viralMaterialManager.materials.get(solid.userData.MaterialId);
47
52
  try {
48
53
  this.viralViewerApi.viralBVH.applyThreeMeshBVH(solid.geometry);
49
54
  }
@@ -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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"}
@@ -13536,8 +13536,10 @@ function workerFunction() {
13536
13536
  instancingColor: IS_INSTANCEDMESH && object.instanceColor !== null,
13537
13537
  supportsVertexTextures: SUPPORTS_VERTEX_TEXTURES,
13538
13538
  outputColorSpace: currentRenderTarget === null ?
13539
- renderer.outputColorSpace : currentRenderTarget.isXRRenderTarget === true ?
13540
- currentRenderTarget.texture.colorSpace : LinearSRGBColorSpace,
13539
+ renderer.outputColorSpace :
13540
+ currentRenderTarget.isXRRenderTarget === true ?
13541
+ currentRenderTarget.texture.colorSpace :
13542
+ LinearSRGBColorSpace,
13541
13543
  map: HAS_MAP,
13542
13544
  matcap: HAS_MATCAP,
13543
13545
  envMap: HAS_ENVMAP,
@@ -14645,7 +14647,9 @@ function workerFunction() {
14645
14647
  }
14646
14648
  }
14647
14649
  if (shadow.map === null || toVSM === true || fromVSM === true) {
14648
- const pars = this.type !== VSMShadowMap ? { minFilter: NearestFilter, magFilter: NearestFilter } : {};
14650
+ const pars = this.type !== VSMShadowMap ?
14651
+ { minFilter: NearestFilter, magFilter: NearestFilter } :
14652
+ {};
14649
14653
  if (shadow.map !== null) {
14650
14654
  shadow.map.dispose();
14651
14655
  }
@@ -16513,7 +16517,8 @@ function workerFunction() {
16513
16517
  }
16514
16518
  else {
16515
16519
  const textures = renderTarget.isWebGLMultipleRenderTargets === true ?
16516
- renderTarget.texture : [renderTarget.texture];
16520
+ renderTarget.texture :
16521
+ [renderTarget.texture];
16517
16522
  for (let i = 0; i < textures.length; i++) {
16518
16523
  const texture = textures[i];
16519
16524
  const glFormat = utils.convert(texture.format, texture.colorSpace);
@@ -16736,7 +16741,8 @@ function workerFunction() {
16736
16741
  function updateRenderTargetMipmap(renderTarget) {
16737
16742
  const supportsMips = isPowerOfTwo$1(renderTarget) || isWebGL2;
16738
16743
  const textures = renderTarget.isWebGLMultipleRenderTargets === true ?
16739
- renderTarget.texture : [renderTarget.texture];
16744
+ renderTarget.texture :
16745
+ [renderTarget.texture];
16740
16746
  for (let i = 0, il = textures.length; i < il; i++) {
16741
16747
  const texture = textures[i];
16742
16748
  if (textureNeedsGenerateMipmaps(texture, supportsMips)) {
@@ -16755,7 +16761,8 @@ function workerFunction() {
16755
16761
  renderTarget.samples > 0 &&
16756
16762
  useMultisampledRTT(renderTarget) === false) {
16757
16763
  const textures = renderTarget.isWebGLMultipleRenderTargets ?
16758
- renderTarget.texture : [renderTarget.texture];
16764
+ renderTarget.texture :
16765
+ [renderTarget.texture];
16759
16766
  const width = renderTarget.width;
16760
16767
  const height = renderTarget.height;
16761
16768
  let mask = _gl.COLOR_BUFFER_BIT;
@@ -17564,7 +17571,8 @@ function workerFunction() {
17564
17571
  renderer.capabilities.isWebGL2 === false) {
17565
17572
  const layerInit = {
17566
17573
  antialias: session.renderState.layers === undefined ?
17567
- attributes.antialias : true,
17574
+ attributes.antialias :
17575
+ true,
17568
17576
  alpha: true,
17569
17577
  depth: attributes.depth,
17570
17578
  stencil: attributes.stencil,
@@ -18295,7 +18303,8 @@ function workerFunction() {
18295
18303
  if (hasUniformChanged(uniform, i, cache) === true) {
18296
18304
  const offset = uniform.__offset;
18297
18305
  const values = Array.isArray(uniform.value) ?
18298
- uniform.value : [uniform.value];
18306
+ uniform.value :
18307
+ [uniform.value];
18299
18308
  let arrayOffset = 0;
18300
18309
  for (let i = 0; i < values.length; i++) {
18301
18310
  const value = values[i];
@@ -18356,7 +18365,8 @@ function workerFunction() {
18356
18365
  }
18357
18366
  else {
18358
18367
  const cachedObjects = Array.isArray(cache[index]) ?
18359
- cache[index] : [cache[index]];
18368
+ cache[index] :
18369
+ [cache[index]];
18360
18370
  const values = Array.isArray(value) ? value : [value];
18361
18371
  for (let i = 0; i < cachedObjects.length; i++) {
18362
18372
  const cachedObject = cachedObjects[i];
@@ -18383,7 +18393,8 @@ function workerFunction() {
18383
18393
  storage: 0, // bytes
18384
18394
  };
18385
18395
  const values = Array.isArray(uniform.value) ?
18386
- uniform.value : [uniform.value];
18396
+ uniform.value :
18397
+ [uniform.value];
18387
18398
  for (let j = 0, jl = values.length; j < jl; j++) {
18388
18399
  const value = values[j];
18389
18400
  const info = getUniformSize(value);
@@ -19219,7 +19230,8 @@ function workerFunction() {
19219
19230
  _transmissionRenderTarget = new WebGLRenderTarget(1024, 1024, {
19220
19231
  generateMipmaps: true,
19221
19232
  type: extensions.has("EXT_color_buffer_half_float") ?
19222
- HalfFloatType : UnsignedByteType,
19233
+ HalfFloatType :
19234
+ UnsignedByteType,
19223
19235
  minFilter: LinearMipmapLinearFilter,
19224
19236
  samples: isWebGL2 && antialias === true ? 4 : 0,
19225
19237
  });
@@ -34009,6 +34021,18 @@ which can be placed in CurveUtils.
34009
34021
  const buffer = new Float32Array(verticePoints);
34010
34022
  return buffer;
34011
34023
  }
34024
+ // this array have a structure
34025
+ // [11, 12, 13 , 14, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 43, 44]
34026
+ //
34027
+ // then it will be converted to matrix4 like structure below:
34028
+ // [11, 21, 31, 41]
34029
+ // [12, 22, 32, 42]
34030
+ // [13, 23, 33, 43]
34031
+ // [14, 24, 34, 44]
34032
+ // 41, 42, 43 is translation from main origin
34033
+ //
34034
+ // Explain about axis, in revit axis follow x,y,z structure. but in threejs follow x,z,y structure, which y stand for height
34035
+ // IMPORTANT: x direction in threejs is opposite with x direction in revit
34012
34036
  let numbers = [
34013
34037
  transform.BasisX.X, -transform.BasisX.Z, -transform.BasisX.Y,
34014
34038
  0, -transform.BasisZ.X,
@@ -34070,41 +34094,49 @@ which can be placed in CurveUtils.
34070
34094
  //1 element may have multiple solids
34071
34095
  const solids = progressGeometries(data);
34072
34096
  if (data.Instances && data.Instances.length > 0) {
34073
- let group = new Mesh();
34097
+ // let group = new Mesh();
34074
34098
  //foreach solid create new InstancedMesh
34099
+ let mergedGeometry = new BufferGeometry();
34100
+ const instancedMesh = new InstancedMesh(mergedGeometry, new MeshBasicMaterial(), data.Instances.length);
34101
+ instancedMesh.userData.Instances = [];
34102
+ instancedMesh.userData.MaterialIds = [];
34075
34103
  for (let index = 0; index < solids.length; index++) {
34076
34104
  const solid = solids[index];
34077
- const instancedMesh = new InstancedMesh(solid.geometry, new MeshBasicMaterial(), data.Instances.length);
34078
- instancedMesh.userData.Instances = [];
34079
- for (let j = 0; j < data.Instances.length; j++) {
34080
- const transform = data.Instances[j];
34081
- let numbers = [
34082
- transform.BasisX.X, -transform.BasisX.Z, -transform.BasisX.Y,
34083
- 0, -transform.BasisZ.X,
34084
- transform.BasisZ.Z,
34085
- transform.BasisZ.Y,
34086
- 0, -transform.BasisY.X,
34087
- transform.BasisY.Z,
34088
- transform.BasisY.Y,
34089
- 0, -transform.Offset.X,
34090
- transform.Offset.Z,
34091
- transform.Offset.Y,
34092
- 1,
34093
- ];
34094
- //transform first
34095
- let matrix4 = new Matrix4();
34096
- matrix4.fromArray(numbers);
34097
- instancedMesh.setMatrixAt(j, matrix4);
34098
- instancedMesh.userData.Instances.push(transform.Id);
34099
- }
34100
- instancedMesh.userData.MaterialId = solid.userData.MaterialId;
34101
- instancedMesh.updateMatrix();
34102
- group.add(instancedMesh);
34103
- }
34104
- group.userData.IsInstancedMesh = true;
34105
- group.userData.Type = 1; //element
34106
- group.updateMatrix();
34107
- mainMesh.add(group);
34105
+ const startVertexCount = index == 0 ? 0 : mergedGeometry.attributes.position.count;
34106
+ mergedGeometry = mergedGeometry.merge(solid.geometry);
34107
+ const endVertexCount = mergedGeometry.attributes.position.count;
34108
+ mergedGeometry.groups.addGroup(startVertexCount, endVertexCount, index);
34109
+ instancedMesh.userData.MaterialIds.push(solid.userData.MaterialId);
34110
+ // group.add(instancedMesh);
34111
+ }
34112
+ for (let j = 0; j < data.Instances.length; j++) {
34113
+ const transform = data.Instances[j];
34114
+ let numbers = [
34115
+ transform.BasisX.X, -transform.BasisX.Z, -transform.BasisX.Y,
34116
+ 0, -transform.BasisZ.X,
34117
+ transform.BasisZ.Z,
34118
+ transform.BasisZ.Y,
34119
+ 0, -transform.BasisY.X,
34120
+ transform.BasisY.Z,
34121
+ transform.BasisY.Y,
34122
+ 0, -transform.Offset.X,
34123
+ transform.Offset.Z,
34124
+ transform.Offset.Y,
34125
+ 1,
34126
+ ];
34127
+ //transform first
34128
+ let matrix4 = new Matrix4();
34129
+ matrix4.fromArray(numbers);
34130
+ instancedMesh.setMatrixAt(j, matrix4);
34131
+ instancedMesh.userData.Instances.push(transform.Id);
34132
+ }
34133
+ instancedMesh.updateMatrix();
34134
+ instancedMesh.userData.IsInstancedMesh = true;
34135
+ instancedMesh.userData.Type = 1;
34136
+ // group.userData.IsInstancedMesh = true;
34137
+ // group.userData.Type = 1; //element
34138
+ // group.updateMatrix();
34139
+ mainMesh.add(instancedMesh);
34108
34140
  // let jsonData = group.toJSON();
34109
34141
  // self.postMessage(jsonData);
34110
34142
  }