Third Party Libraries

From LabRPS Documentation
Revision as of 13:21, 29 September 2022 by LabRPS (talk | contribs) (→‎Overview)
Jump to navigation Jump to search

Overview

These are libraries which LabRPS uses as third party dependencies during compilation. They are usually dynamically linked libraries and have an extension .so in Linux/MacOS and .dll in Windows, and are accompanied by their header files .h or .hpp or similar. The dependencies need to be installed in the system before proceeding with compilation; see compile on Linux, compile on Windows, and compile on MacOS for more information.

Links

Qt >= 5.4 https://www.qt.io/
Qwt >= 5.1.0 http://qwt.sourceforge.net/index.html/
QwtPlot3D >= 0.2.6 http://qwtplot3d.sourceforge.net/
GSL >= 1.8 http://www.gnu.org/software/gsl/
muParser >= 1.28 http://beltoforion.de/en/muparser/
Eigen3 >= 3.0 http://eigen.tuxfamily.org/index.php?title=Main_Page
Zlib >= 1.0 http://www.zlib.net/, https://github.com/madler/zlib

Details

Qt

Version: 4.1 or higher

License: GPL v2.0/v3.0 or Commercial; from version 4.5 on also LPGL v2.1.

Qt is one of the most popular graphical user interface (GUI) toolkits available in the open source world. LabRPS uses this toolkit to draw the interface of the program. For this, the Qt Designer application is very useful as it allows developers to quickly draw the dialogs and windows, export them as XML resource files, and then load these interfaces at runtime.

Further information about Qt libraries and their programming documentation are available at Qt Documentation.

Qwt

Version: 5.1.0 or higher

License: Qwt License, Version 1.0

The Qwt library contains GUI Components and utility classes which are primarily useful for programs with a technical background. Beside a framework for 2D plots it provides scales, sliders, dials, compasses, thermometers, wheels and knobs to control or display values, arrays, or ranges of type double. It is used in LabRPS for 2D graph.

QwtPlot3D

Version: 0.2.6 or higher

License: zlib licensed

QwtPlot3D is not a program, but a feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets for programmers. The library is for 3D graph in LabRPS.

GSL

Version: 1.8 or higher

License: GNU General Public License

The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive test suite.

muParser

Version: 1.28 or higher

License: GNU General Public License

The main objective muparser is to provide a fast, easy and secure way of doing this. muparser is an extensible high performance math expression parser library written in C++.

Eigen3

Version: 3.0 or higher

License: Starting from the 3.1.1 version, it is licensed under the Mozilla Public License 2.0. Earlier versions were licensed under the GNU Lesser General Public License 3.

Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

If you just want to use Eigen, you can use the header files right away. There is no binary library to link to, and no configured header file. Eigen is a pure template library defined in the headers.

Eigen is used in LabRPS for many vector operations in 3D space. To learn more, visit Eigen homepage.

Zlib

Version: 1.0 or higher

License: zlib license

Zlib is designed to be a free, general-purpose, lossless data-compression library for use on any computer hardware and operating system. It implements the DEFLATE compression algorithm commonly used in .zip and .gzip files.

A copy of this library is included in the source code of LabRPS so it is compiled together with it.