Commit Graph

58 Commits (86f2aab284ea0f9ad243a74b684ea071b5aab73b)

Author SHA1 Message Date
Hleb Valoshka 50deb54bff Remove unneeded fs::path.string() conversions 2021-12-28 21:14:29 +01:00
Andrew Tribick d7b896c013 Remove pre-C++17 Eigen alignment code 2021-12-28 21:14:29 +01:00
Hleb Valoshka 14af83a391 Implement Logger to replace raw cerr/cout and DPRINTF usage 2021-12-20 17:54:50 +03:00
Andrew Tribick 43f0cc416e Fix spelling of 'opening' 2021-11-14 12:12:52 +01:00
Andrew Tribick dc2a506839 Remove unused celmath files 2021-11-08 23:29:00 +01:00
Andrew Tribick ec232b7fad Fix for debug builds
- Include fmt/ostream.h in debug.h to allow formatting filesystem paths
- Avoid including headers via debug.h on non-debug builds
2021-10-26 10:17:48 +03:00
Hleb Valoshka ccd01c460f Fix fs::path printing using fmt 2021-10-23 12:15:01 +03:00
Hleb Valoshka 42790d9013 Replace deprecated fmt::fprintf calls 2021-10-19 19:35:23 +03:00
Joseph C Wang 05cb7196b5 make it compile with fmt v8 2021-06-27 20:52:35 +03:00
Hleb Valoshka d394192999 Allow binary orbits without text source
Closes: #1088
2021-06-24 09:41:15 +03:00
Hleb Valoshka 03388d6d1d Add support for more JPL compatible ephemerides
Original patch was posted to https://celestia.space/forum/viewtopic.php?f=4&t=17282

====================================
Here comes the original description:
====================================
Before this update, the celestia code supports only JPL Big Endian
ephemerides DE406/DE405/DE200.

The big endian ephemeris DE406 comes in chunk of 300 years. If you
want to concatenate several pieces, using the software provided by JPL
(which does not handle endianess), you need a big endian platform. The
little endian DE406 comes in one piece of 6000 years, so you don't
even need to concatenate this one.

This commit adds the following:
- support for both endianess with autodetection of endianess
- support for all JPL DE ephemeris (from DE200) with autodetection of
record size.
- support for JPL DE compatible ephemeris such as the INPOP ephemeris
from Paris observatory (only the ephemeris files in the legacy JPL DE
compatible format and with timescale TDB, not the INPOP native format,
or the TCB files). http://www.imcce.fr/inpop/download10e.php

The method to autodetect ephemeris type, record size and endianess is
based on the CALCEPH software.
It would probably be better if possible to wrap around the CALCEPH
library (so that it would also support INPOP native format) but this
would be more work.

In addition to the ephemeris number and the start and end date, the
record size and endianess are also printed to the log (which you get
by pressing the tilde key).
If the ephemeris is an INPOP ephemeris, then the ephemeris number is
not printed to the log: it just says "INPOP".

It has been tested with:
- DE406 big endian
- DE406 little endian
- DE405 big endian
- DE423 little endian
- INPOP10A little endian
on Linux/x86_64.

