@openglobus/og 0.23.0 → 0.24.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 (84) hide show
  1. package/lib/@openglobus/js/Globe.d.ts +0 -1
  2. package/lib/@openglobus/js/camera/Camera.d.ts +48 -15
  3. package/lib/@openglobus/js/camera/PlanetCamera.d.ts +13 -0
  4. package/lib/@openglobus/js/control/MouseNavigation.d.ts +62 -51
  5. package/lib/@openglobus/js/control/OldMouseNavigation.d.ts +64 -0
  6. package/lib/@openglobus/js/control/index.d.ts +1 -2
  7. package/lib/@openglobus/js/entity/Entity.d.ts +24 -20
  8. package/lib/@openglobus/js/entity/GeoObject.d.ts +0 -9
  9. package/lib/@openglobus/js/input/MouseHandler.d.ts +1 -0
  10. package/lib/@openglobus/js/math/Mat3.d.ts +1 -1
  11. package/lib/@openglobus/js/math/Mat4.d.ts +10 -1
  12. package/lib/@openglobus/js/math/Plane.d.ts +3 -1
  13. package/lib/@openglobus/js/math/Quat.d.ts +1 -0
  14. package/lib/@openglobus/js/math/Ray.d.ts +6 -16
  15. package/lib/@openglobus/js/math/Vec2.d.ts +22 -0
  16. package/lib/@openglobus/js/renderer/RendererEvents.d.ts +1 -0
  17. package/lib/@openglobus/js/scene/Planet.d.ts +4 -0
  18. package/lib/@openglobus/js/webgl/Handler.d.ts +21 -12
  19. package/lib/@openglobus/og.esm.js +1 -1
  20. package/lib/@openglobus/og.esm.js.map +1 -1
  21. package/lib/@openglobus/og.umd.js +1 -1
  22. package/lib/@openglobus/og.umd.js.map +1 -1
  23. package/lib/js/Globe.d.ts +0 -1
  24. package/lib/js/Globe.js +4 -2
  25. package/lib/js/Popup.js +1 -1
  26. package/lib/js/camera/Camera.d.ts +48 -15
  27. package/lib/js/camera/Camera.js +82 -28
  28. package/lib/js/camera/PlanetCamera.d.ts +13 -0
  29. package/lib/js/camera/PlanetCamera.js +52 -5
  30. package/lib/js/control/CameraLock.js +1 -1
  31. package/lib/js/control/DebugInfo.js +30 -10
  32. package/lib/js/control/KeyboardNavigation.js +8 -8
  33. package/lib/js/control/MouseNavigation.d.ts +62 -51
  34. package/lib/js/control/MouseNavigation.js +361 -305
  35. package/lib/js/control/MouseWheelZoomControl.d.ts +0 -44
  36. package/lib/js/control/MouseWheelZoomControl.js +270 -181
  37. package/lib/js/control/OldMouseNavigation.d.ts +64 -0
  38. package/lib/js/control/OldMouseNavigation.js +368 -0
  39. package/lib/js/control/ScaleControl.js +2 -2
  40. package/lib/js/control/SimpleNavigation.js +8 -7
  41. package/lib/js/control/Sun.js +5 -5
  42. package/lib/js/control/TouchNavigation.js +11 -8
  43. package/lib/js/control/elevationProfile/ElevationProfileScene.js +2 -1
  44. package/lib/js/control/geoObjectEditor/GeoObjectEditorDialog.js +19 -33
  45. package/lib/js/control/geoObjectEditor/GeoObjectEditorScene.js +18 -18
  46. package/lib/js/control/geoObjectEditor/MoveAxisEntity.js +3 -2
  47. package/lib/js/control/geoObjectEditor/MovePlaneEntity.js +1 -4
  48. package/lib/js/control/geoObjectEditor/RotateEntity.js +1 -1
  49. package/lib/js/control/index.d.ts +1 -2
  50. package/lib/js/control/index.js +1 -2
  51. package/lib/js/control/visibleExtent/Segment.js +4 -4
  52. package/lib/js/entity/Entity.d.ts +24 -20
  53. package/lib/js/entity/Entity.js +62 -47
  54. package/lib/js/entity/GeoObject.d.ts +0 -9
  55. package/lib/js/entity/GeoObject.js +0 -3
  56. package/lib/js/entity/InstanceData.js +6 -3
  57. package/lib/js/input/MouseHandler.d.ts +1 -0
  58. package/lib/js/input/MouseHandler.js +12 -1
  59. package/lib/js/math/Mat3.d.ts +1 -1
  60. package/lib/js/math/Mat3.js +1 -1
  61. package/lib/js/math/Mat4.d.ts +10 -1
  62. package/lib/js/math/Mat4.js +17 -1
  63. package/lib/js/math/Plane.d.ts +3 -1
  64. package/lib/js/math/Plane.js +11 -1
  65. package/lib/js/math/Quat.d.ts +1 -0
  66. package/lib/js/math/Quat.js +1 -0
  67. package/lib/js/math/Ray.d.ts +6 -16
  68. package/lib/js/math/Ray.js +53 -46
  69. package/lib/js/math/Vec2.d.ts +22 -0
  70. package/lib/js/math/Vec2.js +32 -0
  71. package/lib/js/renderer/Renderer.js +10 -6
  72. package/lib/js/renderer/RendererEvents.d.ts +1 -0
  73. package/lib/js/renderer/RendererEvents.js +3 -1
  74. package/lib/js/scene/Planet.d.ts +4 -0
  75. package/lib/js/scene/Planet.js +24 -3
  76. package/lib/js/segment/Segment.js +4 -4
  77. package/lib/js/terrain/GlobusTerrain.js +2 -2
  78. package/lib/js/webgl/Handler.d.ts +21 -12
  79. package/lib/js/webgl/Handler.js +42 -33
  80. package/package.json +2 -2
  81. package/lib/@openglobus/js/control/EarthNavigation.d.ts +0 -50
  82. package/lib/@openglobus/js/control/MouseWheelZoomControl.d.ts +0 -44
  83. package/lib/js/control/EarthNavigation.d.ts +0 -50
  84. package/lib/js/control/EarthNavigation.js +0 -202
