internal OrientationEnumPackage(vtkPolyData polyData, vtkRenderWindow renwin, vtkRenderer mainRenderer) { this._renwin = renwin; this._mainRenderer = mainRenderer; int oldNumberOfRenderer = renwin.GetNumberOfLayers(); Console.WriteLine(string.Format("oldNumberOfRenderer = {0}", oldNumberOfRenderer)); int newNumberOfRenderer = oldNumberOfRenderer + 1; mainRenderer.SetLayer(0); _topRenderer = vtkRenderer.New(); _topRenderer.SetViewport(0, 0, 0.2, 0.2); _topRenderer.SetLayer(newNumberOfRenderer - 1); _topRenderer.InteractiveOff(); _xmlPolyDataPackage = new XmlPolyDataPackage(polyData, _topRenderer); //xmlPolyDataPackage.SetOpacity(0.8); //xmlPolyDataPackage.Actor.GetProperty().ShadingOn(); //xmlPolyDataPackage.Actor.GetProperty().SetAmbient(0.8); //xmlPolyDataPackage.SetColor(1, 1, 0.5); _xmlPolyDataPackage.SetColor(255 / 255.0, 204 / 255.0, 102 / 255.0); renwin.SetNumberOfLayers(newNumberOfRenderer); renwin.AddRenderer(_topRenderer); //_topRenderer.SetActiveCamera(mainRenderer.GetActiveCamera()); }
public WatermarkPackage(vtkRenderWindow renwin, vtkRenderer mainRenderer, vtkImageData maskImage) { int oldNumberOfRenderer = renwin.GetNumberOfLayers(); Console.WriteLine(string.Format("oldNumberOfRenderer = {0}", oldNumberOfRenderer)); int newNumberOfRenderer = oldNumberOfRenderer + 1; mainRenderer.SetLayer(0); vtkRenderer _topRenderer = vtkRenderer.New(); _topRenderer.SetViewport(0, 0, 1, 1); _topRenderer.SetLayer(newNumberOfRenderer - 1); _topRenderer.InteractiveOff(); _topRenderer.GetActiveCamera().ParallelProjectionOn(); mainRenderer.SetLayer(1); _topRenderer.SetLayer(0); renwin.SetNumberOfLayers(newNumberOfRenderer); renwin.AddRenderer(_topRenderer); // Display the image _actor = vtkImageActor.New(); _actor.SetInput(maskImage); _actor.SetOpacity(0.8); _topRenderer.AddActor(_actor); _topRenderer.ResetCameraClippingRange(); _topRenderer.ResetCamera(); _topRenderer.GetActiveCamera().Zoom(1.6); }