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); }
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); }
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); }
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)); } }
private static ViewportBase CreateViewport(string setting, Viewport2D.ViewDirection preferred2D) { return(CreateViewport(setting, false, Viewport3D.ViewType.Lightmapped, preferred2D)); }
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)); }