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:
parent
a3d72ed200
commit
2792329eaa
@ -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())
|
||||||
|
22
lib/grid.py
22
lib/grid.py
@ -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):
|
||||||
|
Loading…
Reference in New Issue
Block a user