blob: e0b4878d1796d6f9a9cebe497e458a9310cff3b2 [file] [log] [blame]
John Park91e69732019-03-03 13:12:43 -08001import argparse
2
3arg_parser = argparse.ArgumentParser(description='spline_editor')
4arg_parser.add_argument(
5 'size',
6 metavar='N',
7 default=800,
8 type=int,
9 nargs='?',
10 help="size of the screen")
11args = arg_parser.parse_args()
12SCREEN_SIZE = args.size
13
John Park91e69732019-03-03 13:12:43 -080014WIDTH_OF_ROBOT = 0.65
15LENGTH_OF_ROBOT = 0.8
16
John Parkcf545162020-02-23 20:07:25 -080017ROBOT_SIDE_TO_BALL_CENTER = 0.15 # Placeholder value
John Park91e69732019-03-03 13:12:43 -080018BALL_RADIUS = 0.165
John Parkcf545162020-02-23 20:07:25 -080019ROBOT_SIDE_TO_HATCH_PANEL = 0.1 # Placeholder value
John Park91e69732019-03-03 13:12:43 -080020HATCH_PANEL_WIDTH = 0.4826
21
John Parkcf545162020-02-23 20:07:25 -080022FIELD = 2020
23
24if FIELD == 2019:
25 WIDTH_OF_FIELD_IN_METERS = 8.258302 # Half Field
26elif FIELD == 2020:
27 WIDTH_OF_FIELD_IN_METERS = 15.98295 # Full Field
28 LENGTH_OF_FIELD_IN_METERS = 8.21055 # Full Field
29
30def pxToM(p, length = False):
31 if(length):
32 return p * LENGTH_OF_FIELD_IN_METERS / (SCREEN_SIZE/2)
John Park91e69732019-03-03 13:12:43 -080033 return p * WIDTH_OF_FIELD_IN_METERS / SCREEN_SIZE
34
John Parkcf545162020-02-23 20:07:25 -080035def mToPx(m, length = False):
36 if(length):
37 return (m*(SCREEN_SIZE/2)/LENGTH_OF_FIELD_IN_METERS)
John Park91e69732019-03-03 13:12:43 -080038 return (m*SCREEN_SIZE/WIDTH_OF_FIELD_IN_METERS)
John Parkcf545162020-02-23 20:07:25 -080039
40def inToM(i):
41 return (i*0.0254)