2 # -*- coding: utf-8 -*-
5 import VTKnewReader#To generate med file
6 #import paraview.simple as pvs#to obtain a binary vtu file in append mode
8 # ------------------------------------------------------------
10 # ------------------------------------------------------------
11 boy = vtk.vtkParametricBoy()
12 boySource = vtk.vtkParametricFunctionSource()
13 boySource.SetParametricFunction(boy)
14 boySource.SetScalarModeToModulus()
16 boyMapper = vtk.vtkPolyDataMapper()
17 boyMapper.SetInputConnection(boySource.GetOutputPort())
18 boyMapper.SetScalarRange(0, 2)
19 boyActor = vtk.vtkActor()
20 boyActor.SetMapper(boyMapper)
21 boyActor.SetPosition(8, -4, 0)
22 boyActor.SetScale(1.5, 1.5, 1.5)
24 boyTextMapper = vtk.vtkTextMapper()
25 boyTextMapper.SetInput("Boy")
26 boyTextMapper.GetTextProperty().SetJustificationToCentered()
27 boyTextMapper.GetTextProperty().SetVerticalJustificationToCentered()
28 boyTextMapper.GetTextProperty().SetColor(1, 0, 0)
29 boyTextMapper.GetTextProperty().SetFontSize(14)
30 boyTextActor = vtk.vtkActor2D()
31 boyTextActor.SetMapper(boyTextMapper)
32 boyTextActor.GetPositionCoordinate().SetCoordinateSystemToWorld()
33 boyTextActor.GetPositionCoordinate().SetValue(8, -6.5, 0)
35 # ------------------------------------------------------------
36 # Create the RenderWindow, Renderer and both Actors
37 # ------------------------------------------------------------
38 ren = vtk.vtkRenderer()
39 ren.AddViewProp(boyActor)
40 ren.AddViewProp(boyTextActor)
42 ren.SetBackground(0.7, 0.8, 1)
44 ren.GetActiveCamera().Zoom(1.3)
46 renWin = vtk.vtkRenderWindow()
47 renWin.AddRenderer(ren)
48 renWin.SetSize(500, 500)
50 iren = vtk.vtkRenderWindowInteractor()
51 iren.SetRenderWindow(renWin)
56 image = vtk.vtkWindowToImageFilter()
57 image.ReadFrontBufferOff()
58 image.SetInput(renWin)
61 # ------------------------------------------------------------
63 # ------------------------------------------------------------
65 writer = vtk.vtkPNGWriter()
66 writer.SetFileName("BoySurface"+".png")
67 writer.SetInputConnection(image.GetOutputPort())
70 # ------------------------------------------------------------
72 # ------------------------------------------------------------
74 writer = vtk.vtkXMLPolyDataWriter()
75 writer.SetInputData(boySource.GetOutput())
76 writer.SetFileName("BoySurface"+".vtp")
79 # ------------------------------------------------------------
80 # Save unstructured grid
81 # ------------------------------------------------------------
83 appendFilter=vtk.vtkAppendFilter()
84 appendFilter.AddInputData(boySource.GetOutput())
87 unstructuredGrid=vtk.vtkUnstructuredGrid()#appendFilter.GetOutput()#
88 unstructuredGrid.DeepCopy(appendFilter.GetOutput())
90 writer=vtk.vtkXMLUnstructuredGridWriter()
91 writer.SetFileName("BoySurface"+".vtu")
92 writer.SetInputData(unstructuredGrid)
93 #writer.SetDataModeToBinary()
94 #writer.SetDataModeToAppended()
95 writer.EncodeAppendedDataOn()
98 #Generate binary vtu file in append mode
99 #boySurfaceBisvtu = pvs.XMLUnstructuredGridReader(FileName=['./BoySurface.vtu'])
100 #pvs.SaveData('./BoySurface2.vtu', proxy=boySurfaceBisvtu, DataMode='Binary',EncodeAppendedData=1)
103 vtu = VTKnewReader.VTURawReader('./BoySurface.vtu')
104 med = vtu.loadInMEDFileDS()
105 med.write("./BoySurface.med", 2)