/* This MouseDown event handler prints: * (1) the current position of the mouse * (2) the 3D mouse location on the ground plane (z = 0) * (3) the 2D mouse location converted from the 3D location */ private void Window_MouseDown(object sender, MouseEventArgs e) { var range = new LineRange(); var isValid = ViewportInfo.Point2DtoPoint3D(Viewport, e.GetPosition(Viewport), out range); if (!isValid) { MouseLabel.Content = "(no data)"; } else { var point3D = range.PointFromZ(0); var point = ViewportInfo.Point3DtoPoint2D(Viewport, point3D); MouseLabel.Content = e.GetPosition(Viewport) + "\n" + point3D + "\n" + point; } }
public Vector To2DPoint(Point3D point) { return(viewPort == null ? new Vector() : ViewportInfo.Point3DtoPoint2D(viewPort, point).ToVector()); }