Commit Graph

186 Commits

Author SHA1 Message Date
jkriege2
8b6e420c56 bugfix: added #define _USE_MATH_DEFINES needed for msvc to use M_PI, M_LN2... 2022-07-21 12:06:22 +02:00
jkriege2
25c55391ab NEW: Using precompiled headers in CMake-build to speed up build times 2022-07-20 22:31:42 +02:00
jkriege2
5087970c79 updated copyright notice 2022-07-19 13:40:43 +02:00
jkriege2
ece49f2d2b FIXED issue #80: "Bug with multiple inheritance with Q_GDAGET with CLANG", thanks to user:igormironchik, caused by QTBUG-104874 2022-07-19 10:24:52 +02:00
jkriege2
d8c1524f61 partly solve issue #81 by making print-support optional. In addition it can be switched off with the CMake-option JKQtPlotter_BUILD_FORCE_NO_PRINTER_SUPPORT=ON 2022-07-18 23:33:20 +02:00
jkriege2
a1a2fcdd3f clean-up of library dependencies 2022-07-18 15:01:12 +02:00
jkriege2
5bb0235b33 added QIcon-generating functions to jkqtcommon 2022-06-02 21:21:51 +02:00
jkriege2
03497b6c31 changed JKQTPColorDerivationMode from an ENUM to a STRUCT, which extends its capabilities significantly 2022-06-02 21:21:17 +02:00
jkriege2
b8088ccc69 improved/bugfixed doxygen documentation 2022-04-24 13:23:59 +02:00
jkriege2
e784a6d89f fixed doxygen comment 2022-04-22 22:19:24 +02:00
jkriege2
b8f1ac7edb fix for Qt < 5.14 2022-04-22 20:53:54 +02:00
jkriege2
687c23a654 bugfixes for QT5 build after QT6 modifications 2022-04-22 15:20:58 +02:00
jkriege2
0a5fa42470 more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
jkriege2
6bcb0b9a9f Merge branch 'master' into add_qt6_compatibility 2022-04-21 21:28:49 +02:00
jkriege2
fbbc814331 using automatic memory management instead of local malloc()/free() pairs 2022-04-21 21:25:37 +02:00
jkriege2
3357ca4240 fixed issue #56: exponent-labels were 0 below ~1e-16 ... reason was using <std::numeric_limits<double>::epsilon() instead of <std::numeric_limits<double>::min() for checking close to zero 2022-04-21 21:24:45 +02:00
jkriege2
b4eda85bfc fixed two possible int-overflows 2022-04-21 13:59:49 +02:00
jkriege2
4ded1a2028 first round of Qt6 compatibility changes 2022-04-21 10:57:24 +02:00
jkriege2
8835febb96 modified CMakeLists.txt to match Qt6 2022-04-18 23:10:05 +02:00
jkriege2
725d19d616 using Qt's dllexport/import-macros 2022-04-18 22:00:41 +02:00
jkriege2
d51d47b2f4 requiring higher cmake-version, due to CMP0076
using CMAKE_CURRENT_LIST_DIR instead of CMAKE_CURRENT_SOURCE_DIR
2022-04-18 22:00:31 +02:00
jkriege2
2697e66e31 CMakeLists.txt: using target_sources() and making CPP-files private! 2022-04-18 14:19:35 +02:00
Stephan Oostveen
e7ca3db4de Bug: JKMathParser exception return local variable
Fix the what() function which returned a pointer to a local variable.
2021-03-23 21:01:27 +01:00
Patrick Stewart
872b31bc2d Add missing #include 2020-10-02 14:41:42 +01:00
Patrick Stewart
29e970ed6f Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR
This means that the project can be used with CMake fetchcontent / add_subdriectory
2020-10-02 14:40:47 +01:00
jkriege2
58403f8905 improved/breaking change: image plots now manage CONST-data, not plain pointer arrays... This is OK, since the raw data is never owned nor modified by the plot, only referenced! 2020-09-28 19:24:17 +02:00
jkriege2
0faa51c9f5 comment formatting fix 2020-09-21 13:52:13 +02:00
jkriege2
95d885bc2c - bugfix: improved handling of DRAGZOOM-UserAction for log-log plots
- code (style) improvements
2020-09-08 20:15:33 +02:00
jkriege2
f77bc97ca5 - cleanup of class-hierarchy of evaluated functions
- added slots for several properties of evaluated functions
- updated examples
2020-09-07 20:58:20 +02:00
jkriege2
8c0c8bf62e simplification/unification: JKQTPXFunctionLineGraph and JKQTPYFunctionLineGraph now use JKQTPAdaptiveFunctionGraphEvaluator to generate sample points 2020-09-05 12:44:02 +02:00
jkriege2
c57c672f78 new: a new graph class JKQTPXYFunctionLineGraph draws parametric 2D curves (f(t) -> [x,y]) 2020-09-04 23:47:03 +02:00
jkriege2
33a9cb5b2d bugfix: straight lines in pie and chord were not drawn as curve in DrawMode=DrawAsMathematicalCurve 2020-09-03 23:28:48 +02:00
jkriege2
279ef7880a - improved: geometric objects now use an adaptive drawing algorithm to represent curves (before e.g. ellipses were always separated into a fixed number of line-segments)
- improved: constructors and access functions for several geometric objects (e.g. more constructors, additional functions to retrieve parameters in diferent forms, iterators for polygons, ...)
- new: all geometric objects can either be drawn as graphic element (i.e. lines are straight line, even on non-linear axes), or as mathematical curve (i.e. on non-linear axes, lines become the appropriate curve representing the linear function, connecting the given start/end-points). The only exceptions are ellipses (and the derived arcs,pies,chords), which are always drawn as mathematical curves
2020-09-03 23:08:52 +02:00
jkriege2
87755ce515 diverse code improvements, increased copyright year to 2020 2020-08-26 12:58:23 +02:00
jkriege2
5ad9ebdcbb code styling improvements 2020-08-26 11:43:44 +02:00
jkriege2
35000a8e38 some fixes to documentation and geometry example 2020-08-23 13:58:47 +02:00
jkriege2
4e1c09c24b improved arrows in geometric elements:
- JKQTPGeoLine, JKQTPGeoPolyLines and JKQTPGeoInfiniteLine support decorators
- improved decorator drawing
- more decorator types
- improved example geometry
- added specific example geo_arrows
- improved documentation
- code cleanup
2020-08-23 13:13:53 +02:00
jkriege2
9cba3fec25 bugfix: removed compiler warning 2020-08-21 18:40:30 +02:00
jkriege2
b3f4c64564 added geometric plot JKQTPGeoArrow object to draw arrows 2020-08-21 18:31:58 +02:00
jkriege2
7e9bad29b4 fix for issue #45:
- for Qt 5.15: added missing #include statements that became necessary since Qt 5.15
- for Qt 5.15: fixed use of several deprecated functions
- for Qt 5.15/6: removed usage of QMatrix
2020-08-14 14:12:59 +02:00
jkriege2
eb7fd1d524 some bugfixes for VStudio NOMINMAX-problem ... 2020-06-29 08:01:40 +02:00
jkriege2
52d3349199 improvements in CMake setup:
- removed more global settings (these are now target-specific)
- exporting now Config.cmake, which contains find_package(Qt) and loads a separate Targets.cmake
2020-06-28 15:53:26 +02:00
jkriege2
04219ec6d9 fixed issue #37: installing README/LICENSE files now to $PREFIX/doc/JKQtPlotter, instead of $PREFIX/doc/ 2020-06-28 09:53:33 +02:00
jkriege2
b22b4ca935 Fixed Bug #43: jkqtp_format() had undefined behaviour, because va_start was called with a ref-parameter, which does not work. Now there are 4 overloaded template variants. See https://github.com/jkriege2/JKQtPlotter/issues/43 2020-06-27 14:35:45 +02:00
jkriege2
d9086e99d2 bugfix for https://github.com/jkriege2/JKQtPlotter/issues/38: BUFFER Overflow due to access behind LUT-size 2020-01-06 18:17:41 +01:00
jkriege2
2ab5b099d8 fixed typo which leads to Linux build fails! 2019-11-24 13:05:57 +01:00
jkriege2
10965843da JKQTPHighResTimer now uses C++11 chrono lib as fallback 2019-11-24 12:21:06 +01:00
jkriege2
9a667b9c22 several compiler warnings fixed 2019-11-24 12:20:43 +01:00
jkriege2
54f7dba0bf bugfix: removed some unneeded functions in mathparser 2019-11-24 10:52:24 +01:00
jkriege2
56660e2f4b fixed several compiler warnings (mostly Visual Studio): clean-up of use of math constants M_PI ... and j0()/j1()/...-functions etc. 2019-11-24 10:42:44 +01:00
jkriege2
4c9db88a2e some more fixes do MSVC build 2019-11-21 21:42:10 +01:00
jkriege2
307f477626 fix issue #19: got rid of jkqtpArrayMalloc(), jkqtpArrayCalloc(), jkqtpArrayFree() (which were a remenant of QuickFit 3 and not really portable or useful) 2019-11-18 16:15:49 +01:00
jkriege2
f3fa587541 reworked CMake build system ... now JKQT...Config.cmake-files are written into the correct directory 2019-11-18 15:59:06 +01:00
jkriege2
d494407e76 fixed some compiler warnings (qSort is deprecated ... using std::sort instead) 2019-11-18 13:08:42 +01:00
Dan Timson
3a1b536c58 Minor documentation clarifications 2019-09-16 18:05:40 +01:00
Vilas Chitrakaran
95ffeadcf7 compiles for Qt5 in Kde Neon 5.16.4 2019-08-23 13:21:38 +01:00
jkriege2
686fb1eeb1 using mix-in class JKQTPColorPaletteWithModifierStyleAndToolsMixin now also in JKQTPMathImage ... 2019-07-31 22:10:26 +02:00
jkriege2
4347d27c04 * reworked color-palette-system:
1. added several new (JKQTPMathImageBone, JKQTPMathImageCool, JKQTPMathImageCopper, JKQTPMathImageAutumn, JKQTPMathImageSeismic, JKQTPMathImageTerrain, JKQTPMathImageViridis, JKQTPMathImageMagma, JKQTPMathImageInferno, JKQTPMathImagePlasma)
  2. reworked LUT-types (now a QVector, instead of a C-array, suing malloc)
  3. reworked available functions to build LUTs (cleanup, more options, clearer names)
  4. added functions to load palettes from files
  5. Improved documentation
