from PyQt5 import QtWidgets
[docs]
class AnypointView(object):
def __init__(self, Parent):
"""
The class for anypoint process.
Args:
Parent (): The Main class of this application
"""
self.parent = Parent
self.alpha = 0
self.beta = 0
self.zoom_any = 4
self.anypoint_mode = 1
self.parent.ui.radio_btn_mode_1.setChecked(True)
self.parent.ui.btn_anypoint.clicked.connect(self.process_to_anypoint)
self.parent.ui.btn_Up_View.clicked.connect(self.__up)
self.parent.ui.btn_Right_view.clicked.connect(self.__right)
self.parent.ui.btn_left_view.clicked.connect(self.__left)
self.parent.ui.btn_center_view.clicked.connect(self.__center)
self.parent.ui.btn_Down_view.clicked.connect(self.__down)
self.parent.ui.radio_btn_mode_1.clicked.connect(self.__anypoint_mode_1)
self.parent.ui.radio_btn_mode_2.clicked.connect(self.__anypoint_mode_2)
# self.parent.ui.lineedit_alpha_2.valueChanged.connect(self.process_to_anypoint)
# self.parent.ui.lineedit_beta_2.valueChanged.connect(self.process_to_anypoint)
# self.parent.ui.anypoint_zoom_2.valueChanged.connect(self.process_to_anypoint)
[docs]
def process_to_anypoint(self):
"""
This function is to process the image and show on anypoint mode.
"""
if self.parent.image is not None:
if self.parent.moildev:
self.__anypoint()
else:
self.parent.connect_to_moildev()
if self.parent.type_camera:
if self.parent.image is not None:
self.__anypoint()
def __anypoint(self):
"""
Anypoint view algorithm.
"""
self.parent.normal_view = False
self.parent.panorama_view = False
self.parent.anypoint_view = True
self.parent.angle = 0
self.parent.ui.frame_navigator.show()
self.parent.ui.frame_panorama.hide()
self.parent.mapX, self.parent.mapY, = self.parent.moildev.getAnypointMaps(
self.alpha, self.beta, self.zoom_any, self.anypoint_mode)
self.parent.show_to_window()
def __anypoint_mode_1(self):
"""
Execute the anypoint process mode 1.
Returns:
None.
"""
self.anypoint_mode = 1
self.resetAlphaBeta()
self.process_to_anypoint()
def __anypoint_mode_2(self):
"""
Execute the anypoint process mode 2.
Returns:
None.
"""
self.anypoint_mode = 2
self.resetAlphaBeta()
self.process_to_anypoint()
[docs]
def resetAlphaBeta(self):
"""
The method for reset alpha, beta, zoom, and angle.
Returns:
None.
"""
self.alpha = 0
self.beta = 0
self.zoom_any = 4
self.__anypoint()
def __up(self):
"""
The method showing anypoint view in specific area.
"""
self.parent.coordinate_point = None
if self.parent.ui.radio_btn_mode_1.isChecked():
self.alpha = 75
self.beta = 0
elif self.parent.ui.radio_btn_mode_2.isChecked():
self.alpha = 50
self.beta = 0
self.__anypoint()
def __left(self):
"""
The method showing anypoint view in specific area.
"""
self.parent.coordinate_point = None
if self.parent.ui.radio_btn_mode_1.isChecked():
self.alpha = 65
self.beta = -90
elif self.parent.ui.radio_btn_mode_2.isChecked():
self.alpha = 0
self.beta = -75
self.__anypoint()
def __center(self):
"""
The method showing anypoint view in specific area.
"""
self.parent.coordinate_point = None
if self.parent.ui.radio_btn_mode_1.isChecked():
self.alpha = 0
self.beta = 0
elif self.parent.ui.radio_btn_mode_2.isChecked():
self.alpha = 0
self.beta = 0
self.__anypoint()
def __right(self):
"""
The method showing anypoint view in specific area.
"""
self.parent.coordinate_point = None
if self.parent.ui.radio_btn_mode_1.isChecked():
self.alpha = 65
self.beta = 90
elif self.parent.ui.radio_btn_mode_2.isChecked():
self.alpha = 0
self.beta = 65
self.__anypoint()
def __down(self):
"""
The method showing anypoint view in specific area.
"""
self.parent.coordinate_point = None
if self.parent.ui.radio_btn_mode_1.isChecked():
self.alpha = 65
self.beta = 180
elif self.parent.ui.radio_btn_mode_2.isChecked():
self.alpha = -65
self.beta = 0
self.__anypoint()