public Sphere(ARenderable parent) : base(parent) { Name = "Sphere"; sphere = vtkSphereSource.New(); sphere.SetThetaResolution(8); sphere.SetPhiResolution(16); shrink = vtkShrinkPolyData.New(); shrink.SetInputConnection(sphere.GetOutputPort()); shrink.SetShrinkFactor(0.9); move = vtkTransform.New(); move.Translate(_random.NextDouble(), _random.NextDouble(), _random.NextDouble()); moveFilter = vtkTransformPolyDataFilter.New(); moveFilter.SetTransform(move); moveFilter.SetInputConnection(shrink.GetOutputPort()); mapper = vtkPolyDataMapper.New(); mapper.SetInputConnection(moveFilter.GetOutputPort()); Actors = new ObservableCollection <vtkActor>(); // The actor links the data pipeline to the rendering subsystem vtkActor actor = vtkActor.New(); actor.SetMapper(mapper); actor.GetProperty().SetColor(1, 0, 0); Actors.Add(actor); }
private void ShrinkPolyData() { vtkSphereSource sphereSource = vtkSphereSource.New(); sphereSource.SetRadius(10); sphereSource.SetPhiResolution(12); sphereSource.SetThetaResolution(12); sphereSource.Update(); vtkShrinkPolyData shrinkFilter = vtkShrinkPolyData.New(); shrinkFilter.SetInputConnection(sphereSource.GetOutputPort()); shrinkFilter.Update(); vtkPolyDataMapper mapper = vtkPolyDataMapper.New(); mapper.SetInputConnection(shrinkFilter.GetOutputPort()); vtkActor actor = vtkActor.New(); actor.SetMapper(mapper); // get a reference to the renderwindow of our renderWindowControl1 vtkRenderWindow renderWindow = renderWindowControl1.RenderWindow; // renderer vtkRenderer renderer = renderWindow.GetRenderers().GetFirstRenderer(); // set background color renderer.SetBackground(.2, .3, .4); //Add the actors to the renderer, set the background and size renderer.AddActor(actor); }
private void ReadStlFileDraw() { vtkSTLReader stlReader = vtkSTLReader.New(); //stlReader.SetFileName(@"..\..\Data\anchor_hook.stl"); stlReader.SetFileName(@"..\..\Data\42400-IDGH.stl"); vtkShrinkPolyData shrink = vtkShrinkPolyData.New(); shrink.SetInputConnection(stlReader.GetOutputPort()); shrink.SetShrinkFactor(0.85); vtkPolyDataMapper stlMapper = vtkPolyDataMapper.New(); //stlMapper.SetInputConnection(stlReader.GetOutputPort()); stlMapper.SetInputConnection(shrink.GetOutputPort()); vtkLODActor stlActor = vtkLODActor.New(); stlActor.SetMapper(stlMapper); stlActor.GetProperty().SetColor((float)Color.Orange.R / 256, (float)Color.Orange.G / 256, (float)Color.Orange.B / 256); //设置actor的颜色 vtkRenderer stlRender = vtkRenderer.New(); vtkRenderWindow renWin = myRenderWindowControl.RenderWindow; renWin.AddRenderer(stlRender); stlRender.AddActor(stlActor); stlRender.SetBackground(1.0, 1.0, 1.0); }
private void DrawSphere(double radius) { vtkSphereSource sphereSource = vtkSphereSource.New(); sphereSource.SetThetaResolution(8); sphereSource.SetPhiResolution(16); sphereSource.SetRadius(radius); vtkShrinkPolyData shrink = vtkShrinkPolyData.New(); shrink.SetInputConnection(sphereSource.GetOutputPort()); shrink.SetShrinkFactor(0.9); vtkPolyDataMapper sphereMapper = vtkPolyDataMapper.New(); //sphereMapper.SetInputConnection(sphereSource.GetOutputPort()); sphereMapper.SetInputConnection(shrink.GetOutputPort()); vtkActor sphereActor = vtkActor.New(); sphereActor.SetMapper(sphereMapper); sphereActor.GetProperty().SetColor(1, 0, 0); vtkRenderer sphereRender = vtkRenderer.New(); vtkRenderWindow renWin = myRenderWindowControl.RenderWindow; renWin.AddRenderer(sphereRender); sphereRender.AddActor(sphereActor); sphereRender.SetBackground(0.0, 0.0, 1.0); }
///<summary>Entry Point</summary> static void Main(string[] args) { // Create a simple sphere. A pipeline is created. sphere = vtkSphereSource.New(); sphere.SetThetaResolution(8); sphere.SetPhiResolution(16); shrink = vtkShrinkPolyData.New(); shrink.SetInputConnection(sphere.GetOutputPort()); shrink.SetShrinkFactor(0.9); mapper = vtkPolyDataMapper.New(); mapper.SetInputConnection(shrink.GetOutputPort()); // The actor links the data pipeline to the rendering subsystem actor = vtkActor.New(); actor.SetMapper(mapper); actor.GetProperty().SetColor(1, 0, 0); // Create components of the rendering subsystem // ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer(ren1); iren = vtkRenderWindowInteractor.New(); iren.SetRenderWindow(renWin); // Add the actors to the renderer, set the window size // ren1.AddViewProp(actor); renWin.SetSize(250, 250); renWin.Render(); camera = ren1.GetActiveCamera(); camera.Zoom(1.5); // render the image and start the event loop // renWin.Render(); iren.Initialize(); iren.Start(); deleteAllVTKObjects(); }
private void renderWindowControl1_Load(object sender, EventArgs e) { // Create a simple sphere. A pipeline is created. vtkSphereSource sphere = vtkSphereSource.New(); sphere.SetThetaResolution(8); sphere.SetPhiResolution(16); vtkShrinkPolyData shrink = vtkShrinkPolyData.New(); shrink.SetInputConnection(sphere.GetOutputPort()); shrink.SetShrinkFactor(0.9); vtkPolyDataMapper mapper = vtkPolyDataMapper.New(); mapper.SetInputConnection(shrink.GetOutputPort()); // The actor links the data pipeline to the rendering subsystem vtkActor actor = vtkActor.New(); actor.SetMapper(mapper); actor.GetProperty().SetColor(1, 0, 0); // Create components of the rendering subsystem // vtkRenderer ren1 = renderWindowControl1.RenderWindow.GetRenderers().GetFirstRenderer(); vtkRenderWindow renWin = renderWindowControl1.RenderWindow; // Add the actors to the renderer, set the window size // ren1.AddViewProp(actor); renWin.SetSize(250, 250); renWin.Render(); vtkCamera camera = ren1.GetActiveCamera(); camera.Zoom(1.5); }
private void renderWindowControl1_Load(object sender, EventArgs e) { vtkSphereSource sphere = vtkSphereSource.New(); sphere.SetThetaResolution(8); sphere.SetPhiResolution(16); vtkShrinkPolyData shrink = vtkShrinkPolyData.New(); shrink.SetInputConnection(sphere.GetOutputPort()); shrink.SetShrinkFactor(0.5); vtkPolyDataMapper mapper = vtkPolyDataMapper.New(); mapper.SetInputConnection(shrink.GetOutputPort()); vtkActor actor = vtkActor.New(); actor.SetMapper(mapper); actor.GetProperty().SetColor(0, 0, 1); vtkRenderer renderer = renderWindowControl1 .RenderWindow.GetRenderers().GetFirstRenderer(); vtkRenderWindow rendererWindow = renderWindowControl1 .RenderWindow; renderer.AddViewProp(actor); //Actor to specjalizacja Prop rendererWindow.SetSize(250, 250); rendererWindow.Render(); vtkCamera camera = renderer.GetActiveCamera(); camera.Zoom(1.5); //do debugu //renderWindowControl1.AddTestActors = true; }