def writeOutTriangulation(tri, filebase="mesh", nbase=0, verbose=0): """ collect necessary steps to write out files for triangle data structures """ failed = False if tri == None: failed = True return failed if not nbase in [0, 1]: print 'must have vertex base numbering = 0 or 1, got nbase= ', nbase failed = True return failed #end nodes = triangulate.getPoints(tri) patts = triangulate.getPointAttributes(tri) pmarks = triangulate.getPointMarkers(tri) if verbose > 0: print 'writing node file' printNodeFile(nodes, filebase, patts, pmarks, nbase=nbase) elems = triangulate.getTriangles(tri) eatts = triangulate.getTriangleAttributes(tri) if verbose > 0: print 'writing elements file' printElemFile(elems, filebase, eatts, nbase=nbase) segms = triangulate.getSegments(tri) segmmks = triangulate.getSegmentMarkers(tri) holes = triangulate.getHoles(tri) regions = triangulate.getRegions(tri) if verbose > 0: print 'writing poly file' printPolyFile(nodes, segms, filebase, patts, pmarks, segmmks, holes, regions, nbase=nbase) edges = triangulate.getEdges(tri) edgemks = triangulate.getEdgeMarkers(tri) if verbose > 0: print 'writing edges file' printEdgeFile(edges, filebase, edgemks, nbase=nbase) neigs = triangulate.getNeighbors(tri) if verbose > 0: print 'writing neighbors file' printNeighborFile(neigs, filebase, nbase=nbase) return failed
def writeOutTriangulation(tri,filebase="mesh",nbase=0,verbose=0): """ collect necessary steps to write out files for triangle data structures """ failed = False if tri == None: failed = True return failed if not nbase in [0,1]: print 'must have vertex base numbering = 0 or 1, got nbase= ',nbase failed = True return failed #end nodes = triangulate.getPoints(tri) patts = triangulate.getPointAttributes(tri) pmarks= triangulate.getPointMarkers(tri) if verbose > 0: print 'writing node file' printNodeFile(nodes,filebase,patts,pmarks,nbase=nbase) elems = triangulate.getTriangles(tri) eatts = triangulate.getTriangleAttributes(tri) if verbose > 0: print 'writing elements file' printElemFile(elems,filebase,eatts,nbase=nbase) segms = triangulate.getSegments(tri) segmmks= triangulate.getSegmentMarkers(tri) holes = triangulate.getHoles(tri) regions= triangulate.getRegions(tri) if verbose > 0: print 'writing poly file' printPolyFile(nodes,segms,filebase,patts,pmarks, segmmks,holes,regions,nbase=nbase) edges = triangulate.getEdges(tri) edgemks= triangulate.getEdgeMarkers(tri) if verbose > 0: print 'writing edges file' printEdgeFile(edges,filebase,edgemks,nbase=nbase) neigs = triangulate.getNeighbors(tri) if verbose > 0: print 'writing neighbors file' printNeighborFile(neigs,filebase,nbase=nbase) return failed
#define some flags for how the script will run verbose = 2 #level of output trin = triangulate.new() print 'trin= ',trin pointsin = Numeric.array([[0.0, 0.0], [1.0,0.0], [1.0,1.0], [0.0,1.0]]) marksin = Numeric.ones((4,),Numeric.Int) triangulate.setPoints(trin,pointsin,marksin) pointsout = triangulate.getPoints(trin) pointsout2 = triangulate.getPointsCopy(trin) marksout = triangulate.getPointMarkers(trin) print 'pointsin= ',pointsin print 'pointsout= ',pointsout print 'pointsoutCopy= ',pointsout2 print 'pointmarksin= ',marksin print 'pointmarksout= ',marksout #create some point attributes, npts = pointsout.shape[0] natts = 1 patts = Numeric.zeros((npts,natts),Numeric.Float) for i in range(npts): patts[i,:] = pointsout[i,0]**2 + pointsout[i,1]**2 #end i triangulate.setPointAttributes(trin,patts)
#module for triangle import triangulate import Numeric #define some flags for how the script will run verbose = 2 #level of output trin = triangulate.new() print 'trin= ', trin pointsin = Numeric.array([[0.0, 0.0], [1.0, 0.0], [1.0, 1.0], [0.0, 1.0]]) marksin = Numeric.ones((4, ), Numeric.Int) triangulate.setPoints(trin, pointsin, marksin) pointsout = triangulate.getPoints(trin) pointsout2 = triangulate.getPointsCopy(trin) marksout = triangulate.getPointMarkers(trin) print 'pointsin= ', pointsin print 'pointsout= ', pointsout print 'pointsoutCopy= ', pointsout2 print 'pointmarksin= ', marksin print 'pointmarksout= ', marksout #create some point attributes, npts = pointsout.shape[0] natts = 1 patts = Numeric.zeros((npts, natts), Numeric.Float) for i in range(npts): patts[i, :] = pointsout[i, 0]**2 + pointsout[i, 1]**2 #end i triangulate.setPointAttributes(trin, patts)