from bluesky.ui import palette # Child windows from bluesky.ui.qtgl.docwindow import DocWindow from bluesky.ui.qtgl.radarwidget import RadarWidget from bluesky.ui.qtgl.infowindow import InfoWindow from bluesky.ui.qtgl.settingswindow import SettingsWindow from bluesky.ui.qtgl.nd import ND if platform.system().lower() == "windows": from bluesky.ui.pygame.dialog import fileopen # Register settings defaults bs.settings.set_variable_defaults(gfx_path='data/graphics') palette.set_default_colours(stack_text=(0, 255, 0), stack_background=(102, 102, 102)) fg = palette.stack_text bg = palette.stack_background class Splash(QSplashScreen): """ Splash screen: BlueSky logo during start-up""" def __init__(self): super().__init__( QPixmap(os.path.join(bs.settings.gfx_path, 'splash.gif')), Qt.WindowStaysOnTopHint) class DiscoveryDialog(QDialog): def __init__(self, parent=None):
from bluesky.ui.qtgl import glhelpers as glh import bluesky as bs from bluesky.tools import geo from bluesky import settings from bluesky.ui import palette from bluesky.tools.aero import ft, nm, kts # Register settings defaults settings.set_variable_defaults( text_size=13, ac_size=16, asas_vmin=200.0, asas_vmax=500.0) palette.set_default_colours( aircraft=(0, 255, 0), conflict=(255, 160, 0), route=(255, 0, 255), trails=(0, 255, 255)) # Static defines MAX_NAIRCRAFT = 10000 MAX_NCONFLICTS = 25000 MAX_ROUTE_LENGTH = 500 ROUTE_SIZE = 500 TRAILS_SIZE = 1000000 class Traffic(glh.RenderObject, layer=100): ''' Traffic OpenGL object. ''' def __init__(self, parent=None): super().__init__(parent)
''' BlueSky OpenGL line and polygon (areafilter) drawing. ''' import numpy as np import bluesky as bs from bluesky.ui import palette from bluesky.ui.qtgl import console from bluesky.ui.qtgl import glhelpers as glh palette.set_default_colours(polys=(0, 0, 255), previewpoly=(0, 204, 255)) # Static defines POLYPREV_SIZE = 100 POLY_SIZE = 2000 class Poly(glh.RenderObject, layer=-20): ''' Poly OpenGL object. ''' def __init__(self, parent=None): super().__init__(parent) # Polygon preview object self.polyprev = glh.VertexArrayObject(glh.gl.GL_LINE_LOOP) # Fixed polygons self.allpolys = glh.VertexArrayObject(glh.gl.GL_LINES) self.allpfill = glh.VertexArrayObject(glh.gl.GL_TRIANGLES) self.prevmousepos = (0, 0) bs.Signal('cmdline_stacked').connect(self.cmdline_stacked) bs.Signal('radarmouse').connect(self.previewpoly) bs.net.actnodedata_changed.connect(self.actdata_changed)
# Register settings defaults settings.set_variable_defaults( gfx_path='data/graphics', text_size=13, apt_size=10, wpt_size=10, ac_size=16, asas_vmin=200.0, asas_vmax=500.0) palette.set_default_colours( aircraft=(0,255,0), aptlabel=(220, 250, 255), aptsymbol=(148, 178, 235), background=(0,0,0), coastlines=(85, 85, 115), conflict=(255, 160, 0), pavement=(160, 160, 160), polys=(0,0,255), previewpoly=(0, 204, 255), route=(255, 0, 255), runways=(100, 100, 100), taxiways=(100, 100, 100), thresholds=(255,255,255), trails=(0, 255, 255), wptlabel=(220, 250, 255), wptsymbol=(148, 178, 235) ) # Static defines MAX_NAIRCRAFT = 10000 MAX_NCONFLICTS = 25000 MAX_ROUTE_LENGTH = 500 MAX_POLYPREV_SEGMENTS = 100 MAX_ALLPOLYS_SEGMENTS = 2000
from bluesky import settings from bluesky.ui.loadvisuals import load_aptsurface from bluesky.ui import palette # Register settings defaults settings.set_variable_defaults( gfx_path='data/graphics', text_size=13, apt_size=10, wpt_size=10) palette.set_default_colours( aptlabel=(220, 250, 255), aptsymbol=(148, 178, 235), pavement=(160, 160, 160), runways=(100, 100, 100), taxiways=(100, 100, 100), thresholds=(255, 255, 255), wptlabel=(220, 250, 255), wptsymbol=(148, 178, 235) ) # Static defines CUSTWP_SIZE = 1000 class Navdata(glh.RenderObject, layer=-10): ''' Navdata OpenGL object. ''' def __init__(self, parent=None): super().__init__(parent) self.custwplblbuf = glh.GLBuffer()
''' BlueSky OpenGL map object. ''' from os import path import numpy as np from bluesky.ui import palette from bluesky.ui.qtgl import glhelpers as glh from bluesky.ui.loadvisuals import load_coastlines from bluesky import settings settings.set_variable_defaults(gfx_path='data/graphics') palette.set_default_colours(background=(0, 0, 0), coastlines=(85, 85, 115)) class Map(glh.RenderObject, layer=-100): ''' Radar screen map OpenGL object. ''' def __init__(self, parent=None): super().__init__(parent) self.map = glh.VertexArrayObject(glh.gl.GL_TRIANGLE_FAN) self.coastlines = glh.VertexArrayObject(glh.gl.GL_LINES) self.coastindices = [] self.vcount_coast = 0 self.wraplon_loc = 0 def create(self): ''' Create GL objects. ''' # ------- Coastlines ----------------------------- coastvertices, self.coastindices = load_coastlines() self.coastlines.create(vertex=coastvertices, color=palette.coastlines) self.vcount_coast = len(coastvertices)