# Implementation of the module {block_hp}. # Last edited on 2021-05-16 23:08:40 by jstolfi import block_hp import block import path import move import move_parms import contact import job_parms import hacks import rn import pyx import sys from math import sqrt, floor, ceil, sin, cos, acos, pi, nan, inf def used_choice(bc): assert isinstance(bc, block.Block) return bc.used_choice # ---------------------------------------------------------------------- def set_used_choice(bc, us): assert isinstance(bc, block.Block) assert us == None or type(us) is int and (0 <= us and us < block.nchoices(bc)) bc.used_choice = us # ---------------------------------------------------------------------- def clear_contacts(bc): bc.contacts = [] # ---------------------------------------------------------------------- def add_contact(bc, ct): bc.contacts.append(ct) return # ---------------------------------------------------------------------- def get_contacts(bc): return tuple(bc.contacts) # ---------------------------------------------------------------------- def get_seams(bc): assert isinstance(bc, block.Block) return bc.seams # ---------------------------------------------------------------------- def set_seams(bc, SMSP): assert isinstance(bc, block.Block) assert type(SMSP) is list or type(SMSP) is tuple assert len(SMSP) == 2 bc.seams = tuple(SMSP) # ----------------------------------------------------------------------