Source code for fabex.strategies.crazy

from ..bridges import use_bridges

from ..utilities.chunk_utils import (
    chunks_refine,
    sort_chunks,
)
from ..utilities.logging_utils import log


[docs] async def crazy(o): await prepare_area(o) # pathSamples = crazyStrokeImage(o) # this kind of worked and should work: millarea = o.zbuffer_image < o.min_z + 0.000001 avoidarea = o.offset_image > o.min_z + 0.000001 pathSamples = crazy_stroke_image_binary(o, millarea, avoidarea) pathSamples = await sort_chunks(pathSamples, o) pathSamples = chunks_refine(pathSamples, o) chunks = [] layers = strategy.get_layers(o, o.max_z, o.min.z) log.info(f"Sampling Object: {o.name}") chunks.extend(await sample_chunks(o, pathSamples, layers)) log.info("Sampling Finished Successfully") if o.use_bridges: log.info(chunks) for bridge_chunk in chunks: use_bridges(bridge_chunk, o) strategy.chunks_to_mesh(chunks, o)