/// <summary> /// Sets the initial mouse position. /// Must be called only in a full-trust context. /// </summary> private void FullTrust_SetInitialMousePosition() { // code specific to 3D // Viewport3D viewport = Helper3D.GetViewport3D(this); // GeneralTransform3DTo2D transform = this.TransformToAncestor(ancestor); // Point pScreen = transform.Transform(<3d point from the mesh in myVisual3D space>); Point p = new Point( _dragOriginPoint.X, _dragOriginPoint.Y - (DragHeight * Rate)); // Point pScreen = viewport.PointToScreen(point); Point pScreen = _viewport.PointToScreen(p); SetCursorPos( Convert.ToInt32(pScreen.X), Convert.ToInt32(pScreen.Y)); }
/// <summary> /// Captures and hides the mouse. /// </summary> protected void CaptureAndHideMouse() { base.CaptureMouse(); Mouse.OverrideCursor = Cursors.None; // code specific to 3D Viewport3D viewport = Helper3D.GetViewport3D(this); // GeneralTransform3DTo2D transform = this.TransformToAncestor(ancestor); // Point pScreen = transform.Transform(<3d point from the mesh in myVisual3D space>); Point p = new Point( _dragOriginPoint.X, _dragOriginPoint.Y - (DragHeight * Rate)); Point pScreen = viewport.PointToScreen(p); SetCursorPos( Convert.ToInt32(pScreen.X), Convert.ToInt32(pScreen.Y)); }