Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
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);
        }
Esempio n. 5
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();
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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;
        }