onMouseDown method

void onMouseDown(
  1. dynamic event
)

Implementation

void onMouseDown(event) {
  dynamic mouseAction;

  switch (event.button) {
    case 0:
      mouseAction = scope.mouseButtons['left'];
      break;
    case 1:
      mouseAction = scope.mouseButtons['MIDDLE'];
      break;
    case 2:
      mouseAction = scope.mouseButtons['right'];
      break;
    default:
      mouseAction = -1;
  }

  if(_panWKey){
    mouseAction = Mouse.pan;
  }

  switch (mouseAction) {
    case Mouse.dolly:
      if (scope.enableZoom == false) return;
      handleMouseDownDolly(event);
      state = OrbitState.dolly;
      break;

    case Mouse.rotate:
      if (event.ctrlKey || event.metaKey || event.shiftKey) {
        if (scope.enablePan == false) return;
        handleMouseDownPan(event);
        state = OrbitState.pan;
      } else {
        if (scope.enableRotate == false) return;
        handleMouseDownRotate(event);
        state = OrbitState.rotate;
      }
      break;

    case Mouse.pan:
      if (event.ctrlKey || event.metaKey || event.shiftKey) {
        if (scope.enableRotate == false) return;
        handleMouseDownRotate(event);
        state = OrbitState.rotate;
      } else {
        if (scope.enablePan == false) return;
        handleMouseDownPan(event);
        state = OrbitState.pan;
      }
      break;

    default:
      state = OrbitState.none;
  }

  if (state != OrbitState.none) {
    scope.dispatchEvent(_startEvent);
  }
}