def tile_with_guide_mesh(config): options = extract_options(config) network = load_wire(str(config["wire_network"])) parameters = load_parameters(network, config) guide_mesh = pymesh.load_mesh(config["guide_mesh"]) tiler = Tiler() tiler.set_base_pattern(network) tiler.tile_with_guide_mesh(guide_mesh, parameters) network = tiler.wire_network if config.get("trim", False): network.trim() if "output_wire_network" in config: network.write_to_file(config["output_wire_network"]) inflator = Inflator(network) inflator.subdivide_order = options["subdiv"] inflator.subdivide_method = options["subdiv_method"] inflator.inflate( network.get_attribute("thickness").ravel(), parameters.per_vertex_thickness) return inflator.mesh
def tile_with_mixed_patterns(config): options = extract_options(config) options["dof_type"] = str(config.get("dof_type", "isotropic")) options["thickness_type"] = str(config.get("thickness_type", "vertex")) networks = load_wires(str(config["wire_list_file"])) guide_mesh = pymesh.load_mesh(config["guide_mesh"]) per_vertex_thickness = options["thickness_type"] == "vertex" tiler = Tiler() tiler.tile_with_mixed_patterns(mesh, per_vertex_thickness, options["dof_type"] == "isotropic") network = tiler.wire_network if config.get("trim", False): network.trim() if "output_wire_network" in config: network.write_to_file(config["output_wire_network"]) inflator = Inflator(network) inflator.subdivide_order = options["subdiv"] inflator.subdivide_method = options["subdiv_method"] inflator.inflate( network.get_attribute("thickness").ravel(), per_vertex_thickness) return inflator.mesh