void InitializeRenderWindow(vtk.vtkRenderWindow renWin) { CRendererManager renderManager = IApp.theApp.RendererManager as CRendererManager; if (renderManager == null) return; renderManager.ActiveRenderChanged += new CRendererManager.ActiveRenderChangedHandler(renderManager_ActiveRenderChanged); renderManager.RenderLayoutChanged += new CRendererManager.RenderLayoutChangedHandler(renderManager_RenderLayoutChanged); double[] clrBackground = ApplicationOptions.Instance().ViewOptions.BackgroundColor; // Add more arbitary lights to turn the scence a little bit bright vtk.vtkLightKit lightKit = new vtk.vtkLightKit(); vtk.vtkLight sceneLight = new vtk.vtkLight(); sceneLight.SetAmbientColor(1, 1, 1); sceneLight.SetDiffuseColor(1, 1, 1); sceneLight.SetFocalPoint(0, 0, 0); sceneLight.SetPosition(0, 0, 500000); sceneLight.SetLightTypeToSceneLight(); sceneLight.SetIntensity(1); sceneLight.SwitchOn(); // Background Renderer for the background image vtk.vtkRenderer backgroundRenderer = renderManager.BackgroundRenderer; backgroundRenderer.SetBackground(clrBackground); backgroundRenderer.SetLayer(0); renWin.AddRenderer(backgroundRenderer); LoadImageToRenderer(backgroundRenderer); // Main Renderer vtk.vtkRenderer mainRenderer = renderManager.MainRenderer; mainRenderer.SetBackground(clrBackground); mainRenderer.SetLayer(1); mainRenderer.AddLight(sceneLight); lightKit.AddLightsToRenderer(mainRenderer); renWin.AddRenderer(mainRenderer); // TopView Renderer vtk.vtkRenderer topViewRender = renderManager.TopViewRenderer; topViewRender.SetBackground(clrBackground); topViewRender.SetLayer(1); lightKit.AddLightsToRenderer(topViewRender); renWin.AddRenderer(topViewRender); // front Renderer vtk.vtkRenderer frontViewRenderer = renderManager.FrontViewRenderer; frontViewRenderer.SetBackground(clrBackground); frontViewRenderer.SetLayer(1); lightKit.AddLightsToRenderer(frontViewRenderer); renWin.AddRenderer(frontViewRenderer); // right Renderer vtk.vtkRenderer rightViewRenderer = renderManager.RightViewRenderer; rightViewRenderer.SetBackground(clrBackground); rightViewRenderer.SetLayer(1); lightKit.AddLightsToRenderer(rightViewRenderer); renWin.AddRenderer(rightViewRenderer); renWin.SetNumberOfLayers(2); // Set active rendere to main renderer renderManager.ActiveRenderer = mainRenderer; // Set up layout strategy CRenderersLayoutStrategy renderersLayoutStrategy = new CRenderersLayoutStrategy(renderManager); renderManager.RendererLayoutStrategy = renderersLayoutStrategy; }
private void showActiveRendererBackToOriginal_Click(object sender, EventArgs e) { CRenderersLayoutStrategy renderersLayoutStrategy = new CRenderersLayoutStrategy(IApp.theApp.RendererManager); IApp.theApp.RendererManager.RendererLayoutStrategy = renderersLayoutStrategy; UpdateWCS(); IApp.theApp.RenderScene(); }