Spaces:
Running
Running
| import json | |
| import os | |
| from pathlib import Path | |
| targets_dir = Path(__file__).parent | |
| for fname in os.listdir(targets_dir): | |
| if not fname.endswith(".fold"): | |
| continue | |
| with open(targets_dir / fname) as f: | |
| d = json.load(f) | |
| n_v = len(d["vertices_coords"]) | |
| n_e = len(d["edges_vertices"]) | |
| assert len(d["edges_assignment"]) == n_e, f"{fname}: assignment length mismatch" | |
| assert len(d["edges_foldAngle"]) == n_e, f"{fname}: foldAngle length mismatch" | |
| for e in d["edges_vertices"]: | |
| assert e[0] < n_v and e[1] < n_v, f"{fname}: edge references invalid vertex" | |
| for face in d["faces_vertices"]: | |
| for vi in face: | |
| assert vi < n_v, f"{fname}: face references invalid vertex" | |
| creases = [i for i,a in enumerate(d["edges_assignment"]) if a in ('M','V')] | |
| print(f"{fname}: {n_v} vertices, {n_e} edges, {len(creases)} creases, level={d.get('level','?')} OK") | |