However, no accurate regression testing has been performed. It has
only been tested visually that the planets orbits do not look wrong
and that the log is reporting the correct endianess, record size and
ephemeris name.
2021-06-16 15:38:51 +03:00
Hleb Valoshka 5af65a58f3 [cmake] Remove cotire usage
* It doesn't work with cmake >= 3.12 and M$ VC++ (not a big issue)
* It doesn't work with extern "C" properly (blocks FFMPEG)
* It's unmaintained
2021-06-06 08:44:21 +03:00
Hleb Valoshka 1c668d3d7f Fix warnings reported by clang/gcc 2020-06-20 10:11:09 +03:00
Hleb Valoshka ef74883114 Set ios::binary for xyzvbin files 2020-04-09 13:43:52 +03:00
Hleb Valoshka fb4bede3d1 Allow building without NLS 2020-02-15 00:20:13 +03:00
Dan Church 5df1bebb66 Fix missing header (GCC 4)
`clog` is no longer a built-in and requires iostream.
2020-02-11 20:42:38 +03:00
Hleb Valoshka 7f0513e3d3 Fix scripted orbits and rotations (Closes: #576) 2020-01-09 19:11:07 +03:00
Hleb Valoshka e4e1a0ddc5 Remove deprecated C++ features
std::unary_function & std::binary_function were deprecated in C++11
and removed in C++17
2019-11-30 22:45:25 +03:00
Li Linfeng 7cff1728a3 fix warnings 2019-10-14 17:41:03 +08:00
Li Linfeng 9c371c891c define macros for print levels and avoid direct use of fmt::printf 2019-08-31 13:32:44 +08:00
Hleb Valoshka b6b543438d Port to filesystem API 2019-08-16 18:11:24 +03:00
laikh cfdda11bf6 Move cmdparser.*, command.*, and execution.* from celengine to celestia, modify celephem to OBJECT library and merge the objects in the celengine library, fix Spice dependency 2019-08-13 11:24:37 +03:00
Hleb Valoshka 0e2ee08c42 Use fmt::printf instead of iostreams 2019-06-20 13:02:27 +03:00
Hleb Valoshka 9f6cdadee3 Drop support for ancient Lua 5.0 2019-06-06 11:58:28 +03:00
Hleb Valoshka f3a73dae71 Move math code into celmath namespace 2019-05-20 10:48:04 +03:00
Hleb Valoshka 81aa6f43bc Remove support for old vector math 2019-03-16 18:21:50 +03:00
Hleb Valoshka 187e4418f2 Spice's csupport is not required 2019-01-31 13:13:40 +03:00
Hleb Valoshka f039f55963 [cmake] add cspice support 2019-01-19 21:55:09 +03:00
Hleb Valoshka 196ec6dc5b Add include<cstdint> to xyzvbinary.h 2019-01-19 00:57:18 +03:00
Hleb Valoshka f11a116de5 Move __BYTE_ORDER__ definition for win32 to celutil/bytes.h 2019-01-19 00:57:18 +03:00
Hleb Valoshka a6b50bb25a Binary XYZV format implementation (Closes: #168) 2019-01-15 20:32:38 +03:00
Hleb Valoshka 39e5372dd2 [cmake] Don't install static libraries 2018-12-01 01:02:14 +03:00
Hleb Valoshka 549a646c67 Initial cmake implementation 2018-11-29 10:18:26 +03:00
Hleb Valoshka 0956422bcf Iterator fix 2018-11-27 11:21:56 +03:00
Hleb Valoshka eab70c96cb Fix more coverity issues
Mostly uninitialized variables plus one memory leak
2018-10-30 23:52:19 +03:00
Hleb Valoshka 1fda8e35f0 Fix warnings found by PVS
- 1 copy-paste error
  - 1 nullptr dereference
  - fixed self-assignment in Mesh::VertexDescription::operator=
  - a few missing delete
  - all other are checks for nullptr after new
2018-10-28 22:00:27 +03:00
Hleb Valoshka 8685b114a3 Cleanup warnings found by clang++ 2018-10-18 21:50:41 +03:00
Hleb Valoshka 363abc40f3 Use libfmt instead of C-style & iostream workflow
TODO: check StarDatabase::getStarName
2018-10-17 22:19:03 +03:00
Hleb Valoshka f5fee44693 Cleanup includes 2018-10-07 13:38:25 +03:00
Hleb Valoshka 5f05bd711a Remove autotools files 2018-10-07 13:38:24 +03:00
Hleb Valoshka 27e39aa4c3 Use c.push_back instead of c.insert(c.end,...) 2018-09-22 23:42:03 +03:00
Hleb Valoshka 73638c116d Remove basictypes.h and use standard c++11 types 2018-09-22 23:42:03 +03:00
Hleb Valoshka b082d5f47f Automatically convert to c++11 using clan-tidy
+ manual cleanups
2018-09-22 23:42:02 +03:00
Hleb Valoshka 5a5b06481f Fix the most serious fixes found by coverity
… resource leaks, null pointers dereference
2018-09-22 23:41:58 +03:00
Hleb Valoshka 882e4ecf28 fix whitespaces and indents
trailing spaces are removed
tabs are replaced with 4 spaces

# Conflicts:
#	src/celengine/cmdparser.cpp
#	src/celengine/command.cpp
#	src/celestia/celestiacore.cpp
#	src/celestia/celestiacore.h
#	src/celestia/qt/qtappwin.cpp
#	src/celestia/qt/qtglwidget.cpp
#	src/celestia/win32/winmain.cpp
2018-09-22 23:41:57 +03:00
Hleb Valoshka 0546fd1bec update for newer automake 2018-09-22 23:41:57 +03:00
Joseph C Wang 3fedf866ff Add Lua 5.2 support
see https://bugzilla.redhat.com/show_bug.cgi?id=1045632:wq
2018-09-22 23:41:56 +03:00
Dmitry Brant a25d26720c Adapt code to Eigen 3.3
No functional changes, just adapting to API changes in Eigen.
2018-09-22 17:08:07 +03:00
Andrew Tribick 207823b1d8 Patch to fix valgrind errors and gcc warnings from Daniel K.O.
Use #ifdef FOO instead of #if FOO
Unused function parameter names
Uninitialised member in FrameTree
Memory read after deallocation in ReferenceFrame
Unmatched new[]/delete[] in StarDatabase
Uninitialised temperature in StarDatabase
Uninitialised member of RenderListEntry: isOpaque
Fix for convoluted code in renderer
2012-04-26 19:50:22 +00:00
Pat Suwalski 157ded3afa Remove executable property. 2011-01-21 22:47:09 +00:00