@shapediver/viewer.rendering-engine.light-engine 1.15.6 → 2.0.1

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 (81) hide show
  1. package/dist/implementation/AbstractLight.d.ts +3 -3
  2. package/dist/implementation/AbstractLight.d.ts.map +1 -1
  3. package/dist/implementation/LightEngine.d.ts +9 -5
  4. package/dist/implementation/LightEngine.d.ts.map +1 -1
  5. package/dist/implementation/LightEngine.js +41 -30
  6. package/dist/implementation/LightEngine.js.map +1 -1
  7. package/dist/implementation/LightScene.d.ts +8 -3
  8. package/dist/implementation/LightScene.d.ts.map +1 -1
  9. package/dist/implementation/LightScene.js +12 -1
  10. package/dist/implementation/LightScene.js.map +1 -1
  11. package/dist/implementation/types/AmbientLight.d.ts +3 -3
  12. package/dist/implementation/types/AmbientLight.d.ts.map +1 -1
  13. package/dist/implementation/types/AmbientLight.js +1 -1
  14. package/dist/implementation/types/AmbientLight.js.map +1 -1
  15. package/dist/implementation/types/DirectionalLight.d.ts +3 -3
  16. package/dist/implementation/types/DirectionalLight.d.ts.map +1 -1
  17. package/dist/implementation/types/DirectionalLight.js +1 -1
  18. package/dist/implementation/types/DirectionalLight.js.map +1 -1
  19. package/dist/implementation/types/HemisphereLight.d.ts +3 -3
  20. package/dist/implementation/types/HemisphereLight.d.ts.map +1 -1
  21. package/dist/implementation/types/HemisphereLight.js +1 -1
  22. package/dist/implementation/types/HemisphereLight.js.map +1 -1
  23. package/dist/implementation/types/PointLight.d.ts +3 -3
  24. package/dist/implementation/types/PointLight.d.ts.map +1 -1
  25. package/dist/implementation/types/PointLight.js +1 -1
  26. package/dist/implementation/types/PointLight.js.map +1 -1
  27. package/dist/implementation/types/SpotLight.d.ts +3 -3
  28. package/dist/implementation/types/SpotLight.d.ts.map +1 -1
  29. package/dist/implementation/types/SpotLight.js +1 -1
  30. package/dist/implementation/types/SpotLight.js.map +1 -1
  31. package/dist/index.d.ts +8 -2
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +2 -2
  34. package/dist/index.js.map +1 -1
  35. package/dist/interface/ILight.d.ts +4 -3
  36. package/dist/interface/ILight.d.ts.map +1 -1
  37. package/dist/interface/ILight.js +10 -10
  38. package/dist/interface/ILight.js.map +1 -1
  39. package/dist/interface/ILightEngine.d.ts +1 -0
  40. package/dist/interface/ILightEngine.d.ts.map +1 -1
  41. package/dist/interface/ILightScene.d.ts +3 -2
  42. package/dist/interface/ILightScene.d.ts.map +1 -1
  43. package/dist/interface/types/IAmbientLight.d.ts +5 -0
  44. package/dist/interface/types/IAmbientLight.d.ts.map +1 -0
  45. package/dist/interface/types/IAmbientLight.js +3 -0
  46. package/dist/interface/types/IAmbientLight.js.map +1 -0
  47. package/dist/interface/types/IDirectionalLight.d.ts +10 -0
  48. package/dist/interface/types/IDirectionalLight.d.ts.map +1 -0
  49. package/dist/interface/types/IDirectionalLight.js +3 -0
  50. package/dist/interface/types/IDirectionalLight.js.map +1 -0
  51. package/dist/interface/types/IHemisphereLight.d.ts +7 -0
  52. package/dist/interface/types/IHemisphereLight.d.ts.map +1 -0
  53. package/dist/interface/types/IHemisphereLight.js +3 -0
  54. package/dist/interface/types/IHemisphereLight.js.map +1 -0
  55. package/dist/interface/types/IPointLight.d.ts +9 -0
  56. package/dist/interface/types/IPointLight.d.ts.map +1 -0
  57. package/dist/interface/types/IPointLight.js +3 -0
  58. package/dist/interface/types/IPointLight.js.map +1 -0
  59. package/dist/interface/types/ISpotLight.d.ts +12 -0
  60. package/dist/interface/types/ISpotLight.d.ts.map +1 -0
  61. package/dist/interface/types/ISpotLight.js +3 -0
  62. package/dist/interface/types/ISpotLight.js.map +1 -0
  63. package/package.json +14 -10
  64. package/src/implementation/AbstractLight.ts +94 -0
  65. package/src/implementation/LightEngine.ts +312 -0
  66. package/src/implementation/LightScene.ts +128 -0
  67. package/src/implementation/types/AmbientLight.ts +41 -0
  68. package/src/implementation/types/DirectionalLight.ts +104 -0
  69. package/src/implementation/types/HemisphereLight.ts +65 -0
  70. package/src/implementation/types/PointLight.ts +90 -0
  71. package/src/implementation/types/SpotLight.ts +129 -0
  72. package/src/index.ts +28 -0
  73. package/src/interface/ILight.ts +24 -0
  74. package/src/interface/ILightEngine.ts +17 -0
  75. package/src/interface/ILightScene.ts +27 -0
  76. package/src/interface/types/IAmbientLight.ts +5 -0
  77. package/src/interface/types/IDirectionalLight.ts +12 -0
  78. package/src/interface/types/IHemisphereLight.ts +9 -0
  79. package/src/interface/types/IPointLight.ts +11 -0
  80. package/src/interface/types/ISpotLight.ts +14 -0
  81. package/tsconfig.json +17 -0
@@ -1,6 +1,6 @@
1
1
  import { UuidGenerator } from '@shapediver/viewer.shared.services';
2
2
  import { AbstractTreeNodeData } from '@shapediver/viewer.shared.node-tree';
