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);
        }