Example #1
0
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):
Example #2
0
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)
Example #3
0
''' 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)
Example #4
0
# 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
Example #5
0
# 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
Example #6
0
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()
Example #7
0
''' 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)