* added example for user-controlled color palettes
2019-07-28 16:30:50 +02:00
jkriege2
01b6d7cee6 JKQTMathText: improved font-handling system + new fraktur and caligraphic, as well as special math sans/serif fonts-classes 2019-06-30 17:34:41 +02:00
jkriege2
933d374533 + added license/readme output to INSTALL-target in CMake
+ added example demonstrating how to link against a CMake-build of JKQTPlotter
+ improved documentation
2019-06-22 16:42:42 +02:00
jkriege2
34b31812ba + bugfixed DLL-export when building shared libraries
+ CMAKE now properly adds the Build-type when building libraries
+ removed some more compiler warning
2019-06-22 14:21:32 +02:00
jkriege2
77d799a742 - removed many compiler warnings
- enabled compiler-warnings in CMake-build
- several bugfixes (also to appveyor.yml)
- removed some function from JKQTBasePlotter, which were (messy) shortcuts to adding graphs
2019-06-21 21:48:14 +02:00
jkriege2
fb5b497356 - several bugfixes (doc etz.)
- decoration of library names in CMake-builds
- renamed advancedlineandfillstyling to advplotstyling to solve problems with too long filenames
2019-06-21 13:44:49 +02:00
jkriege2
7311948d53 using CMake now to build examples
restructuring/massive renaming to make this possible
2019-06-20 22:24:47 +02:00
jkriege2
fae6b28a58 further reorganizations of code 2019-06-20 16:25:29 +02:00
jkriege2
60999478f8 added CMake build scripts for libraries + some necessary reorganizations 2019-06-20 15:18:58 +02:00
jkriege2
a390030db4 Merge branch 'master' into cmake_build 2019-06-20 10:28:53 +02:00
jkriege2
d9e9a5aa67 added adaptor functions for violin plots 2019-06-18 19:36:54 +02:00
jkriege2
56d59b1760 bugfixed auto-ranged KDE to include the minimum and maximum value in the output 2019-06-16 19:14:09 +02:00
jkriege2
baab796541 bugfixes to documentation 2019-06-13 13:00:27 +02:00
jkriege2
2b5a30a668 statistics library: added functions for grouped statistics and adaptors for them
added example for grouped statistics
some improvements to documentation
2019-06-13 10:29:12 +02:00
jkriege2
6d95c5c64c split statistics library by topic into several .H/.CPP-pairs 2019-06-12 12:58:47 +02:00
jkriege2
8abb2492fa statistics library: added functions for 2D histograms and 2D kernel density estimates
statistics library: added adaptor functions for 2D histograms and 2D kernel density estimates
added examples for the two above
2019-06-11 18:06:03 +02:00
jkriege2
9ff9076e63 moved basic polynomial functions to jkqtpmathtools.h
renamed jkqtptoolsdebugging.h to jkqtpdebuggingtools.h
added jkqtpstatWeightedCoefficientOfDetermination()
2019-06-02 15:39:10 +02:00
jkriege2
ad38ac47f2 added weighted sum of deviations (chi-square) and coefficient of determination (R^2) to statistics library
added log regression model to statistics library
added output of R^2 and chi^2 to regression adaptors (output in graph label)
bugfixed some documentation typos
2019-06-02 14:17:49 +02:00
jkriege2
09237a3d55 bugfixed doxygen docu 2019-06-02 12:09:05 +02:00
jkriege2
2d0b1e7935 added regression, IRLS robust regression, weighted regression and polynomial fitting/evaluation to statistics library
added example for regression, IRLS robust regression, weighted regression and polynomial fitting
2019-06-01 18:15:04 +02:00
jkriege2
6fe42748ed improvements to iterator interface (full random access iterators, erase-remove-idion)
added specific example for the iterator interface
2019-05-31 14:51:01 +02:00
jkriege2
c56b02998f improvements to documentation structure 2019-05-30 11:52:48 +02:00
jkriege2
fdc4a1deb9 bugfixes (added missing DEFINE-compiler-flags for Visual C++, doxygen warnings/errors removed) 2019-05-30 11:19:56 +02:00
jkriege2
ff489e9fac bugfixes 2019-05-30 09:48:51 +02:00
jkriege2
356cc34349 new: Statistics library with functions to calculate histograms, regression, kernel density estimates, ... including a new example
new: iterator interface and improved documentation for JKQTPDatastore
reorganization of library (better separation of common code in jkqtpcommon and other code e.g. in jkqtplotter or jkqtmathtext)
2019-05-29 22:40:02 +02:00
jkriege2
212233aed6 Split of jkqtcommon/jkqtptools.h into several smaller units 2019-05-23 07:38:07 +02:00
jkriege2
5a4a778faf improved contour plots + added example for contour plots
split contour plot into two variant, one for C-array-data and one for image column data
improved doxygen annotation
2019-05-19 15:22:56 +02:00
jkriege2
04aaa01333 first test CMakeLists.txt 2019-05-18 13:23:38 +02:00
jkriege2
5f62722d38 code reorganization 2019-05-18 13:22:46 +02:00