vtkConeSource coneSource = vtkConeSource.New();
coneSource.SetResolution(30);
vtkPolyDataMapper coneMapper = vtkPolyDataMapper.New();
coneMapper.SetInputConnection(coneSource.GetOutputPort());
this.coneactor = vtkActor.New();
this.coneactor.SetMapper(coneMapper);
this.coneactor.GetProperty().SetColor(255, 125, 0);
STL
vtkSphereSource sphereSource = vtkSphereSource.New();
vtkPolyDataMapper sphereMapper = vtkPolyDataMapper.New();
sphereMapper.SetInputConnection(sphereSource.GetOutputPort());
this.sphereActor = vtkActor.New();
this.sphereActor.SetMapper(sphereMapper);
this.sphereActor.SetPosition(-0.9, 0.4, 0);
this.sphereActor.GetProperty().SetColor(127 / 255.0, 255 / 255.0, 212 / 255.0);
sphereActor1 = vtkActor.New();
sphereActor1.SetMapper(sphereMapper);
this.sphereActor1.SetPosition(-0.9, -0.4, 0);
this.sphereActor1.GetProperty().SetColor(227 / 255.0, 231 / 255.0, 230 / 255.0);
sphereActor2 = vtkActor.New();
sphereActor2.SetMapper(sphereMapper);
this.sphereActor2.SetPosition(-1.5, 0, 0);
this.sphereActor2.GetProperty().SetColor(217 / 255.0, 291 / 255.0, 130 / 255.0);
vtkRenderWindow renWin = this.renderWindowControl2.RenderWindow;
vtkRenderer render = renWin.GetRenderers().GetFirstRenderer();
render.AddActor(sphereActor);
render.AddActor(coneactor);
render.AddActor(sphereActor1);
render.AddActor(sphereActor2);
this.renderWindowControl2.Refresh();
//WCZYTANIE stl
reader = vtkSTLReader.New();
reader.SetFileName(@"D:\bottle.stl");
vtkPainterPolyDataMapper mapper= vtkPainterPolyDataMapper.New();
mapper.SetInputConnection(reader.GetOutputPort());
vtkActor actor=vtkActor.New();
actor.SetMapper(mapper);
vtkRenderWindow window=this.renderWindowControl1.RenderWindow;
vtkRenderer render=window.GetRenderers().GetFirstRenderer();
render.AddActor(actor);
}
private void button2_Click(object sender, EventArgs e)
{
//ZAPIS stl
vtkSTLWriter stlwriter = vtkSTLWriter.New();
stlwriter.SetInputConnection(reader.GetOutputPort());
stlwriter.SetFileName("D:/TEST.stl");
stlwriter.SetFileTypeToASCII();
stlwriter.Write();
//vtkPolyDataReader -odczyt vtk
//vtkPolyDataWriter zapis vtk
}
private void buttonLoad_Click(object sender, EventArgs e)
{
vtkSTLReader reader = vtkSTLReader.New();
reader.SetFileName("lol.stl");
vtkPolyDataMapper mapper = vtkPolyDataMapper.New();
mapper.SetInputConnection(reader.GetOutputPort());
vtkActor actor = vtkActor.New();
actor.SetMapper(mapper);
actor.GetProperty().SetColor(0.14, 0.75, 0.23);
vtkRenderWindow window = this.renderWindow.RenderWindow;
vtkRenderer renderer = window.GetRenderers().GetFirstRenderer();
renderer.AddActor(actor);
this.renderWindow.Refresh();
}
private void buttonSave_Click(object sender, EventArgs e)
{
vtkConeSource cone = vtkConeSource.New();
cone.SetResolution(100);
vtkTriangleFilter filter = vtkTriangleFilter.New();
filter.SetInputConnection(cone.GetOutputPort());
vtkSTLWriter writer = vtkSTLWriter.New();
writer.SetInputConnection(filter.GetOutputPort());
writer.SetFileName("lol.stl");
writer.SetFileTypeToASCII();
writer.Write();
}
private void buttonSaveVTK_Click(object sender, EventArgs e)
{
vtkConeSource cone = vtkConeSource.New();
cone.SetResolution(100);
vtkPolyDataWriter writer = vtkPolyDataWriter.New();
writer.SetInputConnection(cone.GetOutputPort());
writer.SetFileName("lol.vtk");
writer.Write();
}
private void buttonLoadVTK_Click(object sender, EventArgs e)
{
vtkPolyDataReader reader = vtkPolyDataReader.New();
reader.SetFileName("lol.vtk");
vtkPolyDataMapper mapper = vtkPolyDataMapper.New();
mapper.SetInputConnection(reader.GetOutputPort());
vtkActor actor = vtkActor.New();
actor.SetMapper(mapper);
actor.GetProperty().SetColor(0.14, 0.75, 0.23);
vtkRenderWindow window = this.renderWindow.RenderWindow;
vtkRenderer renderer = window.GetRenderers().GetFirstRenderer();
renderer.AddActor(actor);
this.renderWindow.Refresh();
}
private void buttonToVtk_Click(object sender, EventArgs e)
{
vtkSTLReader reader = vtkSTLReader.New();
reader.SetFileName("lol.stl");
vtkPolyDataWriter writer = vtkPolyDataWriter.New();
writer.SetInputConnection(reader.GetOutputPort());
writer.SetFileName("lol.vtk");
writer.Write();
}
private void buttonToStl_Click(object sender, EventArgs e)
{
vtkPolyDataReader reader = vtkPolyDataReader.New();
reader.SetFileName("lol.vtk");
vtkTriangleFilter filter = vtkTriangleFilter.New();
filter.SetInputConnection(reader.GetOutputPort());
vtkSTLWriter writer = vtkSTLWriter.New();
writer.SetInputConnection(filter.GetOutputPort());
writer.SetFileName("lol.stl");
writer.SetFileTypeToASCII();
writer.Write();
}
private void buttonTrackball_Click(object sender, EventArgs e)
{
vtkRenderWindow renwin = renderWindow.RenderWindow;
vtkRenderWindowInteractor iren = renwin.GetInteractor();
vtkInteractorStyleTrackballCamera track = vtkInteractorStyleTrackballCamera.New();
iren.SetInteractorStyle(track);
}
private void buttonJoystick_Click(object sender, EventArgs e)
{
vtkRenderWindow renwin = renderWindow.RenderWindow;
vtkRenderWindowInteractor iren = renwin.GetInteractor();
vtkInteractorStyleJoystickCamera joy = vtkInteractorStyleJoystickCamera.New();
iren.SetInteractorStyle(joy);
}
}
}