private void DoKeyboardRotation() { var keyboardRotationX = 0.0; var keyboardRotationY = 0.0; var keyboardRotationZ = 0.0; if (_pressedKeys.Contains(_pitchUp)) { keyboardRotationY = ApplicationConfiguration.KeyboardRotationDelta; } if (_pressedKeys.Contains(_pitchDown)) { keyboardRotationY = -ApplicationConfiguration.KeyboardRotationDelta; } if (_pressedKeys.Contains(_yawUp)) { keyboardRotationZ = ApplicationConfiguration.KeyboardRotationDelta; } if (_pressedKeys.Contains(_yawDown)) { keyboardRotationZ = -ApplicationConfiguration.KeyboardRotationDelta; } if (_pressedKeys.Contains(_rollUp)) { keyboardRotationX = ApplicationConfiguration.KeyboardRotationDelta; } if (_pressedKeys.Contains(_rollDown)) { keyboardRotationX = -ApplicationConfiguration.KeyboardRotationDelta; } CameraViewModel.Rotate(keyboardRotationX, keyboardRotationY, keyboardRotationZ); }
private void DoMouseRotation() { var mousePositionWhenButtonPressed = _pressedButtons[ApplicationConfiguration.RotateMouseButton]; var vector = mousePositionWhenButtonPressed - _currentMousePosition; if (vector.Length != 0) { vector.Normalize(); } vector = vector * ApplicationConfiguration.MouseRotationDelta; CameraViewModel.Rotate(0, -vector.Y, vector.X); }