Skip to content

Commit f2fcd91

Browse files
author
EJShim
committed
[feat] ha
1 parent 3bfeb00 commit f2fcd91

File tree

3 files changed

+31
-19
lines changed

3 files changed

+31
-19
lines changed

README.md

+6
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,10 @@ python code of mesh parameterizaiton tutte, lscm
1010
pip install vtk
1111
conda install -c conda-forge igl
1212
13+
```
14+
15+
# Run
16+
17+
```
18+
python main.py {path_to_target file}
1319
```

main.py

+25-19
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,6 @@
1414
vtk_out.SetInstance(vtk_out)
1515

1616

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-
2817
def tutte(V, F):
2918

3019
#Get Boundary and Edge
@@ -93,12 +82,9 @@ def tutte(V, F):
9382
def MakeActor(polydata):
9483
mapper = vtk.vtkOpenGLPolyDataMapper()
9584
mapper.SetInputData(polydata)
96-
97-
# mapper.SetVertexShaderCode(VertexShaderText)
98-
# mapper.SetFragmentShaderCode(FragmentShaderText)
85+
9986
polydata.GetPointData().RemoveArray("Normals")
10087

101-
10288
actor = vtk.vtkActor()
10389
actor.SetMapper(mapper)
10490

@@ -131,24 +117,43 @@ def MakeBoundaryActor(boundary):
131117
iren = vtk.vtkRenderWindowInteractor()
132118
iren.SetInteractorStyle(vtk.vtkInteractorStyleTrackballCamera())
133119
renWin = vtk.vtkRenderWindow()
134-
renWin.SetSize(512, 512)
120+
renWin.SetSize(1000, 1000)
135121
iren.SetRenderWindow(renWin)
136122
ren = vtk.vtkRenderer()
123+
ren.SetBackground(1, 1, 1)
137124
renWin.AddRenderer(ren)
138125

139126
print("Helllo vtk and igl")
140127

141128
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")
143130

144131

145132
#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")
147144
reader.SetFileName(sys.argv[1])
148145
reader.Update()
149146
polydata = reader.GetOutput()
147+
148+
#Calculate curvature
149+
cc = vtk.vtkCurvatures()
150+
cc.SetInputData(polydata)
151+
cc.Update()
152+
polydata = cc.GetOutput()
153+
150154
actor = MakeActor(polydata)
151-
actor.SetScale(.01, .01, .01)
155+
actor.GetMapper().SetScalarRange(-1, 1)
156+
actor.SetScale(.02, .02, .02)
152157
ren.AddActor(actor)
153158

154159

@@ -169,6 +174,7 @@ def MakeBoundaryActor(boundary):
169174
tuttePoly.DeepCopy(polydata)
170175
tuttePoly.GetPoints().SetData(tutte_points)
171176
tutteActor = MakeActor(tuttePoly)
177+
tutteActor.GetMapper().SetScalarRange(-0.5, 0.5)
172178
# tutteActor.SetScale( 100, 100, 100 )
173179

174180
ren.AddActor(tutteActor)

sample/sample.stl

5.23 MB
Binary file not shown.

0 commit comments

Comments
 (0)