# Implementation of module {contact_hp}
# Last edited on 2021-10-03 20:55:41 by stolfi

import contact_hp

import contact
import block
import path
import move
import sys

def side_block(ct, i):
  return ct.blocks[i]
  # ----------------------------------------------------------------------
 
def set_side_block(ct, i, bc):
  ct.blocks[i] = bc
  return
  # ----------------------------------------------------------------------

# PATHS CONTAINING SIDES OF CONTACT

def set_side_path(ct, i, oph):
  assert isinstance(ct, contact.Contact)
  if oph == None:
    ph = None
  else:
    ph, dr = path.unpack(oph)
    # Check that {ph} contains side {i} of {ct}:
    mv = contact.side_move(ct, i)
    assert path.find_move(ph, mv) != None
  ct.paths[i] = ph
  return
  # ----------------------------------------------------------------------

def side_path(ct, i):
  assert isinstance(ct, contact.Contact)
  return ct.paths[i]
  # ----------------------------------------------------------------------



