Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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);
        }