Пример #1
0
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
Пример #2
0
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