Просмотр исходного кода

Merge branch 'master' of https://github.com/BabylonJS/Babylon.js

sebavan 6 лет назад
Родитель
Сommit
9857b3d86f

+ 2 - 0
src/Cameras/Inputs/arcRotateCameraMouseWheelInput.ts

@@ -4,6 +4,7 @@ import { EventState, Observer } from "../../Misc/observable";
 import { ArcRotateCamera } from "../../Cameras/arcRotateCamera";
 import { ICameraInput, CameraInputTypes } from "../../Cameras/cameraInputsManager";
 import { PointerInfo, PointerEventTypes } from "../../Events/pointerEvents";
+import { Scalar } from '../../Maths/math.scalar';
 
 /**
  * Manage the mouse wheel inputs to control an arc rotate camera.
@@ -67,6 +68,7 @@ export class ArcRotateCameraMouseWheelInput implements ICameraInput<ArcRotateCam
                             estimatedTargetRadius -= targetInertia;
                             targetInertia *= this.camera.inertia;
                         }
+                        estimatedTargetRadius = Scalar.Clamp(estimatedTargetRadius, 0, Number.MAX_VALUE);
                         delta = this.computeDeltaFromMouseWheelLegacyEvent(mouseWheelLegacyEvent, estimatedTargetRadius);
                     }
                 } else {

+ 8 - 5
src/Cameras/freeCameraInputsManager.ts

@@ -14,11 +14,6 @@ export class FreeCameraInputsManager extends CameraInputsManager<FreeCamera> {
     /**
      * @hidden
      */
-    public _keyboardInput: Nullable<FreeCameraKeyboardMoveInput> = null;
-
-    /**
-     * @hidden
-     */
     public _mouseInput: Nullable<FreeCameraMouseInput> = null;
     /**
      * Instantiates a new FreeCameraInputsManager.
@@ -69,4 +64,12 @@ export class FreeCameraInputsManager extends CameraInputsManager<FreeCamera> {
         this.add(new FreeCameraTouchInput());
         return this;
     }
+
+    /**
+     * Remove all attached input methods from a camera
+     */
+    public clear(): void {
+        super.clear();
+        this._mouseInput = null;
+    }
 }