Inroducing SSCore: an open-source C++ astronomy library
Hello, space friends! It is both easter and Yuri’s Night. That means it’s time for something new, and something spacey.
As we continue to develop Orbitrack and other space-related apps, we’re trying something new: open-sourcing part of our code. If you ever wanted to find out how our apps work under the hood, now you can! This rewrite of our C++ code base will make its way into our products over the coming months. In the meantime … enjoy. We’re happy to share this code with the astronomical community, and look forward to your suggestions!
Without further ado:
Here are some notes from the main README file at the above link:
SSCore is Southern Stars’ astronomical core code and data library. It contains routines for astronomical calculations like time conversion, coordinate transformation, orbital mechanics, lunar and planetary position computation. It also contains functions for importing, storing, and combining data from a variety of astronomical catalogs.
SSCore is written in highly portable, modern C++. It has been tested on MacOS, iOS, Android, Linux, and Windows. It uses common STL types and language features (string, vector, map; operator overloading) and stack-based memory management wherever possible to produce compact, highly efficient, optimized code.
This repository also includes simple test programs which serve as examples of how to use the API. Build environments for MacOS, iOS, Android, Windows, and Linux are included. The iOS version includes a plain C wrapper for the C++ classes which makes them useable from Swift. The Android version contains Java wrappers and JNI code which allows the C++ classes to be called from either a Java- or Kotlin-based Android environment.