File size: 918 Bytes
e9b7141
 
 
19abe39
e9b7141
19abe39
 
 
e9b7141
19abe39
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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")