def tricall0(): import triIfaceUtils import triIfaceFileUtils #define some flags for how the script will run verbose = 2 #level of output tinfo = """triangulation: number of points = %d attributes per point = %d number of triangles = %d nodes per triangle = %d attributes per triangle = %d number of segments = %d number of holes = %d number of regions = %d number of edges = %d """ trin = triangulate.new() pointsin = Numeric.array([[0.0, 0.0], [1.0,0.0], [1.0,10.0], [0.0,10.0]]) npoints = pointsin.shape[0] pattsin = Numeric.array([0.0, 1.0, 11.0, 10.0]) pmarkin = Numeric.zeros((npoints,),Numeric.Int) pmarkin[1] = 2 pregion = Numeric.array([[0.5,5.0,7.0,0.1]]) if verbose > 3: print 'pregion shape=',pregion.shape #end verbose triangulate.setPointsAndMarkers(trin,pointsin,pmarkin) triangulate.setPointAttributes(trin,pattsin) triangulate.setRegions(trin,pregion) tiInfo = triangulate.getInfo(trin) print 'trin info says' print tinfo % tiInfo #create a simple flag list flags = "pczAevn" trimid = triangulate.new() vorout = triangulate.new() triangulate.applyTriangulate(flags,trin,trimid,vorout) tmInfo = triangulate.getInfo(trimid) print 'trimid info says' print tinfo % tmInfo if verbose > 1: points0 = triangulate.getPoints(trin) print 'in points=\n',points0 elems0 = triangulate.getTriangles(trin) print 'in elems=\n',elems0 elems1 = triangulate.getTriangles(trimid) print 'out elems=\n',elems1 #end verbose if verbose > 1: print 'calling printReport for input' triangulate.printReport(trin) print 'calling printReport for output' triangulate.printReport(trimid) #end verbose triIfaceUtils.writeOutTriangulation(trimid,"trimesh") #now refine intermediate triangle nelmsmid = tmInfo[2] midArea = Numeric.zeros((nelmsmid,),Numeric.Float) midArea[0] = 3.0 midArea[1] = 1.0 triangulate.setTriangleAreas(trimid,midArea) triout = triangulate.new() flags = "prazBP" triangulate.applyTriangulateNoVoronoi(flags,trimid,triout) triIfaceUtils.writeOutTriangulation(triout,"trimesh.1") #now view with showme showme = "../bin/showme" showmecmd = showme+" trimesh" failure = 0 failure = triIfaceFileUtils.checkFileExists(showme) failure = os.system(showmecmd) #manually delete things for debugging print 'deleting trin' del trin print 'deleting trimid' del trimid print 'deleting vor' del vorout print 'deleting triout' del triout return failure
vorout = triangulate.new() triangulate.applyTriangulate(flags, trin, triout, vorout) #get basic info about triangulation output oinfo = triangulate.getInfo(triout) print 'output triangulation has' print sinfo % oinfo vinfo = triangulate.getInfo(vorout) print 'voronio output has' print sinfo % vinfo print 'calling printReport for output' triangulate.printReport(triout) #delete trin manually to see what happens with data storage print 'deleting trin manually' del trin print 'should be ok: pointsoutCopy=\n', pointsout2 print 'should be garbage pointsout=\n', pointsout print 'should be ok: elems1Copy=\n', elems1Copy print 'should be garbage elems1=\n', elems1 print 'should be ok: pattsoutCopy=\n', pattsoutCopy print 'should be garbage patts=\n', pattsout #make sure triout still has its data around elems2 = triangulate.getTriangles(triout) print 'triout triangles=\n', elems2
vorout = triangulate.new() triangulate.applyTriangulate(flags,trin,triout,vorout) #get basic info about triangulation output oinfo =triangulate.getInfo(triout) print 'output triangulation has' print sinfo % oinfo vinfo =triangulate.getInfo(vorout) print 'voronio output has' print sinfo % vinfo print 'calling printReport for output' triangulate.printReport(triout) #delete trin manually to see what happens with data storage print 'deleting trin manually' del trin print 'should be ok: pointsoutCopy=\n',pointsout2 print 'should be garbage pointsout=\n',pointsout print 'should be ok: elems1Copy=\n',elems1Copy print 'should be garbage elems1=\n',elems1 print 'should be ok: pattsoutCopy=\n',pattsoutCopy print 'should be garbage patts=\n',pattsout #make sure triout still has its data around elems2 = triangulate.getTriangles(triout) print 'triout triangles=\n',elems2
def tricall0(): import triIfaceUtils import triIfaceFileUtils #define some flags for how the script will run verbose = 2 #level of output tinfo = """triangulation: number of points = %d attributes per point = %d number of triangles = %d nodes per triangle = %d attributes per triangle = %d number of segments = %d number of holes = %d number of regions = %d number of edges = %d """ trin = triangulate.new() pointsin = Numeric.array([[0.0, 0.0], [1.0, 0.0], [1.0, 10.0], [0.0, 10.0]]) npoints = pointsin.shape[0] pattsin = Numeric.array([0.0, 1.0, 11.0, 10.0]) pmarkin = Numeric.zeros((npoints, ), Numeric.Int) pmarkin[1] = 2 pregion = Numeric.array([[0.5, 5.0, 7.0, 0.1]]) if verbose > 3: print 'pregion shape=', pregion.shape #end verbose triangulate.setPointsAndMarkers(trin, pointsin, pmarkin) triangulate.setPointAttributes(trin, pattsin) triangulate.setRegions(trin, pregion) tiInfo = triangulate.getInfo(trin) print 'trin info says' print tinfo % tiInfo #create a simple flag list flags = "pczAevn" trimid = triangulate.new() vorout = triangulate.new() triangulate.applyTriangulate(flags, trin, trimid, vorout) tmInfo = triangulate.getInfo(trimid) print 'trimid info says' print tinfo % tmInfo if verbose > 1: points0 = triangulate.getPoints(trin) print 'in points=\n', points0 elems0 = triangulate.getTriangles(trin) print 'in elems=\n', elems0 elems1 = triangulate.getTriangles(trimid) print 'out elems=\n', elems1 #end verbose if verbose > 1: print 'calling printReport for input' triangulate.printReport(trin) print 'calling printReport for output' triangulate.printReport(trimid) #end verbose triIfaceUtils.writeOutTriangulation(trimid, "trimesh") #now refine intermediate triangle nelmsmid = tmInfo[2] midArea = Numeric.zeros((nelmsmid, ), Numeric.Float) midArea[0] = 3.0 midArea[1] = 1.0 triangulate.setTriangleAreas(trimid, midArea) triout = triangulate.new() flags = "prazBP" triangulate.applyTriangulateNoVoronoi(flags, trimid, triout) triIfaceUtils.writeOutTriangulation(triout, "trimesh.1") #now view with showme showme = "../bin/showme" showmecmd = showme + " trimesh" failure = 0 failure = triIfaceFileUtils.checkFileExists(showme) failure = os.system(showmecmd) #manually delete things for debugging print 'deleting trin' del trin print 'deleting trimid' del trimid print 'deleting vor' del vorout print 'deleting triout' del triout return failure