@@ -1,64 +1,75 @@
1
1
  import { Control, IControlParams } from "./Control";
2
- import { Key } from "../Lock";
2
+ import { IMouseState } from "../renderer/RendererEvents";
3
3
  import { Quat } from "../math/Quat";
4
4
  import { Sphere } from "../bv/Sphere";
5
- import { Vec3 } from "../math/Vec3";
6
5
  import { Vec2 } from "../math/Vec2";
7
- import { Planet } from "../scene/Planet";
8
- import { PlanetCamera } from "../camera/PlanetCamera";
9
- import { IMouseState } from "../renderer/RendererEvents";
10
- export interface IStepForward {
11
- eye: Vec3;
12
- v: Vec3;
13
- u: Vec3;
14
- n: Vec3;
15
- }
16
- interface IMouseNavigationParams extends IControlParams {
17
- minSlope?: number;
6
+ import { Vec3 } from "../math/Vec3";
7
+ interface IEarthNavigationParams extends IControlParams {
8
+ speed?: number;
9
+ fixedUp?: boolean;
18
10
  }
19
- /**
20
- * Mouse planet camera dragging control.
21
- */
22
11
  export declare class MouseNavigation extends Control {
23
- protected grabbedPoint: Vec3;
24
- protected _eye0: Vec3;
25
- protected pointOnEarth: Vec3;
26
- protected earthUp: Vec3;
27
- inertia: number;
28
- protected grabbedSpheroid: Sphere;
29
- protected qRot: Quat;
30
- protected scaleRot: number;
31
- protected distDiff: number;
32
- protected stepsCount: number;
33
- protected stepsForward: IStepForward[] | null;
34
- protected stepIndex: number;
35
- protected _lmbDoubleClickActive: boolean;
36
- minSlope: number;
12
+ speed: number;
13
+ force: Vec3;
14
+ force_h: number;
15
+ force_v: number;
16
+ vel: Vec3;
17
+ vel_h: number;
18
+ vel_v: number;
19
+ mass: number;
20
+ vel_roll: number;
21
+ force_roll: number;
22
+ protected _lookPos: Vec3 | undefined;
23
+ protected _grabbedPoint: Vec3 | null;
24
+ protected _targetZoomPoint: Vec3 | null;
25
+ protected _targetDragPoint: Vec3 | null;
26
+ protected _targetRotationPoint: Vec3 | null;
27
+ protected _grabbedSphere: Sphere;
37
28
  protected _wheelDirection: number;
38
- protected _keyLock: Key;
39
- protected _deactivate: boolean;
29
+ protected _currScreenPos: Vec2;
30
+ protected _tUp: Vec3;
31
+ protected _tRad: number;
40
32
  protected _shiftBusy: boolean;
41
- constructor(options?: IMouseNavigationParams);
42
- static getMovePointsFromPixelTerrain(cam: PlanetCamera, planet: Planet, stepsCount: number, delta: number, point: Vec2, forward: boolean, dir?: Vec3 | null): IStepForward[] | undefined;
33
+ protected fixedUp: boolean;
34
+ protected _curPitch: number;
35
+ protected _curYaw: number;
36
+ protected _curRoll: number;
37
+ protected _rot: Quat;
38
+ protected _eye0: Vec3;
39
+ protected _grabbedCameraHeight: number;
40
+ protected _newEye: Vec3;
41
+ protected _isTouchPad: boolean;
42
+ protected _velInertia: number;
43
+ protected _hold: boolean;
44
+ protected _prevVel: Vec3;
45
+ protected _screenPosIsChanged: boolean;
46
+ protected _rotHDir: number;
47
+ protected _rotVDir: number;
48
+ constructor(options?: IEarthNavigationParams);
49
+ oninit(): void;
43
50
  onactivate(): void;
44
51
  ondeactivate(): void;
45
- activateDoubleClickZoom(): void;
46
- deactivateDoubleClickZoom(): void;
47
- protected onMouseEnter(e: IMouseState): void;
48
- protected onMouseLeave(): void;
49
- protected onMouseWheel(e: IMouseState): void;
50
- oninit(): void;
51
- protected onMouseLeftButtonDoubleClick(e: IMouseState): void;
52
- protected onMouseLeftButtonClick(): void;
53
- stopRotation(): void;
54
- protected onMouseLeftButtonUp(e: IMouseState): void;
55
- protected onMouseLeftButtonDown(e: IMouseState): void;
56
- protected onMouseRightButtonClick(e: IMouseState): void;
57
- protected onMouseRightButtonDown(e: IMouseState): void;
58
- onShiftFree(): void;
59
- protected onMouseMove(e: IMouseState): void;
60
52
  protected onDraw(): void;
61
- lockPlanet(skipTerrain?: boolean): void;
62
- freePlanet(): void;
53
+ _onShiftFree: () => void;
54
+ protected _onMouseMove: (e: IMouseState) => void;
55
+ protected _onMouseEnter: (e: IMouseState) => void;
56
+ protected _onMouseLeave: () => void;
57
+ protected _onRHold: (e: IMouseState) => void;
58
+ protected _handleRotation(): void;
59
+ protected _onRDown: (e: IMouseState) => void;
60
+ protected _getTargetPoint(p: Vec2): Vec3 | null;
61
+ protected _onMouseWheel: (e: IMouseState) => void;
62
+ protected _onLDown: (e: IMouseState) => void;
63
+ protected _onLHold: (e: IMouseState) => void;
64
+ protected _onLUp: (e: IMouseState) => void;
65
+ protected _handleDrag(): void;
66
+ protected _corrRoll(): void;
67
+ protected _handleZoom(): void;
68
+ protected _updateVel(): void;
69
+ protected _updateVel_h(): void;
70
+ protected _updateVel_v(): void;
71
+ protected _updateVel_roll(): void;
72
+ protected get dt(): number;
73
+ stop(): void;
63
74
  }
64
75
  export {};