Exemple #1
0
        // moving camera

        private void Window_MouseMove(object sender, MouseEventArgs e)
        {
            if (SelectedTab != null && e.LeftButton == MouseButtonState.Pressed)
            {
                if (SelectedViewport3D.IsDescendantOf(this))
                {
                    Point currentMousePosition = e.GetPosition(SelectedViewport3D);
                    if (currentMousePosition.X > 0 &&
                        currentMousePosition.Y > 0 &&
                        currentMousePosition.X < SelectedViewport3D.ActualWidth &&
                        currentMousePosition.Y < SelectedViewport3D.ActualHeight &&
                        !SelectedRadiusSlider.IsMouseCaptureWithin && !SelectedAngleSlider.IsMouseCaptureWithin)
                    {
                        PerspectiveCamera camera = SelectedViewport3D.Camera as PerspectiveCamera;
                        Vector            delta  = currentMousePosition - MouseInitialPosition;
                        if (delta.Length < 50)
                        {
                            camera.RotateWithMouse(delta);
                        }
                    }
                    MouseInitialPosition = currentMousePosition;
                }
            }
        }