From 279ef7880afd29ae22f1e47da6509d4ed0d82836 Mon Sep 17 00:00:00 2001 From: jkriege2 Date: Thu, 3 Sep 2020 23:08:52 +0200 Subject: [PATCH] - 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 --- doc/dox/whatsnew.dox | 5 +- .../JKQTPPlotObject_DrawAsGraphicElement.png | Bin 0 -> 21329 bytes ...KQTPPlotObject_DrawAsMathematicalCurve.png | Bin 0 -> 28935 bytes doc/images/plot_geoarc.png | Bin 24160 -> 63654 bytes doc/images/plot_geochord.png | Bin 22623 -> 69308 bytes doc/images/plot_geoellipse.png | Bin 23735 -> 61228 bytes doc/images/plot_geoellipse_rotated.png | Bin 0 -> 74433 bytes doc/images/plot_geopie.png | Bin 23871 -> 69641 bytes examples/CMakeLists.txt | 1 + examples/geometric/README.md | 91 ++- examples/geometric/geometric.cpp | 219 +++-- lib/jkqtcommon/CMakeLists.txt | 2 + lib/jkqtcommon/jkqtpdrawingtools.cpp | 160 +--- lib/jkqtcommon/jkqtpdrawingtools.h | 52 +- lib/jkqtcommon/jkqtpgeometrytools.cpp | 399 +++++++++ lib/jkqtcommon/jkqtpgeometrytools.h | 220 +++++ lib/jkqtpcommon.pri | 2 + lib/jkqtplotter/graphs/jkqtpboxplot.cpp | 2 +- lib/jkqtplotter/graphs/jkqtpcontour.cpp | 1 + .../graphs/jkqtpevaluatedfunction.cpp | 112 ++- .../graphs/jkqtpevaluatedfunction.h | 52 +- .../graphs/jkqtpgeoannotations.cpp | 27 +- lib/jkqtplotter/graphs/jkqtpgeobase.cpp | 90 +-- lib/jkqtplotter/graphs/jkqtpgeobase.h | 63 +- lib/jkqtplotter/graphs/jkqtpgeolines.cpp | 332 ++++++-- lib/jkqtplotter/graphs/jkqtpgeolines.h | 648 +++++++++------ lib/jkqtplotter/graphs/jkqtpgeoshapes.cpp | 330 +++++--- lib/jkqtplotter/graphs/jkqtpgeoshapes.h | 759 +++++++++++------- lib/jkqtplotter/graphs/jkqtpimage.cpp | 14 +- lib/jkqtplotter/graphs/jkqtpviolinplot.cpp | 2 +- lib/jkqtplotter/jkqtpgraphsbase.cpp | 44 +- lib/jkqtplotter/jkqtpgraphsbase.h | 73 +- .../geometric_loglog_DrawAsGraphicElement.png | Bin 0 -> 114949 bytes ...ometric_loglog_DrawAsMathematicalCurve.png | Bin 0 -> 108482 bytes 34 files changed, 2394 insertions(+), 1306 deletions(-) create mode 100644 doc/images/JKQTPPlotObject_DrawAsGraphicElement.png create mode 100644 doc/images/JKQTPPlotObject_DrawAsMathematicalCurve.png create mode 100644 doc/images/plot_geoellipse_rotated.png create mode 100644 lib/jkqtcommon/jkqtpgeometrytools.cpp create mode 100644 lib/jkqtcommon/jkqtpgeometrytools.h create mode 100644 screenshots/geometric_loglog_DrawAsGraphicElement.png create mode 100644 screenshots/geometric_loglog_DrawAsMathematicalCurve.png diff --git a/doc/dox/whatsnew.dox b/doc/dox/whatsnew.dox index 8d0df1794a..ab85bc34a2 100644 --- a/doc/dox/whatsnew.dox +++ b/doc/dox/whatsnew.dox @@ -21,7 +21,10 @@ Changes, compared to \ref page_whatsnew_V2019_11 "v2019.11" include:
  • fixed issue #37: CMake installs things into $PREFIX/doc/*.txt , thanks to user:certik
  • fixed issue #45: Build error on mac jkqtfastplotter.cpp:342:28: Variable has incomplete type 'QPainterPath', thanks to user:abdedixit
  • removed the usage of some deprecated functions and objects (e.g. QMatrix)
  • -
  • new: added geometric plot objects JKQTPGeoArrow to draw arrows (aka lines with added line-end decorators, also extended JKQTPGeoLine, JKQTPGeoInfiniteLine, JKQTPGeoPolyLines to draw line-end decorator (aka arrows)
  • +
  • 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: added geometric plot objects JKQTPGeoArrow to draw arrows (aka lines with added line-end decorators, also extended JKQTPGeoLine, JKQTPGeoInfiniteLine, JKQTPGeoPolyLines to draw line-end decorator (aka arrows)
  • +
  • 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
  • \subsection page_whatsnew_TRUNK_DOWNLOAD trunk: Download diff --git a/doc/images/JKQTPPlotObject_DrawAsGraphicElement.png b/doc/images/JKQTPPlotObject_DrawAsGraphicElement.png new file mode 100644 index 0000000000000000000000000000000000000000..1fabe46d8e03f0d84683c9f55f3fe3b2863f1034 GIT binary patch literal 21329 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 z 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 KS>3kqCI258N6_N{ literal 24160 zcmbSzcRbep`}U=*%u9sqQK;MFEG!fpM7rf zDv3;QT|s(SR-TRJL+`t)ot!s5NM?88pQKYW-;n=B{Zgb$zQNQ)>63gNw?Y|T((~uf zyA3Bdb8lkR*c_dd@EF=Ywl+KR>=xc!q!(}NcH2)3|M?^N+v1ZK9}T$?C|t$?CsZE> z5`|lGsS+80MA0>q`y){uw?|O$nmeuzF1&^K5xx{I<2<7^BQ9frSO5nmV?b1JaUeqg zatHbUc@Y9p@{pZ8>`*0Q+n-PKaUDa~ASG8vzT1JRc+kK1=fmjo!QWc>#@2@4r~B{w zie`CEO(*>ReGmFGM8R(o)jh3qDp7hHmr>(MBiFR*pO1|dMKt{c`&pACgONZ|O1&%t zvf3NNOkdVrOursqzh3Lh-1drIwReI^{?QiOfB#bZ%Emk$DRa8E>hQ^mW@nPJa^M^K z!A)Zs$a;B}N;Px2U|171-UM3)K66n!ZWWs(YEF}<05i!hk@nGz1Ga&y8> z`)#IIafyW3_f4{#_q_5oveOuzv)RE8Ie(qB}eC2 zJ!0>@q{gFk)>p-(zw0lHN*1W*3m5OlT4D~ zwrYs})tF3_te@AJWXBmn&`|q}T{@oT<92!#y%QQ{{u?)*`5X~?9}yx_Nkc7}n3daG zX*MU09hn&8{7^yp`p$_m47@SC~24e6%3{GgbVBvT$HfA~pe%h!Uaq zp;^yWDwwFJLA=}&i;)pY&VummQ~S9-Za;^uTZ_%tul}C*DVvj*XRmc)DSh9>U$bUJuS?SOp0vI-V~CdN&ErE>c5O_n;Y2ITwWK?d zbZybhGPi@9z4n{*T!m@B*?Z+Nm0ea!_7#6Ry+8G6RpVfh{)mFl%9Kt*pWFGm*e@he z0z(^LMPRX`#akB92l!*^p%1_Ite{MD0&;S4Zt6$;iC8(({%YKE7j3SJj!~X(l+EdqWt{dktq-B~~LyO&bXe5YOmHp+hZU?=#=E{9f ze!O*F?3latQ`5T#hJ3uoWoc)u3hrX2`Kr{Bv5y)1*q#02U1x|kT#|#%$Rft_i8m97M5z+Y8Kb5hon`wL$TFm`gfN*b} z^b*;}FfNqjI=vsOQpivd{Ri{jRjVOHYN?F(GdR(jr>E3(o;_j?OiQ~%25~(qWoj2F zxbPZ&<6#ppkX!dK9Q>db@}Zmbp+}(#SgYUb+r+=dB^Eax`w;(-yY&V@mgCwOzuWEu zw`q)nBfC{!SxL#k;z#40y2#9|US8_!Vl=mok(~Nu*JF`LLp`C=r&ZjXL@#4zemj>g zBlk-j*)bX4@FqPPyzVwfI9Fjcw2keDnDit)cfKr9uyLYvfxC2jW8mGT%q%JQ!^Ot4 zThjUUQ`XpJm*d#|_^raj$U|A~F{BVXP|yW3418SZps7%5L4)zMd#V!g3G7H2pKuwd9GO9O+Cgaz49G%xwm%e=vVY zqHwHAkW-)CW98bL`=QwlmSvhLK~Oe*H>*M$JFrul~=sS_K$wu{T>;vtP}9IOjca(}Egi`;d6 zG%r`C#7ZUn(wePJ>{MvUDIHcKm2&NPF;bZKCgkp;r2KI1kwjdelk8vFS;RLJknnllL!?}G9ulC*x;dS|N=R-;kzOF4J zZjB+IKMLc1j{oN?ka0$SwbOGy6%gdoVk2uFw`I*|GN;k z#-9UoTh(1SoZhaI(3^k~5lnP}-utyV%M`T;84>NpwzeU{hhz&M z7Pps333r2z_EPrY&qsUKt8=O15#v>1BF;>)SiSxg3i!L%6I!V6Sdh&I8DIBWUtLc{ zb;RD!G3-E=W%=M@78_xGK9zc=Rc3hTxH{)^N?A5j$>iI62BK8Ig&~sbmOANniIaDz^<` z<##3K7H>u89RUxdnQkJI#ja5a5Ok;ftkcf;HzojtJn?(;jg1_PqIKzpJMj6Rx6;&z zC|Djcaj|k{2XFQ>a#q`8(0L7*FVp+^6}uGrM#OV$N4H8ptk;G^i|zaJqT4Ukxh#du zn~Zx5Qz!FIWBul+85?`@5TTOZkFve^ zA|Opx{Q-YiWbotmg1N=jp$n;Q{?<(LCyNrr9u>RW(ah;QkJD;vFZW7^&~{WItCp(f zEf==c#^XQ9ATB7dGc#Tj2|W?2o4~DGxGQ!0G(0jSHxHviWP7u*(7=12c4X*wnrH+y zjm-vdQXU9?$tS03<&a(;@sYO^C7fl9u7zsFE+A_f26 z_1G`v<$U(MrL8lH-LidRH2!9ocT=F_ROOZY z)t-G}8vg4(o#Y7%2}c{_KM&@pvCcieRbL&ttr++1trh1Orl@wvGtQYGvIzUfdU75f zwF?GuByse_Wmp#PvDF(!l_dfP)K}*Q)DPxKHx+n~O)nczG^^LWB6}_P?YG;c*lYgI zP7e*S!|B6Zs)N-o0cSnj8`>ST<9v7yOt~D&OAkt~Je+mZ=i=m;PjX&0{4TUQ_c>-} z+|HuTjcGe8u>18rZi|;%h2#idNyO^#9402+qxHV#Ain3nGv=>~*tA@(>nrdNPnYi0 z5`jfob!H4vAfgNS98;*7M$3!YaGKb5Ds}TMQlkI~DHq{8N}w!ZBjWkmiADN`rM8^9 zqj!A^frZA&u0LU8Y5n&v+ciZjGv7oQ4Ae8OPY&jDyAQJ2YDRd_i$ zIhfD8wRje;jX$!dTyh~#sMI;L`di=OtSA*+_(7~O3L43=%P^U1`=U82u2H@46T?L%Mns4-96fHaWG9Ahiz&LH z0urtFE!AG4#>P=Z0l89LeJF$GtU#JdD+;mW;!$gIgrtXv=N87Yq-}{WCV&v!F+G=TQ zJR`@DbSgjmh#_UpwtO$df<`N)8`n&8rT*WvggMuhXtGXUsMF#)CA>ucs!_|7hkCQy z5(8tag*d%Og%m+Xfj{Yy{~0Uc%Mb3aaJK)ZIT3AN==5^@hMPM zw$lAuxA!-;K2Z#%w9S5U&bLR}IY1`dsIfil(+#t}-WuX_76|DwKa2F@*BI8Ah!$o? z;qc3kPp*1w%ghz(7|$`7j;zzIyQFeL24x_6y2>HsqmPRy)S-TGy)N+e87}75LcD(* zM+CxtuV87t3U)>M5x&$~*<&1bJxj0Sh4}Qn_0a5@H!o~> z!|e2P`W~NaD{a;uJ~3h%6%yP1dJ{=cjNalfE~@-@ayX~}LwqUrm}rcvSDDa($DtjN zQ`~{XmCW-0C`pQ-k>E@ejdx;@#(j@3W$kz@^xaGF;pq>(YGk(3RoV{x0v!s+oC5aO zJm(P%Y`8CI{OH7~jAeTdLk>!7^*U2&%lQ(jT8q(zXM_1oA4 zl!oVgzsLho(r~>!&zPu#E`tU|#vi8le;FKdH`AXwh;v@`&3*Ty%B`lR*g1cRN}oz{e@xB7EKl&-=*JH9xn`wldXxA2o5~ za~CGG%XuO6zK+JUyZn}tQjpZMkZh@njSs~7?w@|Ujq%-=!RqDf*krR|M5d@2a?dMA zI+SV|=#s^A_jNudZe{uT15PFab|p#TcZd^}`Zv}$l3`F72sz6i94=<|Gn}QD2TI?~ z;yk(?s)S#2SLk9h#p1WyvO&%qzjNN;ja6Qy#^FbjW54kgTkXcE2s z-aumSqn{t5Cnu7JXPfkGPix0n*cwZg+6CQ18t<(pn%L_#<$MH)D=)p2Z`Jr!22_6@ zW$9e(;is_i@5_jimA<+tNO_y?Evqw^Jl1+?CARU;ZEq*O^#kFH$ zy;O*2>i8k$-O`;Ag$>wide1LkODp0%{#|8d<;NQ?<8egatfdn3{UWCd)GaITwNmka zsk6A>uW_;OFQi+G5x*1Pdwn=;fQ8`p;Isa|l*UjYfj@m>mq1u$E4)w;XihdOt)i1U zoNs)$xOJgUUstK-T>BHj-LF1o=d$xV%T{5hDQ&Zk*t+qfKsO+-1q! z!H~OX&RXC9$l1Pq3z$kF%Ya-W@J{ z8tXcRMXKaAEdmTrEnlOloL^b~ySY6id{WC#s z`z%SrM1BP%xvU7Gqt4MDw^!}1gLdL)^DBwihm@5_>1#2|()%0q3qMw@EcWJ0lN8IBV+x6>IqLs?|8kzlREO_|9*9wl}grC?;2Xun)Le=#~ zLgM=M=PNP_9a)!e7BDjf6Sr_RMkzh>4BE&FBxuSCTvOA~fLm1s(|IgWC~ZEiu7Z7# z$NQRugJ6h$y|-~`mgBjWU#9|o(ia!a+nw?L+Q#?a%ErEWRc<-BVv`*7$+67TPtF+I z*ZKeZoFRmx4>502h}b1&hZ5sI|B0DDM-k%cJZek6?#68V+W| zo-B4(So8-uAzO=C-vs2c-9%6l_}evJO~K}Qo|qNLx#5tn`T0toHUbfqZ)Kpmc{ilf z-hE03&c?aH!9jRJOAuk_=g*8OpOl3f%ZnTS!f%=~eSb7__17qUc0KJ})sf$R8Hy#A z&zcOma~Fg|hmOcmp-MM2brw@*^zcWEw8~6De}HA-TxRHC)%PTUYM4U*_{6o(0{H|e zDCkq)3d+b_wxV3D;#B0wtZ~{hFdA#M`!qe!G4MyqL19 zBJ&4hFGh+Bp)z{s7Zx6rwj?|b18|X zAFfU}J%e?w*d=a#<(Mx&h(qNg{x5A32WJHZxqT$LbCIYFEx7zTq*dHPg+}?Fsg?pa1 zT&HpFT0L6)aY`%BN=5STe2yQzRSo%s7qN>aRN8GcUTGuh_50V2qB@ia?oN!RLB*|y zjdbsI8L6;%{Q5GGIP*N4^RohX z#kYKyHyZ;HQL$Kd4R=KdEpzkkFb4VuYOIZ1+cwxgvBp{%L6cz8@Hfr!b#AN|e)3zH1nMo^b)B~NNHI~gxFERZc*@N19K9VJC+VE zli}IviAahq+3EJ@$1$ur^z%OwZKqhMu-q}=htq4LWqP$vm(8fvWsaGnB_ru%5o|X| ze=I~RJrn!1;LO;~S=rH&aG=hU)OF79u$?$~6J9x!SF{V@4ar^^U({ zy4HDBDOrf*^5x|M2GSbO2ZZtD9`}1T5=I^_O^g#Ds_a^_6&2sh9^MHYwQP7{R`s-e z+`abW0=fUvt2b}BVm@nETHh7HW!hZMDO^<6C}N?;M9cU)f`u9&w=wlyLteT_T1dRJ z^Hqo|ECP~ABV3@Rq(n4nh^O^y`Mmg3?QW9`mDY?Y*!;AW$ax9Vvcs}(w{#l4#g`dE znC9AbzL^y2+!4Ut!9@Qwn3$gP+O?(yhTL1@?K3%Vwmh`fT6WM3&bo?AdSG>|Vzn})c};XJjjw)sux z>+Jdjh%}Xti*I6-TI@V)7GCLJB@H7Do8J-YyBn3nsaMNqIgq=yW(_xXZhKL2tD}qm zk%9?DWhF91=^8iXPEI?wTKHcMYT8s+CssBpHdI+I~nDEYtCay2V( zmg4I`!9oj*MR zY^4{=LO=<53e2$da?kWU>h%jXB+ib1(u%rRm#39Q{W_-RExntkelAiX*d@t!(wfKT zlpTSK3j$%smvl}>O+l?&!S8F#Nsnz9cg>nJb8>V}O)ft=+~(E+4SBjPDMkG09)*FY z!^!X6A6-dD!gLi9T5V>=Jk;OL=;x%KeZ?WdMHqHbnLDi`{{W9hR|@HQsQd*tQ*8Hx z9MrfRj`la{#oX*OPR?(SF7^7K$3Y+}tu5*T8L~&#DGzz`C`vkkTMWO~QxL&QA6x1j z!Z|!V*r&59K9-Jqy2Tby0Lx+0{(=^I9&Ti6^qd^!_w@*E#j-Z=5EtaVT5MJaYnN>)Zq?KglKzPjCoHsea@_=8qmRtm09uRMwKo9-~jG< z`!i{AK!*nB`Htv~i4RjxH|sN>F_4FZ`VrCIL)fpz*`Im$SwvC8ftZq4P1@J}O`vw>%H*A?~aQs7<|!ZK%5+JjSqQ>p$_JPAp&8l|)%#AHM6{w*T)N2Ec>Mj%;G+#@THKn} z1yDcUzX}YiIcDME;bCBy4yN~Jpbe0%F7HWLOnnx60|UW(6BNHbi-V@o8xWn-w*#sw0#lCV6fbqamT{K!qAWbmea(@ zNRnNEih${vl+zmJujSh!NXHkQcNjwoiW+`ft_~G)=u}>z#ViSzL_EXMaaHs=y(@rk ziAISVmoHz=*C=F4Iaksb#W>VEq4%K!TPorsxxeS^?58k~dT&V4upJtuUiPQQ{c?P` ze=Z}%z`y{)^+_hMZ2vbYY4d3PZTaptrHV^GVThNjLV7unw94MW zKuD@Pv6EdA6=u!SG#T2X>a6;7H9XwtI@TX`b-mkP^S$nJ&)b%h{i#hYDHg}WcT}7l zzp@Qu^zA-~3~fvhkyBobTwJsqXk(s0eb1VDnID^TWmq8MVhXuqjQy1Wwe|5T3Gd^B zpWh^uMR1Ku^y?Y;1~3uB??by&fv5^My&PPQBQl~s=%Jv%xWdjee+L7WPs5z*#dD#$ zkLeT6t*_)ww6&=Q1dKma>iWc_$O>w4>uhxwPLdhh$F#UXLaTF_Yn$>p>r$6$BkjA- zEiRriN{?5D#bLnvpl5HSYZH&y=WW3nCqnM-VTtma$CDIJ^?9dObzB{Bde8fMC1WNy z2R`-SioQVo(s8WVIjCg;;$_#N{9ZJ2;nyz;CNvw5=hQ>Ti+=kH3U=b|lvR|#1;?O+ zaP~hEDD+sd(ts7#lHDmQSgG$Y!D6LKi8eWEi6GfMvw!>!+R14%N&E@-3biXd4j1Cf zN=wZ{?yM`vZC}><+Lkf%xX$vD*a;uP_a3%Rr3%HjH-jGy?BbknmS%1{+E`X%Blt%1 z2#NSt2I!yQAUchr$7HS$L>4gHC3Hc62sZAGSwXZ8QS){DHvC4H6Tc>798HfOZJM_* zEA2pp=orMd!m)5OR!#30NN&2(b-g3%Zh_hAyyb0j7o-On1qF3PTdMfemqeh?nJI&C zqp6Pj-he`{I&f!r;$JTSB1I&cC}2YpAXQ?z59RZ_@$9Ivpr8PF+N{Z>9u&44lwu1r#SCRq3=xfx{n|*$))pEd@06Qk zL`TaaxT$7Fc={}QXaQeYXhocIZN@7hOj&6$9qyc+GIc&{3I2>NMFaqQPrKN#>Al{E zHO@OhQG(Vjj50ECeC|NmY3<5i?s+X&M&ME~>_e79{LsJv6dXcXb_T1@nD2!AnCAO1 zkulNTKPc$vX7RRcKQgSwa~@6TKDg+WL#wf8hyo zfE-}joebn~mSLRm>kImJaukL9AK?!C3k28|VywN7NU!x;ELc7Z%s-~jPi%>~lSi~gjZym|XkLRH8*>Y2FLznhmo_cmxmS2pI zB9Wcr-tu-qnxebAyPTZd3Hhvplo{jlp`fvGj9MNhoexn`t;PPvk)RzN7Gi($gX`DV zVtAybPB9BlmJ-7Rnm}j+K??ivl56TR%G-oD;m5Z(XXAE_AUOyruvcz;daq}7Tj0XG z$S)a4!JvNH#*t9j;C}ex=t>~@M~%bysK8Y}P^cpqD-TM{yq6ScrT4Ke(<_+?(Am(> z-3~4gBwC)F$Q=$d4_jQdoGudV44rX`YU`}X8>K?@80SFeY47BAMy?K*Kl3UX8wZC? zf3~8r@fC=&GHd$xWoCgaq`hppbn;w#oLy?2pF(G8K&T)bB2sg$X8em&=jj|P81Y4M zwVq)U*1D`ybt}s>^uN0l5Jc7aMS5`1Um;#DN2&tERs`Bgu=*m$I+$7Y^I?#&j~S}_ z_*cKOsLR@GQP=l!0j`*+hQ5s8++wH)zh3TBRpAh6M^OUt_Oe+S$h)EW9CrVV}CV`V}$^ybCvHhl_1C3nbP;EW6$(X;M#!IDgt{ag?d5^_IBDO$;| zy2wNUaQ=ZhZvH#W*jTBirr1nUhu{f*DDA(=n(fc3;_eJV5pdJw3t8tfdw}P=`>d;+ zK&i-$V;JytwL|J+?NJLve{H61DD7KUa`j>7vJ3X2=uCwOd2`=VdeOAhA&8Q9(uI_<` z200xa`U7}4m?$3zduvhe;2A|Ac^76o0Gg5eawfu zf2Y-n1(+j^L0~c`dpYp1qRCLD^T|b8K9X^l&Ks8FGN5}^iCJ-1*V>8faQI1X{a!8l zmMV_MW&9D8`R%&DzNu^l3`r4jW=_^`4Z#C8RduNR8+l$L*}-qh(nT*51P$hEZjP1( zqc5r?cRX@=k}ef>X*nzKPi@9yd>3P7ie};h5DQ$(+i~heFRwOTbd9`aZ}E0>?R(A7 znPB?Ka*O_4)eJeaN0&k7@YAVEGf_bJew2J-l9g5xpTRP>(}$|RUbYvKDV-De{R+(m z#?9ZmtB9U#MQXq>u7Dtaw37Pnx)gK;`9fqkq@i!1_INPvJTXv0$>xila&pg=W{qhk zZNPld>Q({CF@jp~y=IaAy-S&gU9){CE_@FIX$IdojzUe3v*~AN9tJ%@&4N0OR2ADJ z4yt&61*~(Ohn&8-^Paa)0&!(Nc|;9~=9#!g=;MD-Q2pC1&OI3}KN2i#{H&Cb#QvJY zZBfGxkGJ|R8=1>e&!Z-PESIx7I*M{bZpH;H0H%bKx7<2CJ6G>x*+kY~V4{qjD@PESt<$y7>83OHMX`S{T9wDfZl&II<=kDaRVokNb{ zo^jfoN@R-&UtODG7rgQB>~M2($r~g&Lk;@x1&r^O;qe+@Tzwm-Ytzx}%$OMv5HQVQ z7cEg?Y2u}#70MAHw!?ubnP|doJhA<1U{nB6{e%ybWT%5UQVjl+d7pu< z@%u6q04a>OgKz_z0mfp8nr{JdySdp&Oz(w>h>F90!9vPdWbbaln63ip%bZRB=B2~P z^*NVS@?IKT#CI#S?d$0sa@)ozfxi*vee&D6cmg}*0$-yRgtUp2>`J-$Bd_Ae?fSBK z+C7J+HiNkl!vh)M2w97&T5Taw2n-6UtmrD0?$}Qp);B15_wI5p18!RA&C*}jwTzT> zgYxkinNmN0{=7V1#kEWpa>tsr)Y8)YwaOP)#ow1-EtNB9K0cFl2K+jA-oc1qhkjgD zPLYr1wHZ7O3C@gFxATY3^v~U;Iv5&Icp(S8;Jc!NF!`X39wd5l-ZLpr58* zV-LVMk3fL0jaK~mjd98!{aJxmML52@bLh3|T)K1#fusqKzm7V6EQ*)+u6aX&jwt8+ zmIW=cY;X)P-C?#BBuMTDNH*^>Ur?GjJLG7`F+cY8`CPtcF146c@gPG$KL-2=J1+_3 z6q}#MGUNM60$d~^#}8Og4Z{U4n61XmGfq2+11LVcyYI+@`&A2}&2m*CZfW;G5Nn5C z2cIX&fgzxdrNY5Xa8ptY2*>n`WnbJwb;)(5{A_FqxA~H)h}8$YVhAR7A)#tuoNmK9 z^U6%oyBKtVJ-&tUS_5oX^3Yv|w7A79Mx=~aSXfwug@vy_C&X7I(Hsz6`jmm(dFYWK zgRXgH{m2mL9>Nv(MD}al{Ckaa?UAsqmP+j;JemzVLcrQS^DVoGmzaSc_BgUCf@mk%lwv{=J`T*y&4R!_?FE;_tB ziE*Urw&M@|r}>J{k8Zv;s}tjCXlfeNdsHYU2@tWGxX1O#$a$O+ULMUvZ1+0eqa88rumGPt=I9CAWN56MzzHipvBTAg+Zh==>hGjc z79MynRm^?iOKdn9=JP3b?vof3PxgROw_iTtej9G=US(o6U(@;Y-z#=O833+Ng*z;C z7x5gpNlA(=`m<}EEb7-fg+g8$n{oOt4Ejifk~KFsKiXU0Zma6}_N5d3bvH*6VNItL zZ+e-%ty$jBW+pkc*?4rs#{?>2yG1L zu^sQUk}79rW==;~n)hVRI8}mwAM8Kl&O7M-3 zQG%X4$?sLG-3i&N3__|I85j^?m}3S)Y2dOsnUb9B3H~HVa{9*Dhy$lE9@Bj1^)ct> zfD0g_qe_@sySO- zhu-Ur*FSXy5xuc)fAVSEU9FI7l@pKe4+pvxm#d(&dWGaCLi>ql9IdX+&CM)I$sKFI zrz2hwadO2)&jFKNhj7F*IMbH2<$?BF`eI2lNi3^zi zf3@_;E3B*r4W0>3c$m|@;M$IT^$x3MtVhx_wLPc&*YyPO?Tgk+XW0DVbr&Q3aq$QU zK$p0Za&Eg5Vr{s{Kv@Lq+*WR&v`o85wP*-mC-TkW=LX%3sLZx^gxJrtQ)8CWLPsif z^i_`* zmROQX-p|&Wz|&2^4h8RBTa=WyBN;d#zNQOxMqH;dn1eX+T8vS?oP{ZLyj2yKOLd&kj*GSJ10DsJVy_%c0ag!pX;b*b1j z^N!6;-z4_4I?rk^-gIdTi{+P7QT!<-3kDf9z+EcIH3hQ*c@j6d(iH2JmWNampP~LV+5&IrNLv_ zhu&ge$uld*K5RBT1=#!g^(!<2ZmLE75bRt7b&V9QuI)Ycg!=CA=OV~lAtAVUbAPOW zW=*xET77Oc0{lAX5s7Q+g<_KpUuwtSxiIBlP9VXUJgd-Kmg{ z_g_VIl!T|p$Hk%H(Fi`O%~(03*KbU%Ui(HQ&b}$&Xl8dM#>bQl#*ip-4sEBk5gtCi zR{$;)AiwfZ5(u4-x;PJVSAJkXKphBvXNTW>Kn3x1Som@&T8@m2Oj-o@9J>4gt)kZb z=MSjz4ve5h8P8?V=6?8!;TCfzJtRKmUFbIWoSo)t7O~IS!hjA+O&~AQ$aV`G9_0I=d6f{sI5q zm?_3A4W(&?)v#?x6r2;P~j47-7-34I-sX%iNC-wm}XC5p(eEo^+i4 z)%*_%Z}ZoUN_Me>Lz3aPlhqD$AQ%Hf;{4#TYiVx2lr9qnLF5eb302?~ehnLL%7L9^ z>0m`D9Aonfe|B%RRb>)VavOqx3JD5*A+-Ma5ao7L(9Kp4?j}$F+!@;WniC7L{42aV zxlZ(H$lu1pSqx(^ARv^TqE1Vau%e|9aoAW`pi)Gjulz!u&c*3JV%`}o^QZeT{wBAN zg5odsY3o93s^MtkXm8vOera8nSb2ajug&^>I6NyVHGeW2+UIr+0gZz0@N31QnpvtL zH^XMjwK)*2CL?wg!2o|<=6pc`0bnSZgMKk{N+7?z#iRRPXD9nWM2sze3ps|+yK)Tt z-#v$dleRA#=fcQchDq*UkA+s#wDEI3Tg$%e$Xma2!6QH|V4W+W6Z9@%z*b&aIfoJZ zh5)UQ{WQ>du+t2%7|(%o&V8|S&E+kp2p-3sKSMk3u+W-Te;74T^KVV~G?hrv-Lv0i zCsa3^cjg{dLT>=Uz`;?No6E+|&d$WteB}SDQA_q6k2hJfwHTg6+sV;>{Hq|GRpW7<}v*)4wB;>OfT9Dte$BBa*$ z+?H{@6^-jYU05~gxL9<1;EIc=tgSAy0u|SAwy70DGA89+Y`emGr4^a;s*JsH3Q>}P zO(L(!7dTuH9pBZpw1llkivN zfd;FjJ>B0xsHmxdM`Sh|*uL{}p9yF=na|R&&4r_#aV+ARqMY0BSGJIRAO#`^1)%uR zS{WlFBLtak-|8*`c`49`voCNAgf|uu5h`HTQ`c_Xz{kfgqgi9}Q1M{GFX??8Db5m) zrlQ|}jae0e!Q?6%TZj{K0KpOC;e}^reAwO*&8(oHu)jWjM+8@Ny04ifLBx4QeE<8; zJ_W95qGpHVhuR^z0}z{yr@uR`1?KAXTiIhimwO)WOivs3fdVcTjrB1{CmfoVg@!N; z1su6z@u6$tsIUs6(qBoYItjlEv1erJ$Naz*ft$lLMpG zzFuL#7!=Y%sujYsu&_{O+J%RQx6+?Oyv!bQ|GjQaU!#vtT^Vm6G#1w02O5et`JaD% z3#>EysXOps)7TTF2U7mN%n zc;f9~qTSVD;v5T=kWP-)AqfYyqNzFnSV6nVRv?L5DI(6zWf`|j#>Hnd^`-j+r#wOG zdj)VZt!Pj3YzPg4=Nt(@zheRI$L3&b225E(?%AqP<}1Pru%tQ-p6-!!;&Ns)w`_IS zXiFZz2~Fa+`Umn{q0O-vDRF8({GJw|7MjrrPi^!Z&n~{KwDhak*m_7T(7*ei&acN_ z1loi5y{2peQ^8~QFb9+*dv;77Ymhvldzk<-H_&P3TM#4Af`yzylQF{vx|P-j-Gish z&A-9;bbIK7(r828#x?1{^EgDtW@efX9-x;kEj^t{LZT6rPYA7cFr>j$2@Dug5k zrYOQVW3lR=*%BSHe`ZVStQZxsiD(|`=|$iZkT4U`-#UggxG`A|Lf<^)_WuGsF&rGG ziX!!a5BTrV*oU2C)?*GS3GF#p>`p-g7)+>nBPjXIk+2jzeH_xjvPyd6o`vKtJ!HG? z;;1AKsR95nG zQqfICI0m}hK&k0{j!C#&Bsu#2%-%@H8x<#~_Myol)(cqys=BW`Cbs^&v1n`XWaS0K zM)k+^+wxhw92|tnU+r2HC#}aIO8_kg$mO^gx^z#j1?>ht5O%8hY|dwDYDz>a@(U_w zn0LVu_{aHy`2w}_Lrpl*Z{a|v5tjKg-xUq?{w!hyXB&4IG11n(Uo~#q zvykP{4ve_CIG3$yDH?^G%ZKD@cDsfX*VtizqvS=90fw&$-~5YB)US}RFvxl;Ko%fo z3s0eOF8t)j@$Rqz1fV9U(IL9P52*C7E zgYr}>l9<-R4~^P%bH!v^|BI?oSmsc~(w(uuKX?u;nS3AH- zha~iogk(S+e1`SjC$%Q3BI%c31R}PU$saf5{wSCxRTcyH&vEu?Y*(M4!g;YVM=Nw;TCc&)d>b7QoOb(tZT1neM{AE?mNeN0Ku zHEUfr8y>e4L7j6HPQ`CI3TDguTOt1$)MG-^JFxc5wY(y1P3zB5wi_+Q8qO+(A-<6H zpc=HTq$7JacG$q@K}NQD(e>VWLV&7>|c=_WaeT3vmhIS@ZbDMelcpB|hV((xe4f*}mlL)g)gnW`!8^E9}R zh{e<~|8)@+12cvS?2SggbK`&6>Qdr&mwM+0H4PvnTr&pQ&T_eRfCsYMp?jz&qQ%Up zNiY_Ja~MqmrI73QSnfA^pTu$MJzuRF@gD>!H!8FCsGWn!417gE{W;m$AsTvZ!D9%X zTF_!40$ocg0+$}}mI#%|akd}z_9(N&M9>JA*48G1q3iVl-Gck=&6#6W@g+z zVm5fhXfN=^MUMC=e#2qH$3YVL7#(|$huihip3F+OJoEFegfl3yYLS6Rq0D>E~*kkD%Pa*8LfaC|Zwex~mb_p&^M<*dZ&1ow^10dEQ_o3H zH=3+-uhtHW*kZ#xj0741`J@txq4hETJ}o2%r$GY^Dd|n<;sG0Ceb~U+DqhVQK!*eA zvDi?`!@~pWO*u10g5ki2p1XsZMRhx0z;xefl8&Gd2jyr3Z=yE$&6{Nk@tlIT-|aR2rx@I^|F~)*@qsaN zJS_gW(Oj?VRp$LMJu47xjAdu{{E=W*m-pAKJJ6Pq{Raq|w-fI84xg*dB|`JAbb9?iw7DTBFy+YMxr&_ViQgtrru zfdCDwhHCR+hb3hA;~zpgaXn=^q$TN$(~n5{7I+C>Yz=h=ktLcv!nmjMl*7u`)77IAMk z-(fBqZN?_Dz~Z?JPn9L|&KMt2i}obta%0bsti zI8}wsb0Jm}J-`87g_v&t;~Bsbv^O-~z#H5uM%et|7rCAw9Y5=7fBR4Cv@nDI&!1;7 zyiA7i&rrZRXYo?hKe~SmDcWIcOn@G`GHn9nhg7>BeTS~(WFR>Zt$RhIQR-k{7_#tV zDXAvVWq}+l-Rr3OcM8@oBdWGWUCGo?_?Z0ebz`!Dy-;YZKFjiXNOoz?FJzqk4I_5G zyH>GG7`d|8b}Ph>m8GTcvRjCNpPwH%Cz`_&?XmG+pr~kkgwmi?F6=K){y4b&3e@9$ zK&gZEswp(J&MZ41Cf3XW^NnjalEGi7N<{Bp|Nj7O^WS!+hhS;EyTX*7q`oDCs*%e&O5?>Xz zU1E9$Z>x@6haiBhl!(If+B(<_iMY6+D(*Z76exMIB2O7h=)!vyy)5+8g5z zdf;R*-df%n&lLlc9t)6OApbblpf&j`@*tKGbLdv1Gc8~gL=ew6b3XYiFM&f;Sq?r2 z%5()Z6ms5#g3?k)s9xac|L{7P35KRqb#l~G@LOpAS{bwg0RgHe$f7(2>FKB}H7xkT z#(vrDPYHuMs#gRB!Fj_2>JbQ6Jj)QOwcaNpM43-6LXdb~7!EA%0Mku9n?%mCP)XY zyu6N3RD=W7>f#N9o(aS^h~?rAvjJr{jNA#(me~&VYnDTS2fh({#DKbzxM*&dgJ{&FD(srYhJie<7hrc8KfR892_`2 zRFD2M5invkR&HTba**@J8@9t;DNlW4tOB2_tJ4O$CcSd(jkkL%bE}QKXt2#Jr zgIWcrH3n*6Sa4668%S3NngzO93UnXAM*$B=WET;sEiUFp4`dR&8KcFkYvb1bytA>a|1P#GIP&&{F^amXBi3TrG{a5kC zOSWjvHA*JU4%VUWtm^ z@FUuV8M7T{UngntpTA15IFFTBmt6gt&buoB7j49SK`XlDM1G?{zy3GS+4a#fGZhsi zoE!T8$H*y+L%GeM5ila+1inEv5s~}uoxGwV2RnPYXkegFc;DT6Rkgg%b?7FOT@Afo zfk4Kq`kIwi-@9`01neyUB}MPvH9sZqweF1L0BbaSUN;%`)3m2*MbI`_QX|mXJ3$*r z97zjOZf77DKM8t9h~gW?{_*SzUDlf2VliX3NWJ9LH0Muro1B~+T@T?9)9F^*Gu}Vr zDoujF17N@O#9Rwg`>cVX{A#Nr(Z3S~<;l=iFkCRk);JH$h_J0E?0J3i%fMU;5)y}* z=Ks^jm4`#wzU`p}k^Mzd8B3O|Z&ZdT*>_Wf$;eBxBx39-iIQE}QX*MmER6;!OGVj7 zBTI#fKfcdD9LGH7nYo|)zOM5+uk*b2G|8eez90hFYu|#F6NV0Y z9}ZPOf}7o?XH9T4zQ@ML69(SjL3B)lL2X>G3_oT;9t3m*j2(zCw?2X2juKq)F(xaN zU$c+8FFODCXXy3-LiGYU!u6ltnIVZmTAGXLSs*~Q8{35U_4eKcS5~a4Tlqjy8D5hi|Yk87vnQ)fMFI2 z0;j0SIZ&hPCrUxzwgvKq&egLh6fmUy@b_#rcn8k19{}}hQ|+fufDcQdo_zBrnZQ#; z%*|EuUz~tEs^lkeWrS6x`Px|(1;WG^K&DV~c-ndM95lOlF%9A|$h`nx!TtXNWJroJ z5hs7ww%^)Vg_^PJd%5TO(zMS|EmMU6Puif3dsxCzgXCX85q=L`?t{9keXs^m6LN8K zW@NalpDv-e&emEM_JG_oUk73P~mC=kG{ZEbBv&r~J@ zOSGU0Lwy6}b-Yz&_`|10@oh^Jd`s8-KVD8?mPpBG1XmWCWEJ^AkeE5DM*;!dB}2m& zuwx>X4bnlO1iwUDt;(tQ?a%_yYJCR?C@Uuinm9v>TQ{Wz1usvwWzpYBha?26bhO($ z<`hrx3ex8QB5ecseI16uVu&oNznhP9J{W<7k51h~rH6S7!BEZn0uF{EK^mw$Gc0xi z2qqq0-r*==)4)rraiJ^1a&qp#mx9Dr*?-XyoN9OP-qjTwN&x~LqB+9x;287RAjd&J zO5+k}ZlRNFD$bqx+Pwwv_jxQfT0p4{=?z=5Te~}|PvoQoFDzA!@sSp>ipukaeTrZ< zsH;B59JxLFU1`U0Pa?}xcOLC zzuH}@27av>x)j$>A0W!ggagTz#Hbk!{OBB5T2A@?N`K9qCfH?g6oK;uOdp_k0E!oc z|2B$R-MOV-SV|M%L4jx}_DP5^x;_{DSD>2L*4B1W;9t9+@8k*1x=Os7$4I^D3oT^Z zXjO&2(X1A|cr2!@g@L-$Vjx9^WKM`ge;(wR)6~*}YU9GuM}vD(Q|uw0f)CfNV*c|k zHkC6N=8QvkbfNTZ#(2wIJXoB$^sFPRJutAY>{Q=NB)0A2XUTo%c}F)3>r~$JvL;Rx z8mcEAj{P$lEt6qSi^FeNnp+$5byw2@Phc=9aUlk-SjmJlKgQ+IXj^b$VRH%KZ`o}( zaJ1UB_$I5hC-vw{OWwA2nL&>i%F>xz4N;4W1U4D`Oyp=?4dTkD>vN+4Lfk^6)ShF_ zQ&UsWq4c%fpB(TyvWR(J6>n?%Ttn!kJYGxdUQ)+wWF3+1Fs?sexvR_}fVtf6 z3F2~@Mn~dB^@Bxa#+N`tNCt=pex4!=(qD+0=CuX2l>7@AZ-8)62&Ss|c|gL^tvhS~ z%G=5I9KYtK=>lhJ=^zW<$^5LAX~q==>kR#Qe{05}3Rq3Tbf+{l57gAs2t53*{S``* zl2Zs=*VFsBb?3XbA@c)0N|8@8x+Sj~|7!4JX%bFJb-6?2Kf|S7t2lnmj?#K@07GyD ze06%OCXJ}i3}nIb_Qtpx_@9=FhK#n26Bm4U?0AYW9qfn;fOv>evu~#hIfS)F#>O5- zpNoKbhu^+^1Gwj;z+Vx^?JNlp(LXe%2I@hwYBSsCjm=SOVB6`gnHbUS7Jo|*5;U?y>0pIPuTNdDZg~-QocD6 zSK_RRiBIEWxd&wyNcoo_B_g{9R{ZBZux{KATxbvjR;`5U$g*!=9w;gf)g6J)O8at- z&GkoB<<`it5EZR|Mz7TGdEE_fs{&>-S?C$7ZLh}s*s9*LvGRqUB%m5fvb->CKA=)= zt#1qQ4A!@)hit$A#NB)Mf_+0CUP2Pf@QQ|)SBd)bu&Ag$2wkA#rLom=LkG7v>V~w< zKIgtwy}u_bG!B>lE(Tf|Vu#(@;v@v4YG7y~(GTbI>nHJ0;Eo_4MS42W>KP7HY#m@| zee&P#)Y$dl;9yYa$T@yV2LuIx&V7F9lfbFpPJcdz-3_(=Vkge60HjFD$_K@4&<_7K zibbQ`SZxzIMSvyy%G{1jO5v5@F@$jl_xlbhORBowI)7@fD!<9`s9!5Z6tSr6Xy6;3Zf90{mxF0ZUw7GJt-&% zRbo{MP+?`omt^rYH8l_zgtq6G9qrY+B3eRRG?`9y%@_!!H$&* zbrU3tt^!;V+z|?BwY7;C{ZEA#!1UIAP3G7!NC`dGK7D`i^QSy~xBx5{Q>d>qonK+D zKC@*nQeumkF{4l(UczOmFo7l+yoJQPJRlOh;F*KsV;wlX#g!qeesU~O+&7_KmrTe5 zvk~lyVURCmVI}%!cKOAK5x*+#({;}8xh%KS^ZBdt$%uc*juCffE*w(x!TQ4&fpiX4 z+O>|n1oh{>0L@Rj_FOPE{V=fI^t`dL5uVIpB@bl01DF_?Sy>M&I&-58lI5O5{%_ur zn%Hi@9*#lazTH)3m_JZ^#h^^U4>9IBd5MN_q47+ttheAq0y9L1f~p+($Z*`Cq3MO` z0|HA1Us3;adlqU~co?e-qrjPh^9ISBK;Fg(C@pNy^vOGNx$?cA*WNtijxmiLNG!_a zBPfZmvKr}f@Cs*!=?@E%_3N>6CQjCo6P%L#bps|LEY{qc{9<(`5fPz!0T@Pgsz*fl z`D(ON3R!n{wk1HfXMMX=#HV$=s&%wd%qM9CagwgnTq|Aao(VK_ws{<1iYl2pqkQ*r z00il=v9aDVH(7ke3V;XL-X`J-P)}7>Zo;RA;`K-M?SQCNpwne-s>134P725Ah;zfk zIxoUm4u}f8Vuw|4iVIO4FKk~%#jtLiEY2Sq#!6MUEm<)R5P@xhGUY)%sCb~XgEzYk z4`l8~wXuOgSbf7IG3Y$3LSNCj#2-!!tW8{8+}M+{YG^dWe}cpC4PYZkePDX6B9UxU z#ugS9Iy=qb)^HYKvWF~G9I&o;_H#OpzsDQ##;qwXO>7Y-uWuc?cK!NwZ*OzVQy!IC zSuf1~Jf2s~qd}<{B^4#Y?=~8Z*4fz!-#tz3w!zm8;5LDsfr=f*1Bi12gwb_PC@(K> zO;eMVk`jPs2oTwW?kn&W0M{~ws>kWrGuD05zyC7}uG);4p=KEfBy(As%bRXb*I&z; zk9_=SLvPv5j_&RaAgCdrz$guhf+2?=gcne+U3GBCpuV)_du)(R8bP>=(o&G{_`q6l zi5W%4#MnUBoAUun;am`oVM#pm>%2BD+GeT}T8;&$Tuh0-{CBZ>D%if#BmeNwb6dW5 zyQ$ILXD*2K1Yb2XDV)huzPvaJ;>W-6IMV9c=xdDj`bT^*?cjy&o`DSD7G8FV*lG2E0Gx z74w1B7=9VAU+zl}L7})!)lsN$*6mTk$?6LXC&R*QxXbDnydGT~FV(TbZpo?+_~H zS_s>aQtsFd?1xN_zQnTIh+b#2S#K4m?6>`+WEfQ^DJ4`)GB-?`Zk6qLw!mj;9Lsvn z`(U@en{t`8Q4)6jNB!wc3cC22AU}5ed+U~W{t>@vFD`c!3&=Sw1jfT(|bHEL*ga5_Y#?scq2| z4p9veykp+rK^Gad-bjO@Z#1j}c^zv$KR@fhZXsTpWl!~JTD|0Abd)L}YTO$Re^pBC>YNm0N8wvPQry~w7!sao# z=Xg3yy9I#^qbgc!!N>9C$)@}c6yddg5&TgUgCni`V7%M;nm4L8s0rJlE! zKC6&PG2FY>O{y9xs48YVp5e1)$l$uGJq~l*n?QGZpOg9HRx{1K?6_XPqXkyk$1I2E zCmJb(qgAc@=RfMH+VX3?;8=Fc>8r;C6Zne#?Tv>*J$iHwWLX`XKOM-$G1{)A(aE8q zKh<+$u)aEa3GF77;iI)ksh&*tDGd)xY*@cGa|!30Lv%MPJ&g1J zJ-+|CY$f{!j;3KcZTMj`oY_~CiEbl7rk6%(8CPI3mhSdeDmX5Z9`et-t$jp}3NF`v zzumIPh2h9}Tl-^po?Z8LiSC|A!%odlguC|A^i<7T9^WfJ;o5a15&N#=!{}e{-$TF> zT^bHaW$r1tZn-z6dEMi8;B&f)@IGWT6{a?Dt~!k>i~fv=&l6*)l9INLGtee z618ruhwRELa4|eO5Tv|*+2xr1ppkLYd_vj!u*>{#8;=3UYp#N^SkAx3^Z#sSMsAO4~uX~R%amBjd` zPJE9ZQr8a>F0ULSxdwa*M6pT`ljS_A#cEwW$1EW>*ibiqNCb(&y?27|?F8)B#(B5A vOk{1iEa8d#=M_}=zk=kyR{7ttbd&9EoHW^(T`Uzw#-nsKjWi0?F9-h*?(lnv diff --git a/doc/images/plot_geochord.png b/doc/images/plot_geochord.png index 27bf817007cccc3b7c6ad020e083fdb08a1e6fd1..475d521435b1f70fab2c33d00f0f95297c144c49 100644 GIT binary patch literal 69308 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%0A={z?KJ@W7DP$t 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 literal 23735 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 diff --git a/doc/images/plot_geoellipse_rotated.png b/doc/images/plot_geoellipse_rotated.png new file mode 100644 index 0000000000000000000000000000000000000000..426da122216dde5082ff7588c16e169d281f4286 GIT binary patch literal 74433 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

    0<}-Z#3qX++eIG%>Xy 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 VI(NFd)DT{Uaj

    1-po^4AZ+#_5Ok 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 literal 0 HcmV?d00001 diff --git a/doc/images/plot_geopie.png b/doc/images/plot_geopie.png index e6c0ac84553a29854b3e3c9ee37f2cea4160d493..8cf90cff859494bef083b6ee67e3be8a906bd984 100644 GIT binary patch literal 69641 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
    4H%jkK=>3otV4=c2@Wm*J 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%0A)f>$ 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 G-~R)Hm>jeK literal 23871 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 diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 3aaae13148..36d6c4fbc6 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -29,6 +29,7 @@ add_subdirectory(errorbarstyles) add_subdirectory(filledgraphs) add_subdirectory(functionplot) add_subdirectory(geometric) +add_subdirectory(geo_simple) add_subdirectory(imageplot) add_subdirectory(imageplot_userpal) add_subdirectory(imageplot_modifier) diff --git a/examples/geometric/README.md b/examples/geometric/README.md index f632d396e6..ff32c4b2be 100644 --- a/examples/geometric/README.md +++ b/examples/geometric/README.md @@ -1,73 +1,73 @@ # Example (JKQTPlotter): Plotting Geometric Objects {#JKQTPlotterGeometricGraphs} -This project shows the capabilities of JKQTPlotter to also draw geometric elements, like circles, ellipses, rectangles etc. +This project shows the capabilities of JKQTPlotter `plot` to also draw geometric elements, like circles, ellipses, rectangles etc. -The source code of the main application can be found in [`geometric.cpp`](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/geometric/geometric.cpp). First a plot is generated and the axis aspect ratio is set to 1, so an accurate plot is generated. Then several geometric graphs are added to the plot. Here are some examples, you can find more more examples in the source code of the example: +The source code of the main application can be found in [`geometric.cpp`](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/geometric/geometric.cpp). First a plot is generated and the axis aspect ratio is set to 1, so an accurate plot is generated. Then several geometric graphs are added to the plot-> Here are some examples, you can find more more examples in the source code of the example: ```.cpp // a text element - plot.addGraph(new JKQTPGeoText(&plot, 0.1,0.6, "$x_{1/2}=\\frac{\\sqrt{b^2-4ac}}{2a}$", 10, QColor("red"))); + plot->addGraph(new JKQTPGeoText(plot, 0.1,0.6, "$x_{1/2}=\\frac{\\sqrt{b^2-4ac}}{2a}$", 10, QColor("red"))); // a single symbol - plot.addGraph(new JKQTPGeoSymbol(&plot, 0.1,0.6, JKQTPCircle, 5, QColor("grey"))); + plot->addGraph(new JKQTPGeoSymbol(plot, 0.1,0.6, JKQTPCircle, 5, QColor("grey"))); // a line - plot.addGraph(new JKQTPGeoLine(&plot, 1, 0.05, 1.9, 0.9, QColor("red"), 2)); + plot->addGraph(new JKQTPGeoLine(plot, 1, 0.05, 1.9, 0.9, QColor("red"), 2)); // an arrow - plot.addGraph(new JKQTPGeoArrow(&plot, 0.4, 2.5, 0.4, 2.65, QColor("green"), JKQTPArrowAndStop, JKQTPFilledArrow, 1)); + plot->addGraph(new JKQTPGeoArrow(plot, 0.4, 2.5, 0.4, 2.65, QColor("green"), JKQTPArrowAndStop, JKQTPFilledArrow, 1)); // a one-sided infinite line with slope dy/dx=0.25/0.2 - JKQTPGeoInfiniteLine* infLine=new JKQTPGeoInfiniteLine(&plot, 1.7, 0.2, 0.2, 0.25, QColor("green"), 1.5, Qt::PenStyle::DashLine); + JKQTPGeoInfiniteLine* infLine=new JKQTPGeoInfiniteLine(plot, 1.7, 0.2, 0.2, 0.25, QColor("green"), 1.5, Qt::PenStyle::DashLine); infLine->setTwoSided(false); infLine->setAlpha(0.5); - plot.addGraph(infLine); + plot->addGraph(infLine); // a polyline QVector p; p<addGraph(new JKQTPGeoPolyLines(plot, p, QColor("darkgreen"), 4, Qt::PenStyle::DashDotLine)); // rectangle: - plot.addGraph(new JKQTPGeoRectangle(&plot, QPointF(0.4,1.3), QPointF(0.9,1.6), QColor("blue"), 1, Qt::SolidLine, rfill)); + plot->addGraph(new JKQTPGeoRectangle(plot, QPointF(0.4,1.3), QPointF(0.9,1.6), QColor("blue"), 1, Qt::SolidLine, rfill)); // a rotated rectangle (rotated by 35 degrees): - plot.addGraph(new JKQTPGeoRectangle(&plot, 0.5,1.5,0.8,0.5, 35, QColor("darkblue"), 2, Qt::DashLine)); + plot->addGraph(new JKQTPGeoRectangle(plot, 0.5,1.5,0.8,0.5, 35, QColor("darkblue"), 2, Qt::DashLine)); // ellipse: - plot.addGraph(new JKQTPGeoEllipse(&plot, QPointF(0.4,1.3), QPointF(0.9,1.6), QColor("blue"), 1, Qt::SolidLine, rfill)); + plot->addGraph(new JKQTPGeoEllipse(plot, QPointF(0.4,1.3), QPointF(0.9,1.6), QColor("blue"), 1, Qt::SolidLine, rfill)); // a rotated ellipse (rotated by 35 degrees): - plot.addGraph(new JKQTPGeoEllipse(&plot, 0.5,1.5,0.8,0.5, 35, QColor("darkblue"), 2, Qt::DashLine)); + plot->addGraph(new JKQTPGeoEllipse(plot, 0.5,1.5,0.8,0.5, 35, QColor("darkblue"), 2, Qt::DashLine)); // a polygon - JKQTPGeoPolygon* polygongraph=new JKQTPGeoPolygon(&plot, QColor("red"), 2, Qt::PenStyle::DashLine, QColor("salmon")); + JKQTPGeoPolygon* polygongraph=new JKQTPGeoPolygon(plot, QColor("red"), 2, Qt::PenStyle::DashLine, QColor("salmon")); polygongraph->appendPoint(2.1, 0.5); polygongraph->appendPoint(2.9, 0.9); polygongraph->appendPoint(2.2, 0.8); polygongraph->appendPoint(2.8, 0.25); polygongraph->appendPoint(2.6, 0.6); polygongraph->setAlpha(0.75); - plot.addGraph(polygongraph); + plot->addGraph(polygongraph); // an arc from an ellipse from -10 degrees to 117 degrees, centered at 2.5,1.5 and full axes of 0.5 and 0.5 - plot.addGraph(new JKQTPGeoArc(&plot,2.5,1.5,0.5,0.5, -10, 117 , QColor("orange"), 4, Qt::PenStyle::DashLine)); + plot->addGraph(new JKQTPGeoArc(plot,2.5,1.5,0.5,0.5, -10, 117 , QColor("orange"), 4, Qt::PenStyle::DashLine)); // a pie centered at 2.5,2.5 with ellipse axes 0.9 and 0.9 and from angle 0 degrees to 90 degrees - plot.addGraph(new JKQTPGeoPie(&plot,2.5,2.5,0.9,0.9, 0, 90 , QColor("blue"), 4, Qt::PenStyle::SolidLine,QColor("lightblue"))); + plot->addGraph(new JKQTPGeoPie(plot,2.5,2.5,0.9,0.9, 0, 90 , QColor("blue"), 4, Qt::PenStyle::SolidLine,QColor("lightblue"))); // a chord centered at 2.5,2.5 with ellipse axes 0.9 and 0.9 and from angle 0 degrees to 90 degrees - plot.addGraph(new JKQTPGeoChord(&plot,2.5,2.5,0.9,0.9, 0, 90 , QColor("blue"), 4, Qt::PenStyle::SolidLine,QColor("lightblue"))); + plot->addGraph(new JKQTPGeoChord(plot,2.5,2.5,0.9,0.9, 0, 90 , QColor("blue"), 4, Qt::PenStyle::SolidLine,QColor("lightblue"))); ``` @@ -76,4 +76,59 @@ The result of the example combines all these elements and looks like this: ![geometric](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/geometric.png) +The example also adds some control-widgets that allow to change the properties of the plot, especially whether the aspect ratio is maintained and whether the axes have logarithmic scaling. This is achieved by code like this: +```.cpp + // 1. create a Widget with a plotter and some control-elements + QWidget widMain; + QGridLayout* layMain=new QGridLayout; + widMain.setLayout(layMain); + JKQTPlotter* plot=new JKQTPlotter(&widMain); + layMain->addWidget(plot, 1,0,1,5); + layMain->setRowStretch(1,1); + QCheckBox* chk; + + // when checkbox is toggled: aspect-ration is maintained, or not + layMain->addWidget(chk=new QCheckBox(QObject::tr("maintain aspect ratio"), &widMain), 0, 0); + chk->setChecked(true); + QObject::connect(chk, &QCheckBox::toggled, [plot](bool checked) { + plot->getPlotter()->setMaintainAspectRatio(checked); + plot->getPlotter()->setMaintainAxisAspectRatio(checked); + }); + + // toggling the checkbox switches between linear and log x-axis + layMain->addWidget(chk=new QCheckBox(QObject::tr("x: log-scale"), &widMain), 0, 1); + chk->setChecked(false); + QObject::connect(chk, &QCheckBox::toggled, plot->getPlotter()->getXAxis(), &JKQTPHorizontalAxis::setLogAxis); + // toggling the checkbox switches between linear and log y-axis + layMain->addWidget(chk=new QCheckBox(QObject::tr("y: log-scale"), &widMain), 0, 2); + chk->setChecked(false); + QObject::connect(chk, &QCheckBox::toggled, plot->getPlotter()->getYAxis(), &JKQTPVerticalAxis::setLogAxis); + + QComboBox* cmb; + // a combobox to select the DrawMode of all graph elements + layMain->addWidget(new QLabel(QObject::tr("DrawMode: "), &widMain), 0, 3); + layMain->addWidget(cmb=new QComboBox(&widMain), 0, 4); + cmb->addItem(QObject::tr("DrawAsGraphicElement")); + cmb->addItem(QObject::tr("DrawAsMathematicalCurve")); + cmb->setCurrentIndex(0); + QObject::connect(cmb, static_cast(&QComboBox::currentIndexChanged), [plot](int index) { + for (size_t i=0; igetPlotter()->getGraphCount(); i++) { + JKQTPPlotObject* obj=dynamic_cast(plot->getPlotter()->getGraph(i)); + if (obj) { + obj->setDrawMode((index==0)?JKQTPPlotObject::DrawAsGraphicElement:JKQTPPlotObject::DrawAsMathematicalCurve); + } + } + plot->redrawPlot(); + }); +``` + +Now you can play with these controls and see how the different shapes get distorted when these properties change, in dependence of whether the DrawMode is `JKQTPPlotObject::DrawAsMathematicalCurve` or `JKQTPPlotObject::DrawAsGraphicElement`. + +Here is an example on log-log axes and DrawMode = `JKQTPPlotObject::DrawAsGraphicElement`: + +![geometric](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/geometric_loglog_DrawAsGraphicElement.png) + +Here is an example on log-log axes and DrawMode = `JKQTPPlotObject::DrawAsMathematicalCurve`: Observe how straight lines are bent to the appropriate curve! + +![geometric](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/geometric_loglog_DrawAsMathematicalCurve.png) diff --git a/examples/geometric/geometric.cpp b/examples/geometric/geometric.cpp index 8b316a0fd5..deaa347eb7 100644 --- a/examples/geometric/geometric.cpp +++ b/examples/geometric/geometric.cpp @@ -3,7 +3,8 @@ * * \ref JKQTPlotterGeometricGraphs */ - +#include +#include #include #include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/graphs/jkqtpgeometric.h" @@ -13,168 +14,210 @@ int main(int argc, char* argv[]) { QApplication app(argc, argv); - // 1. create a plotter window - JKQTPlotter plot; + // 1. create a Widget with a plotter and some control-elements + QWidget widMain; + QGridLayout* layMain=new QGridLayout; + widMain.setLayout(layMain); + JKQTPlotter* plot=new JKQTPlotter(&widMain); + layMain->addWidget(plot, 1,0,1,5); + layMain->setRowStretch(1,1); + QCheckBox* chk; + // when checkbox is toggled: aspect-ration is maintained, or not + layMain->addWidget(chk=new QCheckBox(QObject::tr("maintain aspect ratio"), &widMain), 0, 0); + chk->setChecked(true); + QObject::connect(chk, &QCheckBox::toggled, [plot](bool checked) { + plot->getPlotter()->setMaintainAspectRatio(checked); + plot->getPlotter()->setMaintainAxisAspectRatio(checked); + }); + // toggling the checkbox switches between linear and log x-axis + layMain->addWidget(chk=new QCheckBox(QObject::tr("x: log-scale"), &widMain), 0, 1); + chk->setChecked(false); + QObject::connect(chk, &QCheckBox::toggled, plot->getPlotter()->getXAxis(), &JKQTPHorizontalAxis::setLogAxis); + // toggling the checkbox switches between linear and log y-axis + layMain->addWidget(chk=new QCheckBox(QObject::tr("y: log-scale"), &widMain), 0, 2); + chk->setChecked(false); + QObject::connect(chk, &QCheckBox::toggled, plot->getPlotter()->getYAxis(), &JKQTPVerticalAxis::setLogAxis); + QComboBox* cmb; + // a combobox to select the DrawMode of all graph elements + layMain->addWidget(new QLabel(QObject::tr("DrawMode: "), &widMain), 0, 3); + layMain->addWidget(cmb=new QComboBox(&widMain), 0, 4); + cmb->addItem(QObject::tr("DrawAsGraphicElement")); + cmb->addItem(QObject::tr("DrawAsMathematicalCurve")); + cmb->setCurrentIndex(0); + QObject::connect(cmb, static_cast(&QComboBox::currentIndexChanged), [plot](int index) { + for (size_t i=0; igetPlotter()->getGraphCount(); i++) { + JKQTPPlotObject* obj=dynamic_cast(plot->getPlotter()->getGraph(i)); + if (obj) { + obj->setDrawMode((index==0)?JKQTPPlotObject::DrawAsGraphicElement:JKQTPPlotObject::DrawAsMathematicalCurve); + } + } + plot->redrawPlot(); + }); + + // 2. format graph: // 2.1 set the graph scales manually - plot.setXY(0,3.05,0,3.05); + plot->setXY(0,3.05,0,3.05); // 2.2 set the asxpect ratio to 1 - plot.getPlotter()->setMaintainAspectRatio(true); - plot.getPlotter()->setAspectRatio(1); - plot.getPlotter()->setMaintainAxisAspectRatio(true); - plot.getPlotter()->setAxisAspectRatio(1); + plot->getPlotter()->setMaintainAspectRatio(true); + plot->getPlotter()->setAspectRatio(1); + plot->getPlotter()->setMaintainAxisAspectRatio(true); + plot->getPlotter()->setAxisAspectRatio(1); // 2.3 set the asxpect ratio to 1 - plot.getXAxis()->setDrawGrid(false); - plot.getYAxis()->setDrawGrid(false); + plot->getXAxis()->setDrawGrid(false); + plot->getYAxis()->setDrawGrid(false); + // 2.4 show 9 minor ticks between two major ticks + plot->getXAxis()->setMinorTicks(9); + plot->getYAxis()->setMinorTicks(9); // 3. add some geometric plots // 3.1 some text elements, also with formatting by LaTeX expressions - plot.addGraph(new JKQTPGeoText(&plot, 0.1,0.95, "\\textbf{Text:}", 14, QColor("red"))); - plot.addGraph(new JKQTPGeoText(&plot, 0.1,0.1, "A text object in 10pt", 10, QColor("red"))); - plot.addGraph(new JKQTPGeoSymbol(&plot, 0.1,0.1, JKQTPCircle, 5, QColor("grey"))); - plot.addGraph(new JKQTPGeoText(&plot, 0.1,0.3, "A text object in 12pt", 12, QColor("red"))); - plot.addGraph(new JKQTPGeoSymbol(&plot, 0.1,0.3, JKQTPCircle, 5, QColor("grey"))); - plot.addGraph(new JKQTPGeoText(&plot, 0.1,0.6, "$x_{1/2}=\\frac{\\sqrt{b^2-4ac}}{2a}$", 10, QColor("red"))); - plot.addGraph(new JKQTPGeoSymbol(&plot, 0.1,0.6, JKQTPCircle, 5, QColor("grey"))); + plot->addGraph(new JKQTPGeoText(plot, 0.1,0.95, "\\textbf{Text:}", 14, QColor("red"))); + plot->addGraph(new JKQTPGeoText(plot, 0.1,0.1, "A text object in 10pt", 10, QColor("red"))); + plot->addGraph(new JKQTPGeoSymbol(plot, 0.1,0.1, JKQTPCircle, 5, QColor("grey"))); + plot->addGraph(new JKQTPGeoText(plot, 0.1,0.3, "A text object in 12pt", 12, QColor("red"))); + plot->addGraph(new JKQTPGeoSymbol(plot, 0.1,0.3, JKQTPCircle, 5, QColor("grey"))); + plot->addGraph(new JKQTPGeoText(plot, 0.1,0.6, "$x_{1/2}=\\frac{\\sqrt{b^2-4ac}}{2a}$", 10, QColor("red"))); + plot->addGraph(new JKQTPGeoSymbol(plot, 0.1,0.6, JKQTPCircle, 5, QColor("grey"))); // 3.2 some lines elements (single lines) - plot.addGraph(new JKQTPGeoText(&plot, 1.1,0.95, "\\textbf{Lines:}", 14, QColor("red"))); - plot.addGraph(new JKQTPGeoLine(&plot, 1, 0.05, 1.9, 0.9, QColor("red"), 2)); - plot.addGraph(new JKQTPGeoLine(&plot, 1, 0.1, 1.9, 0.8, QColor("blue"), 1, Qt::PenStyle::DashLine)); - JKQTPGeoInfiniteLine* infLine=new JKQTPGeoInfiniteLine(&plot, 1.7, 0.2, 0.2, 0.25, QColor("green"), 1.5, Qt::PenStyle::DashLine); + plot->addGraph(new JKQTPGeoText(plot, 1.1,0.95, "\\textbf{Lines:}", 14, QColor("red"))); + plot->addGraph(new JKQTPGeoLine(plot, 1, 0.05, 1.9, 0.9, QColor("red"), 2)); + plot->addGraph(new JKQTPGeoLine(plot, 1, 0.1, 1.9, 0.8, QColor("blue"), 1, Qt::PenStyle::DashLine)); + JKQTPGeoInfiniteLine* infLine=new JKQTPGeoInfiniteLine(plot, 1.7, 0.2, 0.2, 0.25, QColor("green"), 1.5, Qt::PenStyle::DashLine); infLine->setTwoSided(false); infLine->setAlpha(0.5); - plot.addGraph(infLine); - infLine=new JKQTPGeoInfiniteLine(&plot, 1.7, 0.2, 0.2, -0.15, QColor("blue"), 1.5, Qt::PenStyle::SolidLine); + plot->addGraph(infLine); + infLine=new JKQTPGeoInfiniteLine(plot, 1.7, 0.2, 0.2, -0.15, QColor("blue"), 1.5, Qt::PenStyle::SolidLine); infLine->setTwoSided(true); infLine->setAlpha(0.5); - plot.addGraph(infLine); + plot->addGraph(infLine); // 3.3 some arrows - plot.addGraph(new JKQTPGeoText(&plot, 0.1,2.95, "\\textbf{Arrows:}", 14, QColor("red"))); + plot->addGraph(new JKQTPGeoText(plot, 0.1,2.95, "\\textbf{Arrows:}", 14, QColor("red"))); - plot.addGraph(new JKQTPGeoArrow(&plot, 0.3, 2.1, 0.1, 2.9, QColor("green"), JKQTPTriangleDecoratorAndBar, JKQTPDiamondDecoratorAndBar, 1)); - plot.addGraph(new JKQTPGeoArrow(&plot, 0.2, 2.1, 0.2, 2.9, QColor("blue"), JKQTPNoDecorator, JKQTPFilledTriangleDecoratorAndBar, 2)); - plot.addGraph(new JKQTPGeoArrow(&plot, 0.1, 2.1, 0.3, 2.9, QColor("orange"), JKQTPDoubleArrowAndBar, JKQTPNoDecorator, 3)); + plot->addGraph(new JKQTPGeoArrow(plot, 0.3, 2.1, 0.1, 2.9, QColor("green"), JKQTPTriangleDecoratorAndBar, JKQTPDiamondDecoratorAndBar, 1)); + plot->addGraph(new JKQTPGeoArrow(plot, 0.2, 2.1, 0.2, 2.9, QColor("blue"), JKQTPNoDecorator, JKQTPFilledTriangleDecoratorAndBar, 2)); + plot->addGraph(new JKQTPGeoArrow(plot, 0.1, 2.1, 0.3, 2.9, QColor("orange"), JKQTPDoubleArrowAndBar, JKQTPNoDecorator, 3)); - plot.addGraph(new JKQTPGeoArrow(&plot, 0.6, 2.1, 0.4, 2.9, QColor("green"), JKQTPTriangleDecorator, JKQTPTriangleDecorator, 0.5)); - plot.addGraph(new JKQTPGeoArrow(&plot, 0.5, 2.1, 0.5, 2.9, QColor("blue"), JKQTPNoDecorator, JKQTPFilledArrow, 2)); - plot.addGraph(new JKQTPGeoArrow(&plot, 0.4, 2.1, 0.6, 2.9, QColor("orange"), JKQTPFilledArrow, JKQTPNoDecorator, 1)); + plot->addGraph(new JKQTPGeoArrow(plot, 0.6, 2.1, 0.4, 2.9, QColor("green"), JKQTPTriangleDecorator, JKQTPTriangleDecorator, 0.5)); + plot->addGraph(new JKQTPGeoArrow(plot, 0.5, 2.1, 0.5, 2.9, QColor("blue"), JKQTPNoDecorator, JKQTPFilledArrow, 2)); + plot->addGraph(new JKQTPGeoArrow(plot, 0.4, 2.1, 0.6, 2.9, QColor("orange"), JKQTPFilledArrow, JKQTPNoDecorator, 1)); - plot.addGraph(new JKQTPGeoArrow(&plot, 0.7, 2.1, 0.7, 2.5, QColor("green"), JKQTPArrowAndBar, JKQTPFilledArrow, 0.5)); - plot.addGraph(new JKQTPGeoArrow(&plot, 0.8, 2.1, 0.8, 2.5, QColor("orange"), JKQTPArrowAndBar, JKQTPFilledArrow, 1)); - plot.addGraph(new JKQTPGeoArrow(&plot, 0.9, 2.1, 0.9, 2.5, QColor("orange"), JKQTPArrowAndBar, JKQTPFilledArrow, 2)); + plot->addGraph(new JKQTPGeoArrow(plot, 0.7, 2.1, 0.7, 2.5, QColor("green"), JKQTPArrowAndBar, JKQTPFilledArrow, 0.5)); + plot->addGraph(new JKQTPGeoArrow(plot, 0.8, 2.1, 0.8, 2.5, QColor("orange"), JKQTPArrowAndBar, JKQTPFilledArrow, 1)); + plot->addGraph(new JKQTPGeoArrow(plot, 0.9, 2.1, 0.9, 2.5, QColor("orange"), JKQTPArrowAndBar, JKQTPFilledArrow, 2)); - plot.addGraph(new JKQTPGeoArrow(&plot, 0.7, 2.7, 0.7, 2.9, QColor("green"), JKQTPTriangleDecoratorAndBar, JKQTPFilledCircleDecorator, 0.5)); - plot.addGraph(new JKQTPGeoArrow(&plot, 0.8, 2.7, 0.8, 2.9, QColor("orange"), JKQTPTriangleDecoratorAndBar, JKQTPFilledCircleDecorator, 1)); - plot.addGraph(new JKQTPGeoArrow(&plot, 0.9, 2.7, 0.9, 2.9, QColor("orange"), JKQTPTriangleDecoratorAndBar, JKQTPFilledCircleDecorator, 2)); + plot->addGraph(new JKQTPGeoArrow(plot, 0.7, 2.7, 0.7, 2.9, QColor("green"), JKQTPTriangleDecoratorAndBar, JKQTPFilledCircleDecorator, 0.5)); + plot->addGraph(new JKQTPGeoArrow(plot, 0.8, 2.7, 0.8, 2.9, QColor("orange"), JKQTPTriangleDecoratorAndBar, JKQTPFilledCircleDecorator, 1)); + plot->addGraph(new JKQTPGeoArrow(plot, 0.9, 2.7, 0.9, 2.9, QColor("orange"), JKQTPTriangleDecoratorAndBar, JKQTPFilledCircleDecorator, 2)); // 3.4 some rectangles (you give the center and width/height of the rectangle in the contructor) - plot.addGraph(new JKQTPGeoText(&plot, 0.1,1.95, "\\textbf{Rectangles:}", 14, QColor("red"))); - plot.addGraph(new JKQTPGeoRectangle(&plot, 0.5,1.5,0.8,0.8, QColor("blue"), 1, Qt::SolidLine, QColor("lightblue"))); + plot->addGraph(new JKQTPGeoText(plot, 0.1,1.95, "\\textbf{Rectangles:}", 14, QColor("red"))); + plot->addGraph(new JKQTPGeoRectangle(plot, 0.5,1.5,0.8,0.8, QColor("blue"), 1, Qt::SolidLine, QColor("lightblue"))); QColor rfill("lightblue"); rfill.setAlphaF(0.5); - plot.addGraph(new JKQTPGeoRectangle(&plot, QPointF(0.4,1.3), QPointF(0.9,1.6), QColor("blue"), 1, Qt::SolidLine, rfill)); - plot.addGraph(new JKQTPGeoRectangle(&plot, 0.5,1.5,0.8,0.5, 35, QColor("darkblue"), 2, Qt::DashLine)); - plot.addGraph(new JKQTPGeoRectangle(&plot, 0.5,1.5,0.6,0.6, -7, QColor("orange"), 2, Qt::DotLine, QColor("salmon"), Qt::FDiagPattern)); - plot.addGraph(new JKQTPGeoSymbol(&plot, 0.5,1.5, JKQTPCircle, 5, QColor("grey"))); - plot.addGraph(new JKQTPGeoSymbol(&plot, 0.4,1.3, JKQTPCircle, 5, QColor("grey"))); - plot.addGraph(new JKQTPGeoSymbol(&plot, 0.9,1.6, JKQTPCircle, 5, QColor("grey"))); + plot->addGraph(new JKQTPGeoRectangle(plot, QPointF(0.4,1.3), QPointF(0.9,1.6), QColor("blue"), 1, Qt::SolidLine, rfill)); + plot->addGraph(new JKQTPGeoRectangle(plot, 0.5,1.5,0.8,0.5, 35, QColor("darkblue"), 2, Qt::DashLine)); + plot->addGraph(new JKQTPGeoRectangle(plot, 0.5,1.5,0.6,0.6, -7, QColor("orange"), 2, Qt::DotLine, QColor("salmon"), Qt::FDiagPattern)); + plot->addGraph(new JKQTPGeoSymbol(plot, 0.5,1.5, JKQTPCircle, 5, QColor("grey"))); + plot->addGraph(new JKQTPGeoSymbol(plot, 0.4,1.3, JKQTPCircle, 5, QColor("grey"))); + plot->addGraph(new JKQTPGeoSymbol(plot, 0.9,1.6, JKQTPCircle, 5, QColor("grey"))); // 3.5 some circles and elllipses - plot.addGraph(new JKQTPGeoText(&plot, 1.1,1.95, "\\textbf{Circles/Ellipses:}", 14, QColor("red"))); + plot->addGraph(new JKQTPGeoText(plot, 1.1,1.95, "\\textbf{Circles/Ellipses:}", 14, QColor("red"))); QColor col=QColor("blue"); col.setAlphaF(0.2); - plot.addGraph(new JKQTPGeoRectangle(&plot, 1.5,1.5,0.8,0.8, col, 0.5, Qt::SolidLine)); + plot->addGraph(new JKQTPGeoRectangle(plot, 1.5,1.5,0.8,0.8, col, 0.5, Qt::SolidLine)); col.setAlphaF(1); - plot.addGraph(new JKQTPGeoEllipse(&plot, 1.5,1.5,0.8,0.8, col, 1, Qt::SolidLine, QColor("lightblue"))); + plot->addGraph(new JKQTPGeoEllipse(plot, 1.5,1.5,0.8,0.8, col, 1, Qt::SolidLine, QColor("lightblue"))); col=QColor("blue"); col.setAlphaF(0.2); - plot.addGraph(new JKQTPGeoRectangle(&plot, QPointF(1.4,1.3), QPointF(1.9,1.6),col, 0.5, Qt::SolidLine)); + plot->addGraph(new JKQTPGeoRectangle(plot, QPointF(1.4,1.3), QPointF(1.9,1.6),col, 0.5, Qt::SolidLine)); col.setAlphaF(1); - plot.addGraph(new JKQTPGeoEllipse(&plot, QPointF(1.4,1.3), QPointF(1.9,1.6), col, 1, Qt::SolidLine, rfill)); + plot->addGraph(new JKQTPGeoEllipse(plot, QPointF(1.4,1.3), QPointF(1.9,1.6), col, 1, Qt::SolidLine, rfill)); col=QColor("darkblue"); col.setAlphaF(0.2); - plot.addGraph(new JKQTPGeoRectangle(&plot, 1.5,1.5,0.8,0.5, 35, col, 0.5, Qt::DashLine)); + plot->addGraph(new JKQTPGeoRectangle(plot, 1.5,1.5,0.8,0.5, 35, col, 0.5, Qt::DashLine)); col.setAlphaF(1); - plot.addGraph(new JKQTPGeoEllipse(&plot, 1.5,1.5,0.8,0.5, 35, col, 2, Qt::DashLine)); + plot->addGraph(new JKQTPGeoEllipse(plot, 1.5,1.5,0.8,0.5, 35, col, 2, Qt::DashLine)); col=QColor("orange"); col.setAlphaF(0.2); - plot.addGraph(new JKQTPGeoRectangle(&plot, 1.5,1.5,0.6,0.6, -7, col, 0.5, Qt::DotLine)); + plot->addGraph(new JKQTPGeoRectangle(plot, 1.5,1.5,0.6,0.6, -7, col, 0.5, Qt::DotLine)); col.setAlphaF(1); - plot.addGraph(new JKQTPGeoEllipse(&plot, 1.5,1.5,0.6,0.6, -7, col, 2, Qt::DotLine, QColor("salmon"), Qt::FDiagPattern)); - plot.addGraph(new JKQTPGeoSymbol(&plot, 1.5,1.5, JKQTPCircle, 5, QColor("grey"))); - plot.addGraph(new JKQTPGeoSymbol(&plot, 1.4,1.3, JKQTPCircle, 5, QColor("grey"))); - plot.addGraph(new JKQTPGeoSymbol(&plot, 1.9,1.6, JKQTPCircle, 5, QColor("grey"))); + plot->addGraph(new JKQTPGeoEllipse(plot, 1.5,1.5,0.6,0.6, -7, col, 2, Qt::DotLine, QColor("salmon"), Qt::FDiagPattern)); + plot->addGraph(new JKQTPGeoSymbol(plot, 1.5,1.5, JKQTPCircle, 5, QColor("grey"))); + plot->addGraph(new JKQTPGeoSymbol(plot, 1.4,1.3, JKQTPCircle, 5, QColor("grey"))); + plot->addGraph(new JKQTPGeoSymbol(plot, 1.9,1.6, JKQTPCircle, 5, QColor("grey"))); // 3.6 some polygon elements - plot.addGraph(new JKQTPGeoText(&plot, 2.1,0.95, "\\textbf{PolyLines/Polygons:}", 14, QColor("red"))); + plot->addGraph(new JKQTPGeoText(plot, 2.1,0.95, "\\textbf{PolyLines/Polygons:}", 14, QColor("red"))); QVector polygon; polygon<setAlpha(0.75); - plot.addGraph(polygraph); - polygraph=new JKQTPGeoPolygon(&plot, QColor("red"), 2, Qt::PenStyle::DashLine, QColor("salmon")); + plot->addGraph(polygraph); + polygraph=new JKQTPGeoPolygon(plot, QColor("red"), 2, Qt::PenStyle::DashLine, QColor("salmon")); polygraph->appendPoint(2.1, 0.5); polygraph->appendPoint(2.9, 0.9); polygraph->appendPoint(2.2, 0.8); polygraph->appendPoint(2.8, 0.25); polygraph->appendPoint(2.6, 0.6); polygraph->setAlpha(0.75); - plot.addGraph(polygraph); + plot->addGraph(polygraph); // 3.7 a poly-line element QVector p; p<addGraph(new JKQTPGeoPolyLines(plot, p, QColor("darkgreen"), 4, Qt::PenStyle::DashDotLine)); // 3.8 some arcs - plot.addGraph(new JKQTPGeoText(&plot, 2.1,1.95, "\\textbf{Arcs:}", 14, QColor("red"))); - plot.addGraph(new JKQTPGeoRectangle(&plot, 2.5,1.5,0.9,0.9, QColor("lightgrey"), 0.5, Qt::SolidLine)); - plot.addGraph(new JKQTPGeoArc(&plot,2.5,1.5,0.9,0.9, 0, 90 , QColor("blue"), 4, Qt::PenStyle::SolidLine)); - plot.addGraph(new JKQTPGeoArc(&plot,2.5,1.5,0.8,0.8, 90,180 , QColor("red"), 4, Qt::PenStyle::SolidLine)); - plot.addGraph(new JKQTPGeoArc(&plot,2.5,1.5,0.7,0.7, 180,270 , QColor("darkblue"), 4, Qt::PenStyle::SolidLine)); - plot.addGraph(new JKQTPGeoArc(&plot,2.5,1.5,0.6,0.6, 270,360 , QColor("maroon"), 4, Qt::PenStyle::DashDotLine)); - plot.addGraph(new JKQTPGeoArc(&plot,2.5,1.5,0.5,0.5, -10, 117 , QColor("orange"), 4, Qt::PenStyle::DashLine)); - plot.addGraph(new JKQTPGeoArc(&plot,2.5,1.5,0.4,0.4, 85, 347 , QColor("darkgreen"), 4, Qt::PenStyle::SolidLine)); - plot.addGraph(new JKQTPGeoSymbol(&plot, 2.5,1.5, JKQTPCircle, 5, QColor("grey"))); + plot->addGraph(new JKQTPGeoText(plot, 2.1,1.95, "\\textbf{Arcs:}", 14, QColor("red"))); + plot->addGraph(new JKQTPGeoRectangle(plot, 2.5,1.5,0.9,0.9, QColor("lightgrey"), 0.5, Qt::SolidLine)); + plot->addGraph(new JKQTPGeoArc(plot,2.5,1.5,0.9,0.9, 0, 90 , QColor("blue"), 4, Qt::PenStyle::SolidLine)); + plot->addGraph(new JKQTPGeoArc(plot,2.5,1.5,0.8,0.8, 90,180 , QColor("red"), 4, Qt::PenStyle::SolidLine)); + plot->addGraph(new JKQTPGeoArc(plot,2.5,1.5,0.7,0.7, 180,270 , QColor("darkblue"), 4, Qt::PenStyle::SolidLine)); + plot->addGraph(new JKQTPGeoArc(plot,2.5,1.5,0.6,0.6, 270,360 , QColor("maroon"), 4, Qt::PenStyle::DashDotLine)); + plot->addGraph(new JKQTPGeoArc(plot,2.5,1.5,0.5,0.5, -10, 117 , QColor("orange"), 4, Qt::PenStyle::DashLine)); + plot->addGraph(new JKQTPGeoArc(plot,2.5,1.5,0.4,0.4, 85, 347 , QColor("darkgreen"), 4, Qt::PenStyle::SolidLine)); + plot->addGraph(new JKQTPGeoSymbol(plot, 2.5,1.5, JKQTPCircle, 5, QColor("grey"))); // 3.9 some pies - plot.addGraph(new JKQTPGeoText(&plot, 2.1,2.95, "\\textbf{Pies:}", 14, QColor("red"))); - plot.addGraph(new JKQTPGeoRectangle(&plot, 2.5,2.5,0.9,0.9, QColor("lightgrey"), 0.5, Qt::SolidLine)); + plot->addGraph(new JKQTPGeoText(plot, 2.1,2.95, "\\textbf{Pies:}", 14, QColor("red"))); + plot->addGraph(new JKQTPGeoRectangle(plot, 2.5,2.5,0.9,0.9, QColor("lightgrey"), 0.5, Qt::SolidLine)); JKQTPGeoPie* pie; - plot.addGraph(pie=new JKQTPGeoPie(&plot,2.5,2.5,0.9,0.9, 0, 90 , QColor("blue"), 4, Qt::PenStyle::SolidLine,QColor("lightblue"))); - plot.addGraph(pie=new JKQTPGeoPie(&plot,2.5,2.5,0.7,0.7, 180,270 , QColor("darkblue"), 4, Qt::PenStyle::SolidLine,QColor("blue"))); + plot->addGraph(pie=new JKQTPGeoPie(plot,2.5,2.5,0.9,0.9, 0, 90 , QColor("blue"), 4, Qt::PenStyle::SolidLine,QColor("lightblue"))); + plot->addGraph(pie=new JKQTPGeoPie(plot,2.5,2.5,0.7,0.7, 180,270 , QColor("darkblue"), 4, Qt::PenStyle::SolidLine,QColor("blue"))); pie->setAlpha(0.5); - plot.addGraph(pie=new JKQTPGeoPie(&plot,2.5,2.5,0.5,0.3, -25, 117 , QColor("orange"), 4, Qt::PenStyle::DashLine,QColor("red"))); + plot->addGraph(pie=new JKQTPGeoPie(plot,2.5,2.5,0.5,0.3, -25, 117 , QColor("orange"), 4, Qt::PenStyle::DashLine,QColor("red"))); pie->setAlpha(0.5); - plot.addGraph(pie=new JKQTPGeoPie(&plot,2.5,2.5,0.25,0.8, 85, 347 , QColor("darkgreen"), 4, Qt::PenStyle::SolidLine,QColor("green"))); + plot->addGraph(pie=new JKQTPGeoPie(plot,2.5,2.5,0.25,0.8, 85, 347 , QColor("darkgreen"), 4, Qt::PenStyle::SolidLine,QColor("green"))); pie->setAlpha(0.5); - plot.addGraph(new JKQTPGeoSymbol(&plot, 2.5,2.5, JKQTPCircle, 5, QColor("grey"))); + plot->addGraph(new JKQTPGeoSymbol(plot, 2.5,2.5, JKQTPCircle, 5, QColor("grey"))); // 3.10 some chords - plot.addGraph(new JKQTPGeoText(&plot, 1.1,2.95, "\\textbf{Chords:}", 14, QColor("red"))); - plot.addGraph(new JKQTPGeoRectangle(&plot, 1.5,2.5,0.9,0.9, QColor("lightgrey"), 0.5, Qt::SolidLine)); + plot->addGraph(new JKQTPGeoText(plot, 1.1,2.95, "\\textbf{Chords:}", 14, QColor("red"))); + plot->addGraph(new JKQTPGeoRectangle(plot, 1.5,2.5,0.9,0.9, QColor("lightgrey"), 0.5, Qt::SolidLine)); JKQTPGeoChord* chord; - plot.addGraph(chord=new JKQTPGeoChord(&plot,1.5,2.5,0.9,0.9, 0, 90 , QColor("blue"), 4, Qt::PenStyle::SolidLine,QColor("lightblue"))); - plot.addGraph(chord=new JKQTPGeoChord(&plot,1.5,2.5,0.7,0.7, 180,270 , QColor("darkblue"), 4, Qt::PenStyle::SolidLine,QColor("blue"))); + plot->addGraph(chord=new JKQTPGeoChord(plot,1.5,2.5,0.9,0.9, 0, 90 , QColor("blue"), 4, Qt::PenStyle::SolidLine,QColor("lightblue"))); + plot->addGraph(chord=new JKQTPGeoChord(plot,1.5,2.5,0.7,0.7, 180,270 , QColor("darkblue"), 4, Qt::PenStyle::SolidLine,QColor("blue"))); chord->setAlpha(0.5); - plot.addGraph(chord=new JKQTPGeoChord(&plot,1.5,2.5,0.5,0.3, -25, 117 , QColor("orange"), 4, Qt::PenStyle::DashLine,QColor("red"))); + plot->addGraph(chord=new JKQTPGeoChord(plot,1.5,2.5,0.5,0.3, -25, 117 , QColor("orange"), 4, Qt::PenStyle::DashLine,QColor("red"))); chord->setAlpha(0.5); - plot.addGraph(chord=new JKQTPGeoChord(&plot,1.5,2.5,0.25,0.8, 85, 347 , QColor("darkgreen"), 4, Qt::PenStyle::SolidLine,QColor("green"))); + plot->addGraph(chord=new JKQTPGeoChord(plot,1.5,2.5,0.25,0.8, 85, 347 , QColor("darkgreen"), 4, Qt::PenStyle::SolidLine,QColor("green"))); chord->setAlpha(0.5); - plot.addGraph(new JKQTPGeoSymbol(&plot, 1.5,2.5, JKQTPCircle, 5, QColor("grey"))); + plot->addGraph(new JKQTPGeoSymbol(plot, 1.5,2.5, JKQTPCircle, 5, QColor("grey"))); // 4. show plotter and make it a decent size - plot.show(); - plot.resize(800,800); + widMain.show(); + widMain.resize(1100,800); return app.exec(); } diff --git a/lib/jkqtcommon/CMakeLists.txt b/lib/jkqtcommon/CMakeLists.txt index 018fb35629..d1d6e3b757 100644 --- a/lib/jkqtcommon/CMakeLists.txt +++ b/lib/jkqtcommon/CMakeLists.txt @@ -28,6 +28,7 @@ set(SOURCES jkqtplinalgtools.cpp jkqtpcodestructuring.cpp jkqtpbasicimagetools.cpp + jkqtpgeometrytools.cpp jkqtpdrawingtools.cpp jkqtpenhancedpainter.cpp jkqtphighrestimer.cpp @@ -51,6 +52,7 @@ set(HEADERS jkqtplinalgtools.h jkqtpcodestructuring.h jkqtpbasicimagetools.h + jkqtpgeometrytools.h jkqtpdrawingtools.h jkqtpenhancedpainter.h jkqtphighrestimer.h diff --git a/lib/jkqtcommon/jkqtpdrawingtools.cpp b/lib/jkqtcommon/jkqtpdrawingtools.cpp index ac9bca0289..1ef23d4a5b 100644 --- a/lib/jkqtcommon/jkqtpdrawingtools.cpp +++ b/lib/jkqtcommon/jkqtpdrawingtools.cpp @@ -241,165 +241,6 @@ JKQTPGraphSymbols String2JKQTPGraphSymbols(const QString& pos) { - -QPolygonF jkqtpRotateRect(QRectF r, double angle) { - QPolygonF p; - QTransform m; - m.rotate(angle); - p.append(m.map(r.bottomLeft())); - p.append(m.map(r.bottomRight())); - p.append(m.map(r.topRight())); - p.append(m.map(r.topLeft())); - return p; -} - - - -; - - - -QVector JKQTPDrawEllipse(double x, double y, double a, double b, double angle_start, double angle_end, double alpha, int controlPoints, QPointF* x_start, QPointF* x_end) { - QVector result; - double start=angle_start*JKQTPSTATISTICS_PI/180.0; - double stop=angle_end*JKQTPSTATISTICS_PI/180.0; - double step=(stop-start)/static_cast(controlPoints); - while (fabs(stop-start)/step<10) step=step/2.0; - double sina=sin(1.0*alpha/180.0*JKQTPSTATISTICS_PI); - double cosa=cos(1.0*alpha/180.0*JKQTPSTATISTICS_PI); - QPointF xp(x+a*cos(start)*cosa-b*sin(start)*sina, y+a*cos(start)*sina+b*sin(start)*cosa); - result.append(xp); - if (x_start) *x_start = xp; - double t=start+step; - for (int i=1; i JKQTPUnifyLinesToPolygons(const QVector &lines, double distanceThreshold, int searchMaxSurroundingElements) -{ -#ifdef JKQTBP_AUTOTIMER - JKQTPAutoOutputTimer jkaat(QString("JKQTPUnifyLinesToPolygons(%1, %2, %3)").arg(lines.size()).arg(distanceThreshold).arg(searchMaxSurroundingElements)); -#endif - QList res; - res.reserve(lines.size()); - - // first simply convert all lines to polygons - for (const QLineF& l: lines) { - QPolygonF p; - p< polygons start "<=0; k--) { - res[i].prepend(res[j].at(k)); - } - res.removeAt(j); - } else if (jkqtp_distance(res[i].last(),res[j].first())<=distanceThreshold) { - found=true; - for (int k=1; k=0; k--) { - res[i].append(res[j].at(k)); - } - res.removeAt(j); - } else { - j++; - } - } - res[i]=JKQTPCleanPolygon(res[i], distanceThreshold); - i++; - } - //qDebug()<<" iter "< polygons left "< inbetween; - int i=1; - while (i0) { - for (const QPointF& pi: inbetween) { - pmean=QPointF(pmean.x()+pi.x()/static_cast(inbetween.size()), pmean.y()+pi.y()/static_cast(inbetween.size())); - } - } else { - pmean=poly[i]; - } - p<0) { - for (const QPointF& pi: inbetween) { - pmean=QPointF(pmean.x()+pi.x()/static_cast(inbetween.size()), pmean.y()+pi.y()/static_cast(inbetween.size())); - } - } else { - pmean=p0; - } - - if (jkqtp_distance(pmean, poly.last())>distanceThreshold) { - p< #include #include +#include #include +#include #include #include "jkqtcommon/jkqtpmathtools.h" #include "jkqtcommon/jkqtpcodestructuring.h" @@ -226,13 +228,7 @@ template inline void JKQTPPlotLineDecorator(TPainter& painter, double x, double y, double angle_rad, JKQTPLineDecoratorStyle style, double size, QPointF* line_start=nullptr); /** \brief calculates the tail decorator size from the line width \a line_width, using decoratorSizeFactor and a non-linear scaling function that levels off towards small \a line_width and increases sub-linearly for large ones, so the arrow heads to not grow too much */ -JKQTCOMMON_LIB_EXPORT double JKQTPLineDecoratorStyleCalcDecoratorSize(double line_width, double decoratorSizeFactor) -; - -/** \brief rotate a rectangle by given angle (rotates all points around the center of the rectangle and returns it as a QPolygonF) - * \ingroup jkqtptools_drawing - */ -JKQTCOMMON_LIB_EXPORT QPolygonF jkqtpRotateRect(QRectF r, double angle); +JKQTCOMMON_LIB_EXPORT double JKQTPLineDecoratorStyleCalcDecoratorSize(double line_width, double decoratorSizeFactor); /*! \brief plot the specified symbol at pixel position x,y \ingroup jkqtptools_drawing @@ -265,25 +261,6 @@ inline void JKQTPPlotSymbol(TPainter& painter, double x, double y, JKQTPGraphSym JKQTCOMMON_LIB_EXPORT void JKQTPPlotSymbol(QPaintDevice& paintDevice, double x, double y, JKQTPGraphSymbols symbol, double size, double symbolLineWidth, QColor color, QColor fillColor); -/*! \brief draw an ellipse without setting pen or brush, or saving the painter! - \ingroup jkqtptools_drawing - - \return a QVector with points that may be used for drawing - \param x center of ellipse (x-coordinate) - \param y center of ellipse (y-coordinate) - \param a half axis in x-direction - \param b half axis in y-direction - \param angle_start starting angle of ellipse section - \param angle_end ending angle of ellipse section - \param alpha rotation angle of ellipse - \param controlPoints the number of points to use for drawing - \param[out] x_start first point of ellipse - \param[out] x_end last point of ellipse - - \note all angles are given in degrees [0..360] -*/ -JKQTCOMMON_LIB_EXPORT QVector JKQTPDrawEllipse(double x, double y, double a, double b, double angle_start=0, double angle_end=360, double alpha=0, int controlPoints=180, QPointF* x_start=nullptr, QPointF* x_end=nullptr); - /*! \brief draw a tooltip, using the current brush and pen of the provided painter \ingroup jkqtptools_drawing @@ -299,29 +276,6 @@ template inline void JKQTPDrawTooltip(TPainter& painter, double x, double y, const QRectF& rect); -/** \brief cleans a polygon by uniting all consecutive points that were closer than distanceThreshold are united - * \ingroup jkqtptools_drawing - * - * \param poly polygon to clean - * \param distanceThreshold if two end-points are closer together as this value, they are united to a single point - * \return a cleaned polygon, where all consecutive points that were closer than distanceThreshold are united - */ -JKQTCOMMON_LIB_EXPORT QPolygonF JKQTPCleanPolygon(const QPolygonF& poly, double distanceThreshold=0.3); - -/** \brief takes a list of QLineF objesct \a lines and tries to combine as many of them as possible to QPolygonF objects. - * Note: This method implements an incomplete algorithm with \a searchMaxSurroundingElements>0, as solving - * the complete problem is very time-consuming (cubic runtime) - * \ingroup jkqtptools_drawing - * - * \param lines line segments to unify - * \param distanceThreshold if two end-points are closer together as this value, they are united to a single point - * \param searchMaxSurroundingElements limits the search for a connected polygon to at most this number of neighbors - * \return a vector of QPolygonF objects, which contain longer line-segments formed from \a lines - */ -JKQTCOMMON_LIB_EXPORT QVector JKQTPUnifyLinesToPolygons(const QVector& lines, double distanceThreshold=0.3, int searchMaxSurroundingElements=10); - - - diff --git a/lib/jkqtcommon/jkqtpgeometrytools.cpp b/lib/jkqtcommon/jkqtpgeometrytools.cpp new file mode 100644 index 0000000000..e65ee144cf --- /dev/null +++ b/lib/jkqtcommon/jkqtpgeometrytools.cpp @@ -0,0 +1,399 @@ +/* +Copyright (c) 2008-2020 Jan W. Krieger () + + + + + + This software is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License (LGPL) as published by + the Free Software Foundation, either version 2.1 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License (LGPL) for more details. + + You should have received a copy of the GNU Lesser General Public License (LGPL) + along with this program. If not, see . +*/ + +#include "jkqtcommon/jkqtpgeometrytools.h" +#include +#include + + + +QPolygonF jkqtpRotateRect(QRectF r, double angle) { + QPolygonF p; + QTransform m; + m.rotate(angle); + p.append(m.map(r.bottomLeft())); + p.append(m.map(r.bottomRight())); + p.append(m.map(r.topRight())); + p.append(m.map(r.topLeft())); + return p; +} + + + +QVector JKQTPSplitEllipseIntoPoints(double x, double y, double a, double b, double angle_start, double angle_end, double alpha, int controlPoints, QPointF* x_start, QPointF* x_end) { + QVector result; + const double start=angle_start*JKQTPSTATISTICS_PI/180.0; + const double stop=angle_end*JKQTPSTATISTICS_PI/180.0; + double step=(stop-start)/static_cast(controlPoints); + while (fabs(stop-start)/step<10) step=step/2.0; + const double sina=sin(1.0*alpha/180.0*JKQTPSTATISTICS_PI); + const double cosa=cos(1.0*alpha/180.0*JKQTPSTATISTICS_PI); + QPointF xp(x+a*cos(start)*cosa-b*sin(start)*sina, y+a*cos(start)*sina+b*sin(start)*cosa); + result.append(xp); + if (x_start) *x_start = xp; + double t=start+step; + for (int i=1; i JKQTPSplitEllipseIntoPoints(std::function fTransform, double x, double y, double a, double b, double angle_start, double angle_end, double alpha, QPointF *x_start, QPointF *x_end) +{ + const double sina=sin(1.0*alpha/180.0*JKQTPSTATISTICS_PI); + const double cosa=cos(1.0*alpha/180.0*JKQTPSTATISTICS_PI); + std::function fx = [&](double t) ->double { + return fTransform(QPointF(x+a*cos(t)*cosa-b*sin(t)*sina, y+a*cos(t)*sina+b*sin(t)*cosa)).x(); + }; + std::function fy = [&](double t) ->double { + return fTransform(QPointF(x+a*cos(t)*cosa-b*sin(t)*sina, y+a*cos(t)*sina+b*sin(t)*cosa)).y(); + }; + JKQTPAdaptiveFunctionGraphEvaluator eval(fx, fy); + + const QVector points=eval.evaluate(angle_start*JKQTPSTATISTICS_PI/180.0, angle_end*JKQTPSTATISTICS_PI/180.0); + if (points.size()>0) { + if (x_start) *x_start=points.first(); + if (x_end) *x_end=points.last(); + } + return points; +} + + + + +QVector JKQTPUnifyLinesToPolygons(const QVector &lines, double distanceThreshold, int searchMaxSurroundingElements) +{ +#ifdef JKQTBP_AUTOTIMER + JKQTPAutoOutputTimer jkaat(QString("JKQTPUnifyLinesToPolygons(%1, %2, %3)").arg(lines.size()).arg(distanceThreshold).arg(searchMaxSurroundingElements)); +#endif + QList res; + res.reserve(lines.size()); + + // first simply convert all lines to polygons + for (const QLineF& l: lines) { + QPolygonF p; + p< polygons start "<=0; k--) { + res[i].prepend(res[j].at(k)); + } + res.removeAt(j); + } else if (jkqtp_distance(res[i].last(),res[j].first())<=distanceThreshold) { + found=true; + for (int k=1; k=0; k--) { + res[i].append(res[j].at(k)); + } + res.removeAt(j); + } else { + j++; + } + } + res[i]=JKQTPCleanPolygon(res[i], distanceThreshold); + i++; + } + //qDebug()<<" iter "< polygons left "< inbetween; + int i=1; + while (i0) { + for (const QPointF& pi: inbetween) { + pmean=QPointF(pmean.x()+pi.x()/static_cast(inbetween.size()), pmean.y()+pi.y()/static_cast(inbetween.size())); + } + } else { + pmean=poly[i]; + } + p<0) { + for (const QPointF& pi: inbetween) { + pmean=QPointF(pmean.x()+pi.x()/static_cast(inbetween.size()), pmean.y()+pi.y()/static_cast(inbetween.size())); + } + } else { + pmean=p0; + } + + if (jkqtp_distance(pmean, poly.last())>distanceThreshold) { + p< JKQTPSplitLineIntoPoints(const QLineF &line, int controlPoints) +{ + QVector result; + result.reserve(controlPoints); + result.push_back(line.p1()); + for (int i=1; i(i)/static_cast(controlPoints)*(line.p2()-line.p1())); + } + result.push_back(line.p2()); + return result; +} + +QVector JKQTPSimplyfyLineSegemnts(const QVector &points, double maxConsecutiveAngleDegree) +{ + QVector result; + if (points.size()>2) { + result.push_back(points[0]); + for (int i=1; imaxConsecutiveAngleDegree && l1.length()>0 ) { + result.push_back(points[i]); + } + } + if (result.last()!=points.last()) result.push_back(points.last()); + return result; + } else { + return points; + } +} + +JKQTPAdaptiveFunctionGraphEvaluator::JKQTPAdaptiveFunctionGraphEvaluator(const std::function &fx_, const std::function &fy_, unsigned int minSamples_, unsigned int maxRefinementDegree_, double slopeTolerance_, double minPixelPerSample_): + fx(fx_), + fy(fy_), + minSamples(minSamples_), + maxRefinementDegree(maxRefinementDegree_), + slopeTolerance(slopeTolerance_), + minPixelPerSample(minPixelPerSample_) +{ + +} + +QVector JKQTPAdaptiveFunctionGraphEvaluator::evaluate(double tmin, double tmax) const +{ + InternalList intData; + + double delta_t0=(tmax-tmin)/static_cast(minSamples); + + intData.push_front(std::pair(tmin, QPointF(fx(tmin), fy(tmin)))); + InternalList::iterator a=intData.begin(); + //qDebug()<<"**************************************************"; + for (double t=tmin+delta_t0; t(treal, QPointF(fx(treal), fy(treal)))); + InternalList::iterator b=a; b++; + //qDebug()<<"t="< ps.size()="< parallel line"; + line=QLineF(); + return false; + } + if (p1 != 0) { + const qreal r1 = q1 / p1; + const qreal r2 = q2 / p2; + if (p1 < 0) { + negarr.push_back(r1); // for negative p1, add it to negative array + posarr.push_back(r2); // and add p2 to positive array + } else { + negarr.push_back(r2); + posarr.push_back(r1); + } + } + if (p3 != 0) { + const qreal r3 = q3 / p3; + const qreal r4 = q4 / p4; + if (p3 < 0) { + negarr.push_back(r3); + posarr.push_back(r4); + } else { + negarr.push_back(r4); + posarr.push_back(r3); + } + } + + const qreal rn1 = *std::max_element(negarr.begin(), negarr.end()); // maximum of negative array + const qreal rn2 = *std::min_element(posarr.begin(), posarr.end()); // minimum of positive array + + //qDebug()<<" rn1="< rejected line"; + line=QLineF(); + return false; + } + + const qreal xn1 = line.x1() + p2 * rn1; + const qreal yn1 = line.y1() + p4 * rn1; // computing new points + + const qreal xn2 = line.x1() + p2 * rn2; + const qreal yn2 = line.y1() + p4 * rn2; + + line=QLineF(xn1, yn1, xn2, yn2); // the drawing the new line + //qDebug()<<" --> clipped line: "<) + + + + This software is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 2.1 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ + + +#ifndef JKQTPGEOMETRYTOOLS_H_INCLUDED +#define JKQTPGEOMETRYTOOLS_H_INCLUDED +#include "jkqtcommon/jkqtcommon_imexport.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "jkqtcommon/jkqtpmathtools.h" +#include "jkqtcommon/jkqtpcodestructuring.h" + + +/** \brief rotate a rectangle by given angle (rotates all points around the center of the rectangle and returns it as a QPolygonF) + * \ingroup jkqtptools_drawing + */ +JKQTCOMMON_LIB_EXPORT QPolygonF jkqtpRotateRect(QRectF r, double angle); + + +/** \brief adaptive drawing of a function graph, specified by two function \f$ f_x(t) \f$ and \f$ f_y(t) \f$ evaluated over a parameter range \f$ t\in\left[t_\text{min}..t_\text{max}\tight] \f$ */ +class JKQTCOMMON_LIB_EXPORT JKQTPAdaptiveFunctionGraphEvaluator { +public: + + /** \brief class constructor + * + * \param fx function \f$ f_x(t) \f$ + * \param fy function \f$ f_y(t) \f$ + * \param minSamples the minimum number of points to evaluate the function at + * \param maxRefinementDegree the maximum number of recursive refinement steps + * each step bisects the interval \f$ [a, b] \f$ into two halfes. So the maximum number + * of points plotted at all are thus: + * \f[ \mbox{minSamples} \cdot 2^{\mbox{maxRefinementDegree}} \f] + * \param slopeTolerance the tolerance for the difference of two subsequent slopes + * \param minPixelPerSample create one sample at least every \a minPixelPerSample pixels + */ + JKQTPAdaptiveFunctionGraphEvaluator(const std::function& fx_, const std::function& fy_, unsigned int minSamples_=10, unsigned int maxRefinementDegree_=5, double slopeTolerance_=0.005, double minPixelPerSample_=32); + + /** \brief evaluate the function specified in the constructor over the given parameter range \a tmin ... \a tmax + * + * \param tmin lower parameter range limit \f$ t_\text{min} \f$ + * \param tmax upper parameter range limit \f$ t_\text{max} \f$ + */ + QVector evaluate(double tmin=0.0, double tmax=1.0) const; +protected: + typedef std::forward_list> InternalList; + /** \brief refine (if necessary) the function graph between the two points \a a and \a b, working on the given list of data \a data */ + void refine(InternalList& data, InternalList::iterator a, InternalList::iterator b, unsigned int degree) const; + + /** \brief function \f$ f_x(t) \f$ */ + std::function fx; + /** \brief function \f$ f_y(t) \f$ */ + std::function fy; + /** \brief the minimum number of points to evaluate the function at */ + unsigned int minSamples; + /** \brief the maximum number of recursive refinement steps + * + * each step bisects the interval \f$ [a, b] \f$ into two halfes. So the maximum number + * of points plotted at all are thus: + * \f[ \mbox{minSamples} \cdot 2^{\mbox{maxRefinementDegree}} \f] + */ + unsigned int maxRefinementDegree; + /** \brief the tolerance for the difference of two subsequent slopes */ + double slopeTolerance; + /** \brief create one sample at least every \a minPixelPerSample pixels */ + double minPixelPerSample; +}; + + +/*! \brief represent an ellipse as a series of points on the ellipse + \ingroup jkqtptools_drawing + + \return a QVector with points that may be used for drawing + \param x center of ellipse (x-coordinate) + \param y center of ellipse (y-coordinate) + \param a half axis in x-direction + \param b half axis in y-direction + \param angle_start starting angle of ellipse section + \param angle_end ending angle of ellipse section + \param alpha rotation angle of ellipse + \param controlPoints the number of points to use for drawing + \param[out] x_start first point of ellipse + \param[out] x_end last point of ellipse + + \note all angles are given in degrees [0..360] +*/ +JKQTCOMMON_LIB_EXPORT QVector JKQTPSplitEllipseIntoPoints(double x, double y, double a, double b, double angle_start=0, double angle_end=360, double alpha=0, int controlPoints=180, QPointF* x_start=nullptr, QPointF* x_end=nullptr); + + +/*! \brief represent an ellipse as a series of points on the ellipse + \ingroup jkqtptools_drawing + + \return a QVector with points that may be used for drawing + \param fTransform a function that transforms a point in graph coordinate space into pixel coordinate space + \param x center of ellipse (x-coordinate) + \param y center of ellipse (y-coordinate) + \param a half axis in x-direction + \param b half axis in y-direction + \param angle_start starting angle of ellipse section + \param angle_end ending angle of ellipse section + \param alpha rotation angle of ellipse + \param[out] x_start first point of ellipse + \param[out] x_end last point of ellipse + + \note all angles are given in degrees [0..360] +*/ +JKQTCOMMON_LIB_EXPORT QVector JKQTPSplitEllipseIntoPoints(std::function fTransform, double x, double y, double a, double b, double angle_start=0, double angle_end=360, double alpha=0, QPointF* x_start=nullptr, QPointF* x_end=nullptr); + + + +/*! \brief represent a line as a series of points on the ellipse + \ingroup jkqtptools_drawing + + \return a QVector with points that may be used for drawing + \param line the line to draw + \param controlPoints the number of points to use for drawing + +*/ +JKQTCOMMON_LIB_EXPORT QVector JKQTPSplitLineIntoPoints(const QLineF& line, int controlPoints=180); + +/*! \brief represent a line as a series of points on the ellipse + \ingroup jkqtptools_drawing + + \return a QVector with points that may be used for drawing + \param line the line to draw in graph coordinate space + \param fTransform a function that transforms a point in graph coordinate space into pixel coordinate space + +*/ +JKQTCOMMON_LIB_EXPORT QVector JKQTPSplitLineIntoPoints(const QLineF& line, std::function fTransform); + + +/*! \brief represent a poly-line as a series of points on the ellipse + \ingroup jkqtptools_drawing + + \return a QVector with points that may be used for drawing + \param line the poly-line to draw in graph coordinate space + \param fTransform a function that transforms a point in graph coordinate space into pixel coordinate space + +*/ +JKQTCOMMON_LIB_EXPORT QVector JKQTPSplitPolylineIntoPoints(const QVector& line, std::function fTransform); + + +/*! \brief takes a list of points and tries to reduce them. Three points are merged to two, if they form a straight line + \ingroup jkqtptools_drawing + + \return a cleaned QVector + \param points input poly-line + \param maxConsecutiveAngleDegree is two consecutive line-segments differ by an angle smaller than this, they can be merged + + \note this implements an incomplete algorithm + +*/ +JKQTCOMMON_LIB_EXPORT QVector JKQTPSimplyfyLineSegemnts(const QVector& points, double maxConsecutiveAngleDegree=1.0); + + +/** \brief cleans a polygon by uniting all consecutive points that were closer than distanceThreshold are united + * \ingroup jkqtptools_drawing + * + * \param poly polygon to clean + * \param distanceThreshold if two end-points are closer together as this value, they are united to a single point + * \return a cleaned polygon, where all consecutive points that were closer than distanceThreshold are united + */ +JKQTCOMMON_LIB_EXPORT QPolygonF JKQTPCleanPolygon(const QPolygonF& poly, double distanceThreshold=0.3); + +/** \brief takes a list of QLineF objesct \a lines and tries to combine as many of them as possible to QPolygonF objects. + * Note: This method implements an incomplete algorithm with \a searchMaxSurroundingElements>0, as solving + * the complete problem is very time-consuming (cubic runtime) + * \ingroup jkqtptools_drawing + * + * \param lines line segments to unify + * \param distanceThreshold if two end-points are closer together as this value, they are united to a single point + * \param searchMaxSurroundingElements limits the search for a connected polygon to at most this number of neighbors + * \return a vector of QPolygonF objects, which contain longer line-segments formed from \a lines + */ +JKQTCOMMON_LIB_EXPORT QVector JKQTPUnifyLinesToPolygons(const QVector& lines, double distanceThreshold=0.3, int searchMaxSurroundingElements=10); + +/** \brief clip a QLineF \a line to the rectangle defines by \a clippingRect + * \ingroup jkqtptools_drawing + * + * \param[in,out] line The line to clip, if clipping is possible this is modified to the clipped line. + * If the line is outside \a clippingRect this is modified to \c line=QLineF() i.e. a null-line! + * \param clippingRect the rectangle to clip to + * \return \c true, if the line had at least some points within \a clippingRect, \c false otherwise. + * The clipped line (or a null-line) is returned in the by-refrence parameter \a line + * + * \see This function uses the Linag-Barsky-Algorithm: https://en.wikipedia.org/wiki/Liang%E2%80%93Barsky_algorithm https://www.skytopia.com/project/articles/compsci/clipping.html + */ +JKQTCOMMON_LIB_EXPORT bool JKQTPClipLine(QLineF& line, const QRectF& clippingRect); + + + + + +#endif // JKQTPGEOMETRYTOOLS_H_INCLUDED diff --git a/lib/jkqtpcommon.pri b/lib/jkqtpcommon.pri index ceb4b31179..c320a25223 100644 --- a/lib/jkqtpcommon.pri +++ b/lib/jkqtpcommon.pri @@ -24,6 +24,7 @@ isEmpty(JKQTP_COMMON_PRI_INCLUDED) { $$PWD/jkqtcommon/jkqtplinalgtools.h \ $$PWD/jkqtcommon/jkqtpcodestructuring.h \ $$PWD/jkqtcommon/jkqtpbasicimagetools.h \ + $$PWD/jkqtcommon/jkqtpgeometrytools.h \ $$PWD/jkqtcommon/jkqtpdrawingtools.h \ $$PWD/jkqtcommon/jkqtpenhancedpainter.h \ $$PWD/jkqtcommon/jkqtphighrestimer.h \ @@ -47,6 +48,7 @@ isEmpty(JKQTP_COMMON_PRI_INCLUDED) { $$PWD/jkqtcommon/jkqtplinalgtools.cpp \ $$PWD/jkqtcommon/jkqtpcodestructuring.cpp \ $$PWD/jkqtcommon/jkqtpbasicimagetools.cpp \ + $$PWD/jkqtcommon/jkqtpgeometrytools.cpp \ $$PWD/jkqtcommon/jkqtpdrawingtools.cpp \ $$PWD/jkqtcommon/jkqtpenhancedpainter.cpp \ $$PWD/jkqtcommon/jkqtphighrestimer.cpp \ diff --git a/lib/jkqtplotter/graphs/jkqtpboxplot.cpp b/lib/jkqtplotter/graphs/jkqtpboxplot.cpp index d87f596636..60a4ed2c99 100644 --- a/lib/jkqtplotter/graphs/jkqtpboxplot.cpp +++ b/lib/jkqtplotter/graphs/jkqtpboxplot.cpp @@ -730,7 +730,7 @@ void JKQTPBoxplotHorizontalGraph::draw(JKQTPEnhancedPainter& painter) { JKQTPBoxplotVerticalElement::JKQTPBoxplotVerticalElement(JKQTBasePlotter* parent): - JKQTPPlotObject(parent) + JKQTPPlotObject(DrawAsGraphicElement, parent) { pos=JKQTP_NAN; median=JKQTP_NAN; diff --git a/lib/jkqtplotter/graphs/jkqtpcontour.cpp b/lib/jkqtplotter/graphs/jkqtpcontour.cpp index 58559e1db0..b1f4346c2c 100644 --- a/lib/jkqtplotter/graphs/jkqtpcontour.cpp +++ b/lib/jkqtplotter/graphs/jkqtpcontour.cpp @@ -24,6 +24,7 @@ #include "jkqtplotter/jkqtptools.h" #include "jkqtcommon/jkqtpenhancedpainter.h" #include "jkqtplotter/jkqtplotter.h" +#include "jkqtcommon/jkqtpgeometrytools.h" #include #include #include diff --git a/lib/jkqtplotter/graphs/jkqtpevaluatedfunction.cpp b/lib/jkqtplotter/graphs/jkqtpevaluatedfunction.cpp index a3bf8f6a9b..c48cbc6a35 100644 --- a/lib/jkqtplotter/graphs/jkqtpevaluatedfunction.cpp +++ b/lib/jkqtplotter/graphs/jkqtpevaluatedfunction.cpp @@ -358,13 +358,13 @@ void JKQTPXFunctionLineGraph::refine(doublePair* a, doublePair* b, unsigned int } else {*/ xmid=xmid+(static_cast(rand())/static_cast(RAND_MAX)-0.5)*delta/5.0; // shake by 10% //} - double realxmid=parent->p2x(xmid); + const double realxmid=parent->p2x(xmid); double realfmid = 0.0; if (plotFunction) realfmid=plotFunction(realxmid, params); else if (simplePlotFunction) realfmid=simplePlotFunction(realxmid); - double fmid=transformY(realfmid); - double a1=(fmid - af)/(xmid - ax); - double a2=(bf - fmid)/(bx - xmid); + const double fmid=transformY(realfmid); + const double a1=(fmid - af)/(xmid - ax); + const double a2=(bf - fmid)/(bx - xmid); //std::cout<x<<", "<f<<"], ["<x<<", "<f<<"] ): a1="<slopeTolerance || delta>minPixelPerSample) { @@ -864,7 +864,9 @@ int JKQTPXFunctionLineGraph::getParameterColumn() const return this->parameterColumn; } -void JKQTPXFunctionLineGraph::setParameterColumn(size_t __value) { this->parameterColumn = static_cast(__value); } +void JKQTPXFunctionLineGraph::setParameterColumn(size_t __value) { + this->parameterColumn = static_cast(__value); +} void JKQTPXFunctionLineGraph::setErrorParameterColumn(int __value) { @@ -876,7 +878,59 @@ int JKQTPXFunctionLineGraph::getErrorParameterColumn() const return this->errorParameterColumn; } -void JKQTPXFunctionLineGraph::setErrorParameterColumn(size_t __value) { this->errorParameterColumn = static_cast(__value); } +void JKQTPXFunctionLineGraph::setErrorParameterColumn(size_t __value) { + this->errorParameterColumn = static_cast(__value); +} + +void JKQTPXFunctionLineGraph::setErrorLineColor(const QColor &__value) +{ + this->errorColor = __value; +} + +QColor JKQTPXFunctionLineGraph::getErrorLineColor() const +{ + return this->errorColor; +} + +void JKQTPXFunctionLineGraph::setErrorFillColor(const QColor &__value) +{ + this->errorFillColor = __value; +} + +QColor JKQTPXFunctionLineGraph::getErrorFillColor() const +{ + return this->errorFillColor; +} + +void JKQTPXFunctionLineGraph::setErrorFillStyle(Qt::BrushStyle __value) +{ + this->errorFillStyle = __value; +} + +Qt::BrushStyle JKQTPXFunctionLineGraph::getErrorFillStyle() const +{ + return this->errorFillStyle; +} + +void JKQTPXFunctionLineGraph::setErrorLineStyle(Qt::PenStyle __value) +{ + this->errorStyle = __value; +} + +Qt::PenStyle JKQTPXFunctionLineGraph::getErrorLineStyle() const +{ + return this->errorStyle; +} + +void JKQTPXFunctionLineGraph::setErrorLineWidth(double __value) +{ + this->errorLineWidth = __value; +} + +double JKQTPXFunctionLineGraph::getErrorLineWidth() const +{ + return this->errorLineWidth; +} void JKQTPXFunctionLineGraph::setSpecialFunction(JKQTPXFunctionLineGraph::SpecialFunction function) { @@ -897,32 +951,32 @@ void JKQTPXFunctionLineGraph::setSpecialFunction(JKQTPXFunctionLineGraph::Specia }); } else if (function==JKQTPXFunctionLineGraph::Exponential) setPlotFunctionFunctor([](double x, void* param) { - double res=0; - QVector* d=static_cast*>(param); - if (d) { - if (d->size()>=3) { - res=d->value(0,0)+d->value(1,0)*exp(x/d->value(2,0)); - } else if (d->size()>=2) { - res=d->value(0,0)*exp(x/d->value(1,0)); + double res=0; + QVector* d=static_cast*>(param); + if (d) { + if (d->size()>=3) { + res=d->value(0,0)+d->value(1,0)*exp(x/d->value(2,0)); + } else if (d->size()>=2) { + res=d->value(0,0)*exp(x/d->value(1,0)); + } } - } - return res; - }); + return res; + }); else if (function==JKQTPXFunctionLineGraph::PowerLaw) setPlotFunctionFunctor([](double x, void* param) { - double res=0; - QVector* d=static_cast*>(param); - if (d) { - if (d->size()>=3) { - res=d->value(0,0)+d->value(1,0)*pow(x, d->value(2,1)); - } else if (d->size()>=2) { - res=d->value(0,0)*pow(x, d->value(1,1)); - } else if (d->size()>=1) { - res=pow(x, d->value(0,1)); - } + double res=0; + QVector* d=static_cast*>(param); + if (d) { + if (d->size()>=3) { + res=d->value(0,0)+d->value(1,0)*pow(x, d->value(2,1)); + } else if (d->size()>=2) { + res=d->value(0,0)*pow(x, d->value(1,1)); + } else if (d->size()>=1) { + res=pow(x, d->value(0,1)); + } - } - return res; - }); + } + return res; + }); else throw std::runtime_error("unknown special function type"); } diff --git a/lib/jkqtplotter/graphs/jkqtpevaluatedfunction.h b/lib/jkqtplotter/graphs/jkqtpevaluatedfunction.h index aefcabb7ef..b95b00b6eb 100644 --- a/lib/jkqtplotter/graphs/jkqtpevaluatedfunction.h +++ b/lib/jkqtplotter/graphs/jkqtpevaluatedfunction.h @@ -250,56 +250,26 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPXFunctionLineGraph: public JKQTPGraph, public /*! \copydoc errorParameterColumn */ void setErrorParameterColumn (size_t __value); + /*! \copydoc errorColor */ + virtual void setErrorLineColor(const QColor & __value); /*! \copydoc errorColor */ - inline virtual void setErrorLineColor(const QColor & __value) - { - this->errorColor = __value; - } - /*! \copydoc errorColor */ - inline virtual QColor getErrorLineColor() const - { - return this->errorColor; - } + virtual QColor getErrorLineColor() const; /*! \copydoc errorFillColor */ - inline virtual void setErrorFillColor(const QColor & __value) - { - this->errorFillColor = __value; - } + virtual void setErrorFillColor(const QColor & __value); /*! \copydoc errorFillColor */ - inline virtual QColor getErrorFillColor() const - { - return this->errorFillColor; - } + virtual QColor getErrorFillColor() const; /*! \copydoc errorFillStyle */ - inline virtual void setErrorFillStyle(Qt::BrushStyle __value) - { - this->errorFillStyle = __value; - } + virtual void setErrorFillStyle(Qt::BrushStyle __value); /*! \copydoc errorFillStyle */ - inline virtual Qt::BrushStyle getErrorFillStyle() const - { - return this->errorFillStyle; - } + virtual Qt::BrushStyle getErrorFillStyle() const; /*! \copydoc errorStyle */ - inline virtual void setErrorLineStyle(Qt::PenStyle __value) - { - this->errorStyle = __value; - } + virtual void setErrorLineStyle(Qt::PenStyle __value); /*! \copydoc errorStyle */ - inline virtual Qt::PenStyle getErrorLineStyle() const - { - return this->errorStyle; - } + virtual Qt::PenStyle getErrorLineStyle() const; /*! \copydoc errorLineWidth */ - inline virtual void setErrorLineWidth(double __value) - { - this->errorLineWidth = __value; - } + virtual void setErrorLineWidth(double __value); /*! \copydoc errorLineWidth */ - inline virtual double getErrorLineWidth() const - { - return this->errorLineWidth; - } + virtual double getErrorLineWidth() const; /** \copydoc JKQTPGraph::usesColumn() */ virtual bool usesColumn(int c) const override; diff --git a/lib/jkqtplotter/graphs/jkqtpgeoannotations.cpp b/lib/jkqtplotter/graphs/jkqtpgeoannotations.cpp index 0de7da42af..a80df7f615 100644 --- a/lib/jkqtplotter/graphs/jkqtpgeoannotations.cpp +++ b/lib/jkqtplotter/graphs/jkqtpgeoannotations.cpp @@ -30,12 +30,9 @@ -JKQTPGeoText::JKQTPGeoText(JKQTBasePlotter* parent, double x, double y, const QString& text, double fontSize, QColor color): - JKQTPPlotObject(parent), JKQTPGraphTextStyleMixin(parent) +JKQTPGeoText::JKQTPGeoText(JKQTBasePlotter* parent, double x_, double y_, const QString& text_, double fontSize, QColor color): + JKQTPGeoText(parent, x_, y_, text_) { - this->x=x; - this->y=y; - this->text=text; setTextFontSize(fontSize); setTextColor(color); } @@ -45,12 +42,10 @@ JKQTPGeoText::JKQTPGeoText(JKQTPlotter* parent, double x, double y, const QStrin { } -JKQTPGeoText::JKQTPGeoText(JKQTBasePlotter *parent, double x, double y, const QString &text): - JKQTPPlotObject(parent), JKQTPGraphTextStyleMixin(parent) +JKQTPGeoText::JKQTPGeoText(JKQTBasePlotter *parent, double x_, double y_, const QString& text_): + JKQTPPlotObject(DrawAsGraphicElement, parent), JKQTPGraphTextStyleMixin(parent), x(x_),y(y_),text(text_) { - this->x=x; - this->y=y; - this->text=text; + } JKQTPGeoText::JKQTPGeoText(JKQTPlotter *parent, double x, double y, const QString &text): @@ -136,7 +131,7 @@ QColor JKQTPGeoText::getKeyLabelColor() const { JKQTPGeoSymbol::JKQTPGeoSymbol(JKQTBasePlotter *parent, double x, double y, JKQTPGraphSymbols symbol, double symbolSize, QColor color, QColor fillColor): - JKQTPPlotObject(parent) + JKQTPPlotObject(DrawAsGraphicElement, parent) { this->x=x; this->y=y; @@ -148,15 +143,9 @@ JKQTPGeoSymbol::JKQTPGeoSymbol(JKQTBasePlotter *parent, double x, double y, JKQT } JKQTPGeoSymbol::JKQTPGeoSymbol(JKQTPlotter *parent, double x, double y, JKQTPGraphSymbols symbol, double symbolSize, QColor color, QColor fillColor): - JKQTPPlotObject(parent) + JKQTPGeoSymbol(parent->getPlotter(), x, y, symbol, symbolSize, color, fillColor) { - this->x=x; - this->y=y; - setSymbolType(symbol); - setSymbolSize(symbolSize); - setSymbolColor(color); - setSymbolFillColor(fillColor); - setSymbolLineWidth(1); + } void JKQTPGeoSymbol::setColor(QColor c) diff --git a/lib/jkqtplotter/graphs/jkqtpgeobase.cpp b/lib/jkqtplotter/graphs/jkqtpgeobase.cpp index 676993d997..30feb3049d 100644 --- a/lib/jkqtplotter/graphs/jkqtpgeobase.cpp +++ b/lib/jkqtplotter/graphs/jkqtpgeobase.cpp @@ -27,27 +27,16 @@ #include #define SmallestGreaterZeroCompare_xvsgz() if ((xvsgz>10.0*DBL_MIN)&&((smallestGreaterZero<10.0*DBL_MIN) || (xvsgzgetPlotter()) -{ -} - -JKQTPGeoBaseLine::JKQTPGeoBaseLine(JKQTBasePlotter *parent): - JKQTPPlotObject(parent) -{ - -} - -JKQTPGeoBaseLine::JKQTPGeoBaseLine(JKQTPlotter *parent): - JKQTPGeoBaseLine(parent->getPlotter()) +JKQTPGeoBaseLine::JKQTPGeoBaseLine(JKQTBasePlotter *parent, DrawMode drawMode): + JKQTPPlotObject(drawMode, parent) { } @@ -78,38 +67,28 @@ QColor JKQTPGeoBaseLine::getKeyLabelColor() const { } -JKQTPGeoBaseFilled::JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, Qt::PenStyle style, Qt::BrushStyle fillStyle, JKQTBasePlotter* parent): - JKQTPGeoBaseLine(color, lineWidth, style, parent) +JKQTPGeoBaseFilled::JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, Qt::PenStyle style, Qt::BrushStyle fillStyle, JKQTBasePlotter* parent, DrawMode drawMode): + JKQTPGeoBaseLine(color, lineWidth, style, parent, drawMode) { setFillColor(fillColor); setFillStyle(fillStyle); } -JKQTPGeoBaseFilled::JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, Qt::PenStyle style, Qt::BrushStyle fillStyle, JKQTPlotter* parent): - JKQTPGeoBaseLine(color, lineWidth, style, parent) +JKQTPGeoBaseFilled::JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, Qt::PenStyle style, JKQTBasePlotter* parent, DrawMode drawMode): + JKQTPGeoBaseFilled(color, fillColor, lineWidth, style, Qt::SolidPattern, parent, drawMode) { - setFillColor(fillColor); - setFillStyle(fillStyle); + } -JKQTPGeoBaseFilled::JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, Qt::PenStyle style, JKQTPlotter* parent): - JKQTPGeoBaseLine(color, lineWidth, style, parent) +JKQTPGeoBaseFilled::JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, JKQTBasePlotter* parent, DrawMode drawMode): + JKQTPGeoBaseFilled(color, fillColor, lineWidth, Qt::SolidLine, Qt::SolidPattern, parent, drawMode) { - setFillColor(fillColor); - setFillStyle(Qt::SolidPattern); + } -JKQTPGeoBaseFilled::JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, JKQTPlotter* parent): - JKQTPGeoBaseLine(color, lineWidth, Qt::SolidLine, parent) +JKQTPGeoBaseFilled::JKQTPGeoBaseFilled(QColor color, QColor fillColor, JKQTBasePlotter* parent, DrawMode drawMode): + JKQTPGeoBaseFilled(color, fillColor, 2.0, Qt::SolidLine, Qt::SolidPattern, parent, drawMode) { - setFillColor(fillColor); - setFillStyle(Qt::SolidPattern); -} -JKQTPGeoBaseFilled::JKQTPGeoBaseFilled(QColor color, QColor fillColor, JKQTPlotter* parent): - JKQTPGeoBaseLine(color, 2.0, Qt::SolidLine, parent) -{ - setFillColor(fillColor); - setFillStyle(Qt::SolidPattern); } void JKQTPGeoBaseFilled::setAlpha(float alpha) @@ -144,8 +123,8 @@ void JKQTPGeoBaseFilled::drawKeyMarker(JKQTPEnhancedPainter& painter, QRectF& re } -JKQTPGeoBaseDecoratedHeadLine::JKQTPGeoBaseDecoratedHeadLine(QColor color, double lineWidth, JKQTPLineDecoratorStyle headStyle, Qt::PenStyle style, JKQTBasePlotter *parent): - JKQTPPlotObject(parent) +JKQTPGeoBaseDecoratedHeadLine::JKQTPGeoBaseDecoratedHeadLine(QColor color, double lineWidth, JKQTPLineDecoratorStyle headStyle, Qt::PenStyle style, JKQTBasePlotter *parent, DrawMode drawMode): + JKQTPPlotObject(drawMode, parent) { setLineColor(color); setLineWidth(lineWidth); @@ -153,20 +132,8 @@ JKQTPGeoBaseDecoratedHeadLine::JKQTPGeoBaseDecoratedHeadLine(QColor color, doubl setHeadDecoratorStyle(headStyle); } -JKQTPGeoBaseDecoratedHeadLine::JKQTPGeoBaseDecoratedHeadLine(QColor color, double lineWidth, JKQTPLineDecoratorStyle headStyle, Qt::PenStyle style, JKQTPlotter *parent): - JKQTPGeoBaseDecoratedHeadLine(color, lineWidth, headStyle, style, parent->getPlotter()) -{ - -} - -JKQTPGeoBaseDecoratedHeadLine::JKQTPGeoBaseDecoratedHeadLine(JKQTBasePlotter *parent): - JKQTPPlotObject(parent) -{ - -} - -JKQTPGeoBaseDecoratedHeadLine::JKQTPGeoBaseDecoratedHeadLine(JKQTPlotter *parent): - JKQTPPlotObject(parent->getPlotter()) +JKQTPGeoBaseDecoratedHeadLine::JKQTPGeoBaseDecoratedHeadLine(JKQTBasePlotter *parent, DrawMode drawMode): + JKQTPPlotObject(drawMode, parent) { } @@ -197,9 +164,8 @@ QColor JKQTPGeoBaseDecoratedHeadLine::getKeyLabelColor() const } - -JKQTPGeoBaseDecoratedLine::JKQTPGeoBaseDecoratedLine(QColor color, double lineWidth, JKQTPLineDecoratorStyle headStyle, JKQTPLineDecoratorStyle tailStyle, Qt::PenStyle style, JKQTBasePlotter *parent): - JKQTPPlotObject(parent) +JKQTPGeoBaseDecoratedLine::JKQTPGeoBaseDecoratedLine(QColor color, double lineWidth, JKQTPLineDecoratorStyle headStyle, JKQTPLineDecoratorStyle tailStyle, Qt::PenStyle style, JKQTBasePlotter *parent, DrawMode drawMode): + JKQTPPlotObject(drawMode, parent) { setLineColor(color); setLineWidth(lineWidth); @@ -208,20 +174,8 @@ JKQTPGeoBaseDecoratedLine::JKQTPGeoBaseDecoratedLine(QColor color, double lineWi setHeadDecoratorStyle(headStyle); } -JKQTPGeoBaseDecoratedLine::JKQTPGeoBaseDecoratedLine(QColor color, double lineWidth, JKQTPLineDecoratorStyle headStyle, JKQTPLineDecoratorStyle tailStyle, Qt::PenStyle style, JKQTPlotter *parent): - JKQTPGeoBaseDecoratedLine(color, lineWidth, headStyle, tailStyle, style, parent->getPlotter()) -{ - -} - -JKQTPGeoBaseDecoratedLine::JKQTPGeoBaseDecoratedLine(JKQTBasePlotter *parent): - JKQTPPlotObject(parent) -{ - -} - -JKQTPGeoBaseDecoratedLine::JKQTPGeoBaseDecoratedLine(JKQTPlotter *parent): - JKQTPPlotObject(parent->getPlotter()) +JKQTPGeoBaseDecoratedLine::JKQTPGeoBaseDecoratedLine(JKQTBasePlotter *parent, DrawMode drawMode): + JKQTPPlotObject(drawMode, parent) { } diff --git a/lib/jkqtplotter/graphs/jkqtpgeobase.h b/lib/jkqtplotter/graphs/jkqtpgeobase.h index 0ea9d9b700..f36cc68cd6 100644 --- a/lib/jkqtplotter/graphs/jkqtpgeobase.h +++ b/lib/jkqtplotter/graphs/jkqtpgeobase.h @@ -46,23 +46,13 @@ public: \param lineWidth lineWidth of drawing \param parent the parent plotter object */ - explicit JKQTPGeoBaseLine(QColor color, double lineWidth, Qt::PenStyle style=Qt::SolidLine, JKQTBasePlotter* parent=nullptr); - /*! \brief class contructor + explicit JKQTPGeoBaseLine(QColor color, double lineWidth, Qt::PenStyle style=Qt::SolidLine, JKQTBasePlotter* parent=nullptr, DrawMode drawMode=DrawAsGraphicElement); - \param color color of drawing - \param style line style of drawing - \param lineWidth lineWidth of drawing - \param parent the parent plotter object - */ - explicit JKQTPGeoBaseLine(QColor color, double lineWidth, Qt::PenStyle style, JKQTPlotter* parent); /*! \brief class contructor */ - explicit JKQTPGeoBaseLine(JKQTBasePlotter* parent); - /*! \brief class contructor + explicit JKQTPGeoBaseLine(JKQTBasePlotter* parent, DrawMode drawMode=DrawAsGraphicElement); - */ - explicit JKQTPGeoBaseLine(JKQTPlotter* parent); @@ -99,24 +89,13 @@ public: \param style line style of drawing \param parent the parent plotter object */ - explicit JKQTPGeoBaseDecoratedHeadLine(QColor color, double lineWidth, JKQTPLineDecoratorStyle headStyle, Qt::PenStyle style=Qt::SolidLine, JKQTBasePlotter* parent=nullptr); - /*! \brief class contructor + explicit JKQTPGeoBaseDecoratedHeadLine(QColor color, double lineWidth, JKQTPLineDecoratorStyle headStyle, Qt::PenStyle style=Qt::SolidLine, JKQTBasePlotter* parent=nullptr, DrawMode drawMode=DrawAsGraphicElement); - \param color color of drawing - \param lineWidth lineWidth of drawing - \param headStyle style of the head decoration - \param style line style of drawing - \param parent the parent plotter object - */ - explicit JKQTPGeoBaseDecoratedHeadLine(QColor color, double lineWidth, JKQTPLineDecoratorStyle headStyle, Qt::PenStyle style, JKQTPlotter* parent); /*! \brief class contructor */ - explicit JKQTPGeoBaseDecoratedHeadLine(JKQTBasePlotter* parent); - /*! \brief class contructor + explicit JKQTPGeoBaseDecoratedHeadLine(JKQTBasePlotter* parent, DrawMode drawMode=DrawAsGraphicElement); - */ - explicit JKQTPGeoBaseDecoratedHeadLine(JKQTPlotter* parent); @@ -154,21 +133,9 @@ public: \param style line style of drawing \param parent the parent plotter object */ - explicit JKQTPGeoBaseDecoratedLine(QColor color, double lineWidth, JKQTPLineDecoratorStyle headStyle, JKQTPLineDecoratorStyle tailStyle, Qt::PenStyle style=Qt::SolidLine, JKQTBasePlotter* parent=nullptr); - /*! \brief class contructor - - \param color color of drawing - \param lineWidth lineWidth of drawing - \param headStyle style of the head decoration - \param tailStyle style of the tail decoration - \param style line style of drawing - \param parent the parent plotter object - */ - explicit JKQTPGeoBaseDecoratedLine(QColor color, double lineWidth, JKQTPLineDecoratorStyle headStyle, JKQTPLineDecoratorStyle tailStyle, Qt::PenStyle style, JKQTPlotter* parent); + explicit JKQTPGeoBaseDecoratedLine(QColor color, double lineWidth, JKQTPLineDecoratorStyle headStyle, JKQTPLineDecoratorStyle tailStyle, Qt::PenStyle style=Qt::SolidLine, JKQTBasePlotter* parent=nullptr, DrawMode drawMode=DrawAsGraphicElement); /*! \brief class contructor */ - explicit JKQTPGeoBaseDecoratedLine(JKQTBasePlotter* parent); - /*! \brief class contructor */ - explicit JKQTPGeoBaseDecoratedLine(JKQTPlotter* parent); + explicit JKQTPGeoBaseDecoratedLine(JKQTBasePlotter* parent, DrawMode drawMode=DrawAsGraphicElement); @@ -204,17 +171,7 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoBaseFilled: public JKQTPGeoBaseLine, public \param lineWidth lineWidth of drawing \param parent the parent plotter object */ - JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, Qt::PenStyle style=Qt::SolidLine, Qt::BrushStyle fillStyle=Qt::SolidPattern, JKQTBasePlotter* parent=nullptr); - /*! \brief class contructor - - \param color color of drawing - \param fillColor color of the filling in the drawing - \param style line style of drawing - \param fillStyle filling style of the graph - \param lineWidth lineWidth of drawing - \param parent the parent plotter object - */ - JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, Qt::PenStyle style, Qt::BrushStyle fillStyle, JKQTPlotter* parent); + JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, Qt::PenStyle style=Qt::SolidLine, Qt::BrushStyle fillStyle=Qt::SolidPattern, JKQTBasePlotter* parent=nullptr, DrawMode drawMode=DrawAsGraphicElement); /*! \brief class contructor \param color color of drawing @@ -223,7 +180,7 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoBaseFilled: public JKQTPGeoBaseLine, public \param lineWidth lineWidth of drawing \param parent the parent plotter object */ - JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, Qt::PenStyle style, JKQTPlotter* parent); + JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, Qt::PenStyle style, JKQTBasePlotter* parent, DrawMode drawMode=DrawAsGraphicElement); /*! \brief class contructor \param color color of drawing @@ -231,14 +188,14 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoBaseFilled: public JKQTPGeoBaseLine, public \param lineWidth lineWidth of drawing \param parent the parent plotter object */ - JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, JKQTPlotter* parent); + JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, JKQTBasePlotter* parent, DrawMode drawMode=DrawAsGraphicElement); /*! \brief class contructor \param color color of drawing \param fillColor color of the filling in the drawing \param parent the parent plotter object */ - JKQTPGeoBaseFilled(QColor color, QColor fillColor, JKQTPlotter* parent); + JKQTPGeoBaseFilled(QColor color, QColor fillColor, JKQTBasePlotter *parent, DrawMode drawMode=DrawAsGraphicElement); /** \brief sets the alpha-channel of the \a color and \a fillColor (i.e. its transparency) to the same value */ virtual void setAlpha(float alpha) override; diff --git a/lib/jkqtplotter/graphs/jkqtpgeolines.cpp b/lib/jkqtplotter/graphs/jkqtpgeolines.cpp index 4891e611a5..ed4b1ead79 100644 --- a/lib/jkqtplotter/graphs/jkqtpgeolines.cpp +++ b/lib/jkqtplotter/graphs/jkqtpgeolines.cpp @@ -22,6 +22,7 @@ #include "jkqtplotter/graphs/jkqtpgeolines.h" #include "jkqtplotter/jkqtpbaseplotter.h" #include "jkqtplotter/jkqtplotter.h" +#include "jkqtcommon/jkqtpgeometrytools.h" #include #include #include @@ -46,13 +47,9 @@ JKQTPGeoLine::JKQTPGeoLine(JKQTPlotter* parent, double x1, double y1, double x2, { } -JKQTPGeoLine::JKQTPGeoLine(JKQTBasePlotter *parent, double x1, double y1, double x2, double y2): - JKQTPGeoBaseDecoratedLine(parent) +JKQTPGeoLine::JKQTPGeoLine(JKQTBasePlotter *parent, double x1_, double y1_, double x2_, double y2_): + JKQTPGeoBaseDecoratedLine(parent), x1(x1_), y1(y1_), x2(x2_), y2(y2_) { - this->x1=x1; - this->y1=y1; - this->x2=x2; - this->y2=y2; setHeadDecoratorStyle(JKQTPNoDecorator); setTailDecoratorStyle(JKQTPNoDecorator); } @@ -62,6 +59,54 @@ JKQTPGeoLine::JKQTPGeoLine(JKQTPlotter *parent, double x1, double y1, double x2, { } +JKQTPGeoLine::JKQTPGeoLine(JKQTBasePlotter *parent, const QPointF &p1, const QPointF &p2, QColor color, double lineWidth, Qt::PenStyle style): + JKQTPGeoLine(parent, p1.x(), p1.y(), p2.x(), p2.y(), color, lineWidth, style) +{ + +} + +JKQTPGeoLine::JKQTPGeoLine(JKQTPlotter *parent, const QPointF &p1, const QPointF &p2, QColor color, double lineWidth, Qt::PenStyle style): + JKQTPGeoLine(parent, p1.x(), p1.y(), p2.x(), p2.y(), color, lineWidth, style) +{ + +} + +JKQTPGeoLine::JKQTPGeoLine(JKQTBasePlotter *parent, const QPointF &p1, const QPointF &p2): + JKQTPGeoLine(parent, p1.x(), p1.y(), p2.x(), p2.y()) +{ + +} + +JKQTPGeoLine::JKQTPGeoLine(JKQTPlotter *parent, const QPointF &p1, const QPointF &p2): + JKQTPGeoLine(parent, p1.x(), p1.y(), p2.x(), p2.y()) +{ + +} + +JKQTPGeoLine::JKQTPGeoLine(JKQTBasePlotter *parent, const QLineF &line, QColor color, double lineWidth, Qt::PenStyle style): + JKQTPGeoLine(parent, line.x1(), line.y1(), line.x2(), line.y2(), color, lineWidth, style) +{ + +} + +JKQTPGeoLine::JKQTPGeoLine(JKQTPlotter *parent, const QLineF &line, QColor color, double lineWidth, Qt::PenStyle style): + JKQTPGeoLine(parent, line.x1(), line.y1(), line.x2(), line.y2(), color, lineWidth, style) +{ + +} + +JKQTPGeoLine::JKQTPGeoLine(JKQTBasePlotter *parent, const QLineF &line): + JKQTPGeoLine(parent, line.x1(), line.y1(), line.x2(), line.y2()) +{ + +} + +JKQTPGeoLine::JKQTPGeoLine(JKQTPlotter *parent, const QLineF &line): + JKQTPGeoLine(parent, line.x1(), line.y1(), line.x2(), line.y2()) +{ + +} + bool JKQTPGeoLine::getXMinMax(double& minx, double& maxx, double& smallestGreaterZero) { minx=qMin(x1, x2); maxx=qMax(x1, x2); @@ -90,14 +135,53 @@ void JKQTPGeoLine::draw(JKQTPEnhancedPainter& painter) { painter.setBrush(getLineColor()); QPointF xx1(transformX(x1),transformY(y1)); QPointF xx2(transformX(x2), transformY(y2)); - const double angle1=atan2(xx2.y()-xx1.y(), xx2.x()-xx1.x()); - const double angle2=atan2(xx1.y()-xx2.y(), xx1.x()-xx2.x()); if ( QLineF(xx1, xx2).length()>0) { - QPointF lx1=xx1, lx2=xx2; - JKQTPPlotLineDecorator(painter, xx1.x(), xx1.y(), angle1, getTailDecoratorStyle(), calcTailDecoratorSize(getLinePen(painter, getParent()).widthF()), &lx1); - JKQTPPlotLineDecorator(painter, xx2.x(), xx2.y(), angle2, getHeadDecoratorStyle(), calcHeadDecoratorSize(getLinePen(painter, getParent()).widthF()), &lx2); - // draw corrected line - painter.drawLine(QLineF(lx1, lx2)); + + if ((getDrawMode()==DrawAsGraphicElement) || (getParent()->getXAxis()->isLinearAxis() && getParent()->getYAxis()->isLinearAxis())) { + // for linear axes, we can simply draw a line + const double angle1=atan2(xx2.y()-xx1.y(), xx2.x()-xx1.x()); + const double angle2=atan2(xx1.y()-xx2.y(), xx1.x()-xx2.x()); + QPointF lx1=xx1, lx2=xx2; + JKQTPPlotLineDecorator(painter, xx1.x(), xx1.y(), angle1, getTailDecoratorStyle(), calcTailDecoratorSize(getLinePen(painter, getParent()).widthF()), &lx1); + JKQTPPlotLineDecorator(painter, xx2.x(), xx2.y(), angle2, getHeadDecoratorStyle(), calcHeadDecoratorSize(getLinePen(painter, getParent()).widthF()), &lx2); + // draw corrected line + painter.drawLine(QLineF(lx1, lx2)); + } else { + QLineF line(QPointF(x1,y1), QPointF(x2,y2)); + const double xmin=parent->getXAxis()->getMin(); + const double xmax=parent->getXAxis()->getMax(); + const double ymin=parent->getYAxis()->getMin(); + const double ymax=parent->getYAxis()->getMax(); + const QRectF bbox(QPointF(xmin, ymin), QPointF(xmax, ymax)); + bool drawHead=bbox.contains(line.p2()); + bool drawTail=bbox.contains(line.p1()); + + if (JKQTPClipLine(line, bbox)) { + + // for non-linear axes, a line might not be drawn as a line, so we need to segment the line (i.e. linear function in coordinate space) + // and transform each node to draw the corresponding non-linear curve in pixel-space! + auto fTransform=std::bind([](const JKQTPPlotObject* plot, const QPointF& p) { return plot->transform(p); }, this, std::placeholders::_1); + QVector points=JKQTPSplitLineIntoPoints(line, fTransform); + points=JKQTPSimplyfyLineSegemnts(points); + if (points.size()>1) { + xx1=points[0]; + QPointF xx1p=points[1]; + xx2=points[points.size()-1]; + QPointF xx2p=points[points.size()-2]; + //QPointF lx1=xx1, lx2=xx2; + const double angle1=atan2(xx1p.y()-xx1.y(), xx1p.x()-xx1.x()); + const double angle2=atan2(xx2p.y()-xx2.y(), xx2p.x()-xx2.x()); + if (drawTail) JKQTPPlotLineDecorator(painter, xx1.x(), xx1.y(), angle1, getTailDecoratorStyle(), calcTailDecoratorSize(getLinePen(painter, getParent()).widthF()));//, &lx1); + if (drawHead) JKQTPPlotLineDecorator(painter, xx2.x(), xx2.y(), angle2, getHeadDecoratorStyle(), calcHeadDecoratorSize(getLinePen(painter, getParent()).widthF()));//, &lx2); + //points[0]=lx1; + //points[points.size()-1]=lx2; + painter.drawPolyline(points.data(), points.size()); + /*for (auto& p: points) { + JKQTPPlotSymbol(painter, p.x(), p.y(), JKQTPPlus, 5, 1, QColor("green"), QColor("darkgreen")); + }*/ + } + } + } addHitTestData(x1, y1); addHitTestData(x2, y2); } @@ -143,6 +227,41 @@ double JKQTPGeoLine::getY2() const return this->y2; } +QPointF JKQTPGeoLine::getP1() const +{ + return QPointF(x1,y1); +} + +void JKQTPGeoLine::setP1(const QPointF &p) +{ + x1=p.x(); + y1=p.y(); +} + +QPointF JKQTPGeoLine::getP2() const +{ + return QPointF(x2,y2); +} + +void JKQTPGeoLine::setP2(const QPointF &p) +{ + x2=p.x(); + y2=p.y(); +} + +QLineF JKQTPGeoLine::getLine() const +{ + return QLineF(getP1(), getP2()); +} + +void JKQTPGeoLine::setLine(const QLineF &line) +{ + x1=line.p1().x(); + x2=line.p2().x(); + y1=line.p1().y(); + y2=line.p2().y(); +} + @@ -317,22 +436,44 @@ void JKQTPGeoInfiniteLine::draw(JKQTPEnhancedPainter& painter) { if (doDraw) { painter.save(); auto __finalpaint=JKQTPFinally([&painter]() {painter.restore();}); painter.setPen(getLinePen(painter, parent)); - QLineF l(QPointF(transformX(x1), transformY(y1)), QPointF(transformX(x2), transformY(y2))); - if (l.length()>0) { - painter.drawLine(l); - addHitTestData(x, y, formatHitTestDefaultLabel(x,y)+ - QString(", \\ensuremath{\\mathrm{\\mathbf{d}}y/\\mathrm{\\mathbf{d}}x\\;=\\;%1/%2\\;=\\;%3\\;=\\;%4\\degree}").arg(jkqtp_floattolatexqstr(dy, 3)).arg(jkqtp_floattolatexqstr(dx, 3)).arg(jkqtp_floattolatexqstr(dy/dx, 3)).arg(jkqtp_floattolatexqstr(atan2(dy,dx), 1))); - addHitTestData(x1, y1); - addHitTestData(x2, y2); + QLineF line(QPointF(transformX(x1), transformY(y1)), QPointF(transformX(x2), transformY(y2))); + if (line.length()>0) { + QPointF xx1; + double angle1; + if ((getDrawMode()==DrawAsGraphicElement) || (getParent()->getXAxis()->isLinearAxis() && getParent()->getYAxis()->isLinearAxis())) { + painter.drawLine(line); + xx1=QPointF(transformX(x),transformY(y)); + angle1=atan2(line.dy(), line.dx()); + } else { + // for non-linear axes, a line might not be drawn as a line, so we need to segment the line (i.e. linear function in coordinate space) + // and transform each node to draw the corresponding non-linear curve in pixel-space! + auto fTransform=std::bind([](const JKQTPPlotObject* plot, const QPointF& p) { return plot->transform(p); }, this, std::placeholders::_1); + QVector points=JKQTPSplitLineIntoPoints(QLineF(x1,y1,x2,y2), fTransform); + points=JKQTPSimplyfyLineSegemnts(points); + if (points.size()>1) { + xx1=points[0]; + const QPointF xx1p=points[1]; + angle1=atan2(xx1p.y()-xx1.y(), xx1p.x()-xx1.x()); + painter.drawPolyline(points.data(), points.size()); + /*for (auto& p: points) { + JKQTPPlotSymbol(painter, p.x(), p.y(), JKQTPPlus, 5, 1, QColor("green"), QColor("darkgreen")); + }*/ + } + } + // draw line-end decorator if (two_sided==false && x>=xmin && x<=xmax && y>=ymin && y<=ymax) { painter.save(); auto __finalpainttwosided=JKQTPFinally([&painter]() {painter.restore();}); painter.setPen(getLinePen(painter, parent)); painter.setBrush(getLineColor()); - QPointF xx1(transformX(x),transformY(y)); - const double angle1=atan2(l.dy(), l.dx()); JKQTPPlotLineDecorator(painter, xx1.x(), xx1.y(), angle1, getHeadDecoratorStyle(), calcHeadDecoratorSize(getLinePen(painter, getParent()).widthF())); } + + + addHitTestData(x, y, formatHitTestDefaultLabel(x,y)+ + QString(", \\ensuremath{\\mathrm{\\mathbf{d}}y/\\mathrm{\\mathbf{d}}x\\;=\\;%1/%2\\;=\\;%3\\;=\\;%4\\degree}").arg(jkqtp_floattolatexqstr(dy, 3)).arg(jkqtp_floattolatexqstr(dx, 3)).arg(jkqtp_floattolatexqstr(dy/dx, 3)).arg(jkqtp_floattolatexqstr(atan2(dy,dx), 1))); + addHitTestData(x1, y1); + addHitTestData(x2, y2); } } @@ -389,6 +530,17 @@ bool JKQTPGeoInfiniteLine::getTwoSided() const return this->two_sided; } +QPointF JKQTPGeoInfiniteLine::getP() const +{ + return QPointF(x,y); +} + +void JKQTPGeoInfiniteLine::setP(const QPointF &p) +{ + x=p.x(); + y=p.y(); +} + @@ -460,23 +612,51 @@ void JKQTPGeoPolyLines::draw(JKQTPEnhancedPainter& painter) { if (points.size()>=2) { reserveHitTestData(points.size()); - QVector path=transform(points); + double angle1, angle2; + QPointF xx1, xx2; + bool doDrawDecorator=false; painter.save(); auto __finalpaint=JKQTPFinally([&painter]() {painter.restore();}); painter.setPen(getLinePen(painter, parent)); painter.setBrush(getLineColor()); + if ((getDrawMode()==DrawAsGraphicElement) || (getParent()->getXAxis()->isLinearAxis() && getParent()->getYAxis()->isLinearAxis())) { + QVector path=transform(points); + angle1=atan2(path[1].y()-path[0].y(), path[1].x()-path[0].x()); + angle2=atan2(path[path.size()-2].y()-path[path.size()-1].y(), path[path.size()-2].x()-path[path.size()-1].x()); + xx1=path[0]; + xx2=path[path.size()-1]; + // draw corrected line + painter.drawPolyline(path.data(), path.size()); + doDrawDecorator=true; + } else { + // for non-linear axes, a line might not be drawn as a line, so we need to segment the line (i.e. linear function in coordinate space) + // and transform each node to draw the corresponding non-linear curve in pixel-space! + auto fTransform=std::bind([](const JKQTPPlotObject* plot, const QPointF& p) { return plot->transform(p); }, this, std::placeholders::_1); + QVector points_poly=JKQTPSplitPolylineIntoPoints(points, fTransform); + points_poly=JKQTPSimplyfyLineSegemnts(points_poly); + if (points_poly.size()>1) { + xx1=points_poly[0]; + const QPointF xx1p=points_poly[1]; + angle1=atan2(xx1p.y()-xx1.y(), xx1p.x()-xx1.x()); + xx2=points_poly[points_poly.size()-1]; + const QPointF xx2p=points_poly[points_poly.size()-2]; + angle2=atan2(xx2p.y()-xx2.y(), xx2p.x()-xx2.x()); + painter.drawPolyline(points_poly.data(), points_poly.size()); + doDrawDecorator=true; + /*for (auto& p: points_poly) { + JKQTPPlotSymbol(painter, p.x(), p.y(), JKQTPPlus, 5, 1, QColor("green"), QColor("darkgreen")); + }*/ + } + + } + // potentially draw line-end decorators/arrows - const double angle1=atan2(path[1].y()-path[0].y(), path[1].x()-path[0].x()); - const double angle2=atan2(path[path.size()-2].y()-path[path.size()-1].y(), path[path.size()-2].x()-path[path.size()-1].x()); - QPointF xx1=path[0], xx2=path[path.size()-1]; - QPointF lx1=xx1, lx2=xx2; - JKQTPPlotLineDecorator(painter, xx1.x(), xx1.y(), angle1, getTailDecoratorStyle(), calcTailDecoratorSize(getLinePen(painter, getParent()).widthF()), &lx1); - JKQTPPlotLineDecorator(painter, xx2.x(), xx2.y(), angle2, getHeadDecoratorStyle(), calcHeadDecoratorSize(getLinePen(painter, getParent()).widthF()), &lx2); - path[0]=lx1; - path[path.size()-1]=lx2; + if (doDrawDecorator) { + JKQTPPlotLineDecorator(painter, xx1.x(), xx1.y(), angle1, getTailDecoratorStyle(), calcTailDecoratorSize(getLinePen(painter, getParent()).widthF())); + JKQTPPlotLineDecorator(painter, xx2.x(), xx2.y(), angle2, getHeadDecoratorStyle(), calcHeadDecoratorSize(getLinePen(painter, getParent()).widthF())); + } + - // draw corrected line - painter.drawPolyline(path.data(), path.size()); for (const auto& p:points) { addHitTestData(p.x(), p.y()); } @@ -502,6 +682,50 @@ void JKQTPGeoPolyLines::appendPoint(const double x, const double y) { points.append(QPointF(x, y)); } +int JKQTPGeoPolyLines::getPointCount() const +{ + return points.size(); +} + +const QPointF &JKQTPGeoPolyLines::getPoint(int i) const +{ + return points[i]; +} + +QPointF &JKQTPGeoPolyLines::getPoint(int i) +{ + return points[i]; +} + +void JKQTPGeoPolyLines::setPoint(int i, const QPointF &point) +{ + points[i]=point; +} + +void JKQTPGeoPolyLines::removePoint(int i) +{ + points.remove(i); +} + +QVector::iterator JKQTPGeoPolyLines::pointsBegin() +{ + return points.begin(); +} + +QVector::iterator JKQTPGeoPolyLines::pointsEnd() +{ + return points.end(); +} + +QVector::const_iterator JKQTPGeoPolyLines::pointsCBegin() const +{ + return points.cbegin(); +} + +QVector::const_iterator JKQTPGeoPolyLines::pointsCEnd() const +{ + return points.cend(); +} JKQTPGeoArc::JKQTPGeoArc(JKQTBasePlotter* parent, double x, double y, double width, double height, double angleStart, double angleStop, QColor color, double lineWidth, Qt::PenStyle style): @@ -514,7 +738,6 @@ JKQTPGeoArc::JKQTPGeoArc(JKQTBasePlotter* parent, double x, double y, double wid this->width=width; this->height=height; this->angle=0; - this->controlPoints=180; } JKQTPGeoArc::JKQTPGeoArc(JKQTPlotter* parent, double x, double y, double width, double height, double angleStart, double angleStop, QColor color, double lineWidth, Qt::PenStyle style): @@ -524,23 +747,12 @@ JKQTPGeoArc::JKQTPGeoArc(JKQTPlotter* parent, double x, double y, double width, void JKQTPGeoArc::draw(JKQTPEnhancedPainter& painter) { - QPainterPath rect; - rect=transformToLinePath(JKQTPDrawEllipse(x,y,width/2.0, height/2.0,angleStart,angleStop,angle, controlPoints)); + auto fTransform=std::bind([](const JKQTPPlotObject* plot, const QPointF& p) { return plot->transform(p); }, this, std::placeholders::_1); + const QPolygonF rect=JKQTPSplitEllipseIntoPoints(fTransform, x,y,width/2.0, height/2.0,angleStart,angleStop, angle); painter.save(); auto __finalpaint=JKQTPFinally([&painter]() {painter.restore();}); painter.setPen(getLinePen(painter, parent)); - painter.drawPath(rect); - -} - -void JKQTPGeoArc::setControlPoints(const unsigned int &__value) -{ - this->controlPoints = __value; -} - -unsigned int JKQTPGeoArc::getControlPoints() const -{ - return this->controlPoints; + painter.drawPolyline(rect); } void JKQTPGeoArc::setAngleStart(double __value) @@ -583,6 +795,16 @@ double JKQTPGeoArc::getY() const return this->y; } +QPointF JKQTPGeoArc::getCenter() const +{ + return QPointF(x, y); +} + +void JKQTPGeoArc::setCenter(const QPointF ¢er) +{ + x=center.x(); + y=center.y(); +} void JKQTPGeoArc::setWidth(double __value) { this->width = __value; @@ -603,6 +825,16 @@ double JKQTPGeoArc::getHeight() const return this->height; } +QSizeF JKQTPGeoArc::getSize() const +{ + return QSizeF(width,height); +} + +void JKQTPGeoArc::setSize(const QSizeF &size) +{ + width=size.width(); + height=size.height(); +} void JKQTPGeoArc::setAngle(double __value) { this->angle = __value; @@ -616,7 +848,7 @@ double JKQTPGeoArc::getAngle() const bool JKQTPGeoArc::getXMinMax(double& minx, double& maxx, double& smallestGreaterZero) { QPolygonF rect; - rect=QPolygonF(JKQTPDrawEllipse(x,y,width/2.0, height/2.0,angleStart,angleStop,angle, controlPoints)); + rect=QPolygonF(JKQTPSplitEllipseIntoPoints(x,y,width/2.0, height/2.0,angleStart,angleStop,angle, 180)); minx=rect.boundingRect().left(); maxx=rect.boundingRect().right(); if (minx>maxx) std::swap(minx, maxx); @@ -629,7 +861,7 @@ bool JKQTPGeoArc::getXMinMax(double& minx, double& maxx, double& smallestGreater bool JKQTPGeoArc::getYMinMax(double& miny, double& maxy, double& smallestGreaterZero) { QPolygonF rect; - rect=QPolygonF(JKQTPDrawEllipse(x,y,width/2.0, height/2.0,angleStart,angleStop,angle, controlPoints)); + rect=QPolygonF(JKQTPSplitEllipseIntoPoints(x,y,width/2.0, height/2.0,angleStart,angleStop,angle, 180)); miny=rect.boundingRect().bottom(); maxy=rect.boundingRect().top(); if (miny>maxy) std::swap(miny, maxy); diff --git a/lib/jkqtplotter/graphs/jkqtpgeolines.h b/lib/jkqtplotter/graphs/jkqtpgeolines.h index a69c34a56b..bae80f06c9 100644 --- a/lib/jkqtplotter/graphs/jkqtpgeolines.h +++ b/lib/jkqtplotter/graphs/jkqtpgeolines.h @@ -32,104 +32,204 @@ -/*! \brief This JKQTPPlotObject is used to draw a line, optionally line-end decorations (aka arrows) are pssible, but switched off by default. - \ingroup jkqtplotter_geoplots - - \image html JKQTPGeoLine_HeadTail.png - - - \image html plot_geoline.png - - - You can also activate line-end decorators (aka arrows) for this poly-line, by using code like this: - \code - line->setHeadDecoratorStyle(JKQTPFilledDoubleArrow); - line->setTailDecoratorStyle(JKQTPCircleDecorator); - \endcode - - This results in arrows drawn at the start (aka x1/y1, =tail) and end (aka x2/y2, =head) of the line. - - - \note The convenience class JKQTPGeoArrow activates line-end decorations (aka arows) by default and allows to select them in the constructor. - - \see JKQTPGeoArrow, \ref JKQTPlotterGeometricGraphs and \ref JKQTPlotterGeometricArrows - +/** \brief This JKQTPPlotObject is used to draw a line, optionally line-end decorations (aka arrows) are pssible, but switched off by default. + * \ingroup jkqtplotter_geoplots + * + * \image html JKQTPGeoLine_HeadTail.png + * + * + * \image html plot_geoline.png + * + * \note This class support JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve. If set, + * and non-linear axes are chosen, the line is drawn as a curves, instead of straight + * a straight line. In the mode + * JKQTPPlotObject::DrawMode::DrawAsGraphicElement the line is drawn as a straight line. + * + * You can also activate line-end decorators (aka arrows) for this poly-line, by using code like this: + * \code + * line->setHeadDecoratorStyle(JKQTPFilledDoubleArrow); + * line->setTailDecoratorStyle(JKQTPCircleDecorator); + * \endcode + * + * This results in arrows drawn at the start (aka x1/y1, =tail) and end (aka x2/y2, =head) of the line. + * + * + * \note The convenience class JKQTPGeoArrow activates line-end decorations (aka arows) by default and allows to select them in the constructor. + * + * \see JKQTPGeoArrow, \ref JKQTPlotterGeometricGraphs and \ref JKQTPlotterGeometricArrows + * */ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoLine: public JKQTPGeoBaseDecoratedLine { Q_OBJECT public: - /*! \brief class constructor - - \param parent the parent plotter object - \param x1 x-coordinate of first point of line - \param y1 y-coordinate of first point of line - \param x2 x-coordinate of second point of line - \param y2 y-coordinate of second point of line - \param color color of line - \param lineWidth width of line - \param style line style - \param parent the parent plotter object + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x1 x-coordinate of first point of line + * \param y1 y-coordinate of first point of line + * \param x2 x-coordinate of second point of line + * \param y2 y-coordinate of second point of line + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param parent the parent plotter object */ JKQTPGeoLine(JKQTBasePlotter* parent, double x1, double y1, double x2, double y2, QColor color, double lineWidth=1, Qt::PenStyle style=Qt::SolidLine); - /*! \brief class constructor - - \param parent the parent plotter object - \param x1 x-coordinate of first point of line - \param y1 y-coordinate of first point of line - \param x2 x-coordinate of second point of line - \param y2 y-coordinate of second point of line - \param color color of line - \param lineWidth width of line - \param style line style - \param parent the parent plotter object + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x1 x-coordinate of first point of line + * \param y1 y-coordinate of first point of line + * \param x2 x-coordinate of second point of line + * \param y2 y-coordinate of second point of line + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param parent the parent plotter object */ JKQTPGeoLine(JKQTPlotter* parent, double x1, double y1, double x2, double y2, QColor color, double lineWidth=1, Qt::PenStyle style=Qt::SolidLine); - /*! \brief class constructor - - \param parent the parent plotter object - \param x1 x-coordinate of first point of line - \param y1 y-coordinate of first point of line - \param x2 x-coordinate of second point of line - \param y2 y-coordinate of second point of line - + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x1 x-coordinate of first point of line + * \param y1 y-coordinate of first point of line + * \param x2 x-coordinate of second point of line + * \param y2 y-coordinate of second point of line + * */ JKQTPGeoLine(JKQTBasePlotter* parent, double x1, double y1, double x2, double y2); - /*! \brief class constructor - - \param parent the parent plotter object - \param x1 x-coordinate of first point of line - \param y1 y-coordinate of first point of line - \param x2 x-coordinate of second point of line - \param y2 y-coordinate of second point of line - + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x1 x-coordinate of first point of line + * \param y1 y-coordinate of first point of line + * \param x2 x-coordinate of second point of line + * \param y2 y-coordinate of second point of line */ JKQTPGeoLine(JKQTPlotter* parent, double x1, double y1, double x2, double y2); + + + /** \brief class constructor + * + * \param parent the parent plotter object + * \param p1 first point of line (tail) + * \param p2 second point of line (head) + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param parent the parent plotter object + */ + JKQTPGeoLine(JKQTBasePlotter* parent, const QPointF& p1, const QPointF& p2, QColor color, double lineWidth=1, Qt::PenStyle style=Qt::SolidLine); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param p1 first point of line (tail) + * \param p2 second point of line (head) + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param parent the parent plotter object + */ + JKQTPGeoLine(JKQTPlotter* parent, const QPointF& p1, const QPointF& p2, QColor color, double lineWidth=1, Qt::PenStyle style=Qt::SolidLine); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param p1 first point of line (tail) + * \param p2 second point of line (head) + * + */ + JKQTPGeoLine(JKQTBasePlotter* parent, const QPointF& p1, const QPointF& p2); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param p1 first point of line (tail) + * \param p2 second point of line (head) + */ + JKQTPGeoLine(JKQTPlotter* parent, const QPointF& p1, const QPointF& p2); + + + + + /** \brief class constructor + * + * \param parent the parent plotter object + * \param line the line + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param parent the parent plotter object + */ + JKQTPGeoLine(JKQTBasePlotter* parent, const QLineF& line, QColor color, double lineWidth=1, Qt::PenStyle style=Qt::SolidLine); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param line the line + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param parent the parent plotter object + */ + JKQTPGeoLine(JKQTPlotter* parent, const QLineF& line, QColor color, double lineWidth=1, Qt::PenStyle style=Qt::SolidLine); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param line the line + * + */ + JKQTPGeoLine(JKQTBasePlotter* parent, const QLineF& line); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param line the line + */ + JKQTPGeoLine(JKQTPlotter* parent, const QLineF& line); + + + /** \copydoc JKQTPPlotObject::getXMinMax() */ virtual bool getXMinMax(double& minx, double& maxx, double& smallestGreaterZero) override; /** \copydoc JKQTPPlotObject::getYMinMax() */ virtual bool getYMinMax(double& miny, double& maxy, double& smallestGreaterZero) override; - /** \brief plots the graph to the plotter object specified as parent */ + /** \brief plots the graph to the plotter object specified as parent + * + * \note This function support JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve. If set, + * and non-linear axes are chosen, the line will possibly be represented as a curve, + * instead of a straight line. + */ virtual void draw(JKQTPEnhancedPainter& painter) override; - /*! \copydoc x1 */ + /** \copydoc x1 */ void setX1(double __value); - /*! \copydoc x1 */ + /** \copydoc x1 */ double getX1() const; - /*! \copydoc y1 */ + /** \copydoc y1 */ void setY1(double __value); - /*! \copydoc y1 */ + /** \copydoc y1 */ double getY1() const; - /*! \copydoc x2 */ + /** \copydoc x2 */ void setX2(double __value); - /*! \copydoc x2 */ + /** \copydoc x2 */ double getX2() const; - /*! \copydoc y2 */ + /** \copydoc y2 */ void setY2(double __value); - /*! \copydoc y2 */ + /** \copydoc y2 */ double getY2() const; + + /** \brief return line-start/tail (x1,y1) as QPointF */ + QPointF getP1() const; + /** \brief set line-start/tail (x1,y1) as QPointF */ + void setP1(const QPointF& p); + /** \brief return line-end/head (x2,y2) as QPointF */ + QPointF getP2() const; + /** \brief set line-end/head (x2,y2) as QPointF */ + void setP2(const QPointF& p); + /** \brief return the line as a QLineF object */ + QLineF getLine() const; + /** \brief define the line as a QLineF object */ + void setLine(const QLineF& line); protected: /** \brief x-coordinate of first point of line */ double x1; @@ -143,45 +243,45 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoLine: public JKQTPGeoBaseDecoratedLine { }; -/*! \brief This convenience specialisation of JKQTPGeoLine is used to draw a line with decorations (e.g. arrows) - \ingroup jkqtplotter_geoplots - - This class does not add any functionality on top of JKQTPGeoLine, just activates line-end markers by default! - - \image html JKQTPGeoLine_HeadTail.png - - \image html plot_geoarrows.png - - \see JKQTPLineDecoratorStyle, JKQTPGeoLine, \ref JKQTPlotterGeometricArrows and \ref JKQTPlotterGeometricGraphs - - */ +/** \brief This convenience specialisation of JKQTPGeoLine is used to draw a line with decorations (e.g. arrows) + * \ingroup jkqtplotter_geoplots + * + * This class does not add any functionality on top of JKQTPGeoLine, just activates line-end markers by default! + * + * \image html JKQTPGeoLine_HeadTail.png + * + * \image html plot_geoarrows.png + * + * \see JKQTPLineDecoratorStyle, JKQTPGeoLine, \ref JKQTPlotterGeometricArrows and \ref JKQTPlotterGeometricGraphs + * + */ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoArrow: public JKQTPGeoLine { Q_OBJECT public: - /*! \brief class constructor - - \param parent the parent plotter object - \param x1 x-coordinate of first point of line - \param y1 y-coordinate of first point of line - \param x2 x-coordinate of second point of line - \param y2 y-coordinate of second point of line - \param color color of line - \param lineWidth width of line - \param style line style - \param parent the parent plotter object + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x1 x-coordinate of first point of line + * \param y1 y-coordinate of first point of line + * \param x2 x-coordinate of second point of line + * \param y2 y-coordinate of second point of line + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param parent the parent plotter object */ JKQTPGeoArrow(JKQTBasePlotter* parent, double x1, double y1, double x2, double y2, QColor color, JKQTPLineDecoratorStyle headStyle=JKQTPDefaultLineDecorator, JKQTPLineDecoratorStyle tailStyle=JKQTPNoDecorator, double lineWidth=1.0, Qt::PenStyle style=Qt::SolidLine); - /*! \brief class constructor - - \param parent the parent plotter object - \param x1 x-coordinate of first point of line - \param y1 y-coordinate of first point of line - \param x2 x-coordinate of second point of line - \param y2 y-coordinate of second point of line - \param color color of line - \param lineWidth width of line - \param style line style - \param parent the parent plotter object + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x1 x-coordinate of first point of line + * \param y1 y-coordinate of first point of line + * \param x2 x-coordinate of second point of line + * \param y2 y-coordinate of second point of line + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param parent the parent plotter object */ JKQTPGeoArrow(JKQTPlotter* parent, double x1, double y1, double x2, double y2, QColor color, JKQTPLineDecoratorStyle headStyle=JKQTPDefaultLineDecorator, JKQTPLineDecoratorStyle tailStyle=JKQTPNoDecorator, double lineWidth=1.0, Qt::PenStyle style=Qt::SolidLine); @@ -191,44 +291,50 @@ public: -/*! \brief This JKQTPPlotObject is used to draw an infinite line - \ingroup jkqtplotter_geoplots - - an infinite line has a starting point and then goes on in a given direction - until the end of the plotting range. - - \image html plot_geoinfiniteline.png - - You can add a decorator to the head of the line (i.e. the given start point (x,y) ) iff this line is one-sided, i.e. two_sided \c ==false . - - \see \ref JKQTPlotterGeometricGraphs and \ref JKQTPlotterGeometricArrows - +/** \brief This JKQTPPlotObject is used to draw an infinite line + * \ingroup jkqtplotter_geoplots + * + * an infinite line has a starting point and then goes on in a given direction + * until the end of the plotting range. + * + * \image html plot_geoinfiniteline.png + * + * + * \note This class support JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve. If set, + * and non-linear axes are chosen, the line is drawn as a curves, instead of straight + * a straight line. In the mode + * JKQTPPlotObject::DrawMode::DrawAsGraphicElement the line is drawn as a straight line. + * + * You can add a decorator to the head of the line (i.e. the given start point (x,y) ) iff this line is one-sided, i.e. two_sided \c ==false . + * + * \see \ref JKQTPlotterGeometricGraphs and \ref JKQTPlotterGeometricArrows + * */ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoInfiniteLine: public JKQTPGeoBaseDecoratedHeadLine { Q_OBJECT public: - /*! \brief class constructor - - \param parent the parent plotter object - \param x x-coordinate of start point of line - \param y y-coordinate of start point of line - \param dx x-direction of the line - \param dy y-direction of the line - \param color color of line - \param lineWidth width of line - \param style line style + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x x-coordinate of start point of line + * \param y y-coordinate of start point of line + * \param dx x-direction of the line + * \param dy y-direction of the line + * \param color color of line + * \param lineWidth width of line + * \param style line style */ JKQTPGeoInfiniteLine(JKQTBasePlotter* parent, double x, double y, double dx, double dy, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine); - /*! \brief class constructor - - \param parent the parent plotter object - \param x x-coordinate of start point of line - \param y y-coordinate of start point of line - \param dx x-direction of the line - \param dy y-direction of the line - \param color color of line - \param lineWidth width of line - \param style line style + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x x-coordinate of start point of line + * \param y y-coordinate of start point of line + * \param dx x-direction of the line + * \param dy y-direction of the line + * \param color color of line + * \param lineWidth width of line + * \param style line style */ JKQTPGeoInfiniteLine(JKQTPlotter* parent, double x, double y, double dx, double dy, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine); @@ -238,29 +344,38 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoInfiniteLine: public JKQTPGeoBaseDecoratedH /** \copydoc JKQTPPlotObject::getYMinMax() */ virtual bool getYMinMax(double& miny, double& maxy, double& smallestGreaterZero) override; - /** \brief plots the graph to the plotter object specified as parent */ + /** \brief plots the graph to the plotter object specified as parent + * + * \note This function support JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve. If set, + * and non-linear axes are chosen, the line will possibly be represented as a curve, + * instead of a straight line. + */ virtual void draw(JKQTPEnhancedPainter& painter) override; - /*! \copydoc x */ + /** \copydoc x */ void setX(double __value); - /*! \copydoc x */ + /** \copydoc x */ double getX() const; - /*! \copydoc y */ + /** \copydoc y */ void setY(double __value); - /*! \copydoc y */ + /** \copydoc y */ double getY() const; - /*! \copydoc dx */ + /** \copydoc dx */ void setDx(double __value); - /*! \copydoc dx */ + /** \copydoc dx */ double getDx() const; - /*! \copydoc dy */ + /** \copydoc dy */ void setDy(double __value); - /*! \copydoc dy */ + /** \copydoc dy */ double getDy() const; - /*! \copydoc two_sided */ + /** \copydoc two_sided */ void setTwoSided(bool __value); - /*! \copydoc two_sided */ + /** \copydoc two_sided */ bool getTwoSided() const; + /** \brief return point (x,y) on the line as QPointF */ + QPointF getP() const; + /** \brief set point (x,y) on the line as QPointF */ + void setP(const QPointF& p); protected: /** \brief x-coordinate of a point on the line */ double x; @@ -276,58 +391,65 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoInfiniteLine: public JKQTPGeoBaseDecoratedH }; -/*! \brief This JKQTPPlotObject is used to draw a poly line - \ingroup jkqtplotter_geoplots - - \image html plot_geolines.png - - You can also activate line-end decorators (aka arrows) for this poly-line, by using code like this: - \code - polyLine->setHeadDecoratorStyle(JKQTPFilledDoubleArrow); - polyLine->setTailDecoratorStyle(JKQTPCircleDecorator); - \endcode - - This results in arrows drawn at the start (=tail) and end (=head) of the poly-line: - \image html geo_arrow_polylines.png - - \see \ref JKQTPlotterGeometricGraphs and \ref JKQTPlotterGeometricArrows - +/** \brief This JKQTPPlotObject is used to draw a poly line + * \ingroup jkqtplotter_geoplots + * + * \image html plot_geolines.png + * + * \note This class support JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve. If set, + * and non-linear axes are chosen, the points of the poly-line will be possibly + * connected by curves, instead of straight lines. In the mode + * JKQTPPlotObject::DrawMode::DrawAsGraphicElement the points are connected by straight + * lines, independent of the linearity or non-linearity of the coordinate axes. + * + * You can also activate line-end decorators (aka arrows) for this poly-line, by using code like this: + * \code + * polyLine->setHeadDecoratorStyle(JKQTPFilledDoubleArrow); + * polyLine->setTailDecoratorStyle(JKQTPCircleDecorator); + * \endcode + * + * This results in arrows drawn at the start (=tail) and end (=head) of the poly-line: + * + * \image html geo_arrow_polylines.png + * + * \see \ref JKQTPlotterGeometricGraphs and \ref JKQTPlotterGeometricArrows + * */ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoPolyLines: public JKQTPGeoBaseDecoratedLine { Q_OBJECT public: - /*! \brief class constructor - - \param parent the parent plotter object - \param points points on the polygon - \param color color of line - \param lineWidth width of line - \param style line style + /** \brief class constructor + * + * \param parent the parent plotter object + * \param points points on the polygon + * \param color color of line + * \param lineWidth width of line + * \param style line style */ JKQTPGeoPolyLines(JKQTBasePlotter* parent, const QVector& points, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine); - /*! \brief class constructor - - \param parent the parent plotter object - \param points points on the polygon - \param color color of line - \param lineWidth width of line - \param style line style + /** \brief class constructor + * + * \param parent the parent plotter object + * \param points points on the polygon + * \param color color of line + * \param lineWidth width of line + * \param style line style */ JKQTPGeoPolyLines(JKQTPlotter* parent, const QVector& points, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine); - /*! \brief class constructor - - \param parent the parent plotter object - \param color color of line - \param lineWidth width of line - \param style line style + /** \brief class constructor + * + * \param parent the parent plotter object + * \param color color of line + * \param lineWidth width of line + * \param style line style */ JKQTPGeoPolyLines(JKQTBasePlotter* parent, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine); - /*! \brief class constructor - - \param parent the parent plotter object - \param color color of line - \param lineWidth width of line - \param style line style + /** \brief class constructor + * + * \param parent the parent plotter object + * \param color color of line + * \param lineWidth width of line + * \param style line style */ JKQTPGeoPolyLines(JKQTPlotter* parent, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine); @@ -337,62 +459,95 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoPolyLines: public JKQTPGeoBaseDecoratedLine /** \copydoc JKQTPPlotObject::getYMinMax() */ virtual bool getYMinMax(double& miny, double& maxy, double& smallestGreaterZero) override; - /** \brief plots the graph to the plotter object specified as parent */ + /** \brief plots the graph to the plotter object specified as parent + * + * \note This function support JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve. If set, + * and non-linear axes are chosen, the points of the poly-line will be possibly + * connected by curves, instead of straight lines. In the mode + * JKQTPPlotObject::DrawMode::DrawAsGraphicElement the points are connected by straight + * lines, independent of the linearity or non-linearity of the coordinate axes. + */ virtual void draw(JKQTPEnhancedPainter& painter) override; - /*! \copydoc points */ + /** \copydoc points */ void setPoints(const QVector & __value); - /*! \copydoc points */ + /** \copydoc points */ QVector getPoints() const; - /** \brief append a point to the polygon */ + /** \brief append a point to the polygon \see points */ void appendPoint(const QPointF& p); - /** \brief append a point to the polygon */ + /** \brief append a point to the polygon \see points */ void appendPoint(const double x, const double y); + + /** \brief returns the number of points \see points */ + int getPointCount() const; + /** \brief returns the i-th of point \see points */ + const QPointF& getPoint(int i) const; + /** \brief returns the i-th of point \see points */ + QPointF& getPoint(int i); + /** \brief overwrites the i-th point \see points */ + void setPoint(int i, const QPointF& point); + /** \brief deletes the i-the point \see points */ + void removePoint(int i); + /** \brief returns an iterator to the first point \see points */ + QVector::iterator pointsBegin(); + /** \brief returns an iterator after the last point \see points */ + QVector::iterator pointsEnd(); + /** \brief returns a constant iterator to the first point \see points */ + QVector::const_iterator pointsCBegin() const; + /** \brief returns a constant iterator after the last point \see points */ + QVector::const_iterator pointsCEnd() const; protected: /** \brief list with all points on the poly-line */ QVector points; }; -/*! \brief This JKQTPPlotObject is used to draw an arc - \ingroup jkqtplotter_geoplots - - \image html plot_geoarc.png - - \see \ref JKQTPlotterGeometricGraphs +/** \brief This JKQTPPlotObject is used to draw an arc + * \ingroup jkqtplotter_geoplots + * + * + * A pie on linear and log-log axes (start angle: 10deg and end-angle 110deg): + * + * \image html plot_geopie.png + * + * \note This class support the JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve only. + * This means that arcs are always treated as mathematical curves, as no meaningful + * parametrization for arcs on non-linear axes could be found! + * + * \see \ref JKQTPlotterGeometricGraphs, JKQTPGeoChord, JKQTPGeoPie, JKQTPGeoEllipse */ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoArc: public JKQTPGeoBaseLine { Q_OBJECT public: - /*! \brief class constructor + /** \brief class constructor - \param parent the parent plotter object - \param x x-coordinate of center of ellipse - \param y y-coordinate of center of ellipse - \param width width of ellipse (2 * half axis) - \param height of ellipse (2 * half axis) - \param angleStart if we only draw an arc, this is the starting angle in degrees - \param angleStop if we only draw an arc, this is the ending angle in degrees - \param color color of line - \param lineWidth width of line - \param style line style + * \param parent the parent plotter object + * \param x x-coordinate of center of ellipse + * \param y y-coordinate of center of ellipse + * \param width width of ellipse (2 * half axis) + * \param height of ellipse (2 * half axis) + * \param angleStart if we only draw an arc, this is the starting angle in degrees + * \param angleStop if we only draw an arc, this is the ending angle in degrees + * \param color color of line + * \param lineWidth width of line + * \param style line style */ JKQTPGeoArc(JKQTBasePlotter* parent, double x, double y, double width, double height, double angleStart, double angleStop, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine); - /*! \brief class constructor + /** \brief class constructor - \param parent the parent plotter object - \param x x-coordinate of center of ellipse - \param y y-coordinate of center of ellipse - \param width width of ellipse (2 * half axis) - \param height of ellipse (2 * half axis) - \param angleStart if we only draw an arc, this is the starting angle in degrees - \param angleStop if we only draw an arc, this is the ending angle in degrees - \param color color of line - \param lineWidth width of line - \param style line style + * \param parent the parent plotter object + * \param x x-coordinate of center of ellipse + * \param y y-coordinate of center of ellipse + * \param width width of ellipse (2 * half axis) + * \param height of ellipse (2 * half axis) + * \param angleStart if we only draw an arc, this is the starting angle in degrees + * \param angleStop if we only draw an arc, this is the ending angle in degrees + * \param color color of line + * \param lineWidth width of line + * \param style line style */ JKQTPGeoArc(JKQTPlotter* parent, double x, double y, double width, double height, double angleStart, double angleStop, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine); @@ -403,40 +558,50 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoArc: public JKQTPGeoBaseLine { virtual bool getYMinMax(double& miny, double& maxy, double& smallestGreaterZero) override; - /** \brief plots the graph to the plotter object specified as parent */ + /** \brief plots the graph to the plotter object specified as parent + * + * \note This function support the JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve only. + * This means that arcs are always treated as mathematical curves, as no meaningful + * parametrization for arcs on non-linear axes could be found! + */ virtual void draw(JKQTPEnhancedPainter& painter) override; - /*! \copydoc controlPoints */ - void setControlPoints(const unsigned int & __value); - /*! \copydoc controlPoints */ - unsigned int getControlPoints() const; - /*! \copydoc angleStart */ + + /** \copydoc angleStart */ void setAngleStart(double __value); - /*! \copydoc angleStart */ + /** \copydoc angleStart */ double getAngleStart() const; - /*! \copydoc angleStop */ + /** \copydoc angleStop */ void setAngleStop(double __value); - /*! \copydoc angleStop */ + /** \copydoc angleStop */ double getAngleStop() const; - /*! \copydoc x */ + /** \copydoc x */ void setX(double __value); - /*! \copydoc x */ + /** \copydoc x */ double getX() const; - /*! \copydoc y */ + /** \copydoc y */ void setY(double __value); - /*! \copydoc y */ + /** \copydoc y */ double getY() const; - /*! \copydoc width */ + /** \brief returns the center point of the arc */ + QPointF getCenter() const; + /** \brief sets the center point of the arc */ + void setCenter(const QPointF& center); + /** \copydoc width */ void setWidth(double __value); - /*! \copydoc width */ + /** \copydoc width */ double getWidth() const; - /*! \copydoc height */ + /** \copydoc height */ void setHeight(double __value); - /*! \copydoc height */ + /** \copydoc height */ double getHeight() const; - /*! \copydoc angle */ + /** \brief returns the size (width and height) of the arc */ + QSizeF getSize() const; + /** \brief sets the size (width and height) of the arc */ + void setSize(const QSizeF& size); + /** \copydoc angle */ void setAngle(double __value); - /*! \copydoc angle */ + /** \copydoc angle */ double getAngle() const; protected: /** \brief x-coordinate of a center of the rectangle */ @@ -453,8 +618,7 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoArc: public JKQTPGeoBaseLine { double angleStart; /** \brief if we only draw an arc, this is the ending angle in degrees */ double angleStop; - /** \brief number of steps/control points to draw the ellipse */ - unsigned int controlPoints; + /** \brief closing mode for arcs: secand or pie */ /** \brief returns the transformation matrix used for this rectangle */ diff --git a/lib/jkqtplotter/graphs/jkqtpgeoshapes.cpp b/lib/jkqtplotter/graphs/jkqtpgeoshapes.cpp index 344c227034..76123e633d 100644 --- a/lib/jkqtplotter/graphs/jkqtpgeoshapes.cpp +++ b/lib/jkqtplotter/graphs/jkqtpgeoshapes.cpp @@ -22,6 +22,7 @@ #include "jkqtplotter/graphs/jkqtpgeoshapes.h" #include "jkqtplotter/jkqtpbaseplotter.h" #include "jkqtplotter/jkqtplotter.h" +#include "jkqtcommon/jkqtpgeometrytools.h" #include #include #include @@ -31,8 +32,8 @@ -JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTBasePlotter* parent, double x, double y, double width, double height, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoBaseFilled(color, fillColor, lineWidth, style, fillStyle, parent) +JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTBasePlotter* parent, double x, double y, double width, double height, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoBaseFilled(color, fillColor, lineWidth, style, fillStyle, parent, drawMode) { this->x=x; this->y=y; @@ -41,18 +42,13 @@ JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTBasePlotter* parent, double x, double y this->height=height; } -JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTPlotter* parent, double x, double y, double width, double height, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoBaseFilled(color, fillColor, lineWidth, style, fillStyle, parent) +JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTPlotter* parent, double x, double y, double width, double height, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoRectangle(parent->getPlotter(), x, y, width, height, color, lineWidth, style, fillColor, fillStyle, drawMode) { - this->x=x; - this->y=y; - angle=0; - this->width=width; - this->height=height; } -JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTBasePlotter *parent, double x, double y, double width, double height, double angle, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoBaseFilled(color, fillColor, lineWidth, style, fillStyle, parent) +JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTBasePlotter *parent, double x, double y, double width, double height, double angle, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoBaseFilled(color, fillColor, lineWidth, style, fillStyle, parent, drawMode) { this->x=x; this->y=y; @@ -61,18 +57,13 @@ JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTBasePlotter *parent, double x, double y this->height=height; } -JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTPlotter *parent, double x, double y, double width, double height, double angle, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoBaseFilled(color, fillColor, lineWidth, style, fillStyle, parent) +JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTPlotter *parent, double x, double y, double width, double height, double angle, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoRectangle(parent->getPlotter(), x, y, width, height, angle, color, lineWidth, style, fillColor, fillStyle, drawMode) { - this->x=x; - this->y=y; - this->angle=angle; - this->width=width; - this->height=height; } -JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTBasePlotter *parent, QPointF bottomleft, QPointF topright, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoBaseFilled(color, fillColor, lineWidth, style, fillStyle, parent) +JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTBasePlotter *parent, QPointF bottomleft, QPointF topright, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoBaseFilled(color, fillColor, lineWidth, style, fillStyle, parent, drawMode) { this->angle=0; this->width=fabs(topright.x()-bottomleft.x()); @@ -81,14 +72,33 @@ JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTBasePlotter *parent, QPointF bottomleft this->y=bottomleft.y()+this->height/2.0; } -JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTPlotter *parent, QPointF bottomleft, QPointF topright, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoBaseFilled(color, fillColor, lineWidth, style, fillStyle, parent) +JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTPlotter *parent, QPointF bottomleft, QPointF topright, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoRectangle(parent->getPlotter(), bottomleft, topright, color, lineWidth, style, fillColor, fillStyle, drawMode) { - this->angle=0; - this->width=fabs(topright.x()-bottomleft.x()); - this->height=fabs(topright.y()-bottomleft.y()); - this->x=bottomleft.x()+this->width/2.0; - this->y=bottomleft.y()+this->height/2.0; +} + +JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTBasePlotter *parent, const QPointF ¢er, const QSizeF &size, double angle, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, JKQTPPlotObject::DrawMode drawMode): + JKQTPGeoRectangle(parent, center.x(), center.y(), size.width(), size.height(), angle, color, lineWidth, style, fillColor, fillStyle, drawMode) +{ + +} + +JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTPlotter *parent, const QPointF ¢er, const QSizeF &size, double angle, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, JKQTPPlotObject::DrawMode drawMode): + JKQTPGeoRectangle(parent->getPlotter(), center, size, angle, color, lineWidth, style, fillColor, fillStyle, drawMode) +{ + +} + +JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTBasePlotter *parent, const QPointF ¢er, const QSizeF &size, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, JKQTPPlotObject::DrawMode drawMode): + JKQTPGeoRectangle(parent, center.x(), center.y(), size.width(), size.height(), color, lineWidth, style, fillColor, fillStyle, drawMode) +{ + +} + +JKQTPGeoRectangle::JKQTPGeoRectangle(JKQTPlotter *parent, const QPointF ¢er, const QSizeF &size, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, JKQTPPlotObject::DrawMode drawMode): + JKQTPGeoRectangle(parent->getPlotter(), center, size, color, lineWidth, style, fillColor, fillStyle, drawMode) +{ + } QTransform JKQTPGeoRectangle::getTransform() { @@ -129,6 +139,7 @@ QPolygonF JKQTPGeoRectangle::getPolygon() { rect.append(m.map(QPointF(0-width/2.0, 0+height/2.0))); rect.append(m.map(QPointF(0+width/2.0, 0+height/2.0))); rect.append(m.map(QPointF(0+width/2.0, 0-height/2.0))); + rect.append(m.map(QPointF(0-width/2.0, 0-height/2.0))); rect.translate(x,y); return rect; } @@ -138,8 +149,11 @@ void JKQTPGeoRectangle::draw(JKQTPEnhancedPainter& painter) { QPolygonF poly=getPolygon(); reserveHitTestData(poly.size()); QPolygonF rect; - for (int i=0; igetXAxis()->isLinearAxis() && getParent()->getYAxis()->isLinearAxis())) { + rect=transform(poly); + } else { + auto fTransform=std::bind([](const JKQTPPlotObject* plot, const QPointF& p) { return plot->transform(p); }, this, std::placeholders::_1); + rect=JKQTPSplitPolylineIntoPoints(poly, fTransform); } for (const auto& p:poly) { addHitTestData(p.x(), p.y()); @@ -172,6 +186,17 @@ double JKQTPGeoRectangle::getY() const return this->y; } +QPointF JKQTPGeoRectangle::getCenter() const +{ + return QPointF(x, y); +} + +void JKQTPGeoRectangle::setCenter(const QPointF ¢er) +{ + x=center.x(); + y=center.y(); +} + void JKQTPGeoRectangle::setWidth(double __value) { this->width = __value; @@ -192,6 +217,17 @@ double JKQTPGeoRectangle::getHeight() const return this->height; } +QSizeF JKQTPGeoRectangle::getSize() const +{ + return QSizeF(width,height); +} + +void JKQTPGeoRectangle::setSize(const QSizeF &size) +{ + width=size.width(); + height=size.height(); +} + void JKQTPGeoRectangle::setAngle(double __value) { this->angle = __value; @@ -202,33 +238,44 @@ double JKQTPGeoRectangle::getAngle() const return this->angle; } - -void JKQTPGeoRectangle::setBottomleftrectangle(double x, double y, double width, double height) { +void JKQTPGeoRectangle::setBottomLeftRectangle(double x, double y, double width, double height) +{ this->x=x+width/2.0; this->y=y+height/2.0; this->width=width; this->height=height; + +} + + +void JKQTPGeoRectangle::setBottomLeftRectangle(const QRectF &rect) { + setBottomLeftRectangle(rect.x(), rect.y(), rect.width(), rect.height()); +} + +QRectF JKQTPGeoRectangle::getBottomLeftRectangle() const +{ + return QRectF(x-width/2.0, y-height/2.0, width, height); } -JKQTPGeoPolygon::JKQTPGeoPolygon(JKQTBasePlotter* parent, const QVector& points, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoBaseFilled(color, fillColor, lineWidth, style, fillStyle, parent) +JKQTPGeoPolygon::JKQTPGeoPolygon(JKQTBasePlotter* parent, const QVector& points, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoBaseFilled(color, fillColor, lineWidth, style, fillStyle, parent, drawMode) { this->points=points; } -JKQTPGeoPolygon::JKQTPGeoPolygon(JKQTPlotter* parent, const QVector& points, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoBaseFilled(color, fillColor, lineWidth, style, fillStyle, parent) +JKQTPGeoPolygon::JKQTPGeoPolygon(JKQTPlotter* parent, const QVector& points, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoPolygon(parent->getPlotter(), points, color, lineWidth, style, fillColor, fillStyle, drawMode) { - this->points=points; + } -JKQTPGeoPolygon::JKQTPGeoPolygon(JKQTBasePlotter* parent, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoBaseFilled(color, fillColor, lineWidth, style, fillStyle, parent) +JKQTPGeoPolygon::JKQTPGeoPolygon(JKQTBasePlotter* parent, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoBaseFilled(color, fillColor, lineWidth, style, fillStyle, parent, drawMode) { } -JKQTPGeoPolygon::JKQTPGeoPolygon(JKQTPlotter* parent, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoBaseFilled(color, fillColor, lineWidth, style, fillStyle, parent) +JKQTPGeoPolygon::JKQTPGeoPolygon(JKQTPlotter* parent, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoPolygon(parent->getPlotter(), color, lineWidth, style, fillColor, fillStyle, drawMode) { } @@ -272,16 +319,32 @@ bool JKQTPGeoPolygon::getYMinMax(double& miny, double& maxy, double& smallestGre void JKQTPGeoPolygon::draw(JKQTPEnhancedPainter& painter) { clearHitTestData(); - reserveHitTestData(points.size()); - QPolygonF path=transformToPolygon(points); - painter.save(); auto __finalpaint=JKQTPFinally([&painter]() {painter.restore();}); - painter.setPen(getLinePen(painter, parent)); - painter.setBrush(getFillBrush(painter, parent)); - painter.drawPolygon(path); - for (const auto& p:points) { - addHitTestData(p.x(), p.y()); - } + if (points.size()>=2) { + reserveHitTestData(points.size()); + painter.save(); auto __finalpaint=JKQTPFinally([&painter]() {painter.restore();}); + painter.setPen(getLinePen(painter, parent)); + painter.setBrush(getFillBrush(painter, parent)); + if ((getDrawMode()==DrawAsGraphicElement) || (getParent()->getXAxis()->isLinearAxis() && getParent()->getYAxis()->isLinearAxis())) { + const QPolygonF path=transformToPolygon(points); + painter.drawPolygon(path); + } else { + // for non-linear axes, a line might not be drawn as a line, so we need to segment the line (i.e. linear function in coordinate space) + // and transform each node to draw the corresponding non-linear curve in pixel-space! + auto fTransform=std::bind([](const JKQTPPlotObject* plot, const QPointF& p) { return plot->transform(p); }, this, std::placeholders::_1); + QVector polyp=points; + if (polyp.first()!=polyp.last()) polyp.push_back(polyp.first()); + QPolygonF path=JKQTPSplitPolylineIntoPoints(polyp, fTransform); + path=JKQTPSimplyfyLineSegemnts(path); + painter.drawPolygon(path); + } + + + for (const auto& p:points) { + addHitTestData(p.x(), p.y()); + } + + } } void JKQTPGeoPolygon::setPoints(const QVector &__value) @@ -302,65 +365,116 @@ void JKQTPGeoPolygon::appendPoint(const double x, const double y) { points.append(QPointF(x, y)); } - - -JKQTPGeoEllipse::JKQTPGeoEllipse(JKQTBasePlotter* parent, double x, double y, double width, double height, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoRectangle(parent, x, y, width, height, color, lineWidth, style, fillColor, fillStyle) +int JKQTPGeoPolygon::getPointCount() const { - controlPoints=180; + return points.size(); } -JKQTPGeoEllipse::JKQTPGeoEllipse(JKQTPlotter* parent, double x, double y, double width, double height, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoRectangle(parent, x, y, width, height, color, lineWidth, style, fillColor, fillStyle) +const QPointF &JKQTPGeoPolygon::getPoint(int i) const { - controlPoints=180; + return points[i]; } -JKQTPGeoEllipse::JKQTPGeoEllipse(JKQTBasePlotter *parent, double x, double y, double width, double height, double angle, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoRectangle(parent, x, y, width, height, angle, color, lineWidth, style, fillColor, fillStyle) +QPointF &JKQTPGeoPolygon::getPoint(int i) { - controlPoints=180; + return points[i]; } -JKQTPGeoEllipse::JKQTPGeoEllipse(JKQTPlotter *parent, double x, double y, double width, double height, double angle, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoRectangle(parent, x, y, width, height, angle, color, lineWidth, style, fillColor, fillStyle) +void JKQTPGeoPolygon::setPoint(int i, const QPointF &point) { - controlPoints=180; + points[i]=point; } -JKQTPGeoEllipse::JKQTPGeoEllipse(JKQTBasePlotter *parent, QPointF bottomleft, QPointF topright, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoRectangle(parent, bottomleft, topright, color, lineWidth, style, fillColor, fillStyle) +void JKQTPGeoPolygon::removePoint(int i) { - controlPoints=180; + points.remove(i); } -JKQTPGeoEllipse::JKQTPGeoEllipse(JKQTPlotter *parent, QPointF bottomleft, QPointF topright, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoRectangle(parent, bottomleft, topright, color, lineWidth, style, fillColor, fillStyle) +QVector::iterator JKQTPGeoPolygon::pointsBegin() { - controlPoints=180; + return points.begin(); +} + +QVector::iterator JKQTPGeoPolygon::pointsEnd() +{ + return points.end(); +} + +QVector::const_iterator JKQTPGeoPolygon::pointsCBegin() const +{ + return points.cbegin(); +} + +QVector::const_iterator JKQTPGeoPolygon::pointsCEnd() const +{ + return points.cend(); +} + + + +JKQTPGeoEllipse::JKQTPGeoEllipse(JKQTBasePlotter* parent, double x, double y, double width, double height, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoRectangle(parent, x, y, width, height, color, lineWidth, style, fillColor, fillStyle, drawMode) +{ + +} + +JKQTPGeoEllipse::JKQTPGeoEllipse(JKQTPlotter* parent, double x, double y, double width, double height, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoEllipse(parent->getPlotter(), x, y, width, height, color, lineWidth, style, fillColor, fillStyle, drawMode) +{ + +} + +JKQTPGeoEllipse::JKQTPGeoEllipse(JKQTBasePlotter *parent, double x, double y, double width, double height, double angle, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoRectangle(parent, x, y, width, height, angle, color, lineWidth, style, fillColor, fillStyle, drawMode) +{ + +} + +JKQTPGeoEllipse::JKQTPGeoEllipse(JKQTPlotter *parent, double x, double y, double width, double height, double angle, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoEllipse(parent->getPlotter(), x, y, width, height, angle, color, lineWidth, style, fillColor, fillStyle, drawMode) +{ + +} + +JKQTPGeoEllipse::JKQTPGeoEllipse(JKQTBasePlotter *parent, QPointF bottomleft, QPointF topright, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoRectangle(parent, bottomleft, topright, color, lineWidth, style, fillColor, fillStyle, drawMode) +{ + +} + +JKQTPGeoEllipse::JKQTPGeoEllipse(JKQTPlotter *parent, QPointF bottomleft, QPointF topright, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoEllipse(parent->getPlotter(), bottomleft, topright, color, lineWidth, style, fillColor, fillStyle, drawMode) +{ + } void JKQTPGeoEllipse::draw(JKQTPEnhancedPainter& painter) { - QPainterPath rect; - rect=transformToLinePath(JKQTPDrawEllipse(x,y,width/2.0, height/2.0,0,360,angle, controlPoints)); - rect.closeSubpath(); + drawInternal(painter, 0, 0, InternalDrawMode::Ellipse); +} + + +void JKQTPGeoEllipse::drawInternal(JKQTPEnhancedPainter& painter, double angleStart, double angleStop, JKQTPGeoEllipse::InternalDrawMode mode) +{ painter.save(); auto __finalpaint=JKQTPFinally([&painter]() {painter.restore();}); painter.setPen(getLinePen(painter, parent)); painter.setBrush(getFillBrush(painter, parent)); - painter.drawPath(rect); -} -void JKQTPGeoEllipse::setControlPoints(const unsigned int &__value) -{ - this->controlPoints = __value; -} + auto fTransform=std::bind([](const JKQTPPlotObject* plot, const QPointF& p) { return plot->transform(p); }, this, std::placeholders::_1); + QPolygonF rect; + if(mode==InternalDrawMode::Ellipse) { + rect=JKQTPSplitEllipseIntoPoints(fTransform, x,y,width/2.0, height/2.0,0,360, angle); + } else if (mode==InternalDrawMode::Pie) { + rect=JKQTPSplitEllipseIntoPoints(fTransform, x,y,width/2.0, height/2.0,angleStart,angleStop, angle); + rect.append(transform(x,y)); + } else if (mode==InternalDrawMode::Chord) { + rect=JKQTPSplitEllipseIntoPoints(fTransform, x,y,width/2.0, height/2.0,angleStart,angleStop, angle); + } + painter.drawPolygon(rect); + -unsigned int JKQTPGeoEllipse::getControlPoints() const -{ - return this->controlPoints; } @@ -369,33 +483,22 @@ unsigned int JKQTPGeoEllipse::getControlPoints() const -JKQTPGeoPie::JKQTPGeoPie(JKQTBasePlotter* parent, double x, double y, double width, double height,double angleStart, double angleStop, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoEllipse(parent, x, y, width, height, color, lineWidth, style, fillColor, fillStyle) +JKQTPGeoPie::JKQTPGeoPie(JKQTBasePlotter* parent, double x, double y, double width, double height,double angleStart, double angleStop, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoEllipse(parent, x, y, width, height, color, lineWidth, style, fillColor, fillStyle, drawMode) { this->angleStart=angleStart; this->angleStop=angleStop; } -JKQTPGeoPie::JKQTPGeoPie(JKQTPlotter* parent, double x, double y, double width, double height,double angleStart, double angleStop, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoEllipse(parent, x, y, width, height, color, lineWidth, style, fillColor, fillStyle) +JKQTPGeoPie::JKQTPGeoPie(JKQTPlotter* parent, double x, double y, double width, double height,double angleStart, double angleStop, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoPie(parent->getPlotter(), x, y, width, height, angleStart, angleStop, color, lineWidth, style, fillColor, fillStyle, drawMode) { - this->angleStart=angleStart; - this->angleStop=angleStop; + } void JKQTPGeoPie::draw(JKQTPEnhancedPainter& painter) { - QPainterPath rect; - rect=transformToLinePath(JKQTPDrawEllipse(x,y,width/2.0, height/2.0,angleStart,angleStop,angle, controlPoints)); - rect.lineTo(transform(x,y)); - rect.closeSubpath(); - - - painter.save(); auto __finalpaint=JKQTPFinally([&painter]() {painter.restore();}); - painter.setPen(getLinePenForRects(painter, parent)); - painter.setBrush(getFillBrush(painter, parent)); - painter.drawPath(rect); - + drawInternal(painter, angleStart, angleStop, InternalDrawMode::Pie); } void JKQTPGeoPie::setAngleStart(double __value) @@ -419,8 +522,7 @@ double JKQTPGeoPie::getAngleStop() const } bool JKQTPGeoPie::getXMinMax(double& minx, double& maxx, double& smallestGreaterZero) { - QPolygonF rect; - rect=QPolygonF(JKQTPDrawEllipse(x,y,width/2.0, height/2.0,angleStart,angleStop,angle, controlPoints)); + QPolygonF rect=QPolygonF(JKQTPSplitEllipseIntoPoints(x,y,width/2.0, height/2.0,angleStart,angleStop,angle, 180)); rect.append(QPointF(x,y)); minx=rect.boundingRect().left(); maxx=rect.boundingRect().right(); @@ -433,8 +535,7 @@ bool JKQTPGeoPie::getXMinMax(double& minx, double& maxx, double& smallestGreater } bool JKQTPGeoPie::getYMinMax(double& miny, double& maxy, double& smallestGreaterZero) { - QPolygonF rect; - rect=QPolygonF(JKQTPDrawEllipse(x,y,width/2.0, height/2.0,angleStart,angleStop,angle, controlPoints)); + QPolygonF rect=QPolygonF(JKQTPSplitEllipseIntoPoints(x,y,width/2.0, height/2.0,angleStart,angleStop,angle, 180)); rect.append(QPointF(x,y)); miny=rect.boundingRect().bottom(); maxy=rect.boundingRect().top(); @@ -449,35 +550,25 @@ bool JKQTPGeoPie::getYMinMax(double& miny, double& maxy, double& smallestGreater -JKQTPGeoChord::JKQTPGeoChord(JKQTBasePlotter* parent, double x, double y, double width, double height,double angleStart, double angleStop, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoPie(parent, x, y, width, height, angleStart, angleStop, color, lineWidth, style, fillColor, fillStyle) +JKQTPGeoChord::JKQTPGeoChord(JKQTBasePlotter* parent, double x, double y, double width, double height,double angleStart, double angleStop, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoPie(parent, x, y, width, height, angleStart, angleStop, color, lineWidth, style, fillColor, fillStyle, drawMode) { } -JKQTPGeoChord::JKQTPGeoChord(JKQTPlotter* parent, double x, double y, double width, double height,double angleStart, double angleStop, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle): - JKQTPGeoPie(parent, x, y, width, height, angleStart, angleStop, color, lineWidth, style, fillColor, fillStyle) +JKQTPGeoChord::JKQTPGeoChord(JKQTPlotter* parent, double x, double y, double width, double height,double angleStart, double angleStop, QColor color, double lineWidth, Qt::PenStyle style, QColor fillColor, Qt::BrushStyle fillStyle, DrawMode drawMode): + JKQTPGeoChord(parent->getPlotter(), x, y, width, height, angleStart, angleStop, color, lineWidth, style, fillColor, fillStyle, drawMode) { } void JKQTPGeoChord::draw(JKQTPEnhancedPainter& painter) { - QPainterPath rect; - rect=transformToLinePath(JKQTPDrawEllipse(x,y,width/2.0, height/2.0,angleStart,angleStop,angle, controlPoints)); - rect.closeSubpath(); - - - painter.save(); auto __finalpaint=JKQTPFinally([&painter]() {painter.restore();}); - painter.setPen(getLinePen(painter, parent)); - painter.setBrush(getFillBrush(painter, parent)); - painter.drawPath(rect); - + drawInternal(painter, angleStart, angleStop, InternalDrawMode::Chord); } bool JKQTPGeoChord::getXMinMax(double& minx, double& maxx, double& smallestGreaterZero) { - QPolygonF rect; - rect=QPolygonF(JKQTPDrawEllipse(x,y,width/2.0, height/2.0,angleStart,angleStop,angle, controlPoints)); + const QPolygonF rect=QPolygonF(JKQTPSplitEllipseIntoPoints(x,y,width/2.0, height/2.0,angleStart,angleStop,angle, 180)); minx=rect.boundingRect().left(); maxx=rect.boundingRect().right(); if (minx>maxx) std::swap(minx, maxx); @@ -488,8 +579,7 @@ bool JKQTPGeoChord::getXMinMax(double& minx, double& maxx, double& smallestGreat } bool JKQTPGeoChord::getYMinMax(double& miny, double& maxy, double& smallestGreaterZero) { - QPolygonF rect; - rect=QPolygonF(JKQTPDrawEllipse(x,y,width/2.0, height/2.0,angleStart,angleStop,angle, controlPoints)); + const QPolygonF rect=QPolygonF(JKQTPSplitEllipseIntoPoints(x,y,width/2.0, height/2.0,angleStart,angleStop,angle, 180)); miny=rect.boundingRect().bottom(); maxy=rect.boundingRect().top(); if (miny>maxy) std::swap(miny, maxy); diff --git a/lib/jkqtplotter/graphs/jkqtpgeoshapes.h b/lib/jkqtplotter/graphs/jkqtpgeoshapes.h index 9a96e9f337..388ed238b5 100644 --- a/lib/jkqtplotter/graphs/jkqtpgeoshapes.h +++ b/lib/jkqtplotter/graphs/jkqtpgeoshapes.h @@ -33,98 +33,154 @@ -/*! \brief This JKQTPPlotObject is used to draw a rectangle - \ingroup jkqtplotter_geoplots - - \image html plot_georectangle.png - - \see \ref JKQTPlotterGeometricGraphs +/** \brief This JKQTPPlotObject is used to draw a rectangle + * \ingroup jkqtplotter_geoplots + * + * \image html plot_georectangle.png + * + * \note This class support JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve. If set, + * and non-linear axes are chosen, the corner points of the rectangle will be possibly + * connected by curves, instead of straight lines. In the mode + * JKQTPPlotObject::DrawMode::DrawAsGraphicElement the corners are connected by straight + * lines, independent of the linearity or non-linearity of the coordinate axes. + * + * \see \ref JKQTPlotterGeometricGraphs */ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoRectangle: public JKQTPGeoBaseFilled { Q_OBJECT public: - /*! \brief class constructor - - \param parent the parent plotter object - \param x x-coordinate of center of rectangle - \param y y-coordinate of center of rectangle - \param width width of rectangle - \param height of rectangle - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor filling color of rectangle - \param fillStyle filling style of rectangle + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x x-coordinate of center of rectangle + * \param y y-coordinate of center of rectangle + * \param width width of rectangle + * \param height of rectangle + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of rectangle + * \param fillStyle filling style of rectangle */ - JKQTPGeoRectangle(JKQTBasePlotter* parent, double x, double y, double width, double height, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); - /*! \brief class constructor - - \param parent the parent plotter object - \param x x-coordinate of center of rectangle - \param y y-coordinate of center of rectangle - \param width width of rectangle - \param height of rectangle - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor filling color of rectangle - \param fillStyle filling style of rectangle + JKQTPGeoRectangle(JKQTBasePlotter* parent, double x, double y, double width, double height, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x x-coordinate of center of rectangle + * \param y y-coordinate of center of rectangle + * \param width width of rectangle + * \param height of rectangle + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of rectangle + * \param fillStyle filling style of rectangle */ - JKQTPGeoRectangle(JKQTPlotter* parent, double x, double y, double width, double height, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); - /*! \brief class constructor - - \param parent the parent plotter object - \param x x-coordinate of center of rectangle - \param y y-coordinate of center of rectangle - \param width width of rectangle - \param height of rectangle - \param angle rotation angle of the rectangle - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor filling color of rectangle - \param fillStyle filling style of rectangle + JKQTPGeoRectangle(JKQTPlotter* parent, double x, double y, double width, double height, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x x-coordinate of center of rectangle + * \param y y-coordinate of center of rectangle + * \param width width of rectangle + * \param height of rectangle + * \param angle rotation angle of the rectangle + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of rectangle + * \param fillStyle filling style of rectangle */ - JKQTPGeoRectangle(JKQTBasePlotter* parent, double x, double y, double width, double height, double angle, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); - /*! \brief class constructor - - \param parent the parent plotter object - \param x x-coordinate of center of rectangle - \param y y-coordinate of center of rectangle - \param width width of rectangle - \param height of rectangle - \param angle rotation angle of the rectangle - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor filling color of rectangle - \param fillStyle filling style of rectangle + JKQTPGeoRectangle(JKQTBasePlotter* parent, double x, double y, double width, double height, double angle, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x x-coordinate of center of rectangle + * \param y y-coordinate of center of rectangle + * \param width width of rectangle + * \param height of rectangle + * \param angle rotation angle of the rectangle + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of rectangle + * \param fillStyle filling style of rectangle */ - JKQTPGeoRectangle(JKQTPlotter* parent, double x, double y, double width, double height, double angle, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); - /*! \brief class constructor - - \param parent the parent plotter object - \param bottomleft bottom left corner of rectangle - \param topright top right corner of rectangle - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor filling color of rectangle - \param fillStyle filling style of rectangle + JKQTPGeoRectangle(JKQTPlotter* parent, double x, double y, double width, double height, double angle, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param bottomleft bottom left corner of rectangle + * \param topright top right corner of rectangle + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of rectangle + * \param fillStyle filling style of rectangle */ - JKQTPGeoRectangle(JKQTBasePlotter* parent, QPointF bottomleft, QPointF topright, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); - /*! \brief class constructor - - \param parent the parent plotter object - \param bottomleft bottom left corner of rectangle - \param topright top right corner of rectangle - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor filling color of rectangle - \param fillStyle filling style of rectangle + JKQTPGeoRectangle(JKQTBasePlotter* parent, QPointF bottomleft, QPointF topright, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param bottomleft bottom left corner of rectangle + * \param topright top right corner of rectangle + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of rectangle + * \param fillStyle filling style of rectangle */ - JKQTPGeoRectangle(JKQTPlotter* parent, QPointF bottomleft, QPointF topright, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); + JKQTPGeoRectangle(JKQTPlotter* parent, QPointF bottomleft, QPointF topright, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param center center of rectangle + * \param size width and heigt of rectangle + * \param angle rotation angle of the rectangle + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of rectangle + * \param fillStyle filling style of rectangle + */ + JKQTPGeoRectangle(JKQTBasePlotter* parent, const QPointF& center, const QSizeF& size, double angle, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param center center of rectangle + * \param size width and heigt of rectangle + * \param angle rotation angle of the rectangle + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of rectangle + * \param fillStyle filling style of rectangle + */ + JKQTPGeoRectangle(JKQTPlotter* parent, const QPointF& center, const QSizeF& size, double angle, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param center center of rectangle + * \param size width and heigt of rectangle + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of rectangle + * \param fillStyle filling style of rectangle + */ + JKQTPGeoRectangle(JKQTBasePlotter* parent, const QPointF& center, const QSizeF& size, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param center center of rectangle + * \param size width and heigt of rectangle + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of rectangle + * \param fillStyle filling style of rectangle + */ + JKQTPGeoRectangle(JKQTPlotter* parent, const QPointF& center, const QSizeF& size, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); @@ -133,7 +189,12 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoRectangle: public JKQTPGeoBaseFilled { /** \copydoc JKQTPPlotObject::getYMinMax() */ virtual bool getYMinMax(double& miny, double& maxy, double& smallestGreaterZero) override; - /** \brief plots the graph to the plotter object specified as parent */ + /** \brief plots the graph to the plotter object specified as parent + * + * \note This function support JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve. If set, + * and non-linear axes are chosen, the corner points of the rectangle will be possibly + * connected by curves, instead of straight lines. + */ virtual void draw(JKQTPEnhancedPainter& painter) override; /*! \copydoc x */ @@ -144,6 +205,10 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoRectangle: public JKQTPGeoBaseFilled { void setY(double __value); /*! \copydoc y */ double getY() const; + /** \brief returns the center point of the rectangle */ + QPointF getCenter() const; + /** \brief sets the center point of the rectangle */ + void setCenter(const QPointF& center); /*! \copydoc width */ void setWidth(double __value); /*! \copydoc width */ @@ -152,13 +217,28 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoRectangle: public JKQTPGeoBaseFilled { void setHeight(double __value); /*! \copydoc height */ double getHeight() const; - /*! \copydoc angle */ + /** \brief returns the size (width and height) of the rectangle */ + QSizeF getSize() const; + /** \brief sets the size (width and height) of the rectangle */ + void setSize(const QSizeF& size); + /*! \copydoc angle */ void setAngle(double __value); /*! \copydoc angle */ double getAngle() const; /** \brief set the rectangle using the bottom-left corner, as well as its width and height */ - void setBottomleftrectangle(double x, double y, double width, double height); -protected: + void setBottomLeftRectangle(double x, double y, double width, double height); + /** \brief set the rectangle using the bottom-left corner, as well as its width and height */ + void setBottomLeftRectangle(const QRectF& rect); + /** \brief returns the rectangle using the bottom-left corner, as well as its width and height, ignoring the rotation angle!!! + * + * This is equivalent to + * \code + * QRectF result(x-width/2.0, y-height/2.0, width, height); + * \endcode + */ + QRectF getBottomLeftRectangle() const; + + protected: /** \brief x-coordinate of a center of the rectangle */ double x; /** \brief y-coordinate of a center of the rectangle */ @@ -176,62 +256,64 @@ protected: }; -/*! \brief This JKQTPPlotObject is used to draw a polygon - \ingroup jkqtplotter_geoplots - - \image html plot_geopolygon.png - - \see \ref JKQTPlotterGeometricGraphs - +/** \brief This JKQTPPlotObject is used to draw a polygon + * \ingroup jkqtplotter_geoplots + * + * \image html plot_geopolygon.png + * + * \note This function support JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve. If set, + * and non-linear axes are chosen, the points of the polygon will be possibly + * connected by curves, instead of straight lines. + * + * \see \ref JKQTPlotterGeometricGraphs + * */ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoPolygon: public JKQTPGeoBaseFilled { Q_OBJECT public: - /*! \brief class constructor - - \param parent the parent plotter object - \param points points on the polygon - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor color of the filling - \param fillStyle style of the filling - + /** \brief class constructor + * + * \param parent the parent plotter object + * \param points points on the polygon + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor color of the filling + * \param fillStyle style of the filling */ - JKQTPGeoPolygon(JKQTBasePlotter* parent, const QVector& points, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); - /*! \brief class constructor - - \param parent the parent plotter object - \param points points on the polygon - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor color of the filling - \param fillStyle style of the filling + JKQTPGeoPolygon(JKQTBasePlotter* parent, const QVector& points, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param points points on the polygon + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor color of the filling + * \param fillStyle style of the filling */ - JKQTPGeoPolygon(JKQTPlotter* parent, const QVector& points, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); - - /*! \brief class constructor - - \param parent the parent plotter object - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor color of the filling - \param fillStyle style of the filling + JKQTPGeoPolygon(JKQTPlotter* parent, const QVector& points, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor color of the filling + * \param fillStyle style of the filling */ - JKQTPGeoPolygon(JKQTBasePlotter* parent, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); - /*! \brief class constructor - - \param parent the parent plotter object - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor color of the filling - \param fillStyle style of the filling + JKQTPGeoPolygon(JKQTBasePlotter* parent, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor color of the filling + * \param fillStyle style of the filling */ - JKQTPGeoPolygon(JKQTPlotter* parent, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); + JKQTPGeoPolygon(JKQTPlotter* parent, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); /** \copydoc JKQTPPlotObject::getXMinMax() */ @@ -239,7 +321,12 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoPolygon: public JKQTPGeoBaseFilled { /** \copydoc JKQTPPlotObject::getYMinMax() */ virtual bool getYMinMax(double& miny, double& maxy, double& smallestGreaterZero) override; - /** \brief plots the graph to the plotter object specified as parent */ + /** \brief plots the graph to the plotter object specified as parent + * + * \note This function support JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve. If set, + * and non-linear axes are chosen, the points of the polygon will be possibly + * connected by curves, instead of straight lines. + */ virtual void draw(JKQTPEnhancedPainter& painter) override; /*! \copydoc points */ @@ -247,172 +334,225 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoPolygon: public JKQTPGeoBaseFilled { /*! \copydoc points */ QVector getPoints() const; - /** \brief append a point to the polygon */ + /** \brief append a point to the polygon \see points */ void appendPoint(const QPointF& p); - /** \brief append a point to the polygon */ + /** \brief append a point to the polygon \see points */ void appendPoint(const double x, const double y); + /** \brief returns the number of points \see points */ + int getPointCount() const; + /** \brief returns the i-th of point \see points */ + const QPointF& getPoint(int i) const; + /** \brief returns the i-th of point \see points */ + QPointF& getPoint(int i); + /** \brief overwrites the i-th point \see points */ + void setPoint(int i, const QPointF& point); + /** \brief deletes the i-the point \see points */ + void removePoint(int i); + /** \brief returns an iterator to the first point \see points */ + QVector::iterator pointsBegin(); + /** \brief returns an iterator after the last point \see points */ + QVector::iterator pointsEnd(); + /** \brief returns a constant iterator to the first point \see points */ + QVector::const_iterator pointsCBegin() const; + /** \brief returns a constant iterator after the last point \see points*/ + QVector::const_iterator pointsCEnd() const; + protected: /** \brief list with all points on the polygon */ QVector points; }; -/*! \brief This JKQTPPlotObject is used to draw an ellipse - \ingroup jkqtplotter_geoplots - - \image html plot_geoellipse.png - - \see
    http://www.codeguru.com/cpp/g-m/gdi/article.php/c131 and - http://en.wikipedia.org/wiki/Ellipse#General_parametric_form - - \see \ref JKQTPlotterGeometricGraphs +/** \brief This JKQTPPlotObject is used to draw an ellipse + * \ingroup jkqtplotter_geoplots + * + * \image html plot_geoellipse.png + * + * \image html plot_geoellipse_rotated.png + * + * \note This function support the JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve only. + * This means that ellipses are always treated as mathematical curves, as no meaningful + * parametrization for ellipses on non-linear axes could be found! In the mode + * JKQTPPlotObject::DrawMode::DrawAsGraphicElement the points are connected by straight + * lines, independent of the linearity or non-linearity of the coordinate axes. + * + * \see http://www.codeguru.com/cpp/g-m/gdi/article.php/c131 and + * http://en.wikipedia.org/wiki/Ellipse#General_parametric_form + * + * \see \ref JKQTPlotterGeometricGraphs, JKQTPGeoPie, JKQTPGeoChord, JKQTPGeoArc */ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoEllipse: public JKQTPGeoRectangle { Q_OBJECT public: - /*! \brief class constructor - - \param parent the parent plotter object - \param x x-coordinate of center of ellipse - \param y y-coordinate of center of ellipse - \param width width of ellipse (2 * half axis) - \param height of ellipse (2 * half axis) - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor filling color of ellipse - \param fillStyle filling style of ellipse + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x x-coordinate of center of ellipse + * \param y y-coordinate of center of ellipse + * \param width width of ellipse (2 * half axis) + * \param height of ellipse (2 * half axis) + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of ellipse + * \param fillStyle filling style of ellipse */ - JKQTPGeoEllipse(JKQTBasePlotter* parent, double x, double y, double width, double height, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); + JKQTPGeoEllipse(JKQTBasePlotter* parent, double x, double y, double width, double height, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); - /*! \brief class constructor - - \param parent the parent plotter object - \param x x-coordinate of center of ellipse - \param y y-coordinate of center of ellipse - \param width width of ellipse (2 * half axis) - \param height of ellipse (2 * half axis) - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor filling color of ellipse - \param fillStyle filling style of ellipse + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x x-coordinate of center of ellipse + * \param y y-coordinate of center of ellipse + * \param width width of ellipse (2 * half axis) + * \param height of ellipse (2 * half axis) + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of ellipse + * \param fillStyle filling style of ellipse */ - JKQTPGeoEllipse(JKQTPlotter* parent, double x, double y, double width, double height, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); - /*! \brief class constructor - - \param parent the parent plotter object - \param x x-coordinate of center of rectangle - \param y y-coordinate of center of rectangle - \param width width of rectangle - \param height of rectangle - \param angle rotation angle of the rectangle - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor filling color of rectangle - \param fillStyle filling style of rectangle + JKQTPGeoEllipse(JKQTPlotter* parent, double x, double y, double width, double height, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x x-coordinate of center of ellipse + * \param y y-coordinate of center of ellipse + * \param width width of rectangle + * \param height of rectangle + * \param angle rotation angle of the ellipse + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of ellipse + * \param fillStyle filling style of ellipse */ - JKQTPGeoEllipse(JKQTBasePlotter* parent, double x, double y, double width, double height, double angle, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); - /*! \brief class constructor - - \param parent the parent plotter object - \param x x-coordinate of center of rectangle - \param y y-coordinate of center of rectangle - \param width width of rectangle - \param height of rectangle - \param angle rotation angle of the rectangle - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor filling color of rectangle - \param fillStyle filling style of rectangle + JKQTPGeoEllipse(JKQTBasePlotter* parent, double x, double y, double width, double height, double angle, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x x-coordinate of center of ellipse + * \param y y-coordinate of center of ellipse + * \param width width of rectangle + * \param height of rectangle + * \param angle rotation angle of the ellipse + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of ellipse + * \param fillStyle filling style of ellipse */ - JKQTPGeoEllipse(JKQTPlotter* parent, double x, double y, double width, double height, double angle, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); - /*! \brief class constructor - - \param parent the parent plotter object - \param bottomleft bottom left corner of rectangle - \param topright top right corner of rectangle - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor filling color of rectangle - \param fillStyle filling style of rectangle + JKQTPGeoEllipse(JKQTPlotter* parent, double x, double y, double width, double height, double angle, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param bottomleft bottom left corner of ellipse + * \param topright top right corner of ellipse + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of ellipse + * \param fillStyle filling style of ellipse */ - JKQTPGeoEllipse(JKQTBasePlotter* parent, QPointF bottomleft, QPointF topright, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); - /*! \brief class constructor - - \param parent the parent plotter object - \param bottomleft bottom left corner of rectangle - \param topright top right corner of rectangle - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor filling color of rectangle - \param fillStyle filling style of rectangle + JKQTPGeoEllipse(JKQTBasePlotter* parent, QPointF bottomleft, QPointF topright, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param bottomleft bottom left corner of ellipse + * \param topright top right corner of ellipse + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of ellipse + * \param fillStyle filling style of ellipse */ - JKQTPGeoEllipse(JKQTPlotter* parent, QPointF bottomleft, QPointF topright, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); + JKQTPGeoEllipse(JKQTPlotter* parent, QPointF bottomleft, QPointF topright, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); - /** \brief plots the graph to the plotter object specified as parent */ + /** \brief plots the graph to the plotter object specified as parent + * + * \note This function support the JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve only. + * This means that ellipses are always treated as mathematical curves, as no meaningful + * parametrization for ellipses on non-linear axes could be found!*/ virtual void draw(JKQTPEnhancedPainter& painter) override; - /*! \copydoc controlPoints */ - void setControlPoints(const unsigned int & __value); - /*! \copydoc controlPoints */ - unsigned int getControlPoints() const; protected: - /** \brief number of steps/control points to draw the ellipse */ - unsigned int controlPoints; + + /** \brief drawing modes for drawInternal() */ + enum class InternalDrawMode { + Ellipse, + Pie, + Chord + }; + + /** \brief inertnal draw function, can draw an ellipse, a pie or a chord! */ + void drawInternal(JKQTPEnhancedPainter& painter, double angleStart=0, double angleStop=0, InternalDrawMode mode=InternalDrawMode::Ellipse); }; -/*! \brief This JKQTPPlotObject is used to draw a pie - \ingroup jkqtplotter_geoplots - - \image html plot_geopie.png - - \see \ref JKQTPlotterGeometricGraphs +/** \brief This JKQTPPlotObject is used to draw a pie + * \ingroup jkqtplotter_geoplots + * + * + * A pie on linear and log-log axes (start angle: 10deg and end-angle 110deg): + * \image html plot_geopie.png + * + * Here is the code to generate the plots above: + * \code + * plot->addGraph(new JKQTPGeoRectangle(plot,3.5,0.5,0.9,0.9, QColor("silver"), 1, Qt::PenStyle::DashLine)); + * plot->addGraph(new JKQTPGeoEllipse(plot,3.5,0.5,0.9,0.9, QColor("silver"), 1, Qt::PenStyle::DashLine)); + * plot->addGraph(new JKQTPGeoPie(plot,3.5,0.5,0.9,0.9, 10, 110 , QColor("blue"), 4, Qt::PenStyle::SolidLine,QColor("lightblue"))); + * plot->addGraph(new JKQTPGeoSymbol(plot, 3.5,0.5, JKQTPCircle, 5, QColor("grey"))); + * plot->addGraph(new JKQTPGeoLine(plot, 3.5,0.5,3.5+0.5*cos(10.0/180.0*JKQTPSTATISTICS_PI),0.5+0.5*sin(10.0/180.0*JKQTPSTATISTICS_PI), QColor("grey"))); + * plot->addGraph(new JKQTPGeoText(plot, 3.5+0.55*cos(10.0/180.0*JKQTPSTATISTICS_PI),0.5+0.55*sin(10.0/180.0*JKQTPSTATISTICS_PI), "10\\degree", 10, QColor("grey"))); + * plot->addGraph(new JKQTPGeoLine(plot, 3.5,0.5,3.5+0.5*cos(110.0/180.0*JKQTPSTATISTICS_PI),0.5+0.5*sin(110.0/180.0*JKQTPSTATISTICS_PI), QColor("grey"))); + * plot->addGraph(new JKQTPGeoText(plot, 3.5+0.55*cos(110.0/180.0*JKQTPSTATISTICS_PI),0.5+0.55*sin(110.0/180.0*JKQTPSTATISTICS_PI), "110\\degree", 10, QColor("grey"))); + * \endcode + * + * \note This function support the JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve only. + * This means that pies are always treated as mathematical curves, as no meaningful + * parametrization for pies on non-linear axes could be found! + * + * \see \ref JKQTPlotterGeometricGraphs, JKQTPGeoEllipse, JKQTPGeoChord, JKQTPGeoArc */ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoPie: public JKQTPGeoEllipse { Q_OBJECT public: - /*! \brief class constructor - - \param parent the parent plotter object - \param x x-coordinate of center of ellipse - \param y y-coordinate of center of ellipse - \param width width of ellipse (2 * half axis) - \param height of ellipse (2 * half axis) - \param angleStart if we only draw an arc, this is the starting angle in degrees - \param angleStop if we only draw an arc, this is the ending angle in degrees - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor filling color of ellipse - \param fillStyle filling style of ellipse + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x x-coordinate of center of ellipse + * \param y y-coordinate of center of ellipse + * \param width width of ellipse (2 * half axis) + * \param height of ellipse (2 * half axis) + * \param angleStart if we only draw an arc, this is the starting angle in degrees + * \param angleStop if we only draw an arc, this is the ending angle in degrees + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of ellipse + * \param fillStyle filling style of ellipse */ - JKQTPGeoPie(JKQTBasePlotter* parent, double x, double y, double width, double height, double angleStart, double angleStop, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); - /*! \brief class constructor - - \param parent the parent plotter object - \param x x-coordinate of center of ellipse - \param y y-coordinate of center of ellipse - \param width width of ellipse (2 * half axis) - \param height of ellipse (2 * half axis) - \param angleStart if we only draw an arc, this is the starting angle in degrees - \param angleStop if we only draw an arc, this is the ending angle in degrees - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor filling color of ellipse - \param fillStyle filling style of ellipse + JKQTPGeoPie(JKQTBasePlotter* parent, double x, double y, double width, double height, double angleStart, double angleStop, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x x-coordinate of center of ellipse + * \param y y-coordinate of center of ellipse + * \param width width of ellipse (2 * half axis) + * \param height of ellipse (2 * half axis) + * \param angleStart if we only draw an arc, this is the starting angle in degrees + * \param angleStop if we only draw an arc, this is the ending angle in degrees + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of ellipse + * \param fillStyle filling style of ellipse */ - JKQTPGeoPie(JKQTPlotter* parent, double x, double y, double width, double height, double angleStart, double angleStop, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); + JKQTPGeoPie(JKQTPlotter* parent, double x, double y, double width, double height, double angleStart, double angleStop, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); /** \copydoc JKQTPPlotObject::getXMinMax() */ @@ -421,7 +561,11 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoPie: public JKQTPGeoEllipse { virtual bool getYMinMax(double& miny, double& maxy, double& smallestGreaterZero) override; - /** \brief plots the graph to the plotter object specified as parent */ + /** \brief plots the graph to the plotter object specified as parent + * + * \note This function support the JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve only. + * This means that pies are always treated as mathematical curves, as no meaningful + * parametrization for pies on non-linear axes could be found!*/ virtual void draw(JKQTPEnhancedPainter& painter) override; /*! \copydoc angleStart */ @@ -442,55 +586,66 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoPie: public JKQTPGeoEllipse { -/*! \brief This JKQTPPlotObject is used to draw a chord - \ingroup jkqtplotter_geoplots - - \image html plot_geochord.png - - \see \ref JKQTPlotterGeometricGraphs +/** \brief This JKQTPPlotObject is used to draw a chord + * \ingroup jkqtplotter_geoplots + * + * A chord on linear and log-log axes (start angle: 10deg and end-angle 110deg): + * + * \image html plot_geochord.png + * + * \note This function support the JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve only. + * This means that chords are always treated as mathematical curves, as no meaningful + * parametrization for chords on non-linear axes could be found! + * + * \see \ref JKQTPlotterGeometricGraphs, JKQTPGeoPie, JKQTPGeoEllipse, JKQTPGeoArc */ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoChord: public JKQTPGeoPie { Q_OBJECT public: - /*! \brief class constructor - - \param parent the parent plotter object - \param x x-coordinate of center of ellipse - \param y y-coordinate of center of ellipse - \param width width of ellipse (2 * half axis) - \param height of ellipse (2 * half axis) - \param angleStart if we only draw an arc, this is the starting angle in degrees - \param angleStop if we only draw an arc, this is the ending angle in degrees - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor filling color of ellipse - \param fillStyle filling style of ellipse + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x x-coordinate of center of ellipse + * \param y y-coordinate of center of ellipse + * \param width width of ellipse (2 * half axis) + * \param height of ellipse (2 * half axis) + * \param angleStart if we only draw an arc, this is the starting angle in degrees + * \param angleStop if we only draw an arc, this is the ending angle in degrees + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of ellipse + * \param fillStyle filling style of ellipse */ - JKQTPGeoChord(JKQTBasePlotter* parent, double x, double y, double width, double height, double angleStart, double angleStop, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); - /*! \brief class constructor - - \param parent the parent plotter object - \param x x-coordinate of center of ellipse - \param y y-coordinate of center of ellipse - \param width width of ellipse (2 * half axis) - \param height of ellipse (2 * half axis) - \param angleStart if we only draw an arc, this is the starting angle in degrees - \param angleStop if we only draw an arc, this is the ending angle in degrees - \param color color of line - \param lineWidth width of line - \param style line style - \param fillColor filling color of ellipse - \param fillStyle filling style of ellipse + JKQTPGeoChord(JKQTBasePlotter* parent, double x, double y, double width, double height, double angleStart, double angleStop, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); + /** \brief class constructor + * + * \param parent the parent plotter object + * \param x x-coordinate of center of ellipse + * \param y y-coordinate of center of ellipse + * \param width width of ellipse (2 * half axis) + * \param height of ellipse (2 * half axis) + * \param angleStart if we only draw an arc, this is the starting angle in degrees + * \param angleStop if we only draw an arc, this is the ending angle in degrees + * \param color color of line + * \param lineWidth width of line + * \param style line style + * \param fillColor filling color of ellipse + * \param fillStyle filling style of ellipse */ - JKQTPGeoChord(JKQTPlotter* parent, double x, double y, double width, double height, double angleStart, double angleStop, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern); + JKQTPGeoChord(JKQTPlotter* parent, double x, double y, double width, double height, double angleStart, double angleStop, QColor color=QColor("black"), double lineWidth=1, Qt::PenStyle style=Qt::SolidLine, QColor fillColor=QColor("transparent"), Qt::BrushStyle fillStyle=Qt::SolidPattern, DrawMode drawMode=DrawAsGraphicElement); /** \copydoc JKQTPPlotObject::getXMinMax() */ virtual bool getXMinMax(double& minx, double& maxx, double& smallestGreaterZero) override; /** \copydoc JKQTPPlotObject::getYMinMax() */ virtual bool getYMinMax(double& miny, double& maxy, double& smallestGreaterZero) override; - /** \brief plots the graph to the plotter object specified as parent */ + /** \brief plots the graph to the plotter object specified as parent + * + * \note This function support the JKQTPPlotObject::DrawMode::DrawAsMathematicalCurve only. + * This means that chords are always treated as mathematical curves, as no meaningful + * parametrization for chords on non-linear axes could be found! + */ virtual void draw(JKQTPEnhancedPainter& painter) override; }; diff --git a/lib/jkqtplotter/graphs/jkqtpimage.cpp b/lib/jkqtplotter/graphs/jkqtpimage.cpp index 1492197530..8279750c35 100644 --- a/lib/jkqtplotter/graphs/jkqtpimage.cpp +++ b/lib/jkqtplotter/graphs/jkqtpimage.cpp @@ -53,23 +53,13 @@ JKQTPImageBase::JKQTPImageBase(JKQTBasePlotter *parent): } JKQTPImageBase::JKQTPImageBase(double x, double y, double width, double height, JKQTPlotter* parent): - JKQTPGraph(parent) + JKQTPImageBase(x, y, width, height, parent->getPlotter()) { - title=""; - this->width=width; - this->height=height; - this->x=x; - this->y=y; } JKQTPImageBase::JKQTPImageBase(JKQTPlotter *parent): - JKQTPGraph(parent) + JKQTPImageBase(parent->getPlotter()) { - title=""; - this->width=0; - this->height=0; - this->x=0; - this->y=0; } void JKQTPImageBase::drawKeyMarker(JKQTPEnhancedPainter& /*painter*/, QRectF& /*rect*/) { diff --git a/lib/jkqtplotter/graphs/jkqtpviolinplot.cpp b/lib/jkqtplotter/graphs/jkqtpviolinplot.cpp index 13a0a0858b..7fa2225aac 100644 --- a/lib/jkqtplotter/graphs/jkqtpviolinplot.cpp +++ b/lib/jkqtplotter/graphs/jkqtpviolinplot.cpp @@ -40,7 +40,7 @@ JKQTPViolinplotVerticalElement::JKQTPViolinplotVerticalElement(JKQTBasePlotter* parent): - JKQTPPlotObject(parent) + JKQTPPlotObject(DrawAsGraphicElement, parent) { pos=JKQTP_NAN; median=JKQTP_NAN; diff --git a/lib/jkqtplotter/jkqtpgraphsbase.cpp b/lib/jkqtplotter/jkqtpgraphsbase.cpp index 08523a7ad1..8c902bb00a 100644 --- a/lib/jkqtplotter/jkqtpgraphsbase.cpp +++ b/lib/jkqtplotter/jkqtpgraphsbase.cpp @@ -43,21 +43,12 @@ JKQTPPlotElement::JKQTPPlotElement(JKQTBasePlotter* parent): setParent(parent); } -JKQTPPlotElement::JKQTPPlotElement(JKQTPlotter *parent): - JKQTPPlotElement(parent->getPlotter()) -{ -} JKQTPGraph::JKQTPGraph(JKQTBasePlotter* parent): JKQTPPlotElement(parent) { } -JKQTPGraph::JKQTPGraph(JKQTPlotter *parent): - JKQTPPlotElement(parent) -{ - -} QImage JKQTPPlotElement::generateKeyMarker(QSize size) { @@ -305,23 +296,11 @@ QPainterPath JKQTPPlotElement::transformToLinePath(const QVector &x) co JKQTPXYGraph::JKQTPXYGraph(JKQTBasePlotter* parent): - JKQTPGraph(parent) + JKQTPGraph(parent), xColumn(-1), yColumn(-1), sortData(Unsorted) { - sortData=Unsorted; - xColumn=-1; - yColumn=-1; - } -JKQTPXYGraph::JKQTPXYGraph(JKQTPlotter *parent): - JKQTPGraph(parent) -{ - sortData=Unsorted; - xColumn=-1; - yColumn=-1; - -} bool JKQTPXYGraph::getXMinMax(double& minx, double& maxx, double& smallestGreaterZero) { bool start=true; @@ -514,12 +493,6 @@ JKQTPSingleColumnGraph::JKQTPSingleColumnGraph(JKQTBasePlotter *parent): } -JKQTPSingleColumnGraph::JKQTPSingleColumnGraph(JKQTPlotter *parent): - JKQTPSingleColumnGraph(parent->getPlotter()) -{ -} - - void JKQTPSingleColumnGraph::setDataColumn(int __value) { this->dataColumn = __value; @@ -686,16 +659,21 @@ bool JKQTPXYGraph::getIndexRange(int& imin, int& imax) const -JKQTPPlotObject::JKQTPPlotObject(JKQTBasePlotter *parent): - JKQTPPlotElement(parent) +JKQTPPlotObject::JKQTPPlotObject(DrawMode drawMode, JKQTBasePlotter *parent): + JKQTPPlotElement(parent), m_drawMode(drawMode) { } -JKQTPPlotObject::JKQTPPlotObject(JKQTPlotter *parent): - JKQTPPlotElement(parent) -{ +void JKQTPPlotObject::setDrawMode(JKQTPPlotObject::DrawMode mode) +{ + m_drawMode=mode; +} + +JKQTPPlotObject::DrawMode JKQTPPlotObject::getDrawMode() const +{ + return m_drawMode; } JKQTPPlotObject::~JKQTPPlotObject() diff --git a/lib/jkqtplotter/jkqtpgraphsbase.h b/lib/jkqtplotter/jkqtpgraphsbase.h index 64ed0b4ea1..89972da4a1 100644 --- a/lib/jkqtplotter/jkqtpgraphsbase.h +++ b/lib/jkqtplotter/jkqtpgraphsbase.h @@ -65,8 +65,6 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPPlotElement: public QObject { /** \brief class constructor */ explicit JKQTPPlotElement(JKQTBasePlotter* parent=nullptr); - /** \brief class constructor */ - explicit JKQTPPlotElement(JKQTPlotter* parent); /** \brief default wirtual destructor */ virtual ~JKQTPPlotElement() = default; @@ -196,8 +194,6 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPPlotElement: public QObject { QString label; }; - protected: - /** \brief tool routine that transforms an x-coordinate (plot coordinate --> pixels) for this plot element */ @@ -218,6 +214,7 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPPlotElement: public QObject { return QPointF(transformX(x.x()), transformY(x.y())); } + /** \brief tool routine that back-transforms a QPointF according to the parent's transformation rules (pixels --> plot coordinate) */ inline QPointF backTransform(const QPointF& x) const { return QPointF(backtransformX(x.x()), backtransformY(x.y())); @@ -227,6 +224,7 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPPlotElement: public QObject { inline QPointF transform(double x, double y) const { return transform(QPointF(x,y)); } + /** \brief tool routine that back-transforms a QPointF according to the parent's transformation rules (pixels --> plot coordinate) */ inline QPointF backTransform(double x, double y) const { return backTransform(QPointF(x,y)); @@ -250,6 +248,8 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPPlotElement: public QObject { QVector transformY(const QVector& x) const; + protected: + /** \brief clear the internal datastore for hitTest() * * \note This function has to be called at the start of draw() @@ -382,8 +382,6 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGraph: public JKQTPPlotElement { public: /** \brief class constructor */ explicit JKQTPGraph(JKQTBasePlotter* parent=nullptr); - /** \brief class constructor */ - explicit JKQTPGraph(JKQTPlotter* parent); /** \brief default wirtual destructor */ virtual ~JKQTPGraph() = default ; @@ -428,28 +426,66 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGraph: public JKQTPPlotElement { /** \brief this is the virtual base class of all JKQTPPlotElement's in a JKQTPlotter plot that - * represent geometric forms or annotations. They have extended coordinate transform capabilities, because - * in addition to using the plot coordinates, you can also choose to use different other - * coordinate systems - * \ingroup jkqtplotter_basegraphs + * represent geometric forms or annotations. + * \ingroup jkqtplotter_basegraphs * - * \see \ref jkqtplotter_graphsgroup_classstructure + * \see \ref jkqtplotter_graphsgroup_classstructure, \ref JKQTPlotterGeometricGraphs * + * \section JKQTPPlotObject_coordinates Coordinate Systems + * JKQTPPlotObject's have extended coordinate transform capabilities, because in addition to using + * the plot coordinates, you can also choose to use different other coordinate systems. + * + * \section JKQTPPlotObject_DrawMode Draw Modes + * + * \copydetails m_drawMode */ class JKQTPLOTTER_LIB_EXPORT JKQTPPlotObject: public JKQTPPlotElement { Q_OBJECT public: + + /** \brief indicates how to draw the geometric object */ + enum DrawMode { + DrawAsGraphicElement, /*!< \brief draw lines as lines (i.e. graphic elements) \image html JKQTPPlotObject_DrawAsGraphicElement.png */ + DrawAsMathematicalCurve /*!< \brief draw lines as the mathematically correct curve \image html JKQTPPlotObject_DrawAsMathematicalCurve.png */ + }; + Q_ENUM(DrawMode) + /** \brief class constructor */ - explicit JKQTPPlotObject(JKQTBasePlotter* parent=nullptr); - /** \brief class constructor */ - explicit JKQTPPlotObject(JKQTPlotter* parent); + explicit JKQTPPlotObject(DrawMode drawMode=DrawAsGraphicElement, JKQTBasePlotter* parent=nullptr); /** \brief default wirtual destructor */ virtual ~JKQTPPlotObject() ; - - + /** \copybrief m_drawMode + * + * \return the currently set DrawMode + * \see m_drawMode, DrawMode + */ + DrawMode getDrawMode() const; + public slots: + /** \copybrief m_drawMode + * + * \param mode the DrawMode to use from now on + * \see m_drawMode, DrawMode + */ + void setDrawMode(DrawMode mode); protected: - + /** \brief indicated whether to draw lines as graphic elements (even on non-linear coordinate systems), + * or as mathematically correct curves + * + * It is possible to define in which ways the forms shall be treated/drawn into non-linear + * coordinate systems (e.g. semi-log or log-log plots). Imagine drawing a line from (x1,y1) to (x2,y2) + * In a linear coordinate system, this is always a line, but in a non-linear system, the line might + * have to be represented by a curve instead. Depending on how you want to use the JKQTPPlotObject you + * can choose to still draw it as a line connecting the points (x1,y1) and (x2,y2), or as the - + * mathematically correct - curve connecting these two points: + * + * \image html JKQTPPlotObject_DrawAsMathematicalCurve.png + * + * \image html JKQTPPlotObject_DrawAsGraphicElement.png + * + * \see DrawMode, setDrawMode(), getDrawMode() + */ + DrawMode m_drawMode; }; @@ -490,8 +526,6 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPXYGraph: public JKQTPGraph { /** \brief class constructor */ JKQTPXYGraph(JKQTBasePlotter* parent=nullptr); - /** \brief class constructor */ - JKQTPXYGraph(JKQTPlotter* parent); /** \brief get the maximum and minimum x-value of the graph * @@ -615,7 +649,6 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPSingleColumnGraph: public JKQTPGraph { /** \brief class constructor */ JKQTPSingleColumnGraph(JKQTBasePlotter* parent=nullptr); - JKQTPSingleColumnGraph(JKQTPlotter* parent); /*! \copydoc dataColumn */ void setDataColumn(int __value); diff --git a/screenshots/geometric_loglog_DrawAsGraphicElement.png b/screenshots/geometric_loglog_DrawAsGraphicElement.png new file mode 100644 index 0000000000000000000000000000000000000000..d90e1416fffe68f8a3ceb22f2c7030435223a7de GIT binary patch literal 114949 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%0A~k9`kfcVAtB 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