def __init__(self, plane, terrain, DEBUG=False, LIMIT=None): self.time_it = BL_TOOLS.TimeIt() self.DEBUG=DEBUG self.LIMIT=LIMIT self.plane = plane self.terrain = terrain self.obj_s = bpy.data.objects[plane] self.mesh_s = self.obj_s.data self.obj_t = bpy.data.objects[terrain] r = BL_TOOLS.plane_to_vertex(self.plane, calc_centers=True) self.plane_points = r['points'] self.plane_edges = r['edges'] self.raycast_points = BL_TOOLS.get_raycast(self.plane, self.terrain, vertices = self.plane_points, DEBUG=self.DEBUG, LIMIT=self.LIMIT) self.bm = bmesh.new() self.bm.from_mesh(self.obj_t.data) self.bm.verts.ensure_lookup_table() self.bm.edges.ensure_lookup_table() self.bm.faces.ensure_lookup_table() self.time_it.stop() print("[t] __init__(): ", self.time_it)
def do_the_raycast(self): r = BL_TOOLS.plane_to_vertex(self.plane, calc_centers=True) self.plane_points = r['points'] self.plane_edges = r['edges'] self.raycast_points = BL_TOOLS.get_raycast(self.plane, self.terrain, vertices=self.plane_points, DEBUG=self.DEBUG, LIMIT=self.LIMIT)