-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnode.py
More file actions
56 lines (54 loc) · 1.8 KB
/
Copy pathnode.py
File metadata and controls
56 lines (54 loc) · 1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
class Node:
def __init__(self, x, y, k=None, start=None, start_distance=0.0, robot=None, end=None, end_distance=0.0, obstacle=None, repulsion_factor=0.0):
self.x = x
self.y = y
self.k = k
self.start = start
self.start_distance = start_distance
self.robot = robot
self.end = end
self.end_distance = end_distance
self.obstacle = obstacle
self.repulsion_factor = repulsion_factor
def __getitem__(self, key):
if key == 'x':
return self.x
elif key == 'y':
return self.y
elif key == 'k':
return self.k
elif key == 'start':
return self.start
elif key == 'start_distance':
return self.start_distance
elif key == 'robot':
return self.robot
elif key == 'end':
return self.end
elif key == 'end_distance':
return self.end_distance
elif key == 'obstacle':
return self.obstacle
elif key == 'repulsion_factor':
return self.repulsion_factor
def __setitem__(self, key, value):
if key == 'x':
self.x = value
elif key == 'y':
self.y = value
elif key == 'k':
self.k = value
elif key == 'start':
self.start = value
elif key == 'start_distance':
self.start_distance = value
elif key == 'robot':
self.robot = value
elif key == 'end':
self.end = value
elif key == 'end_distance':
self.end_distance = value
elif key == 'obstacle':
self.obstacle = value
elif key == 'repulsion_factor':
self.repulsion_factor = value