def viewShowme(self): """ just call showme for the mesh held in rep, uses meshshow-tmp file """ filebase = "meshshow-tmp" self.writeToFile(filebase) globshowme = triIfaceUtils.showmeCmdBase showmecmd = """%s %s """ % (globshowme, filebase) failure = 0 failure = triIfaceFileUtils.checkFileExists(globshowme) failure = os.system(showmecmd) return failure
def viewShowme(self): """ just call showme for the mesh held in rep, uses meshshow-tmp file """ filebase="meshshow-tmp" self.writeToFile(filebase) globshowme= triIfaceUtils.showmeCmdBase showmecmd = """%s %s """ % (globshowme,filebase) failure = 0 failure = triIfaceFileUtils.checkFileExists(globshowme) failure = os.system(showmecmd) return failure
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
def tricall2(): """ test reading Triangle file utilities """ import triIfaceUtils import triIfaceFileUtils reader = triIfaceUtils.TriangleInputFileReader() filebase = 'trimesh' nodeDataInfo,nodeData = reader.readNodes(filebase) nodes,nodesA,nodesM = (nodeData['nodes'], nodeData['nodeAttributes'], nodeData['nodeMarkers']) print 'Nodes: nodeInfo= ',nodeDataInfo print """Nodes: nodes= \n%s\n nodeAttributes= \n%s\n nodeMarkers= \n%s\n """ % (nodes, nodesA, nodesM) triDataInfo,triData = reader.readTriangles(filebase) triangles,trianglesA = triData['triangles'],triData['triangleAttributes'] print 'Triangles: triInfo= ',triDataInfo print """Triangles: elems= \n%s\n triAttributes= \n%s\n""" % (triangles, trianglesA) #write out assuming just read in node and ele files filebaseout = filebase+'-out-0' tri0 = triangulate.new() if nodesM == None: triangulate.setPoints(tri0,nodes) else: triangulate.setPointsAndMarkers(tri0,nodes,nodesM) if not nodesA == None: triangulate.setPointAttributes(tri0,nodesA) #end if triangulate.setTriangles(tri0,triangles) if not trianglesA == None: triangulate.setTriangleAttributes(tri0,trianglesA) #end if triIfaceUtils.writeOutTriangulation(tri0,filebaseout,nbase=0,verbose=0) #now view with showme showme = "../bin/showme" showmecmd = """showme %s """ % filebaseout failure = 0 failure = triIfaceFileUtils.checkFileExists(showme) failure = os.system(showmecmd) ##now read from .poly file polyDataInfo,polyData = reader.readPoly(filebase) for type in ['node','segment','hole','region']: print 'Poly: ',type,'Info= \n',polyDataInfo[type],'\n' # nodes2,nodesA2,nodesM2 = (polyData['node']['nodes'], polyData['node']['nodeAttributes'], polyData['node']['nodeMarkers']) segments2,segmentsM2 = (polyData['segment']['segments'], polyData['segment']['segmentMarkers']) holes2 = polyData['hole']['holes'] regions2 = polyData['region']['regions'] print """Poly file read: nodes = \n%s\n nodeAttributes= \n%s\n nodeMarkers= \n%s\n segments= \n%s\n segmentMarkers= \n%s\n holes = \n%s\n regions = \n%s\n """ % (nodes2,nodesA2,nodesM2,segments2,segmentsM2,holes2,regions2) ### now create a triangulation and write out the data arrays? trin1 = triangulate.new() filebaseout1 = filebase+"-out-1" if nodesM2 == None: triangulate.setPoints(trin1,nodes2,nodesM2) else: triangulate.setPointsAndMarkers(trin1,nodes2,nodesM2) if not nodesA2 == None: triangulate.setPointAttributes(trin1,nodesA2) #end if if segmentsM2 == None: triangulate.setSegments(trin1,segments2) else: triangulate.setSegmentsAndMarkers(trin1,segments2,segmentsM2) if not holes2 == None: triangulate.setHoles(trin1,holes2) #end if if not regions2 == None: #print 'setting trin1 regions=\n',regions2 triangulate.setRegions(trin1,regions2) #end if trout1 = triangulate.new() flags = "zpne" #needs to be base 0 if Input was that way (and nbase=0) triangulate.applyTriangulateNoVoronoi(flags,trin1,trout1) triIfaceUtils.writeOutTriangulation(trout1,filebaseout1,nbase=0,verbose=0) #now view with showme showmecmd = """showme %s """ % filebaseout1 failure = 0 failure = triIfaceFileUtils.checkFileExists(showme) failure = os.system(showmecmd)
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
def tricall2(): """ test reading Triangle file utilities """ import triIfaceUtils import triIfaceFileUtils reader = triIfaceUtils.TriangleInputFileReader() filebase = 'trimesh' nodeDataInfo, nodeData = reader.readNodes(filebase) nodes, nodesA, nodesM = (nodeData['nodes'], nodeData['nodeAttributes'], nodeData['nodeMarkers']) print 'Nodes: nodeInfo= ', nodeDataInfo print """Nodes: nodes= \n%s\n nodeAttributes= \n%s\n nodeMarkers= \n%s\n """ % ( nodes, nodesA, nodesM) triDataInfo, triData = reader.readTriangles(filebase) triangles, trianglesA = triData['triangles'], triData['triangleAttributes'] print 'Triangles: triInfo= ', triDataInfo print """Triangles: elems= \n%s\n triAttributes= \n%s\n""" % (triangles, trianglesA) #write out assuming just read in node and ele files filebaseout = filebase + '-out-0' tri0 = triangulate.new() if nodesM == None: triangulate.setPoints(tri0, nodes) else: triangulate.setPointsAndMarkers(tri0, nodes, nodesM) if not nodesA == None: triangulate.setPointAttributes(tri0, nodesA) #end if triangulate.setTriangles(tri0, triangles) if not trianglesA == None: triangulate.setTriangleAttributes(tri0, trianglesA) #end if triIfaceUtils.writeOutTriangulation(tri0, filebaseout, nbase=0, verbose=0) #now view with showme showme = "../bin/showme" showmecmd = """showme %s """ % filebaseout failure = 0 failure = triIfaceFileUtils.checkFileExists(showme) failure = os.system(showmecmd) ##now read from .poly file polyDataInfo, polyData = reader.readPoly(filebase) for type in ['node', 'segment', 'hole', 'region']: print 'Poly: ', type, 'Info= \n', polyDataInfo[type], '\n' # nodes2, nodesA2, nodesM2 = (polyData['node']['nodes'], polyData['node']['nodeAttributes'], polyData['node']['nodeMarkers']) segments2, segmentsM2 = (polyData['segment']['segments'], polyData['segment']['segmentMarkers']) holes2 = polyData['hole']['holes'] regions2 = polyData['region']['regions'] print """Poly file read: nodes = \n%s\n nodeAttributes= \n%s\n nodeMarkers= \n%s\n segments= \n%s\n segmentMarkers= \n%s\n holes = \n%s\n regions = \n%s\n """ % (nodes2, nodesA2, nodesM2, segments2, segmentsM2, holes2, regions2) ### now create a triangulation and write out the data arrays? trin1 = triangulate.new() filebaseout1 = filebase + "-out-1" if nodesM2 == None: triangulate.setPoints(trin1, nodes2, nodesM2) else: triangulate.setPointsAndMarkers(trin1, nodes2, nodesM2) if not nodesA2 == None: triangulate.setPointAttributes(trin1, nodesA2) #end if if segmentsM2 == None: triangulate.setSegments(trin1, segments2) else: triangulate.setSegmentsAndMarkers(trin1, segments2, segmentsM2) if not holes2 == None: triangulate.setHoles(trin1, holes2) #end if if not regions2 == None: #print 'setting trin1 regions=\n',regions2 triangulate.setRegions(trin1, regions2) #end if trout1 = triangulate.new() flags = "zpne" #needs to be base 0 if Input was that way (and nbase=0) triangulate.applyTriangulateNoVoronoi(flags, trin1, trout1) triIfaceUtils.writeOutTriangulation(trout1, filebaseout1, nbase=0, verbose=0) #now view with showme showmecmd = """showme %s """ % filebaseout1 failure = 0 failure = triIfaceFileUtils.checkFileExists(showme) failure = os.system(showmecmd)