mirror of
https://github.com/OSURoboticsClub/Rover_2017_2018.git
synced 2025-11-08 10:11:14 +00:00
Updated new location, _get_table return less, change update_overlay
This commit is contained in:
@@ -405,7 +405,16 @@ class OverlayImage(object):
|
||||
|
||||
return int(x), int(y)
|
||||
|
||||
def update_new_location(self, latitude, longitude, compass):
|
||||
def update_new_location(self, latitude, longitude,
|
||||
compass, navigation_list, landmark_list):
|
||||
size = 5
|
||||
draw = PIL.ImageDraw.Draw(self.big_image)
|
||||
for element in navigation_list:
|
||||
x, y = self._get_cartesian(element[1], element[2])
|
||||
draw.ellipsis((x-size, y-size, x+size, y+size), fill="red")
|
||||
for element in navigation_list:
|
||||
x, y = self._get_cartesian(element[1], element[2])
|
||||
draw.ellipsis((x-size, y-size, x+size, y+size), fill="blue")
|
||||
self._draw_rover(latitude, longitude, compass)
|
||||
self.update()
|
||||
|
||||
@@ -430,3 +439,4 @@ class OverlayImage(object):
|
||||
|
||||
def update(self):
|
||||
self.display_image.paste(self.big_image, (-self.left_x, -self.upper_y))
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ import RoverMap
|
||||
|
||||
class RoverMapCoordinator(QtCore.QThread):
|
||||
pixmap_ready_signal = QtCore.pyqtSignal()
|
||||
change_waypoint_signal = QtCore.pyqtSignal()
|
||||
|
||||
def __init__(self, shared_objects):
|
||||
super(RoverMapCoordinator, self).__init__()
|
||||
@@ -28,6 +29,8 @@ class RoverMapCoordinator(QtCore.QThread):
|
||||
self.shared_objects = shared_objects
|
||||
self.left_screen = self.shared_objects["screens"]["left_screen"]
|
||||
self.mapping_label = self.left_screen.mapping_label
|
||||
self.navigation_label = self.left_screen.tableWidget
|
||||
self.landmark_label = self.left_screen.tableWidget_2
|
||||
|
||||
self.setings = QtCore.QSettings()
|
||||
|
||||
@@ -84,9 +87,12 @@ class RoverMapCoordinator(QtCore.QThread):
|
||||
def _get_map_image(self):
|
||||
while self.map_image is None:
|
||||
self.map_image = self.google_maps_object.display_image
|
||||
self.overlay_image_object.update_new_location(44.567161,
|
||||
-123.278432,
|
||||
.7)
|
||||
# self.overlay_image_object.update_new_location(44.567161,
|
||||
# -123.278432,
|
||||
# .7,
|
||||
# [],
|
||||
# [])
|
||||
self.update_overlay()
|
||||
self.map_image.paste(self.overlay_image_object.display_image,
|
||||
(0, 0),
|
||||
self.overlay_image_object.display_image)
|
||||
@@ -100,6 +106,7 @@ class RoverMapCoordinator(QtCore.QThread):
|
||||
|
||||
def connect_signals_and_slots(self):
|
||||
self.pixmap_ready_signal.connect(self.pixmap_ready__slot)
|
||||
self.change_waypoint_signal.connect(self.update_waypoints)
|
||||
|
||||
def on_kill_threads_requested_slot(self):
|
||||
self.run_thread_flag = False
|
||||
@@ -112,3 +119,23 @@ class RoverMapCoordinator(QtCore.QThread):
|
||||
|
||||
def pixmap_ready__slot(self):
|
||||
self.mapping_label.setPixmap(self.map_pixmap)
|
||||
|
||||
def _get_table_elements(self, UI_element):
|
||||
temp_list = []
|
||||
count = UI_element.rowCount()
|
||||
for row in range(0, count):
|
||||
num = UI_element.item(row, 0)
|
||||
lat = UI_element.cellWidget(row, 1)
|
||||
lng = UI_element.cellWidget(row, 2)
|
||||
temp_tuple = (num, lat, lng)
|
||||
temp_list.append(temp_tuple)
|
||||
return temp_list
|
||||
|
||||
def update_overlay(self):
|
||||
navigation_list = self._get_table_elements(self.navigation_label)
|
||||
landmark_list = self._get_table_elements(self.landmark_label)
|
||||
self.overlay_image_object.update_new_location(self.latitude,
|
||||
self.longitude,
|
||||
70,
|
||||
navigation_list,
|
||||
landmark_list)
|
||||
|
||||
Reference in New Issue
Block a user