1from __future__ import print_function 2 3import vtk, os, sys 4 5ss = vtk.vtkSphereSource() #make mesh to test with 6 7af = vtk.vtkElevationFilter() #add some attributes 8af.SetInputConnection(ss.GetOutputPort()) 9 10ef = vtk.vtkExtractEdges() #make lines to test 11ef.SetInputConnection(af.GetOutputPort()) 12 13gf = vtk.vtkGlyph3D() #make verts to test 14pts = vtk.vtkPoints() 15pts.InsertNextPoint(0,0,0) 16verts = vtk.vtkCellArray() 17avert = vtk.vtkVertex() 18avert.GetPointIds().SetId(0, 0) 19verts.InsertNextCell(avert) 20onevertglyph = vtk.vtkPolyData() 21onevertglyph.SetPoints(pts) 22onevertglyph.SetVerts(verts) 23gf.SetSourceData(onevertglyph) 24gf.SetInputConnection(af.GetOutputPort()) 25 26testwrites = ["points","lines","mesh"] 27failed = False 28for datasetString in testwrites: 29 if datasetString == "points": 30 toshow=gf 31 elif datasetString == "lines": 32 toshow = ef 33 else: 34 toshow = af 35 gw = vtk.vtkGeoJSONWriter() 36 fname = "sphere_"+datasetString+".json" 37 gw.SetInputConnection(toshow.GetOutputPort()) 38 gw.SetFileName(fname) 39 gw.Write() 40 if (os.path.exists(fname) and 41 os.path.isfile(fname)): 42 os.remove(fname) 43 else: 44 print("Failed to write " + fname + " to file") 45 failed = True 46 gw.WriteToOutputStringOn() 47 gw.Write() 48 gj = "['"+str(gw.RegisterAndGetOutputString()).replace('\n','')+"']" 49 if len(gj) <= 1000: 50 print("Failed to write " + fname + " to buffer") 51 failed = True 52 53if failed: 54 sys.exit(1) 55sys.exit(0) 56