14
14
vtk_out .SetInstance (vtk_out )
15
15
16
16
17
- #Make Shader
18
-
19
-
20
- rootPath = os .path .dirname ( os .path .abspath ( __file__ ))
21
- with open ( os .path .join ( rootPath , "shaders" , "normalmap.glsl" ), 'r' ) as shaderFile :
22
- FragmentShaderText = shaderFile .read ()
23
-
24
- with open ( os .path .join ( rootPath , "shaders" , "vertexShader.glsl" ), 'r' ) as shaderFile :
25
- VertexShaderText = shaderFile .read ()
26
-
27
-
28
17
def tutte (V , F ):
29
18
30
19
#Get Boundary and Edge
@@ -93,12 +82,9 @@ def tutte(V, F):
93
82
def MakeActor (polydata ):
94
83
mapper = vtk .vtkOpenGLPolyDataMapper ()
95
84
mapper .SetInputData (polydata )
96
-
97
- # mapper.SetVertexShaderCode(VertexShaderText)
98
- # mapper.SetFragmentShaderCode(FragmentShaderText)
85
+
99
86
polydata .GetPointData ().RemoveArray ("Normals" )
100
87
101
-
102
88
actor = vtk .vtkActor ()
103
89
actor .SetMapper (mapper )
104
90
@@ -131,24 +117,43 @@ def MakeBoundaryActor(boundary):
131
117
iren = vtk .vtkRenderWindowInteractor ()
132
118
iren .SetInteractorStyle (vtk .vtkInteractorStyleTrackballCamera ())
133
119
renWin = vtk .vtkRenderWindow ()
134
- renWin .SetSize (512 , 512 )
120
+ renWin .SetSize (1000 , 1000 )
135
121
iren .SetRenderWindow (renWin )
136
122
ren = vtk .vtkRenderer ()
123
+ ren .SetBackground (1 , 1 , 1 )
137
124
renWin .AddRenderer (ren )
138
125
139
126
print ("Helllo vtk and igl" )
140
127
141
128
if len (sys .argv ) < 2 :
142
- sys .argv .append ("//192.168.0.113/Imagoworks/Data/confident/Mesh/IntraoralScan/DAEYOU-cut/train/2930/136.vtp " )
129
+ sys .argv .append ("sample/sample.stl " )
143
130
144
131
145
132
#Read VTK file
146
- reader = vtk .vtkXMLPolyDataReader ()
133
+ file_path = sys .argv [1 ]
134
+ ext = file_path .split ("." )[- 1 ]
135
+
136
+ if ext == "stl" :
137
+ reader = vtk .vtkSTLReader ()
138
+ elif ext == "obj" :
139
+ reader = vtk .vtkOBJReader ()
140
+ elif ext == "ply" :
141
+ reader = vtk .vtkPLYReader ()
142
+ else :
143
+ raise (ext , "ext not supported" )
147
144
reader .SetFileName (sys .argv [1 ])
148
145
reader .Update ()
149
146
polydata = reader .GetOutput ()
147
+
148
+ #Calculate curvature
149
+ cc = vtk .vtkCurvatures ()
150
+ cc .SetInputData (polydata )
151
+ cc .Update ()
152
+ polydata = cc .GetOutput ()
153
+
150
154
actor = MakeActor (polydata )
151
- actor .SetScale (.01 , .01 , .01 )
155
+ actor .GetMapper ().SetScalarRange (- 1 , 1 )
156
+ actor .SetScale (.02 , .02 , .02 )
152
157
ren .AddActor (actor )
153
158
154
159
@@ -169,6 +174,7 @@ def MakeBoundaryActor(boundary):
169
174
tuttePoly .DeepCopy (polydata )
170
175
tuttePoly .GetPoints ().SetData (tutte_points )
171
176
tutteActor = MakeActor (tuttePoly )
177
+ tutteActor .GetMapper ().SetScalarRange (- 0.5 , 0.5 )
172
178
# tutteActor.SetScale( 100, 100, 100 )
173
179
174
180
ren .AddActor (tutteActor )
0 commit comments