MapControls.js 863 B

12345678910111213141516171819202122232425262728
  1. import { MOUSE, TOUCH } from 'three';
  2. import { OrbitControls } from './OrbitControls.js';
  3. // MapControls performs orbiting, dollying (zooming), and panning.
  4. // Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default).
  5. //
  6. // Orbit - right mouse, or left mouse + ctrl/meta/shiftKey / touch: two-finger rotate
  7. // Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish
  8. // Pan - left mouse, or arrow keys / touch: one-finger move
  9. class MapControls extends OrbitControls {
  10. constructor( object, domElement ) {
  11. super( object, domElement );
  12. this.screenSpacePanning = false; // pan orthogonal to world-space direction camera.up
  13. this.mouseButtons = { LEFT: MOUSE.PAN, MIDDLE: MOUSE.DOLLY, RIGHT: MOUSE.ROTATE };
  14. this.touches = { ONE: TOUCH.PAN, TWO: TOUCH.DOLLY_ROTATE };
  15. }
  16. }
  17. export { MapControls };