All Classes
Class
Description
An interface that can optionally use an
AtomicBoolean
as a signal to abort its execution.The help window with About, Help and System sections.
A little helper class to hold a set of three angles and associated rates.
Abstract catalog loader with the transformation from spherical to cartesian coordinates.
Defines all controller inputs
Provides general methods and attributes that all GUIs should have
Abstract Octree wrapper with the common parts of the regular Octree wrapper
and the concurrent one
An abstract renderer.
A motion blur effect which draws the last frame with a lower opacity.
Motion blur filter that draws the last frame (motion filter included) with a lower opacity.
Actor
related utils.Anaglyph 3D red-cyan filter
Anaglyphic 3D red-cyan effect
This abstract class defines the fields and implements the methods that any
analytically defined attitude (e.g., NSL or EPSL) need in addition to those
in the superclass.
This window shows the Gaia Archive information for a single star
Represents the outline of a country
Utility class to hold the assets that must be loaded when the OpenGL context is present.
Some astronomical goodies to get the position of the Sun, Moon, work out
Julian dates, etc.
Implements the same test as in Jean Meeus' Astronomical Algorithms page 343.
AtmosphereShaderProviderLoader<T extends AtmosphereShaderProviderLoader.AtmosphereShaderProviderParameter>
This is the basic interface for all attitude representations and scanning
laws.
Convert a given set of heliotropic angles into a quaternion
A bean that holds the attitude and its activation time.
Class with static utility methods to deal with B-splines.
Utility class for manipulating knots and splines together
Parses the XML files with the attitudes and their activaton times into a binary search tree.
Representation of axes
A model which renders as a background, unaffected by the camera.
Common base class for all attitude data servers.
Renders image files synchronously
Bias filter.
Renders billboard galaxies with no texture, just blobs
Reads arrays of star beans from binary files, usually to go in an octree.
Interface to read and write stars, to be implemented by different binary format versions
Base implementation of binary version, which accommodates most versions.
Implements an unbalanced binary search tree.
Original binary version (0), used in DR1 and DR2.
Binary version 1, used in eDR3 mainly.
Binary version 2, used in latter eDR3 runs.
Renders bitmap fonts.
Backing data for a
BitmapFont
.Represents a single character in a font page.
Caches glyph geometry for a BitmapFont, providing a fast way to render static text.
AssetLoader
for BitmapFont
instances.Parameter to be passed to
AssetManager.load(String, Class, AssetLoaderParameters)
if additional configuration is
necessary for the BitmapFont
.Manages the bookmarks in Gaia Sky.
Encapsulates an axis aligned bounding box represented by a minimum and a
maximum Vector.
Buffers the writing of images to disk
Black-body based conversion between effective temperature and B-V color.
An InputStream whose source is a
ByteBuffer
.Camera blur that relies on a precomputed velocity map for the scene
Minimalistic grouping strategy that splits decals into opaque and transparent ones enabling and disabling blending as needed.
Convenience enum to describe the camera mode
Camera blur effect.
Contains camera utilities
Contains the logic to record the camera state at each frame.
Interface for catalog filters for celestial bodies.
GUI window to choose the catalogs to load at startup.
Represents any celestial body.
A circular area about a centre c (which is defined by a
Place
object), and radius r.A collapsible pane with a detach-to-window button.
A
CollapsableWindow
can be expanded/collapsed with a single click on
the title bar.A version of ColorPicker on steroids.
A little widget showing a color and allowing to change it
using a color picker dialog.
Colour component containing information about a colour
The CommentedProperties class is an extension of java.util.Properties
to allow retention of comment lines and blank (whitespace only) lines
in the properties file.
Specifies a combination of
Area
s.BitSet with some added functionality
This class implements the Attitude interface and contains just the minimum
fields necessary to define a unique attitude at a given time, plus a large
number of methods to compute quantities that depend only on this attitude and
time.
A
ConcreteDuration
is a duration that is linked to a time scaleWidget that captures and displays messages in a GUI.
This class contains some constant values, global to the workings
of Gaia Sky
Represents a constellation object.
Listener used to get events from
ContextMenu
.Dialog to configure a controller interactively
GUI that is operated with a game controller and optimized for that purpose.
Reads inputListener mappings from a file
Encapsulates a separable 2D convolution kernel filter
Provides utility coordinate conversions between some astronomical coordinate
systems and to Cartesian coordinates.
Cosmic ruler between two objects
Displays info about the current crash.
Creates a report whenever Gaia Sky crashes and saves it to disk.
Loads star catalogs in CSV format.
Fisheye effect
Cubemap projections (spherical, cylindrical, hammer, fisheye) filter.
Widget that displays custom objects on screen.
The datasets pane in the controls window
Widget which lists all detected catalogs and offers a way to select them.
Contains the infrastructure to run tasks that sort and update the dataset metadata.
A dialog to pick a date.
A finite number of days
There are two implementations provided of the conversions methods one as
object interface, where an object of the current class has to be
instantiated.
This GUI shows debug information at the top-right corner of the screen
This class provides utils to use Sprites and Fonts as if they were Decals,
this is, flat textures in the 3D space.
Debug effect.
Debug filter, renders the contents of the depth texture attachment
Desktop GlobalConf initializer, where the configuration comes from a
global.properties file (global.vr.properties in case of VR).
This interface provides the method through which a set of ODEs may be coded
and supplied to the methods in the class RungeKutta.
Compares entities.
A resizable, ordered or unordered double array.
Download manager.
Contains utilities to download files
A
Duration
represents an amount of time on a proper time scale.Orbit on the ecliptic plane.
Contains the parameters and functions for procedural elevation
Implementation of the Ecliptic Pole Scanning Law (EPSL)
Ecliptic pole scanning has two modes: PRECEDING (revolving phase angle =
0) and FOLLOWING (revolving phase angle = 180 deg).
This class implements a combination of the Ecliptic Pole Scanning Law (EPSL)
and the Nominal Scanning Law (NSL), by switching from EPSL to NSL at the
reference epoch (tRef).
A compound object for holding equatorial angles and their rates as per
Fig.
Event manager that allows for subscription of observers to events (identified
by strings), and also for the creation of event objects by anyone.
Time frame options
Contains all the events that go through the event system.
Implementation of the scripting interface using the event system
A shader program encapsulates a vertex and fragment shader pair linked to form a shader program.
Draws batched quads using indices.
Node that offers fade-in and fade-out capabilities.
Uses jafama (
FastMath
) library.A simple file chooser for scene2d.ui
The type of files that can be chosen with this file chooser
A filter on a dataset as a set of rules
The base class for any single-pass filter.
The base class for any single-pass filter.
Fisheye effect
Fisheye distortion filter
Lens flare effect as described in John Chapman's article (without lens dirt
or diffraction starburst).
This adds the lens dirt and starburst effects to the lens flare.
Part of the user interface which holds the information on the current focus
object and on the camera.
FOV enumeration
The field of view cameras
A truncated rectangular pyramid.
Full OpenGL GUI with all the controls and whistles.
Encapsulates a fullscreen quad, geometry is aligned to the screen corners.
Encapsulates a fullscreen quad, geometry is aligned to the screen corners.
Implements the fast approximate anti-aliasing.
Fast approximate anti-aliasing filter.
Gaia is a special entity, mainly because it has its own camera modes (FoV1/2/1&2, Gaia camera)
Provides caching of the last Nsl37 attitude requested.
Writes Gaia attitude to a file.
The main class.
Main class for the desktop launcher.
Exposes a builder accepting a buffer builder.
Extends hub connector to provide some very basic logging using
the Gaia Sky internal logging system.
The default thread factory
Represents a generic catalog of entities.
A generic spacecraft
Loads GeoJson files to Area objects.
Implements geometry warp and blending from MPCDI
This filter implements the geometry warp and blending defined in the MPCDI format.
Keeps pace of the simulation time vs real time and holds the global clock.
Holds the global configuration options
Holds all configuration values related to data.
Holds the configuration for the output frame subsystem and the camera
recording.
Runtime configuration values, which are never persisted.
Contains preferences and attributes which define the scene
The type of elevation representation if elevation textures
are present
Graphics quality setting
Holds and initialises resources utilised globally.
Scattering Light effect.
Stores
runs
of glyphs for a piece of text.Stores glyphs and positions for a piece of text which is a single color and does not span multiple lines.
This is just a test for now
Fast approximate anti-aliasing filter.
Contains key definitions for Gaia Sky
A GTI (Good Time Interval), is a
A collection of Good Time Intervals (GTIs).
A GUI component.
Manages the Graphical User Interfaces of Gaia Sky
*
General Purpose Hash Function Algorithms Library *
*
Author: Arash Partow - 2002 *
URL: http://www.partow.net *
URL: http://www.partow.net/programming/hashfunctions/index.html *
*
Copyright notice: *
Free use of the General Purpose Hash Function Algorithms Library is *
permitted under the guidelines and in accordance with the most current *
version of the Common Public License.
A compound object for holding heliotropic angles and their rates as per
Fig.
Orbit in the heliotropic reference system.
This abstract class contains the fields needed to store numerical attitude in
the form of arrays (q and SRS rates), and a method to calculate the attitude
for any given time using cubic Hermite interpolation
This guy implements high level operations which run concurrently to the main
thread by starting new threads
Loads HIP star names.
A finite number of hours
There are two implementations provided of the conversions methods one as
object interface, where an object of the current class has to be
instantiated.
Head-up display GUI which only displays information and has no options
window.
Manages the i18n (internationalization) system
Interface to be implemented by all entities that can render a text in 3d
space
Interface to be implemented by all algorithms that create a group of virtual
particles for an octant.
Represents an attribute
Defines the interface to get the coordinates of a body
Helper generic class to create icospheres.
Contract that all focus objects must implement
An interface to be implemented by all top-level GUIs in Gaia Sky
Interface to implement by all entities that are to be rendered as lines whose
points are floated by the camera position in the CPU
Utility class to render the current frame buffer to images
Interface to implement by all the entities that can be rendered as a model
This window controls the visibility of individual objects
An Animation has an id and a list of
IntNodeAnimation
instances.Takes a linear value in the range of 0-1 and outputs a (usually) non-linear, interpolated value.
Kind of interpolation: for derivative, value or integral
This implementation uses 32-bit integer indices instead of 16-bit shorts
This implementation uses 32-bit integer indices instead of 16-bit shorts
This implementation uses 32-bit integer indices instead of 16-bit shorts
An IntIndexData instance holds index data.
Class to construct a mesh, optionally splitting it into one or more mesh parts.
This implementation uses 32-bit integer indices instead of 16-bit shorts used in
Mesh
Class that contains all vertex information the builder can use.
Batches
IntRenderable
instances, fetches IntShader
s for them, sorts them and then renders them.Helper class to create
IntModel
s from code.Returned by a
ModelLoader
, contains meshes, materials, nodes and animations.An instance of a
IntModel
, allows to specify global transform and modify the materials, as it has a copy of the model's
materials.A node is part of a hierarchy of Nodes in a
IntModel
.A Renderable contains all information about a single render instruction (typically a draw call).
Returns a list of
IntRenderable
instances to be rendered by a IntModelBatch
.Responsible for sorting
IntRenderable
lists by whatever criteria (material, distance to camera, etc.)Interface which is used to render one or more
IntRenderable
s.Returns
IntShader
instances for a IntRenderable
on request.A VertexData instance holds vertices for rendering with OpenGL.
The sole purpose of this class is to act as an invisible focus.
Interface for octree generators.
Data provider for a particle group.
Interface to be implemented by those entities that can be rendered
as a single point, floated by the camera position in the CPU
Interface that must implement all entities that have a position.
Interface for component renderers
Any entity which contains a proper motion
A top-level renderable interface that all renderable objects must extend
A component that renders a type of objects.
Defines the interface for any scene graph implementation
Defines the interface for scene graph loaders.
Scripting interface.
Interface that must be extended by all types of scene graph renderers
Data provider for a star group, which contains an index map with the names
and indices of the stars.
ItemsManager<T extends com.badlogic.gdx.utils.Disposable>
Basic interface for entities that provide an time frame in the scene
Represents a generic matrix transformation
Trigonometry interface to enable multiple implementations
This interface must be implemented by all objects whose visibility
can be manipulated using the per-object visibility controls.
Prints used modules
Writes JPG images
Implements the loading of scene graph nodes using libgdx's json library.
A finite number of years.
Contains the key mappings and the actions.
This input inputListener connects the input events with the key binding actions
Represents a keyframe and contains the camera state, the simulation time, the frame and a descriptor name.
Lens flare effect.
Pseudo lens flare implementation.
Implements brightness, contrast, hue and saturation levels, plus
auto-tone mapping HDR and gamma correction.
Controls levels of brightness and contrast
Light scattering implementation.
Light scattering implementation.
Renders lines as Polyline Quadstrips (Polyboards).
Link widget.
Displays the loading screen.
This guy is in charge of logging the visited locations and serving
them to the corresponding subsystems.
A single location
Least Recently Used cache implementation
Definition of a spacecraft with its parameters, model, etc.
Manages a master instance which makes available state information to others
in order to synchronize a session.
A basic component that contains the info on a material
Utility and fast math functions.
Encapsulates a column
major 4 by 4 matrix.
RAM memory information
MenuItem contains text or text with icon.
Widget that displays big messages on screen.
Writes and reads the metadata to/from binary.
A finite number of minutes.
Renders with a given model batch.
Abstract class with the basic functionality of bodies represented by a 3D
model
Compares models.
Class to generate Gaia Modified Scanning Law (MSL).
There are three modes of scanning, enumerated by the ScanState: NOMINAL =
running as in NSL, MODIFIED = running at reduced precession speed,
TRANSITION = the precession speed is ramping up or down between the
NOMINAL and MODIFIED states.
Enumerates the various transition functions tested.
Coordinates of the Moon given by the algorithm in Jean Meeus' Astronomical
Algorithms book.
This class implements the Modified Scanning Law (MSL) by Hermite
interpolation of the attitude quaternion among values obtained by numerical
integration of the basic equations in heliotropic angles.
The base class for any multi-pass filter.
Thread indexer for a multi-thread environment.
This guy is in charge of managing the music playlist and actually
playing the sounds
A finite number of nanoseconds.
Models the movement of the camera
Input listener for the natural camera.
This class contains various unit conversion constants for
angles, distance and time units
Loads the NBG catalog in csv format.
Implements the normal filter anti-aliasing.
Normal filtered anti-aliasing filter.
A 3x3 grid of texture regions.
Widget that captures and displays messages in a GUI.
Improved analytical representation of the Gaia Nominal Scanning Law (NSL).
Analytical representation of the Nominal Sun for the Gaia NSL.
Class with various static methods for analytical scanning laws.
This abstract class defines the fields and implements the methods that any
numerically defined attitude need in addition to those in the superclass.
An unordered map where the keys are objects and the values are unboxed doubles.
ModelLoader
to load Wavefront OBJ files.Implements a f: mag -> level bijective map, where octree nodes in a level are filled with
magnitude-sorted stars until one of them is saturated before proceeding to lower
levels.
Holds the parameters for the octree generation.
Greedy generator where octants in a level are filled up with as many
stars as possible before proceeding to lower levels.
Generates an octree of star groups.
Implements the loading and streaming of octree nodes from files.
Octree node implementation which contains a list of
IPosition
objects
and possibly 8 subnodes.Static Octree wrapper that can be inserted into the scene graph.
Generates particles that make up the Oort cloud.
A polyline that represents a closed orbit.
Reads an orbit file into an OrbitData object.
Abstract data loader to rule them all.
Reads an orbit file into an OrbitData object.
Reads an orbit file into an OrbitData object.
The orbit refresher thread.
Samples an orbit for a particular Body.
Operating system related utils.
ImageButton in which the cursor changes when the mouse rolls over.
Small overriding that returns the user set size as preferred size.
Same as a regular slider, but contains the title (name) and the value within its bounds.
TextButton in which the cursor changes when the mouse rolls over.
TextButton in which the cursor changes when the mouse rolls over.
A tooltip that shows a label and a hotkey shortcut in gray.
OwnTextButton with an icon.
A tooltip that shows a label.
OVERWRITE LINE 176 (setBounds) to remove the Math.round() calls, which makes the labels snap to integer pixel values.
Simple implementation of a pair of objects.
Parser utilities.
Deprecated.
Only the Sun uses this via the Star subclass.
Loads and writes particle data to/from our own binary format.
This class represents a group of non-focusable particles, all with the same
luminosity.
Interface that specifies a path of type T within the window 0.0<=t<=1.0.
Encapsulates a framebuffer with the ability to ping-pong between two buffers.
Provides a simple mechanism to query OpenGL pipeline states.
Specifies a celestial position
A plane defined via a unit length normal and the distance from the origin, as you learned in your math class.
Enum specifying on which side a point lies respective to the plane and it's normal.
This provider loads point data into particle beans.
Point particle record, only contains a double array to hold the data
A group of points
Represents a polyline.
Helper class that transforms various positional information into the internal
position of the application.
Provides a way to capture the rendered scene to an off-screen buffer and to apply a chain of effects on it before rendering to
screen.
This interface defines the base class for the concrete implementation of post-processor effects.
Provides the information for the precession of this body
The default preferences window.
An unbounded priority queue based on a priority heap.
Holds information on the order and properties of nearby particles to the camera.
A wee utility class that provides unit conversion mechanisms.
A simple quaternion class.
Generic dialog that displays the confirmation quit message and offers options
to cancel it or go through.
Encapsulates a Rayd having a starting position and a unit length direction.
Implements a raymarching effect, usually for SDFs.
Raymarching filter.
Implements a real time clock.
A recursive grid which adapts to equatorial, ecliptic and galactic systems.
Central hub where the parameters of the current relativistic
effects (aberration, doppler, grav waves) are updated and served to the renderers.
RelativisticShaderProviderLoader<T extends RelativisticShaderProviderLoader.RelativisticShaderProviderParameter>
Only for frame output mode, it displays the current time.
Holds some context information useful when rendering
Contains utilities to render stuff
REST Server class to implement the REST API
A finite number of revolutions
There are two implementations provided of the conversions methods one as
object interface, where an object of the current class has to be
instantiated.
Helper generic class to create rings.
Provides the information for the rotation of this body
A structure composed of a set of collections of a given size in which
additions happen to the next list in the roulette before it is spun.
Provides an implementation of the Runge-Kutta method for solving single or
sets of ordinary differential equations (ODEs).
Contains elements which depend on the current state of the program, such as
the running scripts, the buttons to pause the camera subsystem, etc.
Clone of the Satellite class in GaiaParams with very few needed parameters.
Scattering Light effect.
Implementation of a 3D scene graph.
Provides the scene graph implementation.
Loads Gaia Sky JSON files.
An object in the scene graph.
Renders the scene graph
Describes to which render group this node belongs at a particular time
step
Manages screen mode changes (fullscreen, windowed)
The scripting server of Gaia Sky, backed by a Py4J
GatewayServer
.Loads SDSS data from a text file with a series of [ra, dec, z]
The dialog to search objects.
A finite number of seconds.
A separator widget (horizontal or vertical bar) that can be used in menus,
tables or other widgets, typically added to new row with growX() (if creating
horizontal separator) OR growY() (if creating vertical separator) PopupMenu
and VisTable provides utilities addSeparator() methods that adds new
separator.
A thread that waits for a task to be executed.
AssetLoader
for all the SceneGraphNode
instances.Normal SGR, takes care of the regular to-screen rendering with no strange
modes (stereoscopic, planetarium, cubemap) active
Abstract implementation with some useful methods for all SGRs.
Renders the cube map projection mode.
Renders the Gaia Field of View camera mode.
Renders to OpenVR.
Renders all the 3D/stereoscopic modes.
AssetLoader
for ExtShaderProgram
instances loaded from text files.Loads shaders with extra functionality to add code from other shaders.
System that renders shapes through a
ShapeRenderer
Manages a slave instance configured with an MPCDI file.
Properties which are sorted by key
Compares performances of different lists such as
ArrayList
and Array
.The spacecraft
Implements a spacecraft-like movement.
A spherical grid
Holds the geometry, color, and texture information for drawing 2D sprites using
Batch
.Deprecated.
Move Sun to star group
Loads the star cluster catalogs from CSV files or STIL data sources.
A particle group which additionally to the xyz position, supports color and
magnitude.
Loads and writes star groups.
Loads and writes star groups using java's default
ObjectOutputStream
and
ObjectInputStream
through SerializedDataProvider
.A position that never changes
A position that never changes
The
StdRandom
class provides static methods for generating
random number from various discrete and continuous distributions,
including Bernoulli, uniform, Gaussian, exponential, pareto,
Poisson, and Cauchy.Full OpenGL GUI with all the controls and whistles.
Loads VOTables, FITS, etc.
Contains the infrastructure common to all multi-file octree loaders which
streams data on-demand from disk and unloads unused data.
The daemon loader thread.
Wee utility class to check the operating system and the desktop environment.
A
TabbedPane
widget not full featured but somewhat reusable.The style for a
TabbedPane
.A
TabSelectionChangeListener
for a TabbedPane
widget.Produces a plot of ColorXP (BP-RP) vs log(Teff)).
TessellationShaderProviderLoader<T extends TessellationShaderProviderLoader.TessellationShaderProviderParameter>
A validator that compares the current value to the value of the
given text fields (lessThan and greaterThan).
Loads images from texture atlases created by TexturePacker.
A TextureAtlas must be disposed to free up the resources consumed by the backing textures.
A TextureAtlas must be disposed to free up the resources consumed by the backing textures.
Describes the region of a packed image and provides information about the original image before it was packed.
A sprite that, if whitespace was stripped from the region when it was packed, is automatically positioned as if whitespace
had not been stripped.
Defines a rectangular area of a texture.
Class that returns the thread indices.
An enumeration to distinguish between the different times that attitude can be expressed
in.
A small class to convert between GaiaTime/TCB and OBMT transparently.
Gaia Data Model.
The HUD UI at the top of the regular view
Uses the default
Math
library.Simple impelementation of a trio of objects.
Simple two-way hashmap implemented with two maps.
Very naive class that represents and UCD and does the parsing.
Parses the ucds of a star table and builds some metadata on
the relevant quantities for Gaia Sky (position, proper motion, magnitudes, colors, etc.)
Implements an unsharp mask filter.
Fast approximate anti-aliasing filter.
Popup window that informs the user of new updates.
Encapsulates a 2D vector.
Vector of arbitrary precision floating point numbers using ApFloat.
Copy of libgdx's Vector3d class using 64-bit floating point numbers.
Encapsulates a general vector.
Convenience class for working with OpenGL vertex arrays.
A
VertexData
implementation based on OpenGL vertex buffer objects.
A
VertexData
implementation based on OpenGL vertex buffer objects.
A
VertexData
implementation that uses vertex buffer objects and vertex array objects.Renders vertices using a VBO.
Represents a group of vertices which are sent to the GPU in a VBO
Compares entities.
Responsible for initializing the VR system, managing rendering surfaces,
getting tracking device poses, submitting the rendering results to the HMD
and rendering the surfaces side by side to the companion window on the
desktop.
Space in which matrices and vectors are returned in by
VRContext.VRDevice
methods taking a VRContext.Space
.Axes ids on VR controllers
Button ids on VR controllers
The role of a
VRContext.VRDevice
of type VRContext.VRDeviceType.Controller
Represents the pose of a
VRContext.VRDevice
, including its transform,
velocity and angular velocity.Type of a
VRContext.VRDevice
Welcome screen that allows access to the main application, as well as the dataset manager and the catalog selection.
Implements a zooming effect: either a radial blur filter or a zoom filter is used.