@shapediver/viewer.rendering-engine.camera-engine 2.12.7 → 3.0.0

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 (143) hide show
  1. package/dist/implementation/CameraEngine.d.ts +5 -7
  2. package/dist/implementation/CameraEngine.d.ts.map +1 -1
  3. package/dist/implementation/CameraEngine.js +68 -27
  4. package/dist/implementation/CameraEngine.js.map +1 -1
  5. package/dist/implementation/camera/AbstractCamera.d.ts +7 -5
  6. package/dist/implementation/camera/AbstractCamera.d.ts.map +1 -1
  7. package/dist/implementation/camera/AbstractCamera.js +15 -8
  8. package/dist/implementation/camera/AbstractCamera.js.map +1 -1
  9. package/dist/implementation/camera/OrthographicCamera.d.ts +10 -13
  10. package/dist/implementation/camera/OrthographicCamera.d.ts.map +1 -1
  11. package/dist/implementation/camera/OrthographicCamera.js +53 -52
  12. package/dist/implementation/camera/OrthographicCamera.js.map +1 -1
  13. package/dist/implementation/camera/PerspectiveCamera.d.ts +9 -12
  14. package/dist/implementation/camera/PerspectiveCamera.d.ts.map +1 -1
  15. package/dist/implementation/camera/PerspectiveCamera.js +33 -38
  16. package/dist/implementation/camera/PerspectiveCamera.js.map +1 -1
  17. package/dist/implementation/controls/AbstractCameraControls.d.ts +156 -5
  18. package/dist/implementation/controls/AbstractCameraControls.d.ts.map +1 -1
  19. package/dist/implementation/controls/AbstractCameraControls.js +260 -6
  20. package/dist/implementation/controls/AbstractCameraControls.js.map +1 -1
  21. package/dist/implementation/controls/CameraControlsEventDistribution.d.ts +38 -0
  22. package/dist/implementation/controls/CameraControlsEventDistribution.d.ts.map +1 -0
  23. package/dist/implementation/controls/{perspective/CameraControlsEventDistribution.js → CameraControlsEventDistribution.js} +71 -71
  24. package/dist/implementation/controls/CameraControlsEventDistribution.js.map +1 -0
  25. package/dist/implementation/controls/{perspective/CameraControlsLogic.d.ts → CameraControlsLogic.d.ts} +5 -5
  26. package/dist/implementation/controls/CameraControlsLogic.d.ts.map +1 -0
  27. package/dist/implementation/controls/{perspective/CameraControlsLogic.js → CameraControlsLogic.js} +74 -44
  28. package/dist/implementation/controls/CameraControlsLogic.js.map +1 -0
  29. package/dist/implementation/controls/OrthographicCameraControls.d.ts +4 -67
  30. package/dist/implementation/controls/OrthographicCameraControls.d.ts.map +1 -1
  31. package/dist/implementation/controls/OrthographicCameraControls.js +22 -90
  32. package/dist/implementation/controls/OrthographicCameraControls.js.map +1 -1
  33. package/dist/implementation/controls/PerspectiveCameraControls.d.ts +4 -151
  34. package/dist/implementation/controls/PerspectiveCameraControls.d.ts.map +1 -1
  35. package/dist/implementation/controls/PerspectiveCameraControls.js +21 -247
  36. package/dist/implementation/controls/PerspectiveCameraControls.js.map +1 -1
  37. package/dist/implementation/interpolation/CameraInterpolationManager.d.ts +3 -3
  38. package/dist/implementation/interpolation/CameraInterpolationManager.d.ts.map +1 -1
  39. package/dist/implementation/interpolation/CameraInterpolationManager.js +5 -5
  40. package/dist/implementation/interpolation/CameraInterpolationManager.js.map +1 -1
  41. package/dist/implementation/interpolation/interpolationMethods/CameraCylindricalInterpolation.d.ts +3 -3
  42. package/dist/implementation/interpolation/interpolationMethods/CameraCylindricalInterpolation.d.ts.map +1 -1
  43. package/dist/implementation/interpolation/interpolationMethods/CameraCylindricalInterpolation.js +11 -11
  44. package/dist/implementation/interpolation/interpolationMethods/CameraCylindricalInterpolation.js.map +1 -1
  45. package/dist/implementation/interpolation/interpolationMethods/CameraLinearInterpolation.d.ts +3 -3
  46. package/dist/implementation/interpolation/interpolationMethods/CameraLinearInterpolation.d.ts.map +1 -1
  47. package/dist/implementation/interpolation/interpolationMethods/CameraLinearInterpolation.js +6 -6
  48. package/dist/implementation/interpolation/interpolationMethods/CameraLinearInterpolation.js.map +1 -1
  49. package/dist/implementation/interpolation/interpolationMethods/CameraMultipleInterpolation.d.ts +4 -4
  50. package/dist/implementation/interpolation/interpolationMethods/CameraMultipleInterpolation.d.ts.map +1 -1
  51. package/dist/implementation/interpolation/interpolationMethods/CameraMultipleInterpolation.js +6 -6
  52. package/dist/implementation/interpolation/interpolationMethods/CameraMultipleInterpolation.js.map +1 -1
  53. package/dist/implementation/interpolation/interpolationMethods/CameraOrthographicInterpolation.d.ts +3 -3
  54. package/dist/implementation/interpolation/interpolationMethods/CameraOrthographicInterpolation.d.ts.map +1 -1
  55. package/dist/implementation/interpolation/interpolationMethods/CameraOrthographicInterpolation.js +6 -6
  56. package/dist/implementation/interpolation/interpolationMethods/CameraOrthographicInterpolation.js.map +1 -1
  57. package/dist/implementation/interpolation/interpolationMethods/CameraSphericalInterpolation.d.ts +3 -3
  58. package/dist/implementation/interpolation/interpolationMethods/CameraSphericalInterpolation.d.ts.map +1 -1
  59. package/dist/implementation/interpolation/interpolationMethods/CameraSphericalInterpolation.js +9 -9
  60. package/dist/implementation/interpolation/interpolationMethods/CameraSphericalInterpolation.js.map +1 -1
  61. package/dist/index.d.ts +6 -8
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +6 -6
  64. package/dist/index.js.map +1 -1
  65. package/dist/interfaces/ICameraEngine.d.ts +7 -7
  66. package/dist/interfaces/ICameraEngine.d.ts.map +1 -1
  67. package/dist/interfaces/ICameraEngine.js +3 -0
  68. package/dist/interfaces/ICameraEngine.js.map +1 -1
  69. package/dist/interfaces/camera/ICamera.d.ts +23 -22
  70. package/dist/interfaces/camera/ICamera.d.ts.map +1 -1
  71. package/dist/interfaces/camera/ICamera.js +1 -0
  72. package/dist/interfaces/camera/ICamera.js.map +1 -1
  73. package/dist/interfaces/camera/IOrthographicCamera.d.ts +8 -7
  74. package/dist/interfaces/camera/IOrthographicCamera.d.ts.map +1 -1
  75. package/dist/interfaces/camera/IOrthographicCamera.js +4 -0
  76. package/dist/interfaces/camera/IOrthographicCamera.js.map +1 -1
  77. package/dist/interfaces/camera/IPerspectiveCamera.d.ts +2 -2
  78. package/dist/interfaces/camera/IPerspectiveCamera.d.ts.map +1 -1
  79. package/dist/interfaces/controls/ICameraControls.d.ts +73 -2
  80. package/dist/interfaces/controls/ICameraControls.d.ts.map +1 -1
  81. package/dist/interfaces/controls/ICameraControls.js +1 -0
  82. package/dist/interfaces/controls/ICameraControls.js.map +1 -1
  83. package/dist/interfaces/controls/ICameraControlsEventDistribution.d.ts +1 -1
  84. package/dist/interfaces/controls/ICameraControlsEventDistribution.d.ts.map +1 -1
  85. package/dist/interfaces/controls/ICameraControlsLogic.d.ts +4 -1
  86. package/dist/interfaces/controls/ICameraControlsLogic.d.ts.map +1 -1
  87. package/dist/interfaces/interpolation/ICameraInterpolation.d.ts +2 -2
  88. package/dist/interfaces/interpolation/ICameraInterpolation.d.ts.map +1 -1
  89. package/package.json +8 -8
  90. package/src/implementation/CameraEngine.ts +111 -70
  91. package/src/implementation/camera/AbstractCamera.ts +24 -16
  92. package/src/implementation/camera/OrthographicCamera.ts +84 -85
  93. package/src/implementation/camera/PerspectiveCamera.ts +64 -69
  94. package/src/implementation/controls/AbstractCameraControls.ts +303 -14
  95. package/src/implementation/controls/{perspective/CameraControlsEventDistribution.ts → CameraControlsEventDistribution.ts} +96 -75
  96. package/src/implementation/controls/{perspective/CameraControlsLogic.ts → CameraControlsLogic.ts} +90 -53
  97. package/src/implementation/controls/OrthographicCameraControls.ts +27 -121
  98. package/src/implementation/controls/PerspectiveCameraControls.ts +28 -294
  99. package/src/implementation/interpolation/CameraInterpolationManager.ts +40 -45
  100. package/src/implementation/interpolation/interpolationMethods/CameraCylindricalInterpolation.ts +19 -22
  101. package/src/implementation/interpolation/interpolationMethods/CameraLinearInterpolation.ts +15 -16
  102. package/src/implementation/interpolation/interpolationMethods/CameraMultipleInterpolation.ts +17 -19
  103. package/src/implementation/interpolation/interpolationMethods/CameraOrthographicInterpolation.ts +12 -14
  104. package/src/implementation/interpolation/interpolationMethods/CameraSphericalInterpolation.ts +18 -20
  105. package/src/index.ts +18 -21
  106. package/src/interfaces/ICameraEngine.ts +24 -11
  107. package/src/interfaces/camera/ICamera.ts +45 -41
  108. package/src/interfaces/camera/IOrthographicCamera.ts +27 -9
  109. package/src/interfaces/camera/IPerspectiveCamera.ts +13 -5
  110. package/src/interfaces/controls/ICameraControls.ts +49 -6
  111. package/src/interfaces/controls/ICameraControlsEventDistribution.ts +5 -2
  112. package/src/interfaces/controls/ICameraControlsLogic.ts +6 -3
  113. package/src/interfaces/interpolation/ICameraInterpolation.ts +6 -2
  114. package/dist/implementation/controls/orthographic/CameraControlsEventDistribution.d.ts +0 -32
  115. package/dist/implementation/controls/orthographic/CameraControlsEventDistribution.d.ts.map +0 -1
  116. package/dist/implementation/controls/orthographic/CameraControlsEventDistribution.js +0 -230
  117. package/dist/implementation/controls/orthographic/CameraControlsEventDistribution.js.map +0 -1
  118. package/dist/implementation/controls/orthographic/CameraControlsLogic.d.ts +0 -28
  119. package/dist/implementation/controls/orthographic/CameraControlsLogic.d.ts.map +0 -1
  120. package/dist/implementation/controls/orthographic/CameraControlsLogic.js +0 -243
  121. package/dist/implementation/controls/orthographic/CameraControlsLogic.js.map +0 -1
  122. package/dist/implementation/controls/perspective/CameraControlsEventDistribution.d.ts +0 -32
  123. package/dist/implementation/controls/perspective/CameraControlsEventDistribution.d.ts.map +0 -1
  124. package/dist/implementation/controls/perspective/CameraControlsEventDistribution.js.map +0 -1
  125. package/dist/implementation/controls/perspective/CameraControlsLogic.d.ts.map +0 -1
  126. package/dist/implementation/controls/perspective/CameraControlsLogic.js.map +0 -1
  127. package/dist/interfaces/controls/ICameraControlsUsage.d.ts +0 -22
  128. package/dist/interfaces/controls/ICameraControlsUsage.d.ts.map +0 -1
  129. package/dist/interfaces/controls/ICameraControlsUsage.js +0 -3
  130. package/dist/interfaces/controls/ICameraControlsUsage.js.map +0 -1
  131. package/dist/interfaces/controls/IOrthographicCameraControls.d.ts +0 -30
  132. package/dist/interfaces/controls/IOrthographicCameraControls.d.ts.map +0 -1
  133. package/dist/interfaces/controls/IOrthographicCameraControls.js +0 -3
  134. package/dist/interfaces/controls/IOrthographicCameraControls.js.map +0 -1
  135. package/dist/interfaces/controls/IPerspectiveCameraControls.d.ts +0 -65
  136. package/dist/interfaces/controls/IPerspectiveCameraControls.d.ts.map +0 -1
  137. package/dist/interfaces/controls/IPerspectiveCameraControls.js +0 -3
  138. package/dist/interfaces/controls/IPerspectiveCameraControls.js.map +0 -1
  139. package/src/implementation/controls/orthographic/CameraControlsEventDistribution.ts +0 -234
  140. package/src/implementation/controls/orthographic/CameraControlsLogic.ts +0 -271
  141. package/src/interfaces/controls/ICameraControlsUsage.ts +0 -30
  142. package/src/interfaces/controls/IOrthographicCameraControls.ts +0 -13
  143. package/src/interfaces/controls/IPerspectiveCameraControls.ts +0 -33
