docs: function onMouseDown( event ) {
  
  		if ( scope.enabled === false ) return;
  
  		event.preventDefault();
  
  		if ( event.button === scope.mouseButtons.ORBIT ) {
  
  			if ( scope.enableRotate === false ) return;
  
  			handleMouseDownRotate( event );
  
  			state = STATE.ROTATE;
  
  		} else if ( event.button === scope.mouseButtons.ZOOM ) {
  
  			if ( scope.enableZoom === false ) return;
  
  			handleMouseDownDolly( event );
  
  			state = STATE.DOLLY;
  
  		} else if ( event.button === scope.mouseButtons.PAN ) {
  
  			if ( scope.enablePan === false ) return;
  
  			handleMouseDownPan( event );
  
  			state = STATE.PAN;
  
  		}
  
  		if ( state !== STATE.NONE ) {
  
  			document.addEventListener( 'mousemove', onMouseMove, false );
  			document.addEventListener( 'mouseup', onMouseUp, false );
  
  			scope.dispatchEvent( startEvent );
  
  		}
  
  	}