protected void MaintainViewPort(int Width, int Height, double Reduce) { int width = (int)((float)Width / Reduce); int height = (int)((float)Height / Reduce); int x = Convert.ToInt32(Math.Round((double)Screen.PrimaryScreen.Bounds.Width - width)); int y = 200; if (Rhino.RhinoDoc.ActiveDoc.Views.Find("Whale", true) == null) { RhinoView = Rhino.RhinoDoc.ActiveDoc.Views.Add("Whale", DefinedViewportProjection.Perspective, new Rectangle(x, y, width, height), true); RhinoView.Size = new Size(width, height); RhinoView.ActiveViewport.DisplayMode = DisplayModeDescription.GetDisplayMode(DisplayModeDescription.RenderedId); IntPtr parent = GetControl.GetParent(RhinoView.Handle); GetControl.SetWindowPos(parent, -1, 0, 0, 0, 0, 3); } else { RhinoView = Rhino.RhinoDoc.ActiveDoc.Views.Find("Whale", true); int viewWidth = RhinoView.Size.Width; Reduce = (float)Width / (float)viewWidth; RhinoView.Size = new Size(viewWidth, viewWidth * height / width); RhinoView.Redraw(); } }
public static DisplayModeDescription Parse(BlockPreviewDisplayMode displayMode) { DisplayModeDescription description = null; switch (displayMode) { case BlockPreviewDisplayMode.Wireframe: description = DisplayModeDescription.GetDisplayMode(DisplayModeDescription.WireframeId); break; case BlockPreviewDisplayMode.Shaded: description = DisplayModeDescription.GetDisplayMode(DisplayModeDescription.ShadedId); break; case BlockPreviewDisplayMode.Technical: description = DisplayModeDescription.GetDisplayMode(DisplayModeDescription.TechId); break; case BlockPreviewDisplayMode.AmbientOcclusion: description = DisplayModeDescription.GetDisplayMode(DisplayModeDescription.AmbientOcclusionId); break; case BlockPreviewDisplayMode.Ghosted: description = DisplayModeDescription.GetDisplayMode(DisplayModeDescription.GhostedId); break; case BlockPreviewDisplayMode.Pen: description = DisplayModeDescription.GetDisplayMode(DisplayModeDescription.PenId); break; case BlockPreviewDisplayMode.Xray: description = DisplayModeDescription.GetDisplayMode(DisplayModeDescription.XRayId); break; default: throw new ArgumentOutOfRangeException(nameof(displayMode), displayMode, null); } return(description); }