Commit Graph

206 Commits

Author SHA1 Message Date
jkriege2
ebf034710b bugfix: parsed functions did not work properly 2020-09-09 11:45:33 +02:00
jkriege2
ba856b594f removed/breaking change: removed the overlay elements (derived from JKQTPOverlayElement), which were not very well set up and are more confusing than useful. 2020-09-09 11:26:04 +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
414e12920e - added further base-class JKQTPEvaluatedFunctionWithParamsGraphBase, which extends JKQTPEvaluatedFunctionGraphBase with parameters
- modified plot-function with parameters, as the old unsafe way of giving a void* for parameters is no longer necessary with C++-lambdas and std::bind()
2020-09-05 13:47:46 +02:00
jkriege2
dcdee469fe rename JKQTPFunctionLineGraphBase -> JKQTPEvaluatedFunctionGraphBase 2020-09-05 13:16:26 +02:00
jkriege2
29ee1aa376 created common base class JKQTPFunctionLineGraphBase for all graphs that display evaluated functions 2020-09-05 13:14:46 +02:00
jkriege2
48a24a85d0 JKQTPXFunctionLineGraph: further simplification 2020-09-05 12:50:46 +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
c02ebf817b added function to check whether axis is linear 2020-09-03 22:56:38 +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
696ce11514 improved code style 2020-08-26 11:00:25 +02:00
jkriege2
0a634aabd0 reorganization: split jkqtpgeometric.h/.cpp into several smaller files that group the geomtric shapes by type 2020-08-26 10:36:07 +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
139b0f5841 regained compatibility with pre 5.11 QT-Versions 2020-08-15 09:16:15 +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
f6505e35fc fixed issue #41: "Build error when JKQtPlotter_BUILD_INCLUDE_XITS_FONTS set to OFF", code tried to use XITS-ressources, which were not there oif option is switched off. --> solved by adding optional private preprocessor definition 2020-06-28 09:49:20 +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
Dan Timson
397c72049f bugfix for reading style names 2020-02-24 17:41:16 +00: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
Jan W. Krieger
ee4262d14c
Merge pull request #34 from certik/log_zero2
Skip drawing the line for negative values in log plots
2019-11-29 07:27:50 +01:00
Ondřej Čertík
65c23c9669 Use linesP and vec_linesP names 2019-11-28 20:34:29 -07:00
Ondřej Čertík
ae722e8c33 Use a vector of QPolygonF directly 2019-11-28 20:32:38 -07:00
Ondřej Čertík
10edc6b0ac Skip drawing the line for negative values 2019-11-26 13:40:05 -07:00
jkriege2
2ab5b099d8 fixed typo which leads to Linux build fails! 2019-11-24 13:05:57 +01:00
jkriege2
6c058f73ed improved linewidth calculation in JKQTMathText for SQRT, arrows, ... 2019-11-24 12:53:58 +01:00
jkriege2
97a1780b3d - performance issue fixed in JKQTMathText (the constructor iterated over all available fonts, which can be very slow when many fonts are installed (1-2ms/font, i.e. several seconds for thousands of fonts!), fixes https://github.com/jkriege2/JKQtPlotter/issues/31
- fixed some compiler warnings for obsolete functions in newer Qt (QFontMetrics::width())
2019-11-24 12:48:20 +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
29b1c5aa37 solved link error with Visual Studio (upper/lower case mismatch in DEFINE was 'JKQtPlotter_LIB_...' but should be 'JKQTPLOTTER_LIB_...') 2019-11-24 10:42:23 +01:00
jkriege2
4c9db88a2e some more fixes do MSVC build 2019-11-21 21:42:10 +01:00
jkriege2
6d8139e996 add missing compiler flag 2019-11-21 08:01:17 +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
jkriege2
61d3108fb8 removed some unneeded debug-messages 2019-11-18 08:15:07 +01:00
jkriege2
5575d1fa4e some bugfixes in math rendering (e.g. problems with greek letters)
fixed some compiler warnings
2019-11-16 15:02:48 +01:00
jkriege2
4e890b9cb3 updated XITS to current master 2019-11-16 14:16:45 +01:00