package/dist/index.js CHANGED
@@ -3,18 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OrthographicCameraControls = exports.PerspectiveCameraControls = exports.OrthographicCamera = exports.PerspectiveCamera = exports.ORTHOGRAPHIC_CAMERA_DIRECTION = exports.CAMERA_TYPE = exports.AbstractCamera = exports.CameraEngine = void 0;
4
4
  const AbstractCamera_1 = require("./implementation/camera/AbstractCamera");
5
5
  Object.defineProperty(exports, "AbstractCamera", { enumerable: true, get: function () { return AbstractCamera_1.AbstractCamera; } });
6
- const CameraEngine_1 = require("./implementation/CameraEngine");
7
- Object.defineProperty(exports, "CameraEngine", { enumerable: true, get: function () { return CameraEngine_1.CameraEngine; } });
8
6
  const ICameraEngine_1 = require("./interfaces/ICameraEngine");
9
7
  Object.defineProperty(exports, "CAMERA_TYPE", { enumerable: true, get: function () { return ICameraEngine_1.CAMERA_TYPE; } });
8
+ const CameraEngine_1 = require("./implementation/CameraEngine");
9
+ Object.defineProperty(exports, "CameraEngine", { enumerable: true, get: function () { return CameraEngine_1.CameraEngine; } });
10
+ const IOrthographicCamera_1 = require("./interfaces/camera/IOrthographicCamera");
11
+ Object.defineProperty(exports, "ORTHOGRAPHIC_CAMERA_DIRECTION", { enumerable: true, get: function () { return IOrthographicCamera_1.ORTHOGRAPHIC_CAMERA_DIRECTION; } });
10
12
  const OrthographicCamera_1 = require("./implementation/camera/OrthographicCamera");
