forked from jhill1/open-stratigraphy-model
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Geom.py
46 lines (40 loc) · 1.01 KB
/
Geom.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import vtk
def Create_Topo(Slope,Plane):
ugrid = vtk.vtkUnstructuredGrid()
gridreader=vtk.vtkUnstructuredGridReader()
gridreader.SetFileName(Slope)
gridreader.Update()
ugrid = gridreader.GetOutput()
GeomFilt1 = vtk.vtkGeometryFilter()
GeomFilt1.SetInput(ugrid)
GeomFilt1.Update()
x = GeomFilt1.GetOutput()
u = vtk.vtkUnstructuredGrid()
bgridreader=vtk.vtkXMLUnstructuredGridReader()
bgridreader.SetFileName(Plane)
bgridreader.Update()
u = bgridreader.GetOutput()
GeomFilt2 = vtk.vtkGeometryFilter()
GeomFilt2.SetInput(u)
GeomFilt2.Update()
y = GeomFilt2.GetOutput()
append = vtk.vtkAppendPolyData()
append.AddInput(x)
append.AddInput(y)
data = append.GetOutput()
d = vtk.vtkDelaunay3D()
d.SetInput(data)
d.Update
d.BoundingTriangulationOff()
d.SetTolerance(0.00001)
d.SetAlpha(0)
d.Update()
z = d.GetOutput()
return z
if __name__ == '__main__':
z = Create_Topo()
writer = vtk.vtkGenericDataObjectWriter()
writer.SetFileName("test31.vtu")
writer.SetInput(z)
writer.Update()
writer.Write()