Exemple #1
0
        public void Make2D(ViewportBase viewport, Viewport2D.ViewDirection direction)
        {
            var vp = ViewportManager.Make2D(viewport, direction);

            Renderer.Register(new[] { vp });
            vp.RenderContext.Add(new ToolRenderable());
            vp.RenderContext.Add(new HelperRenderable(this));
            Renderer.UpdateGrid(Map.GridSpacing, Map.Show2DGrid, Map.Show3DGrid, false);
        }
Exemple #2
0
        private static Viewport2D Create2D(Viewport2D.ViewDirection direction)
        {
            var viewport = new Viewport2D(direction)
            {
                Dock  = DockStyle.Fill,
                VSync = false
            };

            viewport.MakeCurrent();
            GraphicsHelper.InitGL2D();
            GL.ClearColor(CBRE.Settings.Grid.Background);
            viewport.Listeners.Add(new ViewportLabelListener(viewport));
            viewport.Listeners.Add(new Camera2DViewportListener(viewport));
            viewport.Listeners.Add(new Grid2DEventListener(viewport));
            viewport.Listeners.Add(new ToolViewportListener(viewport));
            return(viewport);
        }
Exemple #3
0
        public static Viewport2D Make2D(ViewportBase viewport, Viewport2D.ViewDirection direction)
        {
            var parent = GetParentSplitControl(viewport);

            if (parent == null)
            {
                return(null);
            }

            Viewports.Remove(viewport);

            var newViewport = Create2D(direction);

            SubscribeExceptions(newViewport);

            parent.ReplaceControl(viewport, newViewport);

            Viewports.Add(newViewport);

            viewport.Dispose();
            newViewport.Run();

            return(newViewport);
        }
Exemple #4
0
        private static ViewportBase CreateViewport(string setting, bool prefer3D, Viewport3D.ViewType preferred3D, Viewport2D.ViewDirection preferred2D)
        {
            if (setting != null)
            {
                var spl = setting.ToLowerInvariant().Split('.');
                if (spl.Length == 2)
                {
                    switch (spl[0])
                    {
                    case "viewport3d":
                        prefer3D = true;
                        Viewport3D.ViewType vt;
                        if (Enum.TryParse(spl[1], true, out vt))
                        {
                            preferred3D = vt;
                        }
                        break;

                    case "viewport2d":
                        prefer3D = false;
                        Viewport2D.ViewDirection vd;
                        if (Enum.TryParse(spl[1], true, out vd))
                        {
                            preferred2D = vd;
                        }
                        break;
                    }
                }
            }

            if (prefer3D)
            {
                return(Create3D(preferred3D));
            }
            else
            {
                return(Create2D(preferred2D));
            }
        }
Exemple #5
0
 private static ViewportBase CreateViewport(string setting, Viewport2D.ViewDirection preferred2D)
 {
     return(CreateViewport(setting, false, Viewport3D.ViewType.Lightmapped, preferred2D));
 }
Exemple #6
0
 public static void RemoveContext2D(IRenderable r, Viewport2D.ViewDirection dir)
 {
     Viewports.OfType <Viewport2D>().Where(v => v != null && v.Direction == dir).ToList().ForEach(v => v.RenderContext.Remove(r));
 }