11
13
  Object.defineProperty(exports, "OrthographicCamera", { enumerable: true, get: function () { return OrthographicCamera_1.OrthographicCamera; } });
12
- const PerspectiveCamera_1 = require("./implementation/camera/PerspectiveCamera");
13
- Object.defineProperty(exports, "PerspectiveCamera", { enumerable: true, get: function () { return PerspectiveCamera_1.PerspectiveCamera; } });
14
14
  const OrthographicCameraControls_1 = require("./implementation/controls/OrthographicCameraControls");
15
15
  Object.defineProperty(exports, "OrthographicCameraControls", { enumerable: true, get: function () { return OrthographicCameraControls_1.OrthographicCameraControls; } });
16
+ const PerspectiveCamera_1 = require("./implementation/camera/PerspectiveCamera");
17
+ Object.defineProperty(exports, "PerspectiveCamera", { enumerable: true, get: function () { return PerspectiveCamera_1.PerspectiveCamera; } });
16
18
  const PerspectiveCameraControls_1 = require("./implementation/controls/PerspectiveCameraControls");
17
19
  Object.defineProperty(exports, "PerspectiveCameraControls", { enumerable: true, get: function () { return PerspectiveCameraControls_1.PerspectiveCameraControls; } });
18
- const IOrthographicCamera_1 = require("./interfaces/camera/IOrthographicCamera");
19
- Object.defineProperty(exports, "ORTHOGRAPHIC_CAMERA_DIRECTION", { enumerable: true, get: function () { return IOrthographicCamera_1.ORTHOGRAPHIC_CAMERA_DIRECTION; } });
20
20
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,2EAAuE;AAkBvD,+FAlBP,+BAAc,OAkBO;AAjB9B,gEAA4D;AAiB1D,6FAjBO,2BAAY,OAiBP;AAfd,8DAAuE;AAevC,4FAfvB,2BAAW,OAeuB;AAd3C,mFAA+E;AAkB1D,mGAlBZ,uCAAkB,OAkBY;AAjBvC,iFAA6E;AAiB3E,kGAjBO,qCAAiB,OAiBP;AAhBnB,qGAAiG;AAqBpE,2GArBpB,uDAA0B,OAqBoB;AApBvD,mGAA+F;AAoB7F,0GApBO,qDAAyB,OAoBP;AAjB3B,iFAA4G;AAQ/D,8GARf,mDAA6B,OAQe"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2EAAwE;AAiBxD,+FAjBP,+BAAc,OAiBO;AAhB9B,8DAAwE;AAgBxC,4FAhBvB,2BAAW,OAgBuB;AAf3C,gEAA6D;AAe3D,6FAfO,2BAAY,OAeP;AAZd,iFAA6G;AAYhE,8GAZf,mDAA6B,OAYe;AAV1E,mFAAgF;AAc3D,mGAdZ,uCAAkB,OAcY;AAbvC,qGAAkG;AAkBrE,2GAlBpB,uDAA0B,OAkBoB;AAjBvD,iFAA8E;AAY5E,kGAZO,qCAAiB,OAYP;AAXnB,mGAAgG;AAgB9F,0GAhBO,qDAAyB,OAgBP"}
@@ -1,15 +1,15 @@
1
1
  import { ICamera } from './camera/ICamera';
