viral-viewer-2 5.9.3 → 5.9.4

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.
Files changed (59) hide show
  1. package/dist/components/camera/viral-camera.d.ts +1 -1
  2. package/dist/components/compress/compress.processor.d.ts +4 -0
  3. package/dist/components/compress/compress.processor.js +29 -0
  4. package/dist/components/compress/compress.processor.js.map +1 -0
  5. package/dist/components/loader/viral-three.loader.d.ts +1 -1
  6. package/dist/components/loader/viral-viewer-point-cloud.loader.d.ts +16 -0
  7. package/dist/components/loader/viral-viewer-point-cloud.loader.js +33 -0
  8. package/dist/components/loader/viral-viewer-point-cloud.loader.js.map +1 -0
  9. package/dist/components/loader/viral-viewer-revit.loader.d.ts +13 -0
  10. package/dist/components/loader/viral-viewer-revit.loader.js +124 -0
  11. package/dist/components/loader/viral-viewer-revit.loader.js.map +1 -0
  12. package/dist/components/post-processing/ambient-occlusion-effect.d.ts +2 -0
  13. package/dist/components/post-processing/ambient-occlusion-effect.js +2 -1
  14. package/dist/components/post-processing/ambient-occlusion-effect.js.map +1 -1
  15. package/dist/components/scene/viral-scene.d.ts +1 -1
  16. package/dist/components/worker/load-model.d.ts +126 -0
  17. package/dist/components/worker/load-model.js +1265 -0
  18. package/dist/components/worker/load-model.js.map +1 -0
  19. package/dist/components/worker/test-worker-pool.d.ts +6 -0
  20. package/dist/components/worker/test-worker-pool.js +21 -0
  21. package/dist/components/worker/test-worker-pool.js.map +1 -0
  22. package/dist/components/worker/viral-viewer-4.worker.js +3 -1
  23. package/dist/components/worker/viral-viewer-4.worker.js.map +1 -1
  24. package/dist/components/worker/viral-viewer.worker-pool.d.ts +0 -0
  25. package/dist/components/worker/viral-viewer.worker-pool.js +61 -0
  26. package/dist/components/worker/viral-viewer.worker-pool.js.map +1 -0
  27. package/dist/components/worker/worker-pool.d.ts +21 -0
  28. package/dist/components/worker/worker-pool.js +47 -0
  29. package/dist/components/worker/worker-pool.js.map +1 -0
  30. package/dist/components/worker/worker-thread.d.ts +9 -0
  31. package/dist/components/worker/worker-thread.js +30 -0
  32. package/dist/components/worker/worker-thread.js.map +1 -0
  33. package/dist/components/worker-script/test-worker-pool.script.d.ts +1 -0
  34. package/dist/components/worker-script/test-worker-pool.script.js +12 -0
  35. package/dist/components/worker-script/test-worker-pool.script.js.map +1 -0
  36. package/dist/models/dictionary.model.d.ts +10 -0
  37. package/dist/models/dictionary.model.js +41 -0
  38. package/dist/models/dictionary.model.js.map +1 -1
  39. package/dist/threejs-addon/gltf-loader.d.ts +1 -1
  40. package/dist/threejs-addon/n8ao/n8ao.d.ts +8 -8
  41. package/dist/threejs-addon/n8ao/post-processing.d.ts +1534 -3919
  42. package/dist/threejs-addon/post-processing/outline-pass.d.ts +7 -7
  43. package/dist/threejs-addon/post-processing/pass.d.ts +1 -1
  44. package/dist/threejs-addon/post-processing/sao-pass.d.ts +5 -5
  45. package/dist/threejs-addon/post-processing/unreal-bloom-pass.d.ts +3 -3
  46. package/dist/threejs-addon/transform-control.d.ts +3 -3
  47. package/package.json +1 -1
  48. package/dist/components/post-processing/viral-post-processing.d.ts +0 -11
  49. package/dist/components/post-processing/viral-post-processing.js +0 -29
  50. package/dist/components/post-processing/viral-post-processing.js.map +0 -1
  51. package/dist/threejs-addon/post-processing/ssaa-render-pass.d.ts +0 -30
  52. package/dist/threejs-addon/post-processing/ssaa-render-pass.js +0 -202
  53. package/dist/threejs-addon/post-processing/ssaa-render-pass.js.map +0 -1
  54. package/dist/threejs-addon/shaders/color-correction-shader.d.ts +0 -22
  55. package/dist/threejs-addon/shaders/color-correction-shader.js +0 -43
  56. package/dist/threejs-addon/shaders/color-correction-shader.js.map +0 -1
  57. package/dist/threejs-addon/shaders/fxaa-shader.d.ts +0 -14
  58. package/dist/threejs-addon/shaders/fxaa-shader.js +0 -279
  59. package/dist/threejs-addon/shaders/fxaa-shader.js.map +0 -1
