def checkIntersection(self): v_i = self._getAllFaceVertices2D() faceVertices = [x[0] for x in v_i] faceIndex = [x[1] for x in v_i] kdtree = utilities.makeKDTree(faceVertices) return self._checkIntersection(faceVertices, faceIndex, kdtree)
hFn = lambda e: -g.defaultHeuristic(e) msp2 = g.toMSPTree(hFn) edge_rep2 = msp2.makeEdgeRepresentation() world = TreeWorld(g, [edge_rep, edge_rep2]) child1 = world.generateFittest() print child1 tn = parseEdgeArrayIntoTree(g.nodes, child1) print treeLength(msp, set()), "faces" #tn = parseArrayIntoTree(g.nodes, array_rep) tn.unfold() v = tn.getAllChildVertices() v2d = tn.getAllChildVertices2D() tn.getAllChildTriangles() kdtree = utilities.makeKDTree(tn.getAllChildTriangles()) intersects = tn.checkIntersection() # return nodes thats intersect print len(intersects), "faces that intersects" paths = world.paths_intersection(child1) cutEdges = g.cutEdges(paths) print "Edges to cut:", cutEdges tns = cutTreeIntoPatches(tn, cutEdges) ds = [tn.convertToDict() for tn in tns] print "No of Patches:", len(ds) #v_i = [ x.getTransformedVertices2D() for x in intersects ] #v = reduce(lambda x,y: x+y, v_i) #print [x.node for x in xs] #print len(xs)
def checkIntersection(self): v_i = self._getAllFaceVertices2D() faceVertices = [ x[0] for x in v_i] faceIndex = [ x[1] for x in v_i] kdtree = utilities.makeKDTree(faceVertices) return self._checkIntersection(faceVertices,faceIndex,kdtree)
msp2 = g.toMSPTree(hFn) edge_rep2 = msp2.makeEdgeRepresentation() world = TreeWorld(g, [edge_rep, edge_rep2]) child1 = world.generateFittest() print child1 tn = parseEdgeArrayIntoTree(g.nodes, child1) print treeLength(msp,set()), "faces" #tn = parseArrayIntoTree(g.nodes, array_rep) tn.unfold() v = tn.getAllChildVertices() v2d = tn.getAllChildVertices2D() tn.getAllChildTriangles() kdtree = utilities.makeKDTree(tn.getAllChildTriangles()) intersects = tn.checkIntersection() # return nodes thats intersect print len(intersects), "faces that intersects" paths = world.paths_intersection(child1) cutEdges = g.cutEdges(paths) print "Edges to cut:", cutEdges tns = cutTreeIntoPatches(tn,cutEdges) ds = [tn.convertToDict() for tn in tns] print "No of Patches:", len(ds) #v_i = [ x.getTransformedVertices2D() for x in intersects ] #v = reduce(lambda x,y: x+y, v_i)