@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
@@ -1,41 +1,191 @@
1
- import { mat4, vec2, vec3 } from 'gl-matrix';
2
- import { CAMERA_TYPE } from '../../interfaces/ICameraEngine';
1
+ import { SettingsEngine } from '@shapediver/viewer.shared.services';
3
2
  import { ICamera, ICameraOptions } from '../../interfaces/camera/ICamera';
4
- import { ICameraControlsUsage } from '../../interfaces/controls/ICameraControlsUsage';
3
+ import { ICameraControls } from '../../interfaces/controls/ICameraControls';
5
4
  import { ICameraControlsEventDistribution } from '../../interfaces/controls/ICameraControlsEventDistribution';
6
5
  import { ICameraControlsLogic } from '../../interfaces/controls/ICameraControlsLogic';
7
- export declare class AbstractCameraControls implements ICameraControlsUsage {
6
+ import { mat4, vec2, vec3 } from 'gl-matrix';
7
+ export declare abstract class AbstractCameraControls implements ICameraControls {
8
8
  private _camera;
9
9
  private _enabled;
10
10
  private readonly _cameraInterpolationManager;
11
+ private readonly _converter;
11
12
  private readonly _eventEngine;
13
+ private _autoRotationSpeed;
12
14
  private _canvas?;
15
+ private _cubePositionRestriction;
16
+ private _cubeTargetRestriction;
17
+ private _damping;
18
+ private _enableAutoRotation;
19
+ private _enableAzimuthRotation;
20
+ private _enableKeyPan;
21
+ private _enableObjectControls;
22
+ private _enablePan;
23
+ private _enablePolarRotation;
24
+ private _enableRotation;
25
+ private _enableTurntableControls;
26
+ private _enableZoom;
27
+ private _input;
28
+ private _keyPanSpeed;
13
29
  private _manualInteraction;
14
30
  private _manualInteractionTransformations;
31
+ private _movementSmoothness;
15
32
  private _moving;
16
33
  private _movingDuration;
17
34
  private _nonmanualInteraction;
18
35
  private _nonmanualInteractionTransformations;
36
+ private _objectControlsCenter;
37
+ private _panSpeed;
19
38
  private _position;
39
+ private _rotationRestriction;
40
+ private _rotationSpeed;
20
41
  private _sceneRotation;
42
+ private _spherePositionRestriction;
43
+ private _sphereTargetRestriction;
21
44
  private _target;
45
+ private _turntableCenter;
22
46
  private _viewportId?;
47
+ private _zoomRestriction;
48
+ private _zoomSpeed;
23
49
  protected _cameraControlsEventDistribution: ICameraControlsEventDistribution;
24
50
  protected _cameraLogic: ICameraControlsLogic;
25
- constructor(_camera: ICamera, _enabled: boolean, type: CAMERA_TYPE);
51
+ constructor(_camera: ICamera, _enabled: boolean);
52
+ get autoRotationSpeed(): number;
53
+ set autoRotationSpeed(value: number);
26
54
  get camera(): ICamera;
27
55
  set camera(value: ICamera);
28
56
  get cameraControlsEventDistribution(): ICameraControlsEventDistribution;
29
57
  get canvas(): HTMLCanvasElement | undefined;
30
58
  set canvas(value: HTMLCanvasElement | undefined);
59
+ get cubePositionRestriction(): {
60
+ min: vec3;
61
+ max: vec3;
62
+ };
63
+ set cubePositionRestriction(value: {
64
+ min: vec3;
65
+ max: vec3;
66
+ });
67
+ get cubeTargetRestriction(): {
68
+ min: vec3;
69
+ max: vec3;
70
+ };
71
+ set cubeTargetRestriction(value: {
72
+ min: vec3;
73
+ max: vec3;
74
+ });
75
+ get damping(): number;
76
+ set damping(value: number);
77
+ get enableAutoRotation(): boolean;
78
+ set enableAutoRotation(value: boolean);
79
+ get enableAzimuthRotation(): boolean;
80
+ set enableAzimuthRotation(value: boolean);
81
+ get enableKeyPan(): boolean;
82
+ set enableKeyPan(value: boolean);
83
+ get enableObjectControls(): boolean;
84
+ set enableObjectControls(value: boolean);
85
+ get enablePan(): boolean;
86
+ set enablePan(value: boolean);
87
+ get enablePolarRotation(): boolean;
88
+ set enablePolarRotation(value: boolean);
89
+ get enableRotation(): boolean;
90
+ set enableRotation(value: boolean);
91
+ get enableTurntableControls(): boolean;
92
+ set enableTurntableControls(value: boolean);
93
+ get enableZoom(): boolean;
94
+ set enableZoom(value: boolean);
31
95
  get enabled(): boolean;
32
96
  set enabled(value: boolean);
97
+ get input(): {
98
+ keys: {
99
+ up: number;
100
+ down: number;
101
+ left: number;
102
+ right: number;
103
+ };
104
+ mouse: {
105
+ rotate: number;
106
+ zoom: number;
107
+ pan: number;
108
+ };
109
+ touch: {
110
+ rotate: number;
111
+ zoom: number;
112
+ pan: number;
113
+ };
114
+ };
115
+ set input(value: {
116
+ keys: {
117
+ up: number;
118
+ down: number;
119
+ left: number;
120
+ right: number;
121
+ };
122
+ mouse: {
123
+ rotate: number;
124
+ zoom: number;
125
+ pan: number;
126
+ };
127
+ touch: {
128
+ rotate: number;
129
+ zoom: number;
130
+ pan: number;
131
+ };
132
+ });
133
+ get keyPanSpeed(): number;
134
+ set keyPanSpeed(value: number);
135
+ get movementSmoothness(): number;
136
+ set movementSmoothness(value: number);
137
+ get objectControlsCenter(): vec3;
138
+ set objectControlsCenter(value: vec3);
139
+ get panSpeed(): number;
140
+ set panSpeed(value: number);
33
141
  get position(): vec3;
34
142
  set position(value: vec3);
143
+ get rotationRestriction(): {
144
+ minPolarAngle: number;
145
+ maxPolarAngle: number;
146
+ minAzimuthAngle: number;
147
+ maxAzimuthAngle: number;
148
+ };
149
+ set rotationRestriction(value: {
150
+ minPolarAngle: number;
151
+ maxPolarAngle: number;
152
+ minAzimuthAngle: number;
153
+ maxAzimuthAngle: number;
154
+ });
155
+ get rotationSpeed(): number;
156
+ set rotationSpeed(value: number);
35
157
  get sceneRotation(): vec2;
36
158
  set sceneRotation(value: vec2);
159
+ get spherePositionRestriction(): {
160
+ center: vec3;
161
+ radius: number;
162
+ };
163
+ set spherePositionRestriction(value: {
164
+ center: vec3;
165
+ radius: number;
166
+ });
167
+ get sphereTargetRestriction(): {
168
+ center: vec3;
169
+ radius: number;
170
+ };
171
+ set sphereTargetRestriction(value: {
172
+ center: vec3;
173
+ radius: number;
174
+ });
37
175
  get target(): vec3;
38
176
  set target(value: vec3);
177
+ get turntableCenter(): vec3;
178
+ set turntableCenter(value: vec3);
179
+ get zoomRestriction(): {
180
+ minDistance: number;
181
+ maxDistance: number;
182
+ };
183
+ set zoomRestriction(value: {
184
+ minDistance: number;
185
+ maxDistance: number;
186
+ });
187
+ get zoomSpeed(): number;
188
+ set zoomSpeed(value: number);
39
189
  animate(path: {
40
190
  position: vec3;
41
191
  target: vec3;
@@ -43,6 +193,7 @@ export declare class AbstractCameraControls implements ICameraControlsUsage {
43
193
  applyPositionMatrix(matrix: mat4, manualInteraction?: boolean | undefined): void;
44
194
  applyPositionVector(vector: vec3, manualInteraction?: boolean | undefined): void;
45
195
  applyRotation(vector: vec2, manualInteraction?: boolean | undefined): void;
196
+ applySettings(settingsEngine: SettingsEngine): void;
46
197
  applyTargetMatrix(matrix: mat4, manualInteraction?: boolean | undefined): void;
47
198
  applyTargetVector(vector: vec3, manualInteraction?: boolean | undefined): void;
48
199
  applyUpMatrix(matrix: mat4, manualInteraction?: boolean | undefined): void;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractCameraControls.d.ts","sourceRoot":"","sources":["../../../src/implementation/controls/AbstractCameraControls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractCameraControls.d.ts","sourceRoot":"","sources":["../../../src/implementation/controls/AbstractCameraControls.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,61 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AbstractCameraControls = void 0;
4
- const gl_matrix_1 = require("gl-matrix");
5
- const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
6
4
  const CameraInterpolationManager_1 = require("../interpolation/CameraInterpolationManager");
5
+ const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
6
+ const gl_matrix_1 = require("gl-matrix");
7
7
  class AbstractCameraControls {
8
- // #endregion Properties (15)
8
+ // #endregion Properties (38)
9
9
  // #region Constructors (1)
10
- constructor(_camera, _enabled, type) {
10
+ constructor(_camera, _enabled) {
11
11
  this._camera = _camera;
12
12
  this._enabled = _enabled;
13
+ this._converter = viewer_shared_services_1.Converter.instance;
13
14
  this._eventEngine = viewer_shared_services_1.EventEngine.instance;
15
+ this._autoRotationSpeed = 0;
16
+ this._cubePositionRestriction = { min: gl_matrix_1.vec3.fromValues(-Infinity, -Infinity, -Infinity), max: gl_matrix_1.vec3.fromValues(Infinity, Infinity, Infinity) };
17
+ this._cubeTargetRestriction = { min: gl_matrix_1.vec3.fromValues(-Infinity, -Infinity, -Infinity), max: gl_matrix_1.vec3.fromValues(Infinity, Infinity, Infinity) };
18
+ this._damping = 0.1;
19
+ this._enableAutoRotation = false;
20
+ this._enableAzimuthRotation = true;
21
+ this._enableKeyPan = false;
22
+ this._enableObjectControls = false;
23
+ this._enablePan = true;
24
+ this._enablePolarRotation = true;
25
+ this._enableRotation = true;
26
+ this._enableTurntableControls = false;
27
+ this._enableZoom = true;
28
+ this._input = { keys: { up: 38, down: 40, left: 37, right: 39 }, mouse: { rotate: 0, zoom: 1, pan: 2 }, touch: { rotate: 1, zoom: 2, pan: 2 }, };
29
+ this._keyPanSpeed = 0.5;
14
30
  this._manualInteraction = false;
31
+ this._movementSmoothness = 0.5;
15
32
  this._moving = false;
16
33
  this._movingDuration = 0;
17
34
  this._nonmanualInteraction = false;
35
+ this._objectControlsCenter = gl_matrix_1.vec3.create();
36
+ this._panSpeed = 0.5;
18
37
  this._position = gl_matrix_1.vec3.create();
38
+ this._rotationRestriction = { minPolarAngle: 0, maxPolarAngle: 180, minAzimuthAngle: -Infinity, maxAzimuthAngle: Infinity };
39
+ this._rotationSpeed = 0.5;
19
40
  this._sceneRotation = gl_matrix_1.vec2.create();
41
+ this._spherePositionRestriction = { center: gl_matrix_1.vec3.create(), radius: Infinity };
42
+ this._sphereTargetRestriction = { center: gl_matrix_1.vec3.create(), radius: Infinity };
20
43
  this._target = gl_matrix_1.vec3.create();
44
+ this._turntableCenter = gl_matrix_1.vec3.create();
45
+ this._zoomRestriction = { minDistance: 0, maxDistance: Infinity };
46
+ this._zoomSpeed = 0.5;
21
47
  this._cameraInterpolationManager = new CameraInterpolationManager_1.CameraInterpolationManager(this._camera, this);
22
48
  this._manualInteractionTransformations = { position: [], target: [], sceneRotation: [] };
23
49
  this._nonmanualInteractionTransformations = { position: [], target: [], sceneRotation: [] };
24
50
  }
25
51
  // #endregion Constructors (1)
26
- // #region Public Accessors (13)
52
+ // #region Public Getters And Setters (59)
53
+ get autoRotationSpeed() {
54
+ return this._autoRotationSpeed;
55
+ }
56
+ set autoRotationSpeed(value) {
57
+ this._autoRotationSpeed = value;
58
+ }
27
59
  get camera() {
28
60
  return this._camera;
29
61
  }
@@ -39,6 +71,78 @@ class AbstractCameraControls {
39
71
  set canvas(value) {
40
72
  this._canvas = value;
41
73
  }
74
+ get cubePositionRestriction() {
75
+ return this._cubePositionRestriction;
76
+ }
77
+ set cubePositionRestriction(value) {
78
+ this._cubePositionRestriction = value;
79
+ }
80
+ get cubeTargetRestriction() {
81
+ return this._cubeTargetRestriction;
82
+ }
83
+ set cubeTargetRestriction(value) {
84
+ this._cubeTargetRestriction = value;
85
+ }
86
+ get damping() {
87
+ return this._damping;
88
+ }
89
+ set damping(value) {
90
+ this._damping = value;
91
+ }
92
+ get enableAutoRotation() {
93
+ return this._enableAutoRotation;
94
+ }
95
+ set enableAutoRotation(value) {
96
+ this._enableAutoRotation = value;
97
+ }
98
+ get enableAzimuthRotation() {
99
+ return this._enableAzimuthRotation;
100
+ }
101
+ set enableAzimuthRotation(value) {
102
+ this._enableAzimuthRotation = value;
103
+ }
104
+ get enableKeyPan() {
105
+ return this._enableKeyPan;
106
+ }
107
+ set enableKeyPan(value) {
108
+ this._enableKeyPan = value;
109
+ }
110
+ get enableObjectControls() {
111
+ return this._enableObjectControls;
112
+ }
113
+ set enableObjectControls(value) {
114
+ this._enableObjectControls = value;
115
+ }
116
+ get enablePan() {
117
+ return this._enablePan;
118
+ }
119
+ set enablePan(value) {
120
+ this._enablePan = value;
121
+ }
122
+ get enablePolarRotation() {
123
+ return this._enablePolarRotation;
124
+ }
125
+ set enablePolarRotation(value) {
126
+ this._enablePolarRotation = value;
127
+ }
128
+ get enableRotation() {
129
+ return this._enableRotation;
130
+ }
131
+ set enableRotation(value) {
132
+ this._enableRotation = value;
133
+ }
134
+ get enableTurntableControls() {
135
+ return this._enableTurntableControls;
136
+ }
137
+ set enableTurntableControls(value) {
138
+ this._enableTurntableControls = value;
139
+ }
140
+ get enableZoom() {
141
+ return this._enableZoom;
142
+ }
143
+ set enableZoom(value) {
144
+ this._enableZoom = value;
145
+ }
42
146
  get enabled() {
43
147
  return this._enabled;
44
148
  }
@@ -53,25 +157,97 @@ class AbstractCameraControls {
53
157
  }
54
158
  this._enabled = value;
55
159
  }
160
+ get input() {
161
+ return this._input;
162
+ }
163
+ set input(value) {
164
+ this._input = value;
165
+ }
166
+ get keyPanSpeed() {
167
+ return this._keyPanSpeed;
168
+ }
169
+ set keyPanSpeed(value) {
170
+ this._keyPanSpeed = value;
171
+ }
172
+ get movementSmoothness() {
173
+ return this._movementSmoothness;
174
+ }
175
+ set movementSmoothness(value) {
176
+ this._movementSmoothness = value;
177
+ }
178
+ get objectControlsCenter() {
179
+ return this._objectControlsCenter;
180
+ }
181
+ set objectControlsCenter(value) {
182
+ this._objectControlsCenter = value;
183
+ }
184
+ get panSpeed() {
185
+ return this._panSpeed;
186
+ }
187
+ set panSpeed(value) {
188
+ this._panSpeed = value;
189
+ }
56
190
  get position() {
57
191
  return this._position;
58
192
  }
59
193
  set position(value) {
60
194
  this._position = value;
61
195
  }
196
+ get rotationRestriction() {
197
+ return this._rotationRestriction;
198
+ }
199
+ set rotationRestriction(value) {
200
+ this._rotationRestriction = value;
201
+ }
202
+ get rotationSpeed() {
203
+ return this._rotationSpeed;
204
+ }
205
+ set rotationSpeed(value) {
206
+ this._rotationSpeed = value;
207
+ }
62
208
  get sceneRotation() {
63
209
  return this._sceneRotation;
64
210
  }
65
211
  set sceneRotation(value) {
66
212
  this._sceneRotation = value;
67
213
  }
214
+ get spherePositionRestriction() {
215
+ return this._spherePositionRestriction;
216
+ }
217
+ set spherePositionRestriction(value) {
218
+ this._spherePositionRestriction = value;
219
+ }
220
+ get sphereTargetRestriction() {
221
+ return this._sphereTargetRestriction;
222
+ }
223
+ set sphereTargetRestriction(value) {
224
+ this._sphereTargetRestriction = value;
225
+ }
68
226
  get target() {
69
227
  return this._target;
70
228
  }
71
229
  set target(value) {
72
230
  this._target = value;
73
231
  }
74
- // #endregion Public Accessors (13)
232
+ get turntableCenter() {
233
+ return this._turntableCenter;
234
+ }
235
+ set turntableCenter(value) {
236
+ this._turntableCenter = value;
237
+ }
238
+ get zoomRestriction() {
239
+ return this._zoomRestriction;
240
+ }
241
+ set zoomRestriction(value) {
242
+ this._zoomRestriction = value;
243
+ }
244
+ get zoomSpeed() {
245
+ return this._zoomSpeed;
246
+ }
247
+ set zoomSpeed(value) {
248
+ this._zoomSpeed = value;
249
+ }
250
+ // #endregion Public Getters And Setters (59)
75
251
  // #region Public Methods (16)
76
252
  animate(path, options) {
77
253
  if (options && options.duration === 0) {
@@ -113,6 +289,84 @@ class AbstractCameraControls {
113
289
  this._nonmanualInteractionTransformations.sceneRotation.push({ theta: vector[0], phi: vector[1] });
114
290
  }
115
291
  }
292
+ applySettings(settingsEngine) {
293
+ const cameraSetting = settingsEngine.camera.cameras[this.camera.id];
294
+ if (!cameraSetting)
295
+ return;
296
+ this.reset();
297
+ const controlsSettings = cameraSetting.controls;
298
+ this.autoRotationSpeed = controlsSettings.autoRotationSpeed;
299
+ this.damping = controlsSettings.damping;
300
+ this.enableAutoRotation = controlsSettings.enableAutoRotation;
301
+ this.enableKeyPan = controlsSettings.enableKeyPan;
302
+ this.enablePan = controlsSettings.enablePan;
303
+ this.enableRotation = controlsSettings.enableRotation;
304
+ this.enableZoom = controlsSettings.enableZoom;
305
+ // this.input = controlsSettings.input;
306
+ this.keyPanSpeed = controlsSettings.keyPanSpeed;
307
+ this.movementSmoothness = controlsSettings.movementSmoothness;
308
+ this.rotationSpeed = controlsSettings.rotationSpeed;
309
+ this.panSpeed = controlsSettings.panSpeed;
310
+ this.zoomSpeed = controlsSettings.zoomSpeed;
311
+ this.enableAzimuthRotation = controlsSettings.enableAzimuthRotation;
312
+ this.enablePolarRotation = controlsSettings.enablePolarRotation;
313
+ this.enableTurntableControls = controlsSettings.enableTurntableControls;
314
+ this.enableObjectControls = controlsSettings.enableObjectControls;
315
+ this.turntableCenter = this._converter.toVec3(controlsSettings.turntableCenter);
316
+ this.objectControlsCenter = this._converter.toVec3(controlsSettings.objectControlsCenter);
317
+ if (controlsSettings.restrictions.position.cube.min.x === null)
318
+ controlsSettings.restrictions.position.cube.min.x = -Infinity;
319
+ if (controlsSettings.restrictions.position.cube.min.y === null)
320
+ controlsSettings.restrictions.position.cube.min.y = -Infinity;
321
+ if (controlsSettings.restrictions.position.cube.min.z === null)
322
+ controlsSettings.restrictions.position.cube.min.z = -Infinity;
323
+ if (controlsSettings.restrictions.position.cube.max.x === null)
324
+ controlsSettings.restrictions.position.cube.max.x = Infinity;
325
+ if (controlsSettings.restrictions.position.cube.max.y === null)
326
+ controlsSettings.restrictions.position.cube.max.y = Infinity;
327
+ if (controlsSettings.restrictions.position.cube.max.z === null)
328
+ controlsSettings.restrictions.position.cube.max.z = Infinity;
329
+ if (controlsSettings.restrictions.position.sphere.radius === null)
330
+ controlsSettings.restrictions.position.sphere.radius = Infinity;
331
+ if (controlsSettings.restrictions.target.cube.min.x === null)
332
+ controlsSettings.restrictions.target.cube.min.x = -Infinity;
333
+ if (controlsSettings.restrictions.target.cube.min.y === null)
334
+ controlsSettings.restrictions.target.cube.min.y = -Infinity;
335
+ if (controlsSettings.restrictions.target.cube.min.z === null)
336
+ controlsSettings.restrictions.target.cube.min.z = -Infinity;
337
+ if (controlsSettings.restrictions.target.cube.max.x === null)
338
+ controlsSettings.restrictions.target.cube.max.x = Infinity;
339
+ if (controlsSettings.restrictions.target.cube.max.y === null)
340
+ controlsSettings.restrictions.target.cube.max.y = Infinity;
341
+ if (controlsSettings.restrictions.target.cube.max.z === null)
342
+ controlsSettings.restrictions.target.cube.max.z = Infinity;
343
+ if (controlsSettings.restrictions.target.sphere.radius === null)
344
+ controlsSettings.restrictions.target.sphere.radius = Infinity;
345
+ if (controlsSettings.restrictions.rotation.minAzimuthAngle === null)
346
+ controlsSettings.restrictions.rotation.minAzimuthAngle = -Infinity;
347
+ if (controlsSettings.restrictions.rotation.maxAzimuthAngle === null)
348
+ controlsSettings.restrictions.rotation.maxAzimuthAngle = Infinity;
349
+ if (controlsSettings.restrictions.zoom.maxDistance === null)
350
+ controlsSettings.restrictions.zoom.maxDistance = Infinity;
351
+ this.cubePositionRestriction = {
352
+ min: this._converter.toVec3(controlsSettings.restrictions.position.cube.min),
353
+ max: this._converter.toVec3(controlsSettings.restrictions.position.cube.max)
354
+ };
355
+ this.spherePositionRestriction = {
356
+ center: this._converter.toVec3(controlsSettings.restrictions.position.sphere.center),
357
+ radius: controlsSettings.restrictions.position.sphere.radius
358
+ };
359
+ this.cubeTargetRestriction = {
360
+ min: this._converter.toVec3(controlsSettings.restrictions.target.cube.min),
361
+ max: this._converter.toVec3(controlsSettings.restrictions.target.cube.max)
362
+ };
363
+ this.sphereTargetRestriction = {
364
+ center: this._converter.toVec3(controlsSettings.restrictions.target.sphere.center),
365
+ radius: controlsSettings.restrictions.target.sphere.radius
366
+ };
367
+ this.rotationRestriction = controlsSettings.restrictions.rotation;
368
+ this.zoomRestriction = controlsSettings.restrictions.zoom;
369
+ }
116
370
  applyTargetMatrix(matrix, manualInteraction) {
117
371
  if (this._manualInteraction || manualInteraction) {
118
372
  this._manualInteraction = true;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractCameraControls.js","sourceRoot":"","sources":["../../../src/implementation/controls/AbstractCameraControls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractCameraControls.js","sourceRoot":"","sources":["../../../src/implementation/controls/AbstractCameraControls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { ICameraControls } from '../../interfaces/controls/ICameraControls';
2
+ import { ICameraControlsEventDistribution } from '../../interfaces/controls/ICameraControlsEventDistribution';
3
+ import { ICameraControlsLogic } from '../../interfaces/controls/ICameraControlsLogic';
4
+ export declare class CameraControlsEventDistribution implements ICameraControlsEventDistribution {
5
+ protected _active: {
6
+ rotation: boolean;
7
+ zoom: boolean;
8
+ pan: boolean;
9
+ };
10
+ protected _activeEvents: boolean;
11
+ protected _cameraLogic: ICameraControlsLogic;
12
+ protected _controls: ICameraControls;
13
+ protected _primaryPointerEvent?: PointerEvent;
14
+ protected _secondaryPointerEvent?: PointerEvent;
15
+ constructor(controls: ICameraControls, cameraLogic: ICameraControlsLogic);
16
+ activateCameraEvents(): void;
17
+ deactivateCameraEvents(): void;
18
+ onDown(event: PointerEvent): void;
19
+ onKey(event: KeyboardEvent): void;
20
+ onKeyDown(event: KeyboardEvent): void;
21
+ onKeyUp(event: KeyboardEvent): void;
22
+ onMouseWheel(event: WheelEvent): void;
23
+ onMove(event: PointerEvent): void;
24
+ onPointerDown(event: PointerEvent): void;
25
+ onPointerEnd(event: PointerEvent): void;
26
+ onPointerMove(event: PointerEvent): void;
27
+ onPointerOut(event: PointerEvent): void;
28
+ onPointerUp(event: PointerEvent): void;
29
+ onUp(event: PointerEvent): void;
30
+ onWheel(event: WheelEvent): void;
31
+ reset(): void;
32
+ protected convertInput(event: PointerEvent): {
33
+ x: number;
34
+ y: number;
35
+ };
36
+ protected getInput(event: PointerEvent): number;
37
+ }
38
+ //# sourceMappingURL=CameraControlsEventDistribution.d.ts.map