@@ -22,7 +22,7 @@ export declare class ViralCamera {
22
22
  focusModelByName(objectName?: string): void;
23
23
  getState(): ViralViewerState | null;
24
24
  restoreState(state: ViralViewerState): void;
25
- clientToWorld(): import("three").Intersection<Object3D<import("three").Object3DEventMap>>[] | null;
25
+ clientToWorld(): import("three").Intersection<Object3D<import("three").Event>>[] | null;
26
26
  worldToClient(point: Vector3): Vector3 | null;
27
27
  private castRay;
28
28
  updateMainCamera(): void;
@@ -0,0 +1,4 @@
1
+ import { ViralViewerRevitProject } from "../../types";
2
+ export declare class CompressProcessor {
3
+ decompressed(path: string): Promise<ViralViewerRevitProject | null>;
4
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CompressProcessor = void 0;
13
+ const lzstring = require("lz-string");
14
+ class CompressProcessor {
15
+ decompressed(path) {
16
+ return __awaiter(this, void 0, void 0, function* () {
17
+ let result = null;
18
+ let res = yield fetch(path);
19
+ if (res) {
20
+ let text = yield res.text();
21
+ let decompress = lzstring.decompressFromEncodedURIComponent(text);
22
+ result = JSON.parse(decompress);
23
+ }
24
+ return result;
25
+ });
26
+ }
27
+ }
28
+ exports.CompressProcessor = CompressProcessor;
29
+ //# sourceMappingURL=compress.processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compress.processor.js","sourceRoot":"","sources":["../../../src/components/compress/compress.processor.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,sCAAsC;AAEtC,MAAa,iBAAiB;IACb,YAAY,CAAC,IAAY;;YAClC,IAAI,MAAM,GAAmC,IAAI,CAAC;YAClD,IAAI,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,GAAG,EAAE;gBACL,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,UAAU,GAAG,QAAQ,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC;gBAElE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;aACnC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;CACJ;AAZD,8CAYC"}
@@ -6,6 +6,6 @@ export declare class ViralThreeLoader {
6
6
  objectLoader: ObjectLoader;
7
7
  gltfLoader: GLTFLoader;
8
8
  constructor(viralViewerApi: ViralViewerApi);
9
- parseObject(data: any): import("three").Object3D<import("three").Object3DEventMap>;
9
+ parseObject(data: any): import("three").Object3D<import("three").Event>;
10
10
  loadGLTF(url: string, onLoad?: (data: GLTF) => void, onProgress?: (data: ProgressEvent<EventTarget>) => void, onError?: (data: unknown) => void): void;
11
11
  }
@@ -0,0 +1,16 @@
1
+ import { Potree, PointCloudOctree } from "potree-core-viral";
2
+ import { ViralViewerApi } from "../../viral-viewer-api";
3
+ export declare class ViralViewerPointCloudLoader {
4
+ viralViewerApi: ViralViewerApi;
5
+ potree: Potree;
6
+ pointClouds: PointCloudOctree[];
7
+ constructor(viralViewerApi: ViralViewerApi);
8
+ /**
9
+ *
10
+ * @param metadataUrl endpoint to download metadata.json
11
+ * @param urlOcbinTree endpoint to download octree.bin
12
+ * @param urlHierarchy endpoint to download hierarchy.bin
13
+ * @param pointBudget
14
+ */
15
+ load(metadataUrl: string, urlOcbinTree: string, urlHierarchy: string, pointBudget?: number, callbackOnSuccess?: (pco: PointCloudOctree) => void): void;
16
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViralViewerPointCloudLoader = void 0;
4
+ const potree_core_viral_1 = require("potree-core-viral");
5
+ class ViralViewerPointCloudLoader {
6
+ constructor(viralViewerApi) {
7
+ this.viralViewerApi = viralViewerApi;
8
+ this.potree = new potree_core_viral_1.Potree();
9
+ this.pointClouds = [];
10
+ }
11
+ /**
12
+ *
13
+ * @param metadataUrl endpoint to download metadata.json
14
+ * @param urlOcbinTree endpoint to download octree.bin
15
+ * @param urlHierarchy endpoint to download hierarchy.bin
16
+ * @param pointBudget
17
+ */
18
+ load(metadataUrl, urlOcbinTree, urlHierarchy, pointBudget = 2000000, callbackOnSuccess = (pco) => { }) {
19
+ this.potree.pointBudget = pointBudget;
20
+ this.potree.loadPointCloudCustom(metadataUrl, urlOcbinTree, urlHierarchy).then((pco) => {
21
+ let material = pco.material;
22
+ material.size = 1;
23
+ material.pointSizeType = potree_core_viral_1.PointSizeType.ADAPTIVE;
24
+ material.shape = potree_core_viral_1.PointShape.CIRCLE;
25
+ material.pointColorType = potree_core_viral_1.PointColorType.RGB;
26
+ this.viralViewerApi.viralScene.addObject(pco);
27
+ this.pointClouds.push(pco);
28
+ callbackOnSuccess(pco);
29
+ });
30
+ }
31
+ }
32
+ exports.ViralViewerPointCloudLoader = ViralViewerPointCloudLoader;
33
+ //# sourceMappingURL=viral-viewer-point-cloud.loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viral-viewer-point-cloud.loader.js","sourceRoot":"","sources":["../../../src/components/loader/viral-viewer-point-cloud.loader.ts"],"names":[],"mappings":";;;AAAA,yDAAwG;AAGxG,MAAa,2BAA2B;IAGpC,YAAmB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAFjD,WAAM,GAAW,IAAI,0BAAM,EAAE,CAAC;QAC9B,gBAAW,GAAuB,EAAE,CAAC;IAErC,CAAC;IACD;;;;;;OAMG;IACI,IAAI,CAAC,WAAmB,EAAE,YAAoB,EAAE,YAAoB,EAAE,cAAsB,OAAO,EAAE,oBAAoB,CAAC,GAAqB,EAAE,EAAE,GAAG,CAAC;QAC1J,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAC5B,WAAW,EACX,YAAY,EACZ,YAAY,CACf,CAAC,IAAI,CAAC,CAAC,GAAqB,EAAE,EAAE;YAC7B,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC5B,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;YAClB,QAAQ,CAAC,aAAa,GAAG,iCAAa,CAAC,QAAQ,CAAC;YAChD,QAAQ,CAAC,KAAK,GAAG,8BAAU,CAAC,MAAM,CAAC;YACnC,QAAQ,CAAC,cAAc,GAAG,kCAAc,CAAC,GAAG,CAAC;YAE7C,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA9BD,kEA8BC"}
@@ -0,0 +1,13 @@
1
+ import { ViralViewerRevitProject } from "../../types";
2
+ import { ViralViewerApi } from "../../viral-viewer-api";
3
+ export declare class ViralViewerRevitLoader {
4
+ viralViewerApi: ViralViewerApi;
5
+ constructor(viralViewerApi: ViralViewerApi);
6
+ loadRevit(model: ViralViewerRevitProject): void;
7
+ private progressStructuralGeometries;
8
+ private progressNoneStructuralGeometries;
9
+ private addCustomMesh3;
10
+ private addCustomMesh4;
11
+ private rgbToHex;
12
+ private componentToHex;
13
+ }
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViralViewerRevitLoader = void 0;
4
+ const THREE = require("three");
5
+ class ViralViewerRevitLoader {
6
+ constructor(viralViewerApi) {
7
+ this.viralViewerApi = viralViewerApi;
8
+ }
9
+ loadRevit(model) {
10
+ this.progressNoneStructuralGeometries(model);
11
+ this.progressStructuralGeometries(model);
12
+ }
13
+ progressStructuralGeometries(model) {
14
+ const modelMesh = new THREE.Mesh();
15
+ for (let index = 0; index < model.StructuralGeometries.length; index++) {
16
+ // if(index==0) continue;
17
+ const geometry = model.StructuralGeometries[index];
18
+ const material = model.Materials[geometry.MaterialIndex];
19
+ this.addCustomMesh3(modelMesh, geometry.Indices, geometry.Vertices, material);
20
+ }
21
+ modelMesh.castShadow = true;
22
+ modelMesh.receiveShadow = true;
23
+ this.viralViewerApi.viralScene.addObject(modelMesh);
24
+ }
25
+ progressNoneStructuralGeometries(model) {
26
+ const modelMesh = new THREE.Mesh();
27
+ modelMesh.castShadow = true;
28
+ modelMesh.receiveShadow = true;
29
+ for (let index = 0; index < model.NoneStructuralGeometries.length; index++) {
30
+ const geometry = model.NoneStructuralGeometries[index];
31
+ const material = model.Materials[geometry.MaterialIndex];
32
+ this.addCustomMesh4(modelMesh, geometry.Indices, geometry.Vertices, material, geometry.Instances);
33
+ }
34
+ this.viralViewerApi.viralScene.addObject(modelMesh);
35
+ }
36
+ addCustomMesh3(mesh, indices, vertices, material) {
37
+ const geometry = new THREE.BufferGeometry();
38
+ let verticePoints = [];
39
+ for (let i = 0; i < indices.length; i++) {
40
+ const index = indices[i];
41
+ const point = vertices[index];
42
+ verticePoints.push(-point.X);
43
+ verticePoints.push(point.Z);
44
+ verticePoints.push(point.Y);
45
+ }
46
+ const buffer = new Float32Array(verticePoints);
47
+ let colorString = this.rgbToHex(material.Red, material.Green, material.Blue);
48
+ geometry.setAttribute("position", new THREE.BufferAttribute(buffer, 3));
49
+ let newMaterial = new THREE.MeshPhongMaterial({
50
+ color: colorString,
51
+ opacity: material.Opacity,
52
+ transparent: true,
53
+ flatShading: true,
54
+ });
55
+ const edges = new THREE.EdgesGeometry(geometry, 90);
56
+ const line = new THREE.LineSegments(edges, new THREE.LineBasicMaterial({ color: "#202020" }));
57
+ const childMesh = new THREE.Mesh(geometry, newMaterial);
58
+ childMesh.castShadow = true;
59
+ childMesh.receiveShadow = true;
60
+ childMesh.add(line);
61
+ mesh.add(childMesh);
62
+ }
63
+ addCustomMesh4(mesh, indices, vertices, material, instances) {
64
+ const geometry = new THREE.BufferGeometry();
65
+ let verticePoints = [];
66
+ for (let i = 0; i < indices.length; i++) {
67
+ const index = indices[i];
68
+ const point = vertices[index];
69
+ verticePoints.push(-point.X);
70
+ verticePoints.push(point.Z);
71
+ verticePoints.push(point.Y);
72
+ }
73
+ const buffer = new Float32Array(verticePoints);
74
+ let colorString = this.rgbToHex(material.Red, material.Green, material.Blue);
75
+ geometry.setAttribute("position", new THREE.BufferAttribute(buffer, 3));
76
+ let newMaterial = new THREE.MeshPhongMaterial({
77
+ color: colorString,
78
+ opacity: material.Opacity,
79
+ transparent: true,
80
+ flatShading: true
81
+ });
82
+ for (let index = 0; index < instances.length; index++) {
83
+ const instance = instances[index];
84
+ let cloneGeometry = geometry.clone();
85
+ const childMesh = new THREE.Mesh(cloneGeometry, newMaterial);
86
+ childMesh.castShadow = true;
87
+ childMesh.receiveShadow = true;
88
+ let numbers = [
89
+ instance.BasisX.X,
90
+ -instance.BasisX.Z,
91
+ -instance.BasisX.Y,
92
+ 0,
93
+ -instance.BasisZ.X,
94
+ instance.BasisZ.Z,
95
+ instance.BasisZ.Y,
96
+ 0,
97
+ -instance.BasisY.X,
98
+ instance.BasisY.Z,
99
+ instance.BasisY.Y,
100
+ 0,
101
+ -instance.Offset.X,
102
+ instance.Offset.Z,
103
+ instance.Offset.Y,
104
+ 1,
105
+ ];
106
+ let matrix4 = new THREE.Matrix4();
107
+ matrix4.fromArray(numbers);
108
+ childMesh.applyMatrix4(matrix4);
109
+ const edges = new THREE.EdgesGeometry(childMesh.geometry);
110
+ const line = new THREE.LineSegments(edges, new THREE.LineBasicMaterial({ color: "#202020" }));
111
+ childMesh.add(line);
112
+ mesh.add(childMesh);
113
+ }
114
+ }
115
+ rgbToHex(r, g, b) {
116
+ return "#" + this.componentToHex(r) + this.componentToHex(g) + this.componentToHex(b);
117
+ }
118
+ componentToHex(c) {
119
+ var hex = c.toString(16);
120
+ return hex.length == 1 ? "0" + hex : hex;
121
+ }
122
+ }
123
+ exports.ViralViewerRevitLoader = ViralViewerRevitLoader;
124
+ //# sourceMappingURL=viral-viewer-revit.loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viral-viewer-revit.loader.js","sourceRoot":"","sources":["../../../src/components/loader/viral-viewer-revit.loader.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { EffectComposer } from "../../threejs-addon/post-processing/effect-composer";
2
+ import { OutputPass } from "../../threejs-addon/post-processing/output-pass";
2
3
  import { RenderPass } from "../../threejs-addon/post-processing/render-pass";
3
4
  import { SAOPass } from "../../threejs-addon/post-processing/sao-pass";
4
5
  import { ViralViewerApi } from "../../viral-viewer-api";
@@ -7,5 +8,6 @@ export declare class AmbientOcclusionEffect {
7
8
  composer: EffectComposer | null;
8
9
  renderPass: RenderPass | null;
9
10
  saoPass: SAOPass | null;
11
+ outputPass: OutputPass | null;
10
12
  constructor(viralViewerApi: ViralViewerApi);
11
13
  }
@@ -11,9 +11,10 @@ class AmbientOcclusionEffect {
11
11
  //effect
12
12
  this.renderPass = null;
13
13
  this.saoPass = null;
14
+ this.outputPass = null;
14
15
  if (this.viralViewerApi.viralScene) {
15
16
  this.composer = new effect_composer_1.EffectComposer(this.viralViewerApi.viralRenderer.renderer);
16
- this.composer.setSize(window.innerWidth, window.innerHeight);
17
+ this.composer.setSize(this.viralViewerApi.targetElement.offsetWidth, this.viralViewerApi.targetElement.offsetHeight);
17
18
  this.renderPass = new render_pass_1.RenderPass(this.viralViewerApi.viralScene.scene, this.viralViewerApi.viralCamera.camera);
18
19
  this.saoPass = new sao_pass_1.SAOPass(this.viralViewerApi.viralScene.scene, this.viralViewerApi.viralCamera.camera, true, true);
19
20
  this.saoPass.resolution.set(8192, 8192);
@@ -1 +1 @@
1
- {"version":3,"file":"ambient-occlusion-effect.js","sourceRoot":"","sources":["../../../src/components/post-processing/ambient-occlusion-effect.ts"],"names":[],"mappings":";;;AAAA,yFAAqF;AACrF,iFAA6E;AAC7E,2EAAuE;AAGvE,MAAa,sBAAsB;IAMjC,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QALlD,aAAQ,GAA0B,IAAI,CAAC;QACvC,QAAQ;QACR,eAAU,GAAsB,IAAI,CAAC;QACrC,YAAO,GAAmB,IAAI,CAAC;QAG7B,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,gCAAc,CAChC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAC3C,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,CACnB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,WAAW,CACnB,CAAC;YACF,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAC9B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,EACpC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CACvC,CAAC;YAEF,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAO,CACxB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,EACpC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,EACtC,IAAI,EACJ,IAAI,CACL,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAExC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAEzC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACrC;IACH,CAAC;CACF;AAxCD,wDAwCC"}
1
+ {"version":3,"file":"ambient-occlusion-effect.js","sourceRoot":"","sources":["../../../src/components/post-processing/ambient-occlusion-effect.ts"],"names":[],"mappings":";;;AAAA,yFAAqF;AAErF,iFAA6E;AAC7E,2EAAuE;AAGvE,MAAa,sBAAsB;IAOjC,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QANlD,aAAQ,GAA0B,IAAI,CAAC;QACvC,QAAQ;QACR,eAAU,GAAsB,IAAI,CAAC;QACrC,YAAO,GAAmB,IAAI,CAAC;QAC/B,eAAU,GAAsB,IAAI,CAAC;QAGnC,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,gCAAc,CAChC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAC3C,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,CACnB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,EAC7C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAC/C,CAAC;YACF,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAC9B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,EACpC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CACvC,CAAC;YAEF,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAO,CACxB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,EACpC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,EACtC,IAAI,EACJ,IAAI,CACL,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAExC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAEzC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACrC;IACH,CAAC;CACF;AAzCD,wDAyCC"}
@@ -17,7 +17,7 @@ export declare class ViralScene {
17
17
  addObject(object: Object3D): void;
18
18
  addModel(object: Object3D): void;
19
19
  addEdge(object: Object3D): void;
20
- getObjectByName(name: string): Object3D<import("three").Object3DEventMap> | undefined;
20
+ getObjectByName(name: string): Object3D<import("three").Event> | undefined;
21
21
  addLights(): void;
22
22
  addPivotPoint(): void;
23
23
  addTransformControls(): void;
@@ -0,0 +1,126 @@
1
+ declare function addCustomMesh3(indices: any, vertices: any, material: any, callback: any): void;
2
+ declare function addCustomMesh4(indices: any, vertices: any, material: any, instances: any, callback: any): void;
3
+ declare function progressStructuralGeometries(json: any, callback: any): void;
4
+ declare function progressNoneStructuralGeometries(json: any, callback: any): void;
5
+ declare function rgbToHex(r: any, g: any, b: any): string;
6
+ declare function componentToHex(c: any): any;
7
+ declare class Matrix4 {
8
+ constructor(...args: any[]);
9
+ elements: number[];
10
+ set(n11: any, n12: any, n13: any, n14: any, n21: any, n22: any, n23: any, n24: any, n31: any, n32: any, n33: any, n34: any, n41: any, n42: any, n43: any, n44: any): Matrix4;
11
+ identity(): Matrix4;
12
+ clone(): Matrix4;
13
+ copy(m: any): Matrix4;
14
+ copyPosition(m: any): Matrix4;
15
+ setFromMatrix3(m: any): Matrix4;
16
+ extractBasis(xAxis: any, yAxis: any, zAxis: any): Matrix4;
17
+ makeBasis(xAxis: any, yAxis: any, zAxis: any): Matrix4;
18
+ extractRotation(m: any): Matrix4;
19
+ makeRotationFromEuler(euler: any): Matrix4;
20
+ makeRotationFromQuaternion(q: any): Matrix4;
21
+ lookAt(eye: any, target: any, up: any): Matrix4;
22
+ multiply(m: any, n: any): Matrix4;
23
+ premultiply(m: any): Matrix4;
24
+ multiplyMatrices(a: any, b: any): Matrix4;
25
+ multiplyScalar(s: any): Matrix4;
26
+ determinant(): number;
27
+ transpose(): Matrix4;
28
+ setPosition(x: any, y: any, z: any): Matrix4;
29
+ invert(): Matrix4;
30
+ scale(v: any): Matrix4;
31
+ getMaxScaleOnAxis(): number;
32
+ makeTranslation(x: any, y: any, z: any): Matrix4;
33
+ makeRotationX(theta: any): Matrix4;
34
+ makeRotationY(theta: any): Matrix4;
35
+ makeRotationZ(theta: any): Matrix4;
36
+ makeRotationAxis(axis: any, angle: any): Matrix4;
37
+ makeScale(x: any, y: any, z: any): Matrix4;
38
+ makeShear(xy: any, xz: any, yx: any, yz: any, zx: any, zy: any): Matrix4;
39
+ compose(position: any, quaternion: any, scale: any): Matrix4;
40
+ decompose(position: any, quaternion: any, scale: any): Matrix4;
41
+ makePerspective(left: any, right: any, top: any, bottom: any, near: any, far: any): Matrix4;
42
+ makeOrthographic(left: any, right: any, top: any, bottom: any, near: any, far: any): Matrix4;
43
+ equals(matrix: any): boolean;
44
+ fromArray(array: any, offset?: number): Matrix4;
45
+ toArray(array?: any[], offset?: number): any[];
46
+ isMatrix4: boolean;
47
+ }
48
+ declare class Vector3 {
49
+ constructor(x?: number, y?: number, z?: number);
50
+ x: number;
51
+ y: number;
52
+ z: number;
53
+ set(x: any, y: any, z: any): Vector3;
54
+ setScalar(scalar: any): Vector3;
55
+ setX(x: any): Vector3;
56
+ setY(y: any): Vector3;
57
+ setZ(z: any): Vector3;
58
+ setComponent(index: any, value: any): Vector3;
59
+ getComponent(index: any): number;
60
+ clone(): any;
61
+ copy(v: any): Vector3;
62
+ add(v: any, w: any): Vector3;
63
+ addScalar(s: any): Vector3;
64
+ addVectors(a: any, b: any): Vector3;
65
+ addScaledVector(v: any, s: any): Vector3;
66
+ sub(v: any, w: any): Vector3;
67
+ subScalar(s: any): Vector3;
68
+ subVectors(a: any, b: any): Vector3;
69
+ multiply(v: any, w: any): Vector3;
70
+ multiplyScalar(scalar: any): Vector3;
71
+ multiplyVectors(a: any, b: any): Vector3;
72
+ applyEuler(euler: any): Vector3;
73
+ applyAxisAngle(axis: any, angle: any): Vector3;
74
+ applyMatrix3(m: any): Vector3;
75
+ applyNormalMatrix(m: any): Vector3;
76
+ applyMatrix4(m: any): Vector3;
77
+ applyQuaternion(q: any): Vector3;
78
+ project(camera: any): Vector3;
79
+ unproject(camera: any): Vector3;
80
+ transformDirection(m: any): Vector3;
81
+ divide(v: any): Vector3;
82
+ divideScalar(scalar: any): Vector3;
83
+ min(v: any): Vector3;
84
+ max(v: any): Vector3;
85
+ clamp(min: any, max: any): Vector3;
86
+ clampScalar(minVal: any, maxVal: any): Vector3;
87
+ clampLength(min: any, max: any): Vector3;
88
+ floor(): Vector3;
89
+ ceil(): Vector3;
90
+ round(): Vector3;
91
+ roundToZero(): Vector3;
92
+ negate(): Vector3;
93
+ dot(v: any): number;
94
+ lengthSq(): number;
95
+ length(): number;
96
+ manhattanLength(): number;
97
+ normalize(): Vector3;
98
+ setLength(length: any): Vector3;
99
+ lerp(v: any, alpha: any): Vector3;
100
+ lerpVectors(v1: any, v2: any, alpha: any): Vector3;
101
+ cross(v: any, w: any): Vector3;
102
+ crossVectors(a: any, b: any): Vector3;
103
+ projectOnVector(v: any): Vector3;
104
+ projectOnPlane(planeNormal: any): Vector3;
105
+ reflect(normal: any): Vector3;
106
+ angleTo(v: any): number;
107
+ distanceTo(v: any): number;
108
+ distanceToSquared(v: any): number;
109
+ manhattanDistanceTo(v: any): number;
110
+ setFromSpherical(s: any): Vector3;
111
+ setFromSphericalCoords(radius: any, phi: any, theta: any): Vector3;
112
+ setFromCylindrical(c: any): Vector3;
113
+ setFromCylindricalCoords(radius: any, theta: any, y: any): Vector3;
114
+ setFromMatrixPosition(m: any): Vector3;
115
+ setFromMatrixScale(m: any): Vector3;
116
+ setFromMatrixColumn(m: any, index: any): Vector3;
117
+ setFromMatrix3Column(m: any, index: any): Vector3;
118
+ equals(v: any): boolean;
119
+ fromArray(array: any, offset?: number): Vector3;
120
+ toArray(array?: any[], offset?: number): any[];
121
+ fromBufferAttribute(attribute: any, index: any, offset: any): Vector3;
122
+ random(): Vector3;
123
+ randomDirection(): Vector3;
124
+ isVector3: boolean;
125
+ [Symbol.iterator](): Generator<number, void, unknown>;
126
+ }