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
ntatts = 2 nelem = elems1.shape[0] tatts = Numeric.zeros((nelem,ntatts),Numeric.Float) for i in range(nelem): tatts[i,:] = Numeric.ones(ntatts,)*float(i) #end i print 'try to set triangle attributes \n',tatts triangulate.setTriangleAttributes(trin,tatts) carea = Numeric.ones((nelem,),Numeric.Float) print 'try to set triangle area constraints \n',carea triangulate.setTriangleAreas(trin,carea) #this should be empty before calling triangulate neigs0 = triangulate.getNeighbors(trin) print 'neigs= ',neigs0 #this should be empty before calling triangulate neigs1 = triangulate.getNeighborsCopy(trin) print 'neigsCopy= ',neigs1 vornorms= triangulate.getVoronoiNormals(trin) print 'vornorms= ',vornorms #get basic info about triangulation info =triangulate.getInfo(trin) sinfo = """triangulation: number of points = %d attributes per point = %d number of triangles = %d nodes per triangle = %d
ntatts = 2 nelem = elems1.shape[0] tatts = Numeric.zeros((nelem, ntatts), Numeric.Float) for i in range(nelem): tatts[i, :] = Numeric.ones(ntatts, ) * float(i) #end i print 'try to set triangle attributes \n', tatts triangulate.setTriangleAttributes(trin, tatts) carea = Numeric.ones((nelem, ), Numeric.Float) print 'try to set triangle area constraints \n', carea triangulate.setTriangleAreas(trin, carea) #this should be empty before calling triangulate neigs0 = triangulate.getNeighbors(trin) print 'neigs= ', neigs0 #this should be empty before calling triangulate neigs1 = triangulate.getNeighborsCopy(trin) print 'neigsCopy= ', neigs1 vornorms = triangulate.getVoronoiNormals(trin) print 'vornorms= ', vornorms #get basic info about triangulation info = triangulate.getInfo(trin) sinfo = """triangulation: number of points = %d attributes per point = %d number of triangles = %d nodes per triangle = %d