cleaned up the method (removed print statements) i'm ready to now add this method as an option to the mesh object

This commit is contained in:
Stephen Mardson McQuay 2010-02-21 20:52:51 -07:00
parent a3d72ed200
commit 2792329eaa
2 changed files with 19 additions and 17 deletions

View File

@ -4,6 +4,7 @@ import sys
import pickle import pickle
from grid import simple_rect_grid, simple_random_grid from grid import simple_rect_grid, simple_random_grid
from baker import run_baker
qfile = '/tmp/grid_regular.txt' qfile = '/tmp/grid_regular.txt'
@ -15,8 +16,13 @@ if __name__ == '__main__':
except: except:
resolution = 3 resolution = 3
g = simple_rect_grid(resolution, resolution) source_mesh = simple_rect_grid(resolution, resolution)
print g
X = [0.4, 0.001] X = [0.4, 0.001]
print g.get_points_conn(X) (R, S) = source_mesh.get_points_conn(X)
open(qfile, 'w').write(g.for_qhull())
print source_mesh
print R
print S
print run_baker(X, R, S)
open(qfile, 'w').write(source_mesh.for_qhull())

View File

@ -117,30 +117,26 @@ class grid(object):
if not self.faces: if not self.faces:
self.construct_connectivity() self.construct_connectivity()
# get closest point
(dist, indicies) = self.tree.query(X, 2) (dist, indicies) = self.tree.query(X, 2)
smplx = None
simplex = None
for i in self.facets_for_point[indicies[0]]: for i in self.facets_for_point[indicies[0]]:
if i.contains(X, self): if i.contains(X, self):
smplx = i simplex = i
break break
if not smplx: if not simplex:
raise AssertionError('no containing simplex found') raise AssertionError('no containing simplex found')
print "containing verts:", smplx.verts simplex_set = set(simplex.verts)
smplx_set = set(smplx.verts) R = self.create_mesh(simplex.verts)
R = self.create_mesh(smplx.verts)
s = [] s = []
for c,i in enumerate(smplx.neighbors): for c,i in enumerate(simplex.neighbors):
print "neighbor %d: %s: %s" % (c, i.name, i.verts) s.extend([guy for guy in i.verts if not guy in simplex.verts])
st = set(i.verts)
s.append((st - smplx_set).pop())
# s.append( [guy for guy in i.verts if not guy in smplx.verts])
print s
S = self.create_mesh(s) S = self.create_mesh(s)
print S
return R, S return R, S
def run_baker(self, X): def run_baker(self, X):