-
Notifications
You must be signed in to change notification settings - Fork 1
/
Test_Horizon.py
58 lines (47 loc) · 2.28 KB
/
Test_Horizon.py
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
57
58
"""
Primary Flight Display v1.0.0 (https://github.com/vittorioPiotti/Primary-Flight-Display/releases/tag/1.0.0)
Copyright 2024 Vittorio Piotti, Diego Ciucaloni, Matteo Fabbioni, Luca Niccià
Licensed under GPL-3.0 (https://github.com/vittorioPiotti/Primary-Flight-Display/blob/main/LICENSE.md)
"""
"""
TKinter 8.6
-----------
TKinter is distributed as part of the Python Standard Library.
Python Software Foundation License Version 2
For the full license text, please visit:
https://docs.python.org/3/license.html
"""
# Importa il modulo tkinter per la creazione di interfacce grafiche
import tkinter as tk
# Importa il modulo sys per la gestione del percorso dei moduli
import sys
# Importa il modulo os per la gestione dei percorsi dei file
import os
# Aggiunge il percorso dei moduli src al percorso di ricerca dei moduli
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'src')))
# Importa la classe Horizon dal modulo Horizon
from Horizon import Horizon
# Definisci le dimensioni della finestra
WIDTH = 600
HEIGHT = 600
# Definisci le coordinate Y di inizio e fine per la terra e la linea dell'orizzonte
YSTART = 50
YEND = -50
# Classe di test della classe Horizon per la visualizzazione dell'orizzonte del display di volo primario
class Test_Horizon(tk.Tk):
def __init__(self, width, height):
super().__init__()
self.width = width # Larghezza della finestra
self.height = height # Altezza della finestra
self.geometry(f"{width}x{height}") # Imposta le dimensioni della finestra
self.title("Test Horizon") # Imposta il titolo della finestra
self.canvas = tk.Canvas(self, width=width, height=height) # Crea un widget Canvas
self.canvas.pack() # Aggiunge il Canvas alla finestra
# Crea un'istanza della classe Horizon e aggiorna le coordinate della terra e della linea dell'orizzonte
self.horizon = Horizon(width, height, self.canvas)
self.horizon.newCoords(0, 1, self.horizon.earthCoords, YSTART, YEND, self.horizon.earthPolygon, True)
self.horizon.newCoords(0, 1, self.horizon.lineCoords, YSTART, YEND, self.horizon.line, True)
# Avvia il test se il file viene eseguito come script principale
if __name__ == "__main__":
testHorizon = Test_Horizon(WIDTH, HEIGHT)
testHorizon.mainloop()