All Classes and Interfaces
Class
Description
The help and about window.
Base abstract implementation for gamepad mappings.
Base implementation for top-level GUIs.
Abstract implementation of
ISceneLoader
, which contains some common utilities to all implementers.Represents a column type.
VSOP87 coordinates using an implementation based on binary data files.
Window with the controls necessary to add a new shape around an object.
Represents an arbitrarily large sequence of affine transformations as a list of 4x4 matrices.
Abstract class which contains attributes and methods common to all API modules.
This is the main entry point to the API v2 of Gaia Sky.
An archetype is a blueprint to build an object instance in the ECS.
Holds the archetypes, loaded from
archetypes.json
.Utilities to work with arrays.
Astronomical utilities.
Component that contains an attitude provider that spits out a quaternion for each time.
Utility class for manipulating knots and splines together
Maps attribute names to components, so that the data loading is seamless.
Public API definition for the
BaseModule
, which contains methods and functions that
perform essential or basic functionality.The base module contains methods and calls that are of global nature.
A window that downloads a list of datasets (
DatasetDesc
) sequentially.Reads binary files using the infrastructure under
BinaryIO
.This class represents a BinaryIO interface, which allows for reading and writing binary data.
Implements the base data loading for binary versions 0, 1, and 2.
Loads and writes binary data into particle groups (
ParticleType.PARTICLE_EXT
).Naive implementation of a binary search tree using
BinarySearchTree.BinaryNode
s, which contains references
to the two (possible) children.Basic node stored in unbalanced binary search trees
Note that this class is not accessible outside
of this package.
Implements data writing for versions 0 and 1.
Version 1, in contrast with 0, excludes Tycho identifiers from the format.
The binary version 2 is more compact than version 0 and 1, as it uses double precision only for positions.
The binary version 3 includes the effective temperature, t_eff, and does not have the hip number as a
floating point number, as it is already in the names array.
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.
Parameter to be passed to
AssetManager.load(String, Class, AssetLoaderParameters)
if additional configuration is
necessary for the BitmapFont
.Implements an arbitrarily large array of bits using an array of long integers.
Blends the scene render target with the layer render target, which contains lines, labels, grids and
other non-scene elements.
Displays information of a given bookmark.
Manages bookmarks for the application.
Type of bookmark enum.
This class is used to store a frame that has been buffered and will be rendered later.
Public API definition for the camcorder module,
CamcorderModule
.The camcorder module contains methods and calls related to the camera path subsystem and
the camcorder, which enables capturing and playing back camera path files.
Public API definition for the camera module,
CameraModule
.
Minimalistic grouping strategy that splits decals into opaque and transparent ones enabling and disabling blending as needed.
Builds the pane that contains information on the current camera state.
Convenience enum to describe the camera mode
The camera module contains methods and calls that modify and query the camera system in Gaia Sky.
Contains the in-memory data for a specific camera path.
Manager for cascaded shadow maps.
Saves the metadata on a particular catalog or dataset loaded into Gaia Sky, and implements
some common operations like highlighting.
Central manager for
CatalogInfo
objects.Double precision counterpart to the Catmull-Rom spline path.
The class
ChebyshevCoefficients
carries the
Chebyshev coefficients of the ephemerides of a specific body.The class
ChebyshevCoefficients.Coefficients
contains the begin times and the
Chebyshev polynomial coefficient data for the three dimensional vectors of
the time granules.The class
ChebyshevCoefficients.Header
contains the header data of a set of
Chebyshev polynomials describing the structure of the
ChebyshevCoefficients.Coefficients
for position and velocity.This class provides coordinates for a single body.
The class
ChebyshevLoader
loads Chebyshev
polynomial coefficients files into an instance of
ChebyshevCoefficients
.A simple label that executes a
Runnable
when it is clicked.Implementation of several colormaps.
Utility functions related to colors.
Implementation of coordinates that contains more than one timed coordinates object.
The graphical user interface that displays and manages the console window at the bottom of the main window.
Gets notifications and other kinds of messages from the event manager and logs them to the console.
Manages the Gaia Sky console/terminal, keeps its history and more.
A single console message.
Type of console message.
Random constants holder.
Consumer interfaces for more than 2 objects, missing in the standard library.
A generic container pane backed by a
Table
.Listener used to get events from
ContextMenu
.Listens to controller connection and disconnection events and passes them on to the event manager.
Manages crashes in Gaia Sky by logging and saving stack traces.
Simple interface to display custom elements (messages, texts, textures), set
from the API.
API definition for the data module,
DataModule
.Pulls object local and remote information from the Wikipedia API and presents it to the
user in this window.
Checks the current data location for old or unwanted directories and offers to clean them up.
The data module provides calls and methods to handle datasets and catalogs.
Window to define filters for a dataset.
A window that displays information on a particular dataset.
A dialog that enables the loading of different types of datasets.
The dataset manager.
A window to define a sequence of transformation matrices to apply to a dataset.
Visual settings of a particular dataset.
This watcher controls and manages the progress and events produced by the download of a dataset.
System metrics and other stuff, typically displayed at the top-right of the screen.
Displays system metrics (runtime, frame rate, RAM usage, etc.) that are passed down through the
event manager in a nice little collapsible panel.
Utilities related to decals and billboards.
A wrapper around a double array to make it resizable and optionally ordered.
Ecliptic pole scanning has two modes: PRECEDING (revolving phase angle =
0) and FOLLOWING (revolving phase angle = 180 deg).
Gaia Sky main error dialog implementation.
This enum defines all the events in Gaia Sky.
This is the main manager of events within Gaia Sky.
Time frame options
Implementation of the Gaia Sky scripting API located at
IScriptingInterface
.Updates information coming from external sources regarding particular objects.
ECS families.
A high-performance map implementation that stores object keys and unboxed int values.
A high-performance map implementation that stores String keys and generic Object values.
The type of files that can be chosen with this file chooser
Viewport that uses an orthographic camera and a fixed width and height.
User interface active during rendering to still frames, both in the frame output mode, and screenshots (advanced mode).
Aggregates and manages all the panels and separate user interfaces in Gaia Sky.
Function interfaces missing in the standard library.
Gaia Sky application code.
Gaia Sky high-level asset holder.
Main entry point for Gaia Sky.
Program CLI arguments.
Executor service of Gaia Sky, backed by a
ThreadPoolExecutor
.Loads
GaiaSkyAssets
.A shader failed to compile.
Additional window that mirrors the main window implemented in
GaiaSky
.Listener for game mode, where the controls are done with the keyboard (WASD) and mouse.
Provides a way to navigate and edit the most important settings in Gaia Sky using a gamepad or a VR controller.
Contains mappings from actions to input targets for gamepads.
GeoJSON data loader.
API definition for the geometry module,
GeomModule
.The geometry module provides calls and methods to carry out geometrical operations directly
within the scripting system.
Implementation of a time frame provider that provides simulation times governed by a warp value, which informs
the speed at which time passes.
Contains resources that don't change during the runtime of the application.
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.
Public API definition for the graphics module,
GraphicsModule
.The graphics module contains methods and calls that modify and query the graphics and rendering system.
Defines the keys used in Gaia Sky.
A gamepad listener for GUI elements like windows and panes.
Keeps track of and manages the active user interfaces (
IGui
instances).Utilities for the Graphical User Interface.
This class mimics a user by sending commands through the event system.
Formats translation I18n files with missing keys from the model file (typically English).
Prints information on the translation status of Gaia Sky for each supported language.
Interface that defines an API that maps physical actions to gamepad input codes.
Input listener interface.
Contains utilities to convert monochrome images to RGB.
Index, which maintains dictionaries with name-object pairs.
Public API definition for the UI module,
UiModule
.The camera module contains methods and calls to access and modify the input system.
Utilities for the input system.
Holds temporary instanced model data.
API definition for the instances module,
InstancesModule
.The instances module contains methods and calls to access, modify, and query the connected instances
subsystem (primary-replica).
Class describing how to play and
Animation
.Listener that will be informed when an animation is looped or completed.
API definition for the interactive camera module,
InteractiveCameraModule
.The interactive camera module contains calls and methods that modify the camera using the interactive mode.
Kind of interpolation: for derivative, value or integral
Class that contains all vertex information the builder can use.
Definition of the public API (v1), which defines calls and command to interact with Gaia Sky.
Main JSON loader.
Defines keyboard bindings to actions.
A simple program action.
Controls inputs from the keyboard.
Represents a single camera keyframe.
Small utility class that registers and keeps track of when keys are pressed.
Component with attributes concerning labels.
Enum with states for the label display property.
Renders labels for all objects and entities.
This class updates the lights for each body according to their separation.
Implements a linear function for interpolation of real univariate functions.
Interface that displays when Gaia Sky is loading assets and catalogs.
Generates funny sentences from different chunks.
This interface manages the pop-up that appears when the mouse hovers over a location marker.
Manages the location log model.
A single location
The Gaia Sky logger.
Implementation of an LRU (least recently used) cache.
A fixed-capacity cache that uses a least-recently-used (LRU) eviction policy.
This class implements the LVLH (Local Vertical Local Horizontal) attitude.
Implements the gamepad/game controller listener in default mode.
Implements the mouse and keyboard listener in default mode.
Main post-processor of Gaia Sky, aggregating all post-processing effects for all render targets.
Contains component mappers for many types.
Manager for Gaia Sky master instances.
A generic 4x4 matrix transformation.
Provides information on system memory data.
Holds pairs of message and date for logs.
Simple interface to display the header and sub-header text elements, set
from the API.
Caches models of type
IntModel
by type and parameters.Holds information about the mode change pop-ups that appear when changing to some camera modes.
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.
Represents an APIv2 module.
Computation of Moon coordinates as written in "Astronomical Algorithms 2d Edition" by Jean Meeus (1998, ISBN 9780943396354).
The basic camera of Gaia Sky.
Constants in nature, mostly to convert units.
A 3x3 grid of texture regions.
The type of noise:
The pane at the bottom that displays log messages and other notifications.
This window provides a way to review and manipulate objects' internals.
Loads Gaia Sky LOD datasets backed by an octree.
The daemon loader thread.
A process that is parked and runs only once before it is removed.
Provider for orbital elements based data.
This class provides orbit data by using the coordinates provider of the attached
object, if any.
Aggregates children entities (typically orbits) so that they are treated as one,
especially in terms of GPU draw calls.
Implements the orbit data update operation for the orbits that need refreshing.
The orbit refresher thread.
The orientation is either a rigid rotation represented by
RotationComponent
, or
a quaternion orientation, represented by AttitudeComponent
.Loads instances of
OrientationServer
.API definition for the output module,
OutputModule
.The output module contains methods and calls that relate to the frame output system, the
screenshot system, and other types of output systems.
Enum to identify each side of a Cubemap
An image that keeps track of the given width and height.
Extension of libgdx's text field that incorporates some QOL improvements like built-in validation
or a clear button.
Data type that holds two objects.
This class contains utility methods to check the validity of different parameter types.
Record class to store particles of all kinds.
Record class to store extended particles.
Contains the parameters for particle sets.
Initializer class for particle and star sets (
ParticleSet
, StarSet
.Renders particle sets as instanced triangles.
The task to update particle sets.
Record class to store star particles.
Enumeration to identify the type of record.
Record class to store variable stars.
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.
Holds data for point clouds.
A sample in the point cloud.
Generic data provider for point clouds that reads cartesian positions (XYZ) from a text file.
Render system that render single points.
The notifications interface shows messages as pop-up notifications at the top-right of the screen.
The preferences window exposes the system settings to the user.
Simple implementation of a priority queue.
Runnable to update the progress of an operation.
Quadruple-precision floating-point implementation.
Immutable, thread-safe version of
Quadruple
implemented as a Java record.Approximates some trigonometric functions using double-precision arithmetics.
Approximates some trigonometric functions using double-precision arithmetics.
Abstract orientation server that reads a list of times and quaternions from a file, and interpolates
them using a specific function defined in the subclass.
Orientation server that reads a list of times and quaternions from a file, and interpolates
them using
QuaternionDouble.nlerp(QuaternionDouble, double)
.Orientation server that reads a list of times and quaternions from a file, and interpolates
them using
QuaternionDouble.slerp(QuaternionDouble, double)
.A ray-marching shader to render an object or effect using ray-marching.
API definition for the reference system module,
RefsysModule
.The reference system module contains calls and methods to deal with reference system changes and other
useful utilities related to orientation.
Validator that checks that the given string matches a regular expression.
Loads and initializes shaders, fonts, batches and other resources used for rendering, especially
by
SceneRenderer
.Manages the rendering of each of the sides of a cubemap in the directions X, -X, Y, -Y, Z, -Z.
Projects a cubemap using a specific projection algorithm.
Renders all the 3D/stereoscopic modes.
Abstract render pass.
Contains common functions used by render systems.
View of an entity for rendering purposes.
Implements the REST server, which serves the APIS (
APIv2
and IScriptingInterface
) over HTTP(s).Displays icons informing of certain internal states of the application at the bottom of the screen.
The main scene, which contains the engine, the index, the archetypes, and more.
API definition for the scene module,
SceneModule
.Manages the main context menu that pops up on right mouse click.
Manages the overall scene loading form JSON files.
The scene module contains methods and calls that modify and query the internal scene in Gaia Sky.
Coordinates and manages all rendering operations in Gaia Sky.
Scripting server manager.
Holds the settings of Gaia Sky.
Holds configuration options related to the data files.
Graphics settings of Gaia Sky.
Settings that relate to the performance of the application.
Settings of the scene, organized into camera, particle groups, star, proper motion,
octree, renderer, crosshair, and initialization settings.
Settings of the camera system, such as speed, fov, etc.
Global settings for labels.
Settings of velocity vectors.
Star settings define visual and behavioral characteristics of stars.
Settings that apply to star and particle groups.
Threshold angles used in rendering.
This object holds all the data pertaining to the software version.
Contains utilities to initialize and manage the Gaia Sky
Settings
objects.Convert old settings (properties files) to new settings (YAML-based).
To be implemented by all settings object in the
Settings
.Generic operations that act on star and particle sets and are not tied to a singular instance.
Implements shader caching to disk.
Manager for slave Gaia Sky instances that connect to master instances.
User interface during spacecraft mode.
Holds the geometry, color, and texture information for drawing 2D sprites using
Batch
.Deprecated.
Contains the parameters for star sets.
Renders star sets as instanced triangles.
User interface in stereographic mode.
Loads data in VOTable, CSV and FITS formats using the STIL library.
Validates strings according to a list of banned characters.
Render pass for the sparse virtual textures.
Some handy system utilities and constants.
The style for a
TabbedPane
.Abstract interface item backed by a
Table
.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.
Utilities to manipulate strings and text.
API definition for the time module,
TimeModule
.Composition of
IBodyCoordinates
that contains a start and end time of validity.Displays the simulation time during clean mode (no-gui mode).
An interface that displays the current simulation time.
The time module contains methods and calls to access, modify, and query the time subsystem.
Generates tip strings.
Initializes entities that have a
TLESource
component.A utility to fetch and parse TLE (Two-Line Element) orbital data for a given spacecraft
from a remote URL and extract its orbital elements and epoch.
Holds parsed orbital elements for a spacecraft.
Holds attributes used to update an orbit/trajectory by fetching new data in TLE (Two-Line Element set) format from a URL.
Thread local variable holding
Vector3
.Thread local variable holding
Vector3D
.Displays system information in the welcome and loading screens.
A fixed-capacity data structure that maintains the top N elements by value, where N is defined by the buffer capacity.
The body representation type for this orbit/trajectory.
Orientation model for this orbit/trajectory.
Sampling strategy for the orbit component.
Initializes trajectory entities.
A simple data structure that holds three objects.
A map that allows forward and backward referencing.
Represents the UCD (universal content descriptor) for a column of a table.
API definition for the UI module,
UiModule
.The UI module contains calls and methods to access, modify, and query the user interface.
New version notification pop-up.
Renders variable star sets as instanced triangles.
A vector-3 that uses
Quadruple
, 128-bit floating point numbers, as components.Table displaying the version, build, and some more system information in a single line.
Gathers and provides information on video memory.
Renders models with arbitrary shaders, kept in a map.
This class provides coordinates for a single body.
Reads VSOP2000 data files.
VSOP2000 data for a single coordinate for a given body.
Loads the VSOP87 binary files and initializes the main class.
Manages the interface that shows up immediately after starting Gaia Sky.
A welcome GUI for VR mode.
Reflects the source device of this action.
Handles initialization and lifecycle of OpenXR.
Helper functions to use by the VR subsystem.
Loading status of the XR subsystem.
This interface is to be implemented by all agents that want to render to OpenXR.
Little zipping and unzipping handy functions.
STILDataProvider
.