import argparse import json from surf.geometry import PolygonMesh from surf.subd import cc from surf.subd import butterfly if __name__ == '__main__': parser = argparse.ArgumentParser(description='Manually subdivide mesh ' '(first argument) and dump json to stdout') parser.add_argument('type', choices=('cc', 'butterfly')) parser.add_argument('mesh') parser.add_argument('refines', type=int) opt = parser.parse_args() cube = json.load(open(opt.mesh, 'r')) p = PolygonMesh(**cube) if opt.type == 'cc': refine = cc.refine else: refine = butterfly.refine for i in range(opt.refines): p = refine(p) print(p)