def location_table(parent,frame): parent_name = parent.name name = frame.name trans = aa.translation( aa.frame_fixed_tf(frame) ) i = int(round( trans[0] / RESOLUTION)) j = int(round( trans[1] / RESOLUTION)) position = tm.mangle(parent_name,i,j) return (["ONTABLE", name, position], i, j)
def handle_moveable(frame): name = frame.name parent_name = frame.parent try: # If parent frame is a placement surface, position is the # appropriate grid cell on the surface. parent_frame = scene[parent_name] if aa.frame_isa(parent_frame, "surface"): trans = aa.translation(aa.frame_fixed_tf(frame)) i = int(round(trans[0] / RESOLUTION)) j = int(round(trans[1] / RESOLUTION)) position = tm.mangle(parent_name, i, j) conjunction.append(["ONTABLE", name, position]) occupied[(parent_name, i, j)] = True else: add_on(name, parent_name) except NameError: add_on(name, parent_name)
def handle_moveable(frame): name = frame.name parent_name = frame.parent position = parent_name try: # If parent frame is a placement surface, position is the # appropriate grid cell on the surface. parent_frame = scene[parent_name] if aa.frame_isa(parent_frame, "surface"): trans = aa.translation( aa.frame_fixed_tf(frame) ) i = int(round( trans[0] / RESOLUTION)) j = int(round( trans[1] / RESOLUTION)) position = tm.mangle(parent_name,i,j) except NameError: pass conjunction.append(["=", ["POSITION", name], position])
def add_loc(name,i,j): locations.append(tm.mangle(name,i,j))
def clear_location(name,i,j): if not (name,i,j) in occupied: conjunction.append(["CLEAR", tm.mangle(name,i,j)])