From 1474e7e03ae731ea242217a4258a533913d55bdc Mon Sep 17 00:00:00 2001 From: HeshamTB Date: Tue, 25 Jan 2022 23:01:24 +0300 Subject: [PATCH] mklines: rewrite main to use new classes Test with python mklines.py polar_cords.csv Shows correct conversion from polar to cart with new classes Signed-off-by: HeshamTB --- mklines.py | 36 ++++++++++++------------------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/mklines.py b/mklines.py index 3738644..29d7c75 100644 --- a/mklines.py +++ b/mklines.py @@ -6,7 +6,7 @@ import csv import sys import math from os.path import exists as file_exists -from basictypes import PointWithID, Line +from basictypes import PointWithID, Line, point_from_polar def main(): @@ -15,41 +15,29 @@ def main(): if not file_exists(filename): perr('File does not exist') return -1 - samples_polar = read_csv(filename, remove_header=True) - if not valid_data(samples_polar): # Assumes header is removed + points = read_csv(filename, remove_header=True) + if not valid_data(points): # Assumes header is removed perr('Invalid or corrupt samples') return -1 - x = polarlist_to_cart(samples_polar) + for val in points: print(val.get_cartesian()) return 0 -def read_csv(filename: str, remove_header=False) -> list: - tmp_data = list() +def read_csv(filename: str, remove_header=False) -> list[PointWithID]: + tmp_data = list() # New list of points (PointWithID) with open(filename, 'r') as csv_file: reader = csv.reader(csv_file) for i, row in enumerate(reader): - new_row = list() - if remove_header and i == 0: continue - for i, val in enumerate(row): - if i == 0: new_row.append(val) # Append wall_id as is - else: new_row.append(float(val)) - tmp_data.append(new_row) + if remove_header and i == 0: continue # Skip header + # Assumes wall_id,r,theta + point_tmp = point_from_polar(float(row[1]), float(row[2]), row[0]) + tmp_data.append(point_tmp) + return tmp_data def valid_data(samples:list) -> bool: # Check if we have even number of samples return len(samples) % 2 == 0 -def polarlist_to_cart(polar_points: list): - cart_tmp = list() - for i, polar_point in enumerate(polar_points, 1): - if i % 2 == 0: continue - # We can safely use i - 1 here - p1 = polar_points[i-1] - p2 = polar_points[i] - print(p1, p2) - p1 = polar_to_cart(p1[0],p1[1]) - p2 = polar_to_cart(p2[0],p2[1]) - def get_filename() -> str: try: @@ -60,7 +48,7 @@ def get_filename() -> str: return -1 def perr(*args): - print(args, file=sys.stderr) + print(*args, file=sys.stderr) if __name__ == '__main__': exit(main()) \ No newline at end of file