3
- import { ILight, LIGHTTYPE } from '../interface/ILight';
3
+ import { ILight, LIGHT_TYPE } from '../interface/ILight';
4
4
  export declare abstract class AbstractLight extends AbstractTreeNodeData implements ILight {
5
5
  private readonly _type;
6
6
  private _color;
@@ -12,7 +12,7 @@ export declare abstract class AbstractLight extends AbstractTreeNodeData impleme
12
12
  constructor(properties: {
13
13
  color: string;
14
14
  intensity: number;
15
- type: LIGHTTYPE;
15
+ type: LIGHT_TYPE;
16
16
  name?: string;
17
17
  order?: number;
18
18
  id?: string;
@@ -25,7 +25,7 @@ export declare abstract class AbstractLight extends AbstractTreeNodeData impleme
25
25
  set name(value: string | undefined);
26
26
  get order(): number | undefined;
27
27
  set order(value: number | undefined);
28
- get type(): LIGHTTYPE;
28
+ get type(): LIGHT_TYPE;
29
29
  set useNodeData(value: boolean);
30
30
  get useNodeData(): boolean;
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractLight.d.ts","sourceRoot":"","sources":["../../src/implementation/AbstractLight.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAG1E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEvD,8BAAsB,aAAc,SAAQ,oBAAqB,YAAW,MAAM;IAG9E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAElC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,YAAY,CAAkB;IAEtC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAmD;gBAMvF,UAAU,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,SAAS,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,EAAE,CAAC,EAAE,MAAM,CAAA;KACd;IAaD,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAG7B;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,SAAS,CAAC,KAAK,EAAE,MAAM,EAGjC;IAED,IAAW,IAAI,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAGxC;IAED,IAAW,KAAK,IAAI,MAAM,GAAG,SAAS,CAErC;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAGzC;IAED,IAAW,IAAI,IAAI,SAAS,CAE3B;IAED,IAAW,WAAW,CAAC,KAAK,EAAE,OAAO,EAEpC;IAED,IAAW,WAAW,IAAI,OAAO,CAEhC;CAGJ"}
1
+ {"version":3,"file":"AbstractLight.d.ts","sourceRoot":"","sources":["../../src/implementation/AbstractLight.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAG1E,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAExD,8BAAsB,aAAc,SAAQ,oBAAqB,YAAW,MAAM;IAG9E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IAEnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,YAAY,CAAkB;IAEtC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAmD;gBAMvF,UAAU,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,UAAU,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,EAAE,CAAC,EAAE,MAAM,CAAA;KACd;IAaD,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAG7B;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,SAAS,CAAC,KAAK,EAAE,MAAM,EAGjC;IAED,IAAW,IAAI,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAGxC;IAED,IAAW,KAAK,IAAI,MAAM,GAAG,SAAS,CAErC;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAGzC;IAED,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED,IAAW,WAAW,CAAC,KAAK,EAAE,OAAO,EAEpC;IAED,IAAW,WAAW,IAAI,OAAO,CAEhC;CAGJ"}
@@ -1,21 +1,25 @@
1
+ import { SettingsEngine } from '@shapediver/viewer.shared.services';
1
2
  import { LightScene } from './LightScene';
2
3
  import { ILightEngine } from '../interface/ILightEngine';
3
4
  import { ILightScene } from '../interface/ILightScene';
5
+ import { IRenderingEngine } from '@shapediver/viewer.rendering-engine.rendering-engine';
4
6
  export declare class LightEngine implements ILightEngine {
5
- private readonly _viewerId;
7
+ private readonly _renderingEngine;
6
8
  private readonly _converter;
7
9
  private readonly _lightNode;
8
- private readonly _settingsEngine;
9
10
  private readonly _tree;
10
11
  private readonly _uuidGenerator;
11
12
  private _lightScene;
12
13
  private _lightScenes;
13
- constructor(_viewerId: string);
14
+ private _update?;
15
+ constructor(_renderingEngine: IRenderingEngine);
14
16
  get lightScene(): LightScene | null;
15
17
  get lightScenes(): {
16
18
  [key: string]: LightScene;
17
19
  };
18
- applySettings(): void;
20
+ get update(): (() => void) | undefined;
21
+ set update(value: (() => void) | undefined);
22
+ applySettings(settingsEngine: SettingsEngine): void;
19
23
  assignLightScene(id: string): boolean;
20
24
  close(): void;
21
25
  createLightScene(properties: {
@@ -23,6 +27,6 @@ export declare class LightEngine implements ILightEngine {
23
27
  standard?: boolean;
24
28
  }): ILightScene;
25
29
  removeLightScene(id: string): boolean;
26
- saveSettings(): void;
30
+ saveSettings(settingsEngine: SettingsEngine): void;
27
31
  }
28
32
  //# sourceMappingURL=LightEngine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LightEngine.d.ts","sourceRoot":"","sources":["../../src/implementation/LightEngine.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAItD,qBAAa,WAAY,YAAW,YAAY;IAgBhC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAbtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsD;IACjF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqE;IACrG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAC7D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkE;IAEjG,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAsC;gBAM7B,SAAS,EAAE,MAAM;IAS9C,IAAW,UAAU,IAAI,UAAU,GAAG,IAAI,CAEzC;IAED,IAAW,WAAW,IAAI;QACtB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAC5B,CAEA;IAMM,aAAa,IAAI,IAAI;IAuGrB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAqBrC,KAAK,IAAI,IAAI;IAIb,gBAAgB,CAAC,UAAU,EAAE;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAC,GAAG,WAAW;IAiB9E,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAwBrC,YAAY;CA0EtB"}
1
+ {"version":3,"file":"LightEngine.d.ts","sourceRoot":"","sources":["../../src/implementation/LightEngine.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,cAAc,EAAe,MAAM,oCAAoC,CAAA;AAO1G,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAGtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAA;AAEvF,qBAAa,WAAY,YAAW,YAAY;IAgBhC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAb7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsD;IACjF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqC;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkE;IAEjG,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,OAAO,CAAC,CAAa;gBAMA,gBAAgB,EAAE,gBAAgB;IAS/D,IAAW,UAAU,IAAI,UAAU,GAAG,IAAI,CAEzC;IAED,IAAW,WAAW,IAAI;QACtB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAC5B,CAEA;IAED,IAAW,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAE5C;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,EAEhD;IAMM,aAAa,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAwGnD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAqBrC,KAAK,IAAI,IAAI;IAIb,gBAAgB,CAAC,UAAU,EAAE;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAC,GAAG,WAAW;IAkB9E,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAyBrC,YAAY,CAAC,cAAc,EAAE,cAAc;CA0ErD"}
@@ -15,17 +15,16 @@ const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree")
15
15
  class LightEngine {
16
16
  // #endregion Properties (6)
17
17
  // #region Constructors (1)
18
- constructor(_viewerId) {
19
- this._viewerId = _viewerId;
18
+ constructor(_renderingEngine) {
19
+ this._renderingEngine = _renderingEngine;
20
20
  // #region Properties (6)
21
21
  this._converter = tsyringe_1.container.resolve(viewer_shared_services_1.Converter);
22
22
  this._lightNode = new viewer_shared_node_tree_1.TreeNode('lights');
23
- this._settingsEngine = tsyringe_1.container.resolve(viewer_shared_services_1.SettingsEngine);
24
23
  this._tree = tsyringe_1.container.resolve(viewer_shared_node_tree_1.Tree);
25
24
  this._uuidGenerator = tsyringe_1.container.resolve(viewer_shared_services_1.UuidGenerator);
26
25
  this._lightScenes = {};
27
26
  this._tree.root.addChild(this._lightNode);
28
- this._lightNode.includeViewers = [this._viewerId];
27
+ this._lightNode.restrictViewports = [this._renderingEngine.id];
29
28
  }
30
29
  // #endregion Constructors (1)
31
30
  // #region Public Accessors (2)
@@ -35,20 +34,26 @@ class LightEngine {
35
34
  get lightScenes() {
36
35
  return this._lightScenes;
37
36
  }
37
+ get update() {
38
+ return this._update;
39
+ }
40
+ set update(value) {
41
+ this._update = value;
42
+ }
38
43
  // #endregion Public Accessors (2)
39
44
  // #region Public Methods (6)
40
- applySettings() {
45
+ applySettings(settingsEngine) {
41
46
  this._lightScenes = {};
42
- for (let lightSceneId in this._settingsEngine.light.lightScenes) {
47
+ for (let lightSceneId in settingsEngine.light.lightScenes) {
43
48
  const lightSceneUUID = this._uuidGenerator.validate(lightSceneId) ? lightSceneId : this._uuidGenerator.create();
44
- const lightSceneName = this._settingsEngine.light.lightScenes[lightSceneId].name ? this._settingsEngine.light.lightScenes[lightSceneId].name : lightSceneId;
45
- const ls = new LightScene_1.LightScene({ id: lightSceneUUID, name: lightSceneName });
46
- for (let lightId in this._settingsEngine.light.lightScenes[lightSceneId].lights) {
49
+ const lightSceneName = settingsEngine.light.lightScenes[lightSceneId].name ? settingsEngine.light.lightScenes[lightSceneId].name : lightSceneId;
50
+ const ls = new LightScene_1.LightScene(this._renderingEngine, { id: lightSceneUUID, name: lightSceneName });
51
+ for (let lightId in settingsEngine.light.lightScenes[lightSceneId].lights) {
47
52
  const lightUUID = this._uuidGenerator.validate(lightId) ? lightId : this._uuidGenerator.create();
48
- const light = this._settingsEngine.light.lightScenes[lightSceneId].lights[lightId];
53
+ const light = settingsEngine.light.lightScenes[lightSceneId].lights[lightId];
49
54
  let l;
50
55
  switch (light.type) {
51
- case ILight_1.LIGHTTYPE.DIRECTIONAL:
56
+ case ILight_1.LIGHT_TYPE.DIRECTIONAL:
52
57
  l = new DirectionalLight_1.DirectionalLight({
53
58
  color: this._converter.toColor(light.properties.color),
54
59
  intensity: light.properties.intensity,
@@ -59,7 +64,7 @@ class LightEngine {
59
64
  id: lightUUID
60
65
  });
61
66
  break;
62
- case ILight_1.LIGHTTYPE.HEMISPHERE:
67
+ case ILight_1.LIGHT_TYPE.HEMISPHERE:
63
68
  l = new HemisphereLight_1.HemisphereLight({
64
69
  color: this._converter.toColor(light.properties.skyColor),
65
70
  intensity: light.properties.intensity,
@@ -69,7 +74,7 @@ class LightEngine {
69
74
  id: lightUUID
70
75
  });
71
76
  break;
72
- case ILight_1.LIGHTTYPE.POINT:
77
+ case ILight_1.LIGHT_TYPE.POINT:
73
78
  l = new PointLight_1.PointLight({
74
79
  color: this._converter.toColor(light.properties.color),
75
80
  intensity: light.properties.intensity,
@@ -81,7 +86,7 @@ class LightEngine {
81
86
  id: lightUUID
82
87
  });
83
88
  break;
84
- case ILight_1.LIGHTTYPE.SPOT:
89
+ case ILight_1.LIGHT_TYPE.SPOT:
85
90
  l = new SpotLight_1.SpotLight({
86
91
  color: this._converter.toColor(light.properties.color),
87
92
  intensity: light.properties.intensity,
@@ -96,7 +101,7 @@ class LightEngine {
96
101
  id: lightUUID
97
102
  });
98
103
  break;
99
- case ILight_1.LIGHTTYPE.AMBIENT:
104
+ case ILight_1.LIGHT_TYPE.AMBIENT:
100
105
  default:
101
106
  l = new AmbientLight_1.AmbientLight({
102
107
  color: this._converter.toColor(light.properties.color),
@@ -111,20 +116,20 @@ class LightEngine {
111
116
  this._lightScenes[ls.id] = ls;
112
117
  }
113
118
  // there is a light scene but no id is saved (old viewer)
114
- if (this._settingsEngine.light.lightSceneId === undefined && Object.values(this._settingsEngine.light.lightScenes).length > 0) {
115
- const res = this.assignLightScene(Object.keys(this._settingsEngine.light.lightScenes)[0]);
119
+ if (settingsEngine.light.lightSceneId === undefined && Object.values(settingsEngine.light.lightScenes).length > 0) {
120
+ const res = this.assignLightScene(Object.keys(settingsEngine.light.lightScenes)[0]);
116
121
  if (res === false) {
117
- const ls = this.createLightScene({ name: this._settingsEngine.light.lightSceneId === 'default' ? 'default' : 'standard' });
122
+ const ls = this.createLightScene({ name: settingsEngine.light.lightSceneId === 'default' ? 'default' : 'standard' });
118
123
  ls.addLight(new AmbientLight_1.AmbientLight({ color: '#ffffff', intensity: 0.5, name: 'ambient0' }));
119
124
  ls.addLight(new DirectionalLight_1.DirectionalLight({ color: '#ffffff', intensity: 0.75, direction: gl_matrix_1.vec3.fromValues(.5774, -.5774, .5774), castShadow: true, name: 'directional0' }));
120
125
  ls.addLight(new DirectionalLight_1.DirectionalLight({ color: '#ffffff', intensity: 0.35, direction: gl_matrix_1.vec3.fromValues(.25, -1, 1), castShadow: false, name: 'directional1' }));
121
126
  this._lightScenes[ls.id] = ls;
122
127
  }
123
128
  } // there is no standard light scene in the light scenes, but a light scene name is specified (old viewer)
124
- else if (this._settingsEngine.light.lightSceneId) {
125
- const res = this.assignLightScene(this._settingsEngine.light.lightSceneId);
129
+ else if (settingsEngine.light.lightSceneId) {
130
+ const res = this.assignLightScene(settingsEngine.light.lightSceneId);
126
131
  if (res === false) {
127
- const ls = this.createLightScene({ name: this._settingsEngine.light.lightSceneId === 'default' ? 'default' : 'standard' });
132
+ const ls = this.createLightScene({ name: settingsEngine.light.lightSceneId === 'default' ? 'default' : 'standard' });
128
133
  ls.addLight(new AmbientLight_1.AmbientLight({ color: '#ffffff', intensity: 0.5, name: 'ambient0' }));
129
134
  ls.addLight(new DirectionalLight_1.DirectionalLight({ color: '#ffffff', intensity: 0.75, direction: gl_matrix_1.vec3.fromValues(.5774, -.5774, .5774), castShadow: true, name: 'directional0' }));
130
135
  ls.addLight(new DirectionalLight_1.DirectionalLight({ color: '#ffffff', intensity: 0.35, direction: gl_matrix_1.vec3.fromValues(.25, -1, 1), castShadow: false, name: 'directional1' }));
@@ -136,6 +141,8 @@ class LightEngine {
136
141
  const ls = this.createLightScene({ name: 'standard', standard: true });
137
142
  this._lightScenes[ls.id] = ls;
138
143
  }
144
+ if (this._update)
145
+ this._update();
139
146
  }
140
147
  assignLightScene(id) {
141
148
  if (!this._lightScenes[id]) {
@@ -161,7 +168,7 @@ class LightEngine {
161
168
  }
162
169
  createLightScene(properties) {
163
170
  const lightSceneId = this._uuidGenerator.create();
164
- const lightScene = new LightScene_1.LightScene({ id: lightSceneId, name: properties.name });
171
+ const lightScene = new LightScene_1.LightScene(this._renderingEngine, { id: lightSceneId, name: properties.name });
165
172
  if (properties.standard === true) {
166
173
  lightScene.addLight(new DirectionalLight_1.DirectionalLight({ color: '#ffffff', intensity: 2.5, direction: gl_matrix_1.vec3.fromValues(.5774, -.5774, .5774), castShadow: true, name: 'directional0' }));
167
174
  lightScene.addLight(new DirectionalLight_1.DirectionalLight({ color: '#ffffff', intensity: 1, direction: gl_matrix_1.vec3.fromValues(-.5774, -.5774, .5774), castShadow: false, name: 'directional1' }));
@@ -172,6 +179,8 @@ class LightEngine {
172
179
  this._lightNode.removeChild(this._lightNode.children[0]);
173
180
  this._lightNode.addChild(this._lightScene.node);
174
181
  this._lightNode.updateVersion();
182
+ if (this._update)
183
+ this._update();
175
184
  return lightScene;
176
185
  }
177
186
  removeLightScene(id) {
@@ -192,10 +201,12 @@ class LightEngine {
192
201
  while (this._lightNode.children.length > 0)
193
202
  this._lightNode.removeChild(this._lightNode.children[0]);
194
203
  this._lightNode.updateVersion();
204
+ if (this._update)
205
+ this._update();
195
206
  return true;
196
207
  }
197
- saveSettings() {
198
- this._settingsEngine.light.lightSceneId = this.lightScene ? this.lightScene.id : 'standard';
208
+ saveSettings(settingsEngine) {
209
+ settingsEngine.light.lightSceneId = this.lightScene ? this.lightScene.id : 'standard';
199
210
  const converted = {};
200
211
  for (let lightSceneId in this._lightScenes) {
201
212
  const lightScene = this._lightScenes[lightSceneId];
@@ -208,7 +219,7 @@ class LightEngine {
208
219
  const light = lightScene.lights[lightId];
209
220
  let properties;
210
221
  switch (light.type) {
211
- case ILight_1.LIGHTTYPE.DIRECTIONAL:
222
+ case ILight_1.LIGHT_TYPE.DIRECTIONAL:
212
223
  properties = {
213
224
  color: light.color,
214
225
  intensity: light.intensity,
@@ -218,14 +229,14 @@ class LightEngine {
218
229
  shadowMapBias: light.shadowMapBias
219
230
  };
220
231
  break;
221
- case ILight_1.LIGHTTYPE.HEMISPHERE:
232
+ case ILight_1.LIGHT_TYPE.HEMISPHERE:
222
233
  properties = {
223
234
  skyColor: light.color,
224
235
  intensity: light.intensity,
225
236
  groundColor: light.groundColor
226
237
  };
227
238
  break;
228
- case ILight_1.LIGHTTYPE.POINT:
239
+ case ILight_1.LIGHT_TYPE.POINT:
229
240
  properties = {
230
241
  color: light.color,
231
242
  intensity: light.intensity,
@@ -234,7 +245,7 @@ class LightEngine {
234
245
  decay: light.decay
235
246
  };
236
247
  break;
237
- case ILight_1.LIGHTTYPE.SPOT:
248
+ case ILight_1.LIGHT_TYPE.SPOT:
238
249
  properties = {
239
250
  color: light.color,
240
251
  intensity: light.intensity,
@@ -246,7 +257,7 @@ class LightEngine {
246
257
  penumbra: light.penumbra
247
258
  };
248
259
  break;
249
- case ILight_1.LIGHTTYPE.AMBIENT:
260
+ case ILight_1.LIGHT_TYPE.AMBIENT:
250
261
  default:
251
262
  properties = {
252
263
  color: light.color,
@@ -262,7 +273,7 @@ class LightEngine {
262
273
  converted[lightSceneId].lights[lightId].order = light.order;
263
274
  }
264
275
  }
265
- this._settingsEngine.light.lightScenes = converted;
276
+ settingsEngine.light.lightScenes = converted;
266
277
  }
267
278
  }
268
279
  exports.LightEngine = LightEngine;
@@ -1 +1 @@
1
- {"version":3,"file":"LightEngine.js","sourceRoot":"","sources":["../../src/implementation/LightEngine.ts"],"names":[],"mappings":";;;AAAA,uCAA+C;AAC/C,yCAAgC;AAChC,+EAA0G;AAE1G,uDAAmD;AACnD,+DAA2D;AAC3D,6DAAyD;AACzD,mDAA+C;AAC/C,iDAA6C;AAC7C,6CAAyC;AAGzC,gDAAuD;AAGvD,iFAAoE;AAEpE,MAAa,WAAW;IAYpB,4BAA4B;IAE5B,2BAA2B;IAE3B,YAA6B,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QAf9C,yBAAyB;QAER,eAAU,GAAyB,oBAAS,CAAC,OAAO,CAAC,kCAAS,CAAC,CAAC;QAChE,eAAU,GAAa,IAAI,kCAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,oBAAe,GAAmC,oBAAS,CAAC,OAAO,CAAC,uCAAc,CAAC,CAAC;QACpF,UAAK,GAAe,oBAAS,CAAC,OAAO,CAAC,8BAAI,CAAC,CAAC;QAC5C,mBAAc,GAAiC,oBAAS,CAAC,OAAO,CAAC,sCAAa,CAAC,CAAC;QAGzF,iBAAY,GAAmC,EAAE,CAAC;QAOtD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAED,8BAA8B;IAE9B,+BAA+B;IAE/B,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAW,WAAW;QAGlB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,kCAAkC;IAElC,6BAA6B;IAEtB,aAAa;QAChB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,KAAK,IAAI,YAAY,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE;YAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAChH,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;YAC5J,MAAM,EAAE,GAAG,IAAI,uBAAU,CAAC,EAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAC,CAAC,CAAC;YACtE,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE;gBAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;gBACjG,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnF,IAAI,CAAgB,CAAC;gBACrB,QAAQ,KAAK,CAAC,IAAI,EAAE;oBAChB,KAAK,kBAAS,CAAC,WAAW;wBACtB,CAAC,GAAG,IAAI,mCAAgB,CAAC;4BACrB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAiC,KAAK,CAAC,UAAW,CAAC,KAAK,CAAC;4BACvF,SAAS,EAAkC,KAAK,CAAC,UAAW,CAAC,SAAS;4BACtE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAiC,KAAK,CAAC,UAAW,CAAC,SAAS,CAAC;4BAC9F,UAAU,EAAkC,KAAK,CAAC,UAAW,CAAC,UAAU;4BACxE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;4BACvC,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,EAAE,EAAE,SAAS;yBAChB,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,kBAAS,CAAC,UAAU;wBACrB,CAAC,GAAG,IAAI,iCAAe,CAAC;4BACpB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAgC,KAAK,CAAC,UAAW,CAAC,QAAQ,CAAC;4BACzF,SAAS,EAAiC,KAAK,CAAC,UAAW,CAAC,SAAS;4BACrE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAgC,KAAK,CAAC,UAAW,CAAC,WAAW,CAAC;4BAClG,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;4BACvC,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,EAAE,EAAE,SAAS;yBAChB,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,kBAAS,CAAC,KAAK;wBAChB,CAAC,GAAG,IAAI,uBAAU,CAAC;4BACf,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAA2B,KAAK,CAAC,UAAW,CAAC,KAAK,CAAC;4BACjF,SAAS,EAA4B,KAAK,CAAC,UAAW,CAAC,SAAS;4BAChE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAA2B,KAAK,CAAC,UAAW,CAAC,QAAQ,CAAC;4BACtF,QAAQ,EAA4B,KAAK,CAAC,UAAW,CAAC,QAAQ;4BAC9D,KAAK,EAA4B,KAAK,CAAC,UAAW,CAAC,KAAK;4BACxD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;4BACvC,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,EAAE,EAAE,SAAS;yBAChB,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,kBAAS,CAAC,IAAI;wBACf,CAAC,GAAG,IAAI,qBAAS,CAAC;4BACd,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAA0B,KAAK,CAAC,UAAW,CAAC,KAAK,CAAC;4BAChF,SAAS,EAA2B,KAAK,CAAC,UAAW,CAAC,SAAS;4BAC/D,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAA0B,KAAK,CAAC,UAAW,CAAC,QAAQ,CAAC;4BACrF,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAA0B,KAAK,CAAC,UAAW,CAAC,MAAM,CAAC;4BACjF,QAAQ,EAA2B,KAAK,CAAC,UAAW,CAAC,QAAQ;4BAC7D,KAAK,EAA2B,KAAK,CAAC,UAAW,CAAC,KAAK;4BACvD,KAAK,EAA2B,KAAK,CAAC,UAAW,CAAC,KAAK;4BACvD,QAAQ,EAA2B,KAAK,CAAC,UAAW,CAAC,QAAQ;4BAC7D,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;4BACvC,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,EAAE,EAAE,SAAS;yBAChB,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,kBAAS,CAAC,OAAO,CAAC;oBACvB;wBACI,CAAC,GAAG,IAAI,2BAAY,CAAC;4BACjB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAA6B,KAAK,CAAC,UAAW,CAAC,KAAK,CAAC;4BACnF,SAAS,EAA8B,KAAK,CAAC,UAAW,CAAC,SAAS;4BAClE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;4BACvC,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,EAAE,EAAE,SAAS;yBAChB,CAAC,CAAC;iBACV;gBACD,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAClB;YACD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;SACjC;QAED,yDAAyD;QACzD,IAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1H,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,IAAG,GAAG,KAAK,KAAK,EAAC;gBACb,MAAM,EAAE,GAAe,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;gBACvI,EAAE,CAAC,QAAQ,CAAC,IAAI,2BAAY,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAC,CAAC,CAAC,CAAC;gBACpF,EAAE,CAAC,QAAQ,CAAC,IAAI,mCAAgB,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAC,CAAC,CAAC,CAAC;gBACjK,EAAE,CAAC,QAAQ,CAAC,IAAI,mCAAgB,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAC,CAAC,CAAC,CAAC;gBACxJ,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;aACjC;SACJ,CAAC,yGAAyG;aACtG,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE;YAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3E,IAAG,GAAG,KAAK,KAAK,EAAC;gBACb,MAAM,EAAE,GAAe,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;gBACvI,EAAE,CAAC,QAAQ,CAAC,IAAI,2BAAY,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAC,CAAC,CAAC,CAAC;gBACpF,EAAE,CAAC,QAAQ,CAAC,IAAI,mCAAgB,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAC,CAAC,CAAC,CAAC;gBACjK,EAAE,CAAC,QAAQ,CAAC,IAAI,mCAAgB,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAC,CAAC,CAAC,CAAC;gBACxJ,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;aACjC;SACJ;QACD,gGAAgG;aAC3F;YACD,MAAM,EAAE,GAAe,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;SACjC;IACL,CAAC;IAEM,gBAAgB,CAAC,EAAU;QAC9B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;YACxB,KAAI,IAAI,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE;gBACvC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;gBACnD,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,IAAI,YAAY,CAAC;gBACvD,IAAG,cAAc,KAAK,EAAE,EAAE;oBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;oBAChD,OAAO,GAAG,CAAC;iBACd;aACJ;YACD,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACzC,OAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAEhC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAEM,gBAAgB,CAAC,UAA+C;QACnE,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,EAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAC,CAAC,CAAC;QAC7E,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC9B,UAAU,CAAC,QAAQ,CAAC,IAAI,mCAAgB,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,gBAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAC,CAAC,CAAC,CAAC;YACxK,UAAU,CAAC,QAAQ,CAAC,IAAI,mCAAgB,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,gBAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAC,CAAC,CAAC,CAAC;SAC3K;QACD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,OAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,CAAA;QAChD,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAEhC,OAAO,UAAU,CAAC;IACtB,CAAC;IAEM,gBAAgB,CAAC,EAAU;QAC9B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;YACxB,KAAI,IAAI,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE;gBACvC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;gBACnD,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,IAAI,YAAY,CAAC;gBACvD,IAAG,cAAc,KAAK,EAAE,EAAE;oBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;oBAChD,OAAO,GAAG,CAAC;iBACd;aACJ;YACD,OAAO,KAAK,CAAC;SAChB;QAED,IAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE;YACvC,IAAI,CAAC,WAAY,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAE7B,OAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAEhC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY;QACf,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QAE5F,MAAM,SAAS,GAA0B,EAAE,CAAC;QAC5C,KAAI,IAAI,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE;YACvC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACnD,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,IAAI,YAAY,CAAC;YACvD,SAAS,CAAC,YAAY,CAAC,GAAG;gBACtB,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,EAAE;aACb,CAAC;YACF,KAAI,IAAI,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE;gBAClC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAEzC,IAAI,UAAU,CAAC;gBACf,QAAQ,KAAK,CAAC,IAAI,EAAE;oBAChB,KAAK,kBAAS,CAAC,WAAW;wBACtB,UAAU,GAAG;4BACT,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,SAAS,EAAE,EAAE,CAAC,EAAqB,KAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAqB,KAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAqB,KAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;4BAC9I,UAAU,EAAqB,KAAM,CAAC,UAAU;4BAChD,mBAAmB,EAAqB,KAAM,CAAC,mBAAmB;4BAClE,aAAa,EAAqB,KAAM,CAAC,aAAa;yBACzD,CAAA;wBACD,MAAM;oBACV,KAAK,kBAAS,CAAC,UAAU;wBACrB,UAAU,GAAG;4BACT,QAAQ,EAAE,KAAK,CAAC,KAAK;4BACrB,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,WAAW,EAAoB,KAAM,CAAC,WAAW;yBACpD,CAAA;wBACD,MAAM;oBACV,KAAK,kBAAS,CAAC,KAAK;wBAChB,UAAU,GAAG;4BACT,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,QAAQ,EAAE,EAAE,CAAC,EAAe,KAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAe,KAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAe,KAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;4BACxH,QAAQ,EAAe,KAAM,CAAC,QAAQ;4BACtC,KAAK,EAAe,KAAM,CAAC,KAAK;yBACnC,CAAA;wBACD,MAAM;oBACV,KAAK,kBAAS,CAAC,IAAI;wBACf,UAAU,GAAG;4BACT,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,QAAQ,EAAE,EAAE,CAAC,EAAc,KAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAc,KAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAc,KAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;4BACrH,MAAM,EAAE,EAAE,CAAC,EAAc,KAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAc,KAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAc,KAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;4BAC7G,QAAQ,EAAc,KAAM,CAAC,QAAQ;4BACrC,KAAK,EAAc,KAAM,CAAC,KAAK;4BAC/B,KAAK,EAAc,KAAM,CAAC,KAAK;4BAC/B,QAAQ,EAAc,KAAM,CAAC,QAAQ;yBACxC,CAAA;wBACD,MAAM;oBACV,KAAK,kBAAS,CAAC,OAAO,CAAC;oBACvB;wBACI,UAAU,GAAG;4BACT,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,SAAS,EAAE,KAAK,CAAC,SAAS;yBAC7B,CAAA;iBACR;gBACD,SAAS,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG;oBACtC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,UAAU;iBACb,CAAA;gBACD,IAAG,KAAK,CAAC,KAAK,KAAK,SAAS;oBACxB,SAAS,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;aACnE;SACJ;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;IACvD,CAAC;CAGJ;AA1RD,kCA0RC"}
1
+ {"version":3,"file":"LightEngine.js","sourceRoot":"","sources":["../../src/implementation/LightEngine.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { TreeNode } from '@shapediver/viewer.shared.node-tree';
1
+ import { IRenderingEngine } from '@shapediver/viewer.rendering-engine.rendering-engine';
2
+ import { ITreeNode } from '@shapediver/viewer.shared.node-tree';
2
3
  import { vec3 } from 'gl-matrix';
3
4
  import { ILightScene } from '../interface/ILightScene';
4
5
  import { AbstractLight } from './AbstractLight';
@@ -8,11 +9,13 @@ import { HemisphereLight } from './types/HemisphereLight';
8
9
  import { PointLight } from './types/PointLight';
9
10
  import { SpotLight } from './types/SpotLight';
10
11
  export declare class LightScene implements ILightScene {
12
+ private readonly _renderingEngine;
11
13
  private readonly _id;
12
14
  private readonly _lights;
13
15
  private readonly _node;
14
16
  private _name;
15
- constructor(properties: {
17
+ private _update?;
18
+ constructor(_renderingEngine: IRenderingEngine, properties: {
16
19
  id: string;
17
20
  name?: string;
18
21
  });
@@ -22,7 +25,9 @@ export declare class LightScene implements ILightScene {
22
25
  };
23
26
  get name(): string | undefined;
24
27
  set name(value: string | undefined);
25
- get node(): TreeNode;
28
+ get node(): ITreeNode;
29
+ get update(): (() => void) | undefined;
30
+ set update(value: (() => void) | undefined);
26
31
  addAmbientLight(properties: {
27
32
  color?: string;
28
33
  intensity?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"LightScene.d.ts","sourceRoot":"","sources":["../../src/implementation/LightScene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LightScene.d.ts","sourceRoot":"","sources":["../../src/implementation/LightScene.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,8 @@ const SpotLight_1 = require("./types/SpotLight");
10
10
  class LightScene {
11
11
  // #endregion Properties (5)
12
12
  // #region Constructors (1)
13
- constructor(properties) {
13
+ constructor(_renderingEngine, properties) {
14
+ this._renderingEngine = _renderingEngine;
14
15
  this._lights = {};
15
16
  this._id = properties.id;
16
17
  this._name = properties.name;
@@ -33,6 +34,12 @@ class LightScene {
33
34
  get node() {
34
35
  return this._node;
35
36
  }
37
+ get update() {
38
+ return this._update;
39
+ }
40
+ set update(value) {
41
+ this._update = value;
42
+ }
36
43
  // #endregion Public Accessors (5)
37
44
  // #region Public Methods (8)
38
45
  addAmbientLight(properties) {
@@ -56,6 +63,8 @@ class LightScene {
56
63
  this._node.addChild(node);
57
64
  this._lights[light.id] = light;
58
65
  this._node.updateVersion();
66
+ if (this._update)
67
+ this._update();
59
68
  }
60
69
  addPointLight(properties) {
61
70
  const light = new PointLight_1.PointLight(properties);
@@ -79,6 +88,8 @@ class LightScene {
79
88
  }
80
89
  delete this._lights[id];
81
90
  this._node.updateVersion();
91
+ if (this._update)
92
+ this._update();
82
93
  return true;
83
94
  }
84
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LightScene.js","sourceRoot":"","sources":["../../src/implementation/LightScene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LightScene.js","sourceRoot":"","sources":["../../src/implementation/LightScene.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { ITreeNodeData } from '@shapediver/viewer.shared.node-tree';
1
+ import { IAmbientLight } from '../../interface/types/IAmbientLight';
2
2
  import { AbstractLight } from '../AbstractLight';
3
- export declare class AmbientLight extends AbstractLight {
3
+ export declare class AmbientLight extends AbstractLight implements IAmbientLight {
4
4
  constructor(properties: {
5
5
  color?: string;
6
6
  intensity?: number;
@@ -8,6 +8,6 @@ export declare class AmbientLight extends AbstractLight {
8
8
  order?: number;
9
9
  id?: string;
10
10
  });
11
- clone(): ITreeNodeData;
11
+ clone(): IAmbientLight;
12
12
  }
13
13
  //# sourceMappingURL=AmbientLight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AmbientLight.d.ts","sourceRoot":"","sources":["../../../src/implementation/types/AmbientLight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAInE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,qBAAa,YAAa,SAAQ,aAAa;gBAG/B,UAAU,EAAE;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,EAAE,CAAC,EAAE,MAAM,CAAA;KACd;IAeM,KAAK,IAAI,aAAa;CAUhC"}
1
+ {"version":3,"file":"AmbientLight.d.ts","sourceRoot":"","sources":["../../../src/implementation/types/AmbientLight.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,qBAAa,YAAa,SAAQ,aAAc,YAAW,aAAa;gBAGxD,UAAU,EAAE;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,EAAE,CAAC,EAAE,MAAM,CAAA;KACd;IAeM,KAAK,IAAI,aAAa;CAUhC"}
@@ -9,7 +9,7 @@ class AmbientLight extends AbstractLight_1.AbstractLight {
9
9
  super({
10
10
  color: properties.color || '#ffffff',
11
11
  intensity: properties.intensity !== undefined ? properties.intensity : 0.5,
12
- type: ILight_1.LIGHTTYPE.AMBIENT,
12
+ type: ILight_1.LIGHT_TYPE.AMBIENT,
13
13
  name: properties.name,
14
14
  order: properties.order,
15
15
  id: properties.id
@@ -1 +1 @@
1
- {"version":3,"file":"AmbientLight.js","sourceRoot":"","sources":["../../../src/implementation/types/AmbientLight.ts"],"names":[],"mappings":";;;AAGA,mDAAkD;AAClD,oDAAgD;AAEhD,MAAa,YAAa,SAAQ,6BAAa;IAC3C,2BAA2B;IAE3B,YAAY,UAMX;QACG,KAAK,CAAC;YACF,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,SAAS;YACpC,SAAS,EAAE,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;YAC1E,IAAI,EAAE,kBAAS,CAAC,OAAO;YACvB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,EAAE,EAAE,UAAU,CAAC,EAAE;SACpB,CAAC,CAAC;IACP,CAAC;IAED,8BAA8B;IAE9B,6BAA6B;IAEtB,KAAK;QACR,OAAO,IAAI,YAAY,CAAC;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;YAC9B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG;YAChC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;IACP,CAAC;CAGJ;AAlCD,oCAkCC"}
1
+ {"version":3,"file":"AmbientLight.js","sourceRoot":"","sources":["../../../src/implementation/types/AmbientLight.ts"],"names":[],"mappings":";;;AAEA,mDAAmD;AAEnD,oDAAgD;AAEhD,MAAa,YAAa,SAAQ,6BAAa;IAC3C,2BAA2B;IAE3B,YAAY,UAMX;QACG,KAAK,CAAC;YACF,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,SAAS;YACpC,SAAS,EAAE,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;YAC1E,IAAI,EAAE,mBAAU,CAAC,OAAO;YACxB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,EAAE,EAAE,UAAU,CAAC,EAAE;SACpB,CAAC,CAAC;IACP,CAAC;IAED,8BAA8B;IAE9B,6BAA6B;IAEtB,KAAK;QACR,OAAO,IAAI,YAAY,CAAC;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;YAC9B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG;YAChC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;IACP,CAAC;CAGJ;AAlCD,oCAkCC"}
@@ -1,7 +1,7 @@
1
- import { ITreeNodeData } from '@shapediver/viewer.shared.node-tree';
2
1
  import { vec3 } from 'gl-matrix';
2
+ import { IDirectionalLight } from '../../interface/types/IDirectionalLight';
3
3
  import { AbstractLight } from '../AbstractLight';
4
- export declare class DirectionalLight extends AbstractLight {
4
+ export declare class DirectionalLight extends AbstractLight implements IDirectionalLight {
5
5
  private _castShadow;
6
6
  private _direction;
7
7
  private _shadowMapBias;
@@ -25,6 +25,6 @@ export declare class DirectionalLight extends AbstractLight {
25
25
  set shadowMapBias(value: number);
26
26
  get shadowMapResolution(): number;
27
27
  set shadowMapResolution(value: number);
28
- clone(): ITreeNodeData;
28
+ clone(): IDirectionalLight;
29
29
  }
30
30
  //# sourceMappingURL=DirectionalLight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DirectionalLight.d.ts","sourceRoot":"","sources":["../../../src/implementation/types/DirectionalLight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGhC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,qBAAa,gBAAiB,SAAQ,aAAa;IAG/C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,oBAAoB,CAAgB;gBAMhC,UAAU,EAAE;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,IAAI,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,EAAE,CAAC,EAAE,MAAM,CAAA;KACd;IAoBD,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,UAAU,CAAC,KAAK,EAAE,OAAO,EAGnC;IAED,IAAW,SAAS,IAAI,IAAI,CAE3B;IAED,IAAW,SAAS,CAAC,KAAK,EAAE,IAAI,EAG/B;IAED,IAAW,aAAa,IAAI,MAAM,CAEjC;IAED,IAAW,aAAa,CAAC,KAAK,EAAE,MAAM,EAGrC;IAED,IAAW,mBAAmB,IAAI,MAAM,CAEvC;IAED,IAAW,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAG3C;IAMM,KAAK,IAAI,aAAa;CAchC"}
1
+ {"version":3,"file":"DirectionalLight.d.ts","sourceRoot":"","sources":["../../../src/implementation/types/DirectionalLight.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,iBAAiB;IAG5E,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,oBAAoB,CAAgB;gBAMhC,UAAU,EAAE;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,IAAI,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,EAAE,CAAC,EAAE,MAAM,CAAA;KACd;IAoBD,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,UAAU,CAAC,KAAK,EAAE,OAAO,EAGnC;IAED,IAAW,SAAS,IAAI,IAAI,CAE3B;IAED,IAAW,SAAS,CAAC,KAAK,EAAE,IAAI,EAG/B;IAED,IAAW,aAAa,IAAI,MAAM,CAEjC;IAED,IAAW,aAAa,CAAC,KAAK,EAAE,MAAM,EAGrC;IAED,IAAW,mBAAmB,IAAI,MAAM,CAEvC;IAED,IAAW,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAG3C;IAMM,KAAK,IAAI,iBAAiB;CAcpC"}
@@ -11,7 +11,7 @@ class DirectionalLight extends AbstractLight_1.AbstractLight {
11
11
  super({
12
12
  color: properties.color || '#ffffff',
13
13
  intensity: properties.intensity !== undefined ? properties.intensity : 0.5,
14
- type: ILight_1.LIGHTTYPE.DIRECTIONAL,
14
+ type: ILight_1.LIGHT_TYPE.DIRECTIONAL,
15
15
  name: properties.name,
16
16
  order: properties.order,
17
17
  id: properties.id
@@ -1 +1 @@
1
- {"version":3,"file":"DirectionalLight.js","sourceRoot":"","sources":["../../../src/implementation/types/DirectionalLight.ts"],"names":[],"mappings":";;;AACA,yCAAgC;AAEhC,mDAAkD;AAClD,oDAAgD;AAEhD,MAAa,gBAAiB,SAAQ,6BAAa;IAQ/C,4BAA4B;IAE5B,2BAA2B;IAE3B,YAAY,UAUX;QACG,KAAK,CAAC;YACF,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,SAAS;YACpC,SAAS,EAAE,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;YAC1E,IAAI,EAAE,kBAAS,CAAC,WAAW;YAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,EAAE,EAAE,UAAU,CAAC,EAAE;SACpB,CAAC,CAAC;QA7BP,yBAAyB;QAEjB,gBAAW,GAAY,KAAK,CAAC;QAC7B,eAAU,GAAS,gBAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7C,mBAAc,GAAW,CAAC,KAAK,CAAC;QAChC,yBAAoB,GAAW,IAAI,CAAC;QA0BxC,IAAG,UAAU,CAAC,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC;QAChE,IAAG,UAAU,CAAC,UAAU;YAAE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC;QACnE,IAAG,UAAU,CAAC,mBAAmB;YAAE,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,mBAAmB,CAAC;QAC9F,IAAG,UAAU,CAAC,aAAa;YAAE,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;IAChF,CAAC;IAED,8BAA8B;IAE9B,+BAA+B;IAE/B,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAW,UAAU,CAAC,KAAc;QAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAW,SAAS,CAAC,KAAW;QAC5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAW,aAAa,CAAC,KAAa;QAClC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,IAAW,mBAAmB;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACrC,CAAC;IAED,IAAW,mBAAmB,CAAC,KAAa;QACxC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,kCAAkC;IAElC,6BAA6B;IAEtB,KAAK;QACR,OAAO,IAAI,gBAAgB,CAAC;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;IACP,CAAC;CAGJ;AAhGD,4CAgGC"}
1
+ {"version":3,"file":"DirectionalLight.js","sourceRoot":"","sources":["../../../src/implementation/types/DirectionalLight.ts"],"names":[],"mappings":";;;AACA,yCAAgC;AAEhC,mDAAmD;AAEnD,oDAAgD;AAEhD,MAAa,gBAAiB,SAAQ,6BAAa;IAQ/C,4BAA4B;IAE5B,2BAA2B;IAE3B,YAAY,UAUX;QACG,KAAK,CAAC;YACF,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,SAAS;YACpC,SAAS,EAAE,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;YAC1E,IAAI,EAAE,mBAAU,CAAC,WAAW;YAC5B,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,EAAE,EAAE,UAAU,CAAC,EAAE;SACpB,CAAC,CAAC;QA7BP,yBAAyB;QAEjB,gBAAW,GAAY,KAAK,CAAC;QAC7B,eAAU,GAAS,gBAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7C,mBAAc,GAAW,CAAC,KAAK,CAAC;QAChC,yBAAoB,GAAW,IAAI,CAAC;QA0BxC,IAAG,UAAU,CAAC,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC;QAChE,IAAG,UAAU,CAAC,UAAU;YAAE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC;QACnE,IAAG,UAAU,CAAC,mBAAmB;YAAE,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,mBAAmB,CAAC;QAC9F,IAAG,UAAU,CAAC,aAAa;YAAE,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;IAChF,CAAC;IAED,8BAA8B;IAE9B,+BAA+B;IAE/B,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAW,UAAU,CAAC,KAAc;QAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAW,SAAS,CAAC,KAAW;QAC5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAW,aAAa,CAAC,KAAa;QAClC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,IAAW,mBAAmB;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACrC,CAAC;IAED,IAAW,mBAAmB,CAAC,KAAa;QACxC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,kCAAkC;IAElC,6BAA6B;IAEtB,KAAK;QACR,OAAO,IAAI,gBAAgB,CAAC;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;IACP,CAAC;CAGJ;AAhGD,4CAgGC"}
@@ -1,6 +1,6 @@
1
- import { ITreeNodeData } from '@shapediver/viewer.shared.node-tree';
1
+ import { IHemisphereLight } from '../../interface/types/IHemisphereLight';
2
2
  import { AbstractLight } from '../AbstractLight';
3
- export declare class HemisphereLight extends AbstractLight {
3
+ export declare class HemisphereLight extends AbstractLight implements IHemisphereLight {
4
4
  private _groundColor;
5
5
  constructor(properties: {
6
6
  color?: string;
@@ -12,6 +12,6 @@ export declare class HemisphereLight extends AbstractLight {
12
12
  });
13
13
  get groundColor(): string;
14
14
  set groundColor(value: string);
15
- clone(): ITreeNodeData;
15
+ clone(): IHemisphereLight;
16
16
  }
17
17
  //# sourceMappingURL=HemisphereLight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HemisphereLight.d.ts","sourceRoot":"","sources":["../../../src/implementation/types/HemisphereLight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAInE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,qBAAa,eAAgB,SAAQ,aAAa;IAG9C,OAAO,CAAC,YAAY,CAAqB;gBAM7B,UAAU,EAAE;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,EAAE,CAAC,EAAE,MAAM,CAAA;KACd;IAiBD,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,WAAW,CAAC,KAAK,EAAE,MAAM,EAGnC;IAMM,KAAK,IAAI,aAAa;CAWhC"}
1
+ {"version":3,"file":"HemisphereLight.d.ts","sourceRoot":"","sources":["../../../src/implementation/types/HemisphereLight.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,qBAAa,eAAgB,SAAQ,aAAc,YAAW,gBAAgB;IAG1E,OAAO,CAAC,YAAY,CAAqB;gBAM7B,UAAU,EAAE;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,EAAE,CAAC,EAAE,MAAM,CAAA;KACd;IAiBD,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,WAAW,CAAC,KAAK,EAAE,MAAM,EAGnC;IAMM,KAAK,IAAI,gBAAgB;CAWnC"}
@@ -10,7 +10,7 @@ class HemisphereLight extends AbstractLight_1.AbstractLight {
10
10
  super({
11
11
  color: properties.color || '#ffffff',
12
12
  intensity: properties.intensity !== undefined ? properties.intensity : 0.5,
13
- type: ILight_1.LIGHTTYPE.HEMISPHERE,
13
+ type: ILight_1.LIGHT_TYPE.HEMISPHERE,
14
14
  name: properties.name,
15
15
  order: properties.order,
16
16
  id: properties.id
@@ -1 +1 @@
1
- {"version":3,"file":"HemisphereLight.js","sourceRoot":"","sources":["../../../src/implementation/types/HemisphereLight.ts"],"names":[],"mappings":";;;AAGA,mDAAkD;AAClD,oDAAgD;AAEhD,MAAa,eAAgB,SAAQ,6BAAa;IAK9C,4BAA4B;IAE5B,2BAA2B;IAE3B,YAAY,UAOX;QACG,KAAK,CAAC;YACF,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,SAAS;YACpC,SAAS,EAAE,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;YAC1E,IAAI,EAAE,kBAAS,CAAC,UAAU;YAC1B,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,EAAE,EAAE,UAAU,CAAC,EAAE;SACpB,CAAC,CAAC;QAvBP,yBAAyB;QAEjB,iBAAY,GAAW,SAAS,CAAC;QAuBrC,IAAI,UAAU,CAAC,WAAW;YAAE,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC;IAC3E,CAAC;IAED,8BAA8B;IAE9B,+BAA+B;IAE/B,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAW,WAAW,CAAC,KAAa;QAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,kCAAkC;IAElC,6BAA6B;IAEtB,KAAK;QACR,OAAO,IAAI,eAAe,CAAC;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;IACP,CAAC;CAGJ;AAzDD,0CAyDC"}
1
+ {"version":3,"file":"HemisphereLight.js","sourceRoot":"","sources":["../../../src/implementation/types/HemisphereLight.ts"],"names":[],"mappings":";;;AAGA,mDAAmD;AAEnD,oDAAgD;AAEhD,MAAa,eAAgB,SAAQ,6BAAa;IAK9C,4BAA4B;IAE5B,2BAA2B;IAE3B,YAAY,UAOX;QACG,KAAK,CAAC;YACF,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,SAAS;YACpC,SAAS,EAAE,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;YAC1E,IAAI,EAAE,mBAAU,CAAC,UAAU;YAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,EAAE,EAAE,UAAU,CAAC,EAAE;SACpB,CAAC,CAAC;QAvBP,yBAAyB;QAEjB,iBAAY,GAAW,SAAS,CAAC;QAuBrC,IAAI,UAAU,CAAC,WAAW;YAAE,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC;IAC3E,CAAC;IAED,8BAA8B;IAE9B,+BAA+B;IAE/B,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAW,WAAW,CAAC,KAAa;QAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,kCAAkC;IAElC,6BAA6B;IAEtB,KAAK;QACR,OAAO,IAAI,eAAe,CAAC;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;IACP,CAAC;CAGJ;AAzDD,0CAyDC"}
@@ -1,7 +1,7 @@
1
- import { ITreeNodeData } from '@shapediver/viewer.shared.node-tree';
2
1
  import { vec3 } from 'gl-matrix';
2
+ import { IPointLight } from '../../interface/types/IPointLight';
3
3
  import { AbstractLight } from '../AbstractLight';
4
- export declare class PointLight extends AbstractLight {
4
+ export declare class PointLight extends AbstractLight implements IPointLight {
5
5
  private _decay;
6
6
  private _distance;
7
7
  private _position;
@@ -21,6 +21,6 @@ export declare class PointLight extends AbstractLight {
21
21
  set distance(value: number);
22
22
  get position(): vec3;
23
23
  set position(value: vec3);
24
- clone(): ITreeNodeData;
24
+ clone(): IPointLight;
25
25
  }
26
26
  //# sourceMappingURL=PointLight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PointLight.d.ts","sourceRoot":"","sources":["../../../src/implementation/types/PointLight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGhC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,qBAAa,UAAW,SAAQ,aAAa;IAG3C,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAkC;gBAMvC,UAAU,EAAE;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ;IAkBD,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAG7B;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,MAAM,EAGhC;IAED,IAAW,QAAQ,IAAI,IAAI,CAE1B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,IAAI,EAG9B;IAMM,KAAK,IAAI,aAAa;CAa9B"}
1
+ {"version":3,"file":"PointLight.d.ts","sourceRoot":"","sources":["../../../src/implementation/types/PointLight.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,qBAAa,UAAW,SAAQ,aAAc,YAAW,WAAW;IAGlE,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAkC;gBAMvC,UAAU,EAAE;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ;IAkBD,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAG7B;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,MAAM,EAGhC;IAED,IAAW,QAAQ,IAAI,IAAI,CAE1B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,IAAI,EAG9B;IAMM,KAAK,IAAI,WAAW;CAa5B"}