Source code for anypoint

from moilutils.moilutils import MoilUtils
from PyQt5 import QtWidgets


[docs] class Anypoint(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.moildev = None self.parent.radio_btn_mode_1.setChecked(True)
[docs] def set_param_any(self): self.alpha = float(self.parent.lineedit_alpha_2.text()) self.beta = float(self.parent.lineedit_beta_2.text()) self.zoom_any = float(self.parent.anypoint_zoom_2.text()) self.anyPo()
[docs] def writeAlphaBeta(self): self.parent.lineedit_alpha_2.setValue(self.alpha) self.parent.lineedit_beta_2.setValue(self.beta) self.parent.anypoint_zoom_2.setValue(self.zoom_any)
[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: self.parent.buttonRecenter.setChecked(False) self.parent.buttonRecenter.setStyleSheet( "QPushButton{\n" " border-color: #71D1BA;\n" " border-width: 2px; \n" " border-style: solid;\n" " border-radius: 5px;\n" " background-color : rgb(238, 238, 236); }\n") if self.parent.type_camera: self.moildev = MoilUtils.connectToMoildev(self.parent.type_camera) self.parent.point = (round(self.moildev.icx()), round(self.moildev.icy())) self.resetAlphaBeta() self.anypoint() self.parent.status_alpha.setText("Alpha: %.1f" % self.parent.anypoint.alpha) self.parent.status_beta.setText("Beta: %.1f" % self.parent.anypoint.beta) self.parent.show_percentage() else: QtWidgets.QMessageBox.information(self.parent.parent, "Warning", "This image not support for this application. \n " "Please contact developer!!")
[docs] def anypoint(self): """ Anypoint widget_controller algorithm. """ self.parent.normal_view = False self.parent.panorama_view = False self.parent.anypoint_view = True self.parent.angle = 0 self.parent.frame_navigator.show() self.parent.frame_panorama.hide() self.parent.mapX, self.parent.mapY, = self.moildev.maps_anypoint( self.alpha, self.beta, self.zoom_any, self.anypoint_mode) self.parent.showToWindow() self.writeAlphaBeta()
[docs] def anyPo(self): self.parent.mapX, self.parent.mapY, = self.parent.moildev.maps_anypoint( round(self.alpha, 2), round(self.beta, 2), self.zoom_any, self.anypoint_mode) self.parent.showToWindow() self.writeAlphaBeta()
[docs] def anypoint_mode_1(self): """ Execute the anypoint process mode 1. Returns: None. """ self.anypoint_mode = 1 self.resetAlphaBeta() self.process_to_anypoint()
[docs] 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.writeAlphaBeta() if self.parent.moildev is not None: self.parent.point = (round(self.parent.moildev.icx()), round(self.parent.moildev.icy()))
[docs] def up(self): """ The method showing anypoint widget_controller in specific area. """ self.parent.point = None if self.parent.radio_btn_mode_1.isChecked(): self.alpha = 75 self.beta = 0 elif self.parent.radio_btn_mode_2.isChecked(): self.alpha = 50 self.beta = 0 self.anypoint()
[docs] def left(self): """ The method showing anypoint widget_controller in specific area. """ self.parent.point = None if self.parent.radio_btn_mode_1.isChecked(): self.alpha = 65 self.beta = -90 elif self.parent.radio_btn_mode_2.isChecked(): self.alpha = 0 self.beta = -75 self.anypoint()
[docs] def center(self): """ The method showing anypoint widget_controller in specific area. """ self.parent.point = (round(self.parent.moildev.getIcx()), round(self.parent.moildev.getIcy())) if self.parent.radio_btn_mode_1.isChecked(): self.alpha = 0 self.beta = 0 elif self.parent.radio_btn_mode_2.isChecked(): self.alpha = 0 self.beta = 0 self.anypoint()
[docs] def right(self): """ The method showing anypoint widget_controller in specific area. """ self.parent.point = None if self.parent.radio_btn_mode_1.isChecked(): self.alpha = 65 self.beta = 90 elif self.parent.radio_btn_mode_2.isChecked(): self.alpha = 0 self.beta = 65 self.anypoint()
[docs] def down(self): """ The method showing anypoint widget_controller in specific area. """ self.parent.point = None if self.parent.radio_btn_mode_1.isChecked(): self.alpha = 65 self.beta = 180 elif self.parent.radio_btn_mode_2.isChecked(): self.alpha = -65 self.beta = 0 self.anypoint()