2
- export declare enum CAMERA_TYPE {
3
- PERSPECTIVE = "perspective",
4
- ORTHOGRAPHIC = "orthographic"
5
- }
6
2
  export interface ICameraEngine {
7
3
  update?: () => void;
4
+ activateCameraEvents(): void;
8
5
  assignCamera(id: string): boolean;
9
6
  createCamera(type: CAMERA_TYPE, id?: string): ICamera;
10
- removeCamera(id: string): boolean;
11
- activateCameraEvents(): void;
12
- deactivateCameraEvents(): void;
13
7
  createDefaultCameras(): void;
8
+ deactivateCameraEvents(): void;
9
+ removeCamera(id: string): boolean;
10
+ }
11
+ export declare enum CAMERA_TYPE {
12
+ PERSPECTIVE = "perspective",
13
+ ORTHOGRAPHIC = "orthographic"
14
14
  }
15
15
  //# sourceMappingURL=ICameraEngine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ICameraEngine.d.ts","sourceRoot":"","sources":["../../src/interfaces/ICameraEngine.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE1C,oBAAY,WAAW;IACnB,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;CAChC;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACtD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAElC,oBAAoB,IAAI,IAAI,CAAC;IAC7B,sBAAsB,IAAI,IAAI,CAAC;IAC/B,oBAAoB,IAAI,IAAI,CAAC;CAChC"}
1
+ {"version":3,"file":"ICameraEngine.d.ts","sourceRoot":"","sources":["../../src/interfaces/ICameraEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAI3C,MAAM,WAAW,aAAa;IAG1B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAMpB,oBAAoB,IAAI,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACtD,oBAAoB,IAAI,IAAI,CAAC;IAC7B,sBAAsB,IAAI,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;CAGrC;AAMD,oBAAY,WAAW;IACnB,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;CAChC"}
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CAMERA_TYPE = void 0;
4
+ // #endregion Interfaces (1)
5
+ // #region Enums (1)
4
6
  var CAMERA_TYPE;
5
7
  (function (CAMERA_TYPE) {
6
8
  CAMERA_TYPE["PERSPECTIVE"] = "perspective";
7
9
  CAMERA_TYPE["ORTHOGRAPHIC"] = "orthographic";
8
10
  })(CAMERA_TYPE = exports.CAMERA_TYPE || (exports.CAMERA_TYPE = {}));
11
+ // #endregion Enums (1)
9
12
  //# sourceMappingURL=ICameraEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ICameraEngine.js","sourceRoot":"","sources":["../../src/interfaces/ICameraEngine.ts"],"names":[],"mappings":";;;AAIA,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,0CAA2B,CAAA;IAC3B,4CAA6B,CAAA;AACjC,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB"}
1
+ {"version":3,"file":"ICameraEngine.js","sourceRoot":"","sources":["../../src/interfaces/ICameraEngine.ts"],"names":[],"mappings":";;;AAuBA,4BAA4B;AAE5B,oBAAoB;AAEpB,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,0CAA2B,CAAA;IAC3B,4CAA6B,CAAA;AACjC,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB;AAED,uBAAuB"}
@@ -1,28 +1,9 @@
1
- import { vec2, vec3 } from 'gl-matrix';
2
- import { ITreeNode, ITreeNodeData } from '@shapediver/viewer.shared.node-tree';
3
- import { ICameraControls } from '../controls/ICameraControls';
4
1
  import { CAMERA_TYPE } from '../ICameraEngine';
5
2
  import { IBox } from '@shapediver/viewer.shared.math';
3
+ import { ICameraControls } from '../controls/ICameraControls';
4
+ import { ITreeNode, ITreeNodeData } from '@shapediver/viewer.shared.node-tree';
6
5
  import { SettingsEngine } from '@shapediver/viewer.shared.services';
7
- export interface ICameraOptions {
8
- /**
9
- * The coordinate type of the camera interpolation. (default: 'cylindrical')
10
- */
11
- coordinates?: 'spherical' | 'linear' | 'cylindrical';
12
- /**
13
- * The duration of the camera movement. (default: cameraMovementDuration set in the settings)
14
- * When set to 0, the camera is immediately updated to the specified position and target.
15
- */
16
- duration?: number;
17
- /**
18
- * The easing type of the camera interpolation. (default: 'Quadratic.InOut')
19
- */
20
- easing?: 'Linear.None' | 'Quadratic.In' | 'Quadratic.Out' | 'Quadratic.InOut' | 'Cubic.In' | 'Cubic.Out' | 'Cubic.InOut' | 'Quartic.In' | 'Quartic.Out' | 'Quartic.InOut' | 'Quintic.In' | 'Quintic.Out' | 'Quintic.InOut' | 'Sinusoidal.In' | 'Sinusoidal.Out' | 'Sinusoidal.InOut' | 'Exponential.In' | 'Exponential.Out' | 'Exponential.InOut' | 'Circular.In' | 'Circular.Out' | 'Circular.InOut' | 'Elastic.In' | 'Elastic.Out' | 'Elastic.InOut' | 'Back.In' | 'Back.Out' | 'Back.InOut' | 'Bounce.In' | 'Bounce.Out' | 'Bounce.InOut' | Function;
21
- /**
22
- * The interpolation type of the camera interpolation. (default: 'CatmullRom')
23
- */
24
- interpolation?: 'Linear' | 'Bezier' | 'CatmullRom' | Function;
25
- }
6
+ import { vec2, vec3 } from 'gl-matrix';
26
7
  export interface ICamera extends ITreeNodeData {
27
8
  readonly controls: ICameraControls;
28
9
  readonly id: string;
@@ -33,6 +14,7 @@ export interface ICamera extends ITreeNodeData {
33
14
  cameraMovementDuration: number;
34
15
  defaultPosition: vec3;
35
16
  defaultTarget: vec3;
17
+ domEventListenerToken?: string;
36
18
  enableCameraControls: boolean;
37
19
  name?: string;
38
20
  node?: ITreeNode;
@@ -59,4 +41,23 @@ export interface ICamera extends ITreeNodeData {
59
41
  unproject(p: vec3): vec3;
60
42
  zoomTo(zoomTarget?: IBox, options?: ICameraOptions): Promise<boolean>;
61
43
  }
44
+ export interface ICameraOptions {
45
+ /**
46
+ * The coordinate type of the camera interpolation. (default: 'cylindrical')
47
+ */
48
+ coordinates?: 'spherical' | 'linear' | 'cylindrical';
49
+ /**
50
+ * The duration of the camera movement. (default: cameraMovementDuration set in the settings)
51
+ * When set to 0, the camera is immediately updated to the specified position and target.
52
+ */
53
+ duration?: number;
54
+ /**
55
+ * The easing type of the camera interpolation. (default: 'Quadratic.InOut')
56
+ */
57
+ easing?: 'Linear.None' | 'Quadratic.In' | 'Quadratic.Out' | 'Quadratic.InOut' | 'Cubic.In' | 'Cubic.Out' | 'Cubic.InOut' | 'Quartic.In' | 'Quartic.Out' | 'Quartic.InOut' | 'Quintic.In' | 'Quintic.Out' | 'Quintic.InOut' | 'Sinusoidal.In' | 'Sinusoidal.Out' | 'Sinusoidal.InOut' | 'Exponential.In' | 'Exponential.Out' | 'Exponential.InOut' | 'Circular.In' | 'Circular.Out' | 'Circular.InOut' | 'Elastic.In' | 'Elastic.Out' | 'Elastic.InOut' | 'Back.In' | 'Back.Out' | 'Back.InOut' | 'Bounce.In' | 'Bounce.Out' | 'Bounce.InOut' | Function;
58
+ /**
59
+ * The interpolation type of the camera interpolation. (default: 'CatmullRom')
60
+ */
61
+ interpolation?: 'Linear' | 'Bezier' | 'CatmullRom' | Function;
62
+ }
62
63
  //# sourceMappingURL=ICamera.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ICamera.d.ts","sourceRoot":"","sources":["../../../src/interfaces/camera/ICamera.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ICamera.d.ts","sourceRoot":"","sources":["../../../src/interfaces/camera/ICamera.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ // #endregion Interfaces (2)
3
4
  //# sourceMappingURL=ICamera.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ICamera.js","sourceRoot":"","sources":["../../../src/interfaces/camera/ICamera.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"ICamera.js","sourceRoot":"","sources":["../../../src/interfaces/camera/ICamera.ts"],"names":[],"mappings":";;AAsFA,4BAA4B"}
@@ -1,16 +1,17 @@
1
- import { IOrthographicCameraControls } from '../controls/IOrthographicCameraControls';
2
1
  import { ICamera } from './ICamera';
2
+ import { ICameraControls } from '../controls/ICameraControls';
3
+ export interface IOrthographicCamera extends ICamera {
4
+ readonly controls: ICameraControls;
5
+ direction: ORTHOGRAPHIC_CAMERA_DIRECTION;
6
+ clone(): IOrthographicCamera;
7
+ }
3
8
  export declare enum ORTHOGRAPHIC_CAMERA_DIRECTION {
4
9
  TOP = "top",
5
10
  BOTTOM = "bottom",
6
11
  LEFT = "left",
7
12
  RIGHT = "right",
8
13
  FRONT = "front",
9
- BACK = "back"
10
- }
11
- export interface IOrthographicCamera extends ICamera {
12
- readonly controls: IOrthographicCameraControls;
13
- direction: ORTHOGRAPHIC_CAMERA_DIRECTION;
14
- clone(): IOrthographicCamera;
14
+ BACK = "back",
15
+ CUSTOM = "custom"
15
16
  }
16
17
  //# sourceMappingURL=IOrthographicCamera.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IOrthographicCamera.d.ts","sourceRoot":"","sources":["../../../src/interfaces/camera/IOrthographicCamera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,oBAAY,6BAA6B;IACrC,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;CACf;AACF,MAAM,WAAW,mBAAoB,SAAQ,OAAO;IAChD,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAE/C,SAAS,EAAE,6BAA6B,CAAC;IAEzC,KAAK,IAAI,mBAAmB,CAAC;CAChC"}
1
+ {"version":3,"file":"IOrthographicCamera.d.ts","sourceRoot":"","sources":["../../../src/interfaces/camera/IOrthographicCamera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAI9D,MAAM,WAAW,mBAAoB,SAAQ,OAAO;IAGhD,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEnC,SAAS,EAAE,6BAA6B,CAAC;IAMzC,KAAK,IAAI,mBAAmB,CAAC;CAGhC;AAMD,oBAAY,6BAA6B;IACrC,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;CACpB"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ORTHOGRAPHIC_CAMERA_DIRECTION = void 0;
4
+ // #endregion Interfaces (1)
5
+ // #region Enums (1)
4
6
  var ORTHOGRAPHIC_CAMERA_DIRECTION;
5
7
  (function (ORTHOGRAPHIC_CAMERA_DIRECTION) {
6
8
  ORTHOGRAPHIC_CAMERA_DIRECTION["TOP"] = "top";
@@ -9,5 +11,7 @@ var ORTHOGRAPHIC_CAMERA_DIRECTION;
9
11
  ORTHOGRAPHIC_CAMERA_DIRECTION["RIGHT"] = "right";
10
12
  ORTHOGRAPHIC_CAMERA_DIRECTION["FRONT"] = "front";
11
13
  ORTHOGRAPHIC_CAMERA_DIRECTION["BACK"] = "back";
14
+ ORTHOGRAPHIC_CAMERA_DIRECTION["CUSTOM"] = "custom";
12
15
  })(ORTHOGRAPHIC_CAMERA_DIRECTION = exports.ORTHOGRAPHIC_CAMERA_DIRECTION || (exports.ORTHOGRAPHIC_CAMERA_DIRECTION = {}));
16
+ // #endregion Enums (1)
13
17
  //# sourceMappingURL=IOrthographicCamera.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IOrthographicCamera.js","sourceRoot":"","sources":["../../../src/interfaces/camera/IOrthographicCamera.ts"],"names":[],"mappings":";;;AAGA,IAAY,6BAOV;AAPF,WAAY,6BAA6B;IACrC,4CAAW,CAAA;IACX,kDAAiB,CAAA;IACjB,8CAAa,CAAA;IACb,gDAAe,CAAA;IACf,gDAAe,CAAA;IACf,8CAAa,CAAA;AAChB,CAAC,EAPU,6BAA6B,GAA7B,qCAA6B,KAA7B,qCAA6B,QAOvC"}
1
+ {"version":3,"file":"IOrthographicCamera.js","sourceRoot":"","sources":["../../../src/interfaces/camera/IOrthographicCamera.ts"],"names":[],"mappings":";;;AAqBA,4BAA4B;AAE5B,oBAAoB;AAEpB,IAAY,6BAQX;AARD,WAAY,6BAA6B;IACrC,4CAAW,CAAA;IACX,kDAAiB,CAAA;IACjB,8CAAa,CAAA;IACb,gDAAe,CAAA;IACf,gDAAe,CAAA;IACf,8CAAa,CAAA;IACb,kDAAiB,CAAA;AACrB,CAAC,EARW,6BAA6B,GAA7B,qCAA6B,KAA7B,qCAA6B,QAQxC;AAED,uBAAuB"}
@@ -1,7 +1,7 @@
1
- import { IPerspectiveCameraControls } from '../controls/IPerspectiveCameraControls';
2
1
  import { ICamera } from './ICamera';
2
+ import { ICameraControls } from '../controls/ICameraControls';
3
3
  export interface IPerspectiveCamera extends ICamera {
4
- readonly controls: IPerspectiveCameraControls;
4
+ readonly controls: ICameraControls;
5
5
  fov: number;
6
6
  clone(): IPerspectiveCamera;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IPerspectiveCamera.d.ts","sourceRoot":"","sources":["../../../src/interfaces/camera/IPerspectiveCamera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IAC/C,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAE9C,GAAG,EAAE,MAAM,CAAC;IAEZ,KAAK,IAAI,kBAAkB,CAAC;CAC/B"}
1
+ {"version":3,"file":"IPerspectiveCamera.d.ts","sourceRoot":"","sources":["../../../src/interfaces/camera/IPerspectiveCamera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IAG/C,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEnC,GAAG,EAAE,MAAM,CAAC;IAMZ,KAAK,IAAI,kBAAkB,CAAC;CAG/B"}
@@ -1,19 +1,90 @@
1
- import { mat4, vec2, vec3 } from 'gl-matrix';
2
1
  import { ICamera, ICameraOptions } from '../camera/ICamera';
3
2
  import { ICameraControlsEventDistribution } from './ICameraControlsEventDistribution';
3
+ import { mat4, vec2, vec3 } from 'gl-matrix';
4
+ export declare type Adjustments = {
5
+ autoRotationSpeed: number;
6
+ damping: number;
7
+ movementSmoothness: number;
8
+ panSpeed: number;
9
+ rotationSpeed: number;
10
+ zoomSpeed: number;
11
+ };
4
12
  export interface ICameraControls {
5
13
  readonly cameraControlsEventDistribution: ICameraControlsEventDistribution;
14
+ readonly canvas?: HTMLCanvasElement;
15
+ autoRotationSpeed: number;
6
16
  camera: ICamera;
7
- canvas?: HTMLCanvasElement;
17
+ cubePositionRestriction: {
18
+ min: vec3;
19
+ max: vec3;
20
+ };
21
+ cubeTargetRestriction: {
22
+ min: vec3;
23
+ max: vec3;
24
+ };
25
+ damping: number;
26
+ enableAutoRotation: boolean;
27
+ enableAzimuthRotation: boolean;
28
+ enableKeyPan: boolean;
29
+ enablePan: boolean;
30
+ enablePolarRotation: boolean;
31
+ enableRotation: boolean;
32
+ enableTurntableControls: boolean;
33
+ enableObjectControls: boolean;
34
+ enableZoom: boolean;
8
35
  enabled: boolean;
36
+ input: {
37
+ keys: {
38
+ up: number;
39
+ down: number;
40
+ left: number;
41
+ right: number;
42
+ };
43
+ mouse: {
44
+ rotate: number;
45
+ zoom: number;
46
+ pan: number;
47
+ };
48
+ touch: {
49
+ rotate: number;
50
+ zoom: number;
51
+ pan: number;
52
+ };
53
+ };
54
+ keyPanSpeed: number;
55
+ movementSmoothness: number;
56
+ panSpeed: number;
9
57
  position: vec3;
58
+ rotationRestriction: {
59
+ minPolarAngle: number;
60
+ maxPolarAngle: number;
61
+ minAzimuthAngle: number;
62
+ maxAzimuthAngle: number;
63
+ };
64
+ rotationSpeed: number;
65
+ spherePositionRestriction: {
66
+ center: vec3;
67
+ radius: number;
68
+ };
69
+ sphereTargetRestriction: {
70
+ center: vec3;
71
+ radius: number;
72
+ };
10
73
  target: vec3;
74
+ turntableCenter: vec3;
75
+ objectControlsCenter: vec3;
76
+ zoomRestriction: {
77
+ minDistance: number;
78
+ maxDistance: number;
79
+ };
80
+ zoomSpeed: number;
11
81
  animate(path: {
12
82
  position: vec3;
13
83
  target: vec3;
14
84
  }[], options: ICameraOptions): Promise<boolean>;
15
85
  applyPositionMatrix(matrix: mat4, manualInteraction?: boolean | undefined): void;
16
86
  applyPositionVector(vector: vec3, manualInteraction?: boolean | undefined): void;
87
+ applyRotation(vector: vec2, manualInteraction?: boolean | undefined): void;
17
88
  applyTargetMatrix(matrix: mat4, manualInteraction?: boolean | undefined): void;
18
89
  applyTargetVector(vector: vec3, manualInteraction?: boolean | undefined): void;
19
90
  applyUpMatrix(matrix: mat4, manualInteraction?: boolean | undefined): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ICameraControls.d.ts","sourceRoot":"","sources":["../../../src/interfaces/controls/ICameraControls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,MAAM,WAAW,eAAe;IAG5B,QAAQ,CAAC,+BAA+B,EAAE,gCAAgC,CAAC;IAE3E,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,IAAI,CAAC;IAMb,OAAO,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,IAAI,CAAA;KAAE,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7F,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IACjF,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IACjF,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/E,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/E,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IAC3E,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClE,4BAA4B,IAAI,IAAI,CAAC;IACrC,sBAAsB,IAAI,IAAI,CAAC;IAC/B,0BAA0B,IAAI,IAAI,CAAC;IACnC,oBAAoB,IAAI,IAAI,CAAC;IAC7B,QAAQ,IAAI,OAAO,CAAC;IACpB,oBAAoB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IAC5D,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,IAAI,CAAC;QAAC,aAAa,EAAE,IAAI,CAAA;KAAE,CAAC;CAG/E"}
1
+ {"version":3,"file":"ICameraControls.d.ts","sourceRoot":"","sources":["../../../src/interfaces/controls/ICameraControls.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ // #endregion Interfaces (1)
3
4
  //# sourceMappingURL=ICameraControls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ICameraControls.js","sourceRoot":"","sources":["../../../src/interfaces/controls/ICameraControls.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"ICameraControls.js","sourceRoot":"","sources":["../../../src/interfaces/controls/ICameraControls.ts"],"names":[],"mappings":";;AA+EA,4BAA4B"}
@@ -1,7 +1,7 @@
1
1
  import { IDomEventListener } from '@shapediver/viewer.shared.services';
2
2
  export interface ICameraControlsEventDistribution extends IDomEventListener {
3
- reset(): void;
4
3
  activateCameraEvents(): void;
5
4
  deactivateCameraEvents(): void;
5
+ reset(): void;
6
6
  }
7
7
  //# sourceMappingURL=ICameraControlsEventDistribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ICameraControlsEventDistribution.d.ts","sourceRoot":"","sources":["../../../src/interfaces/controls/ICameraControlsEventDistribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAEtE,MAAM,WAAW,gCAAiC,SAAQ,iBAAiB;IACvE,KAAK,IAAI,IAAI,CAAC;IAEd,oBAAoB,IAAI,IAAI,CAAC;IAC7B,sBAAsB,IAAI,IAAI,CAAC;CAClC"}
1
+ {"version":3,"file":"ICameraControlsEventDistribution.d.ts","sourceRoot":"","sources":["../../../src/interfaces/controls/ICameraControlsEventDistribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE,MAAM,WAAW,gCAAiC,SAAQ,iBAAiB;IAGvE,oBAAoB,IAAI,IAAI,CAAC;IAC7B,sBAAsB,IAAI,IAAI,CAAC;IAC/B,KAAK,IAAI,IAAI,CAAC;CAGjB"}
@@ -1,12 +1,15 @@
1
1
  import { vec2, vec3 } from 'gl-matrix';
2
2
  export interface ICameraControlsLogic {
3
- isWithinRestrictions(position: any, target: any): boolean;
3
+ isWithinRestrictions(position: vec3, target: vec3): boolean;
4
+ pan(x: number, y: number, active: boolean, touch: boolean): void;
4
5
  reset(): void;
5
6
  restrict(p: vec3, t: vec3, s?: vec2): {
6
7
  position: vec3;
7
8
  target: vec3;
8
9
  sceneRotation?: vec2;
9
10
  };
11
+ rotate(x: number, y: number, active: boolean, touch: boolean): void;
10
12
  update(time: number, manualInteraction: boolean): void;
13
+ zoom(x: number, y: number, active: boolean, touch: boolean): void;
11
14
  }
12
15
  //# sourceMappingURL=ICameraControlsLogic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ICameraControlsLogic.d.ts","sourceRoot":"","sources":["../../../src/interfaces/controls/ICameraControlsLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,oBAAoB;IAGjC,oBAAoB,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC;IAC1D,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,IAAI,CAAC;QAAC,aAAa,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC;IAC7F,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAA;CAGzD"}
1
+ {"version":3,"file":"ICameraControlsLogic.d.ts","sourceRoot":"","sources":["../../../src/interfaces/controls/ICameraControlsLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,oBAAoB;IAGjC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IAC5D,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAChE,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,IAAI,CAAC;QAAC,aAAa,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC;IAC7F,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IACnE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAA;IACtD,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;CAGpE"}
@@ -1,11 +1,11 @@
1
1
  export interface ICameraInterpolation {
2
- onUpdate(value: {
2
+ onComplete(value: {
3
3
  delta: number;
4
4
  }): void;
5
5
  onStop(value: {
6
6
  delta: number;
7
7
  }): void;
8
- onComplete(value: {
8
+ onUpdate(value: {
9
9
  delta: number;
10
10
  }): void;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ICameraInterpolation.d.ts","sourceRoot":"","sources":["../../../src/interfaces/interpolation/ICameraInterpolation.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACvC,UAAU,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC9C"}
1
+ {"version":3,"file":"ICameraInterpolation.d.ts","sourceRoot":"","sources":["../../../src/interfaces/interpolation/ICameraInterpolation.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IAGjC,UAAU,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3C,MAAM,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAG5C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.rendering-engine.camera-engine",
3
- "version": "2.12.7",
3
+ "version": "3.0.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -39,15 +39,15 @@
39
39
  "testEnvironment": "node"
40
40
  },
41
41
  "dependencies": {
42
- "@shapediver/viewer.rendering-engine.rendering-engine": "2.12.7",
43
- "@shapediver/viewer.settings": "0.5.7",
44
- "@shapediver/viewer.shared.math": "2.12.7",
45
- "@shapediver/viewer.shared.node-tree": "2.12.7",
46
- "@shapediver/viewer.shared.services": "2.12.7",
47
- "@shapediver/viewer.shared.types": "2.12.7",
42
+ "@shapediver/viewer.rendering-engine.rendering-engine": "3.0.0",
43
+ "@shapediver/viewer.settings": "1.0.1",
44
+ "@shapediver/viewer.shared.math": "3.0.0",
45
+ "@shapediver/viewer.shared.node-tree": "3.0.0",
46
+ "@shapediver/viewer.shared.services": "3.0.0",
47
+ "@shapediver/viewer.shared.types": "3.0.0",
48
48
  "@tweenjs/tween.js": "^18.6.4",
49
49
  "detect-it": "4.0.1",
50
50
  "gl-matrix": "3.3.0"
51
51
  },
52
- "gitHead": "60997db1d77ac9e274e53da1caa25a190f6405b6"
52
+ "gitHead": "b6b0010bf5d5652aa338df8016405d97f33fcabb"
53
53
  }