From 9208bd921a83d1a909fbb172e4dc881464118062 Mon Sep 17 00:00:00 2001 From: abe- Date: Tue, 13 Jun 2017 00:44:19 +0200 Subject: [PATCH] sliders --- docs/graficos/data/baleares.png | Bin 0 -> 3141 bytes docs/graficos/data/capa-0.png | Bin 0 -> 14940 bytes docs/graficos/data/capa-1.png | Bin 0 -> 23978 bytes docs/graficos/data/capa-10.png | Bin 0 -> 1690 bytes docs/graficos/data/capa-2.png | Bin 0 -> 19227 bytes docs/graficos/data/capa-3.png | Bin 0 -> 1690 bytes docs/graficos/data/capa-4.png | Bin 0 -> 18152 bytes docs/graficos/data/capa-5.png | Bin 0 -> 20147 bytes docs/graficos/data/capa-6.png | Bin 0 -> 18109 bytes docs/graficos/data/capa-7.png | Bin 0 -> 23502 bytes docs/graficos/data/capa-8.png | Bin 0 -> 8929 bytes docs/graficos/data/capa-9.png | Bin 0 -> 7490 bytes docs/graficos/data/capa-PGC-0.png | Bin 0 -> 11981 bytes docs/graficos/data/capa-PGC-1.png | Bin 0 -> 17685 bytes docs/graficos/data/capa-PGC-10.png | Bin 0 -> 3129 bytes docs/graficos/data/capa-PGC-2.png | Bin 0 -> 16363 bytes docs/graficos/data/capa-PGC-3.png | Bin 0 -> 5128 bytes docs/graficos/data/capa-PGC-4.png | Bin 0 -> 13405 bytes docs/graficos/data/capa-PGC-5.png | Bin 0 -> 15292 bytes docs/graficos/data/capa-PGC-6.png | Bin 0 -> 15427 bytes docs/graficos/data/capa-PGC-7.png | Bin 0 -> 14056 bytes docs/graficos/data/capa-PGC-8.png | Bin 0 -> 7966 bytes docs/graficos/data/capa-PGC-9.png | Bin 0 -> 6181 bytes docs/graficos/data/cmap-cuencas.png | Bin 0 -> 40192 bytes docs/graficos/data/cuencas.png | Bin 0 -> 73258 bytes docs/graficos/data/duero.png | Bin 0 -> 7747 bytes docs/graficos/data/ebro.png | Bin 0 -> 7550 bytes docs/graficos/data/guadalquivir.png | Bin 0 -> 6770 bytes docs/graficos/data/guadiana.png | Bin 0 -> 7364 bytes docs/graficos/data/harvester_1046427_cc.png | Bin 0 -> 11591 bytes docs/graficos/data/harvester_1046427_cc_p.png | Bin 0 -> 1520 bytes docs/graficos/data/jucar.png | Bin 0 -> 6026 bytes docs/graficos/data/norte.png | Bin 0 -> 7500 bytes docs/graficos/data/pirineo.png | Bin 0 -> 4087 bytes docs/graficos/data/segura.png | Bin 0 -> 3988 bytes docs/graficos/data/sur.png | Bin 0 -> 4762 bytes docs/graficos/data/tajo.png | Bin 0 -> 6455 bytes docs/graficos/data/tractor_792349_cc.png | Bin 0 -> 16199 bytes docs/graficos/data/tractor_792349_cc_p.png | Bin 0 -> 454 bytes docs/graficos/expropiacion.html | 13 + docs/graficos/expropiacion.js | 64 + docs/graficos/grafica-0.1.0-mod.js | 5444 +++++++++++++++++ docs/graficos/grafica-0.1.0-mod.min.js | 5 + docs/graficos/grafica-0.1.0.min.js | 5 + docs/graficos/hidraulicas.html | 12 + docs/graficos/hidraulicas.js | 112 + docs/graficos/mecanizacion.html | 12 + docs/graficos/mecanizacion.js | 101 + docs/graficos/parcelas-old.js | 94 + docs/graficos/parcelas.html | 12 + docs/graficos/parcelas.js | 78 + docs/modelos.md | 3 + docs/sliders/bardenas-caudillo-1956.jpeg | Bin 0 -> 130947 bytes docs/sliders/bardenas-caudillo-2014.jpeg | Bin 0 -> 164871 bytes docs/sliders/bardenas.html | 19 + docs/sliders/jquery-3.2.1.min.js | 4 + docs/sliders/jquery.event.move.js | 584 ++ docs/sliders/jquery.twentytwenty.js | 109 + docs/sliders/sotogordo-1945-recorte.jpeg | Bin 0 -> 166741 bytes docs/sliders/sotogordo-2016-recorte.jpeg | Bin 0 -> 189945 bytes docs/sliders/sotogordo.html | 19 + docs/sliders/twentytwenty.css | 205 + 62 files changed, 6895 insertions(+) create mode 100644 docs/graficos/data/baleares.png create mode 100644 docs/graficos/data/capa-0.png create mode 100644 docs/graficos/data/capa-1.png create mode 100644 docs/graficos/data/capa-10.png create mode 100644 docs/graficos/data/capa-2.png create mode 100644 docs/graficos/data/capa-3.png create mode 100644 docs/graficos/data/capa-4.png create mode 100644 docs/graficos/data/capa-5.png create mode 100644 docs/graficos/data/capa-6.png create mode 100644 docs/graficos/data/capa-7.png create mode 100644 docs/graficos/data/capa-8.png create mode 100644 docs/graficos/data/capa-9.png create mode 100644 docs/graficos/data/capa-PGC-0.png create mode 100644 docs/graficos/data/capa-PGC-1.png create mode 100644 docs/graficos/data/capa-PGC-10.png create mode 100644 docs/graficos/data/capa-PGC-2.png create mode 100644 docs/graficos/data/capa-PGC-3.png create mode 100644 docs/graficos/data/capa-PGC-4.png create mode 100644 docs/graficos/data/capa-PGC-5.png create mode 100644 docs/graficos/data/capa-PGC-6.png create mode 100644 docs/graficos/data/capa-PGC-7.png create mode 100644 docs/graficos/data/capa-PGC-8.png create mode 100644 docs/graficos/data/capa-PGC-9.png create mode 100644 docs/graficos/data/cmap-cuencas.png create mode 100644 docs/graficos/data/cuencas.png create mode 100644 docs/graficos/data/duero.png create mode 100644 docs/graficos/data/ebro.png create mode 100644 docs/graficos/data/guadalquivir.png create mode 100644 docs/graficos/data/guadiana.png create mode 100644 docs/graficos/data/harvester_1046427_cc.png create mode 100644 docs/graficos/data/harvester_1046427_cc_p.png create mode 100644 docs/graficos/data/jucar.png create mode 100644 docs/graficos/data/norte.png create mode 100644 docs/graficos/data/pirineo.png create mode 100644 docs/graficos/data/segura.png create mode 100644 docs/graficos/data/sur.png create mode 100644 docs/graficos/data/tajo.png create mode 100644 docs/graficos/data/tractor_792349_cc.png create mode 100644 docs/graficos/data/tractor_792349_cc_p.png create mode 100644 docs/graficos/expropiacion.html create mode 100644 docs/graficos/expropiacion.js create mode 100644 docs/graficos/grafica-0.1.0-mod.js create mode 100644 docs/graficos/grafica-0.1.0-mod.min.js create mode 100644 docs/graficos/grafica-0.1.0.min.js create mode 100755 docs/graficos/hidraulicas.html create mode 100644 docs/graficos/hidraulicas.js create mode 100644 docs/graficos/mecanizacion.html create mode 100644 docs/graficos/mecanizacion.js create mode 100644 docs/graficos/parcelas-old.js create mode 100644 docs/graficos/parcelas.html create mode 100644 docs/graficos/parcelas.js create mode 100644 docs/sliders/bardenas-caudillo-1956.jpeg create mode 100644 docs/sliders/bardenas-caudillo-2014.jpeg create mode 100644 docs/sliders/bardenas.html create mode 100644 docs/sliders/jquery-3.2.1.min.js create mode 100644 docs/sliders/jquery.event.move.js create mode 100755 docs/sliders/jquery.twentytwenty.js create mode 100644 docs/sliders/sotogordo-1945-recorte.jpeg create mode 100644 docs/sliders/sotogordo-2016-recorte.jpeg create mode 100644 docs/sliders/sotogordo.html create mode 100644 docs/sliders/twentytwenty.css diff --git a/docs/graficos/data/baleares.png b/docs/graficos/data/baleares.png new file mode 100644 index 0000000000000000000000000000000000000000..aa19e048a80685d4c8e8fbed40f1b07e753f4695 GIT binary patch literal 3141 zcmeHJ`&U!f65c_90QFM6fS^E76CzSk>@CW(yi^VWBS=F8tO)o(NRX#cB(S)a788t| z@C>N6prw@n6*z%K5UedB70SJeAUQxlqR<5aK@ANNxSRe5?XTBa>#Tid*6f+t-#4?@ z&OdtO@CL&zh5&#Kh@WpT0PAc3(9tLALCe{?1JD5UqG*SG;R;3L)0PbvgA0DglL6RT zzxEM6-%@A^jru7_;6eRyJ>mzu^!j)0`4Ir4$B3_2NV;4#5?*urG(m4{5ucb+mg(0d zhFrPx?~s34_4L@d97PXq(hI5y+AJpoON=f%gyhcrr;CSDfBVTH-3 z7-tMm`wJODm#@U!<33LgXb;2{G%j*(RJ1RKt#%A_DCS;f4lb>(($>m+FYgifKR{s2 zCXWaJ(^!6$ymfK8JZ8|m3U!uT-9!N3Zfl4obGw{Pzh|HMX?%7fDzN=BnuaD*`&0o* zpP_hlO%4E^D9=%@&LeC6rNh-JGdE1Gi4dorM(qH(-j$gTqofP5`l(y3K3AY`l7Dyk zS4?kqoK}rZirpFCLYud)@);(+=u%fQ72lf=K+b1uaz?y={o8yj+}Fj`!CN0hHpihI zRE-a+6F8pMb~K6x&Q<;@*;-SzhQK%>YNDbHUJ{!6lDuWiq{I(8Fv5v zm;iFla(-G_#s+I2ti~nd|HL`1Dn5SWOcMc&y`uN*Z+4&V~qVt$`E zOY&qs=zFN?+mp899MO}ve2gTYbMNvRUF^s92bgKJiMTz^{&+h84VY2)>FXl$a6$jlbCZuiPV;e(&nuM25R95JzA^pl1ivKQJX-wUU{4roARC&AN#&dx9pVF^T!qn$qJ|7>C!mpJ#a+R@{w#aZbGH?jyteL8(g^3JZz4hbWH8AzNL(MbKGYo1C{cImzupGuy?Ubm6b{^ zQuo^`W82NX6G$B`DH@du;%WDO-%DD!jyPCGyPbOj8|1C&wZ)WJ_Id5QWi|evv~axs z&8t?iD)G<;$Zi6`xlN^zdkm{@Vf>~M=kix`vDz5i$n076G5jVr^2x+PA|0=ihv`7J z7>R@-d774!&BsCmZI>0SHkM+-NYeEZD-~x&<>@L7U%?#oUrrdkJLQ29a}IWTyIV5?5I-GD}a2LixMrUswm+WAWx& zV&LQymlQS1JsLWNq(yOi1bhH=Hu-m3ye{I$;rD~R*Hl{fin^)&=q~tQYuH`R%677| z8Kglv%2Ex6hSdUrVq_Q=^jG9Sh!5Ov6qlKZiV!v=&1NGc&Fq&631-}!^@HjLW-N9O z-3K$?Dk%tL(a&dk<0{t0H)9^u-OSc1I0`#S?oP5$K_#k`krN^!Uq2zkCroY2rKa{O zT4R;S_yRndX)!;L)giw8{KqzxNRT!Bv;IFGR1!f>>dg0KV~1016;kuF6q$Kd)H;Y> z zaZ tmGPb1`dFDf@?Sywz3+Pj{ssbL#QBq>WXEixtB||49XWW!x6V5<_kUWHD1iU~ literal 0 HcmV?d00001 diff --git a/docs/graficos/data/capa-0.png b/docs/graficos/data/capa-0.png new file mode 100644 index 0000000000000000000000000000000000000000..801ebbd9334b2d88c9cc9841222a4b599009c48e GIT binary patch literal 14940 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 literal 0 HcmV?d00001 diff --git a/docs/graficos/data/capa-1.png b/docs/graficos/data/capa-1.png new file mode 100644 index 0000000000000000000000000000000000000000..1ed7eb78585a7a1ab5f2f537733cc63d2509b2ee GIT binary patch literal 23978 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 literal 0 HcmV?d00001 diff --git a/docs/graficos/data/capa-10.png b/docs/graficos/data/capa-10.png new file mode 100644 index 0000000000000000000000000000000000000000..de0b838f8cf1855cd9101aa201338a866d229c50 GIT binary patch literal 1690 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYU}EQB1B#@tvj7UPC3?CzhE&{od(e;(D0pbW zSN~l0`~^VfC>RZa(GVC7fzc2c4FU2)py4t@)ISEsgI#-jL56s``njxgN@xNASA!MK literal 0 HcmV?d00001 diff --git a/docs/graficos/data/capa-2.png b/docs/graficos/data/capa-2.png new file mode 100644 index 0000000000000000000000000000000000000000..9f3bf39a112fde66a21ed1e828eb7e894d7709bd GIT binary patch literal 19227 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 literal 0 HcmV?d00001 diff --git a/docs/graficos/data/capa-3.png b/docs/graficos/data/capa-3.png new file mode 100644 index 0000000000000000000000000000000000000000..de0b838f8cf1855cd9101aa201338a866d229c50 GIT binary patch literal 1690 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYU}EQB1B#@tvj7UPC3?CzhE&{od(e;(D0pbW zSN~l0`~^VfC>RZa(GVC7fzc2c4FU2)py4t@)ISEsgI#-jL56s``njxgN@xNASA!MK literal 0 HcmV?d00001 diff --git a/docs/graficos/data/capa-4.png b/docs/graficos/data/capa-4.png new file mode 100644 index 0000000000000000000000000000000000000000..c5326129c39c4eb84d0bea1800fd4f0e1ec4c7b6 GIT binary patch literal 18152 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 literal 0 HcmV?d00001 diff --git a/docs/graficos/data/capa-PGC-10.png b/docs/graficos/data/capa-PGC-10.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9d5b92823ea411007553878ca8b2bd7a4cad52 GIT binary patch literal 3129 zcmeHH{X5j@9)7S#d&cXy8lubyc`K%xUB-n;lXIcdq8&`zj&&^Opl0(LVTLItFC|2Z zm0qN*nWnNCG*~;7My=Srl*SC^J4$K7&}7EzdB%URKkQH2^V|3NexCdJ-1l?epTdwJ zes-Q(_GB7d%-Xf)pFN0t>G zSDs#M&N;fGvVicP)+Yu29tw2DV?N3nAy@yRBH@eb>T2>m+Fk(0AETR&#>Cj4EiSfp z_RaeofW!%P0W#H#Am0;FR5Snqn5{4A?pz-4^cR(tmE`pF78@M^j7>^!-@Y9Z5n(;2 zVKf5EEn5szQc`q31Ayr5Yi@2%PDn@y;50SurXM?&xx-+6J2Nv=_~as<^3dO~WIL62 z$pGRM8I&$AE+!6V8Jkgqk>z|@D(tBzx;{kGxzL?&q6KvN;jBWT$P=^ zuEy=MMV!ZzJQ{N82?_c5$WD95;+E#-Z8LW`9D|jWmGwSJr10=?a&)x(8Ue@V*v-$+ zi*&MiwouZz6ACLV)>tl=Z!K02S91Odz(x#iaEL?g77EEwJ}WDf$1#cNRsgzWN_4Cj z!qU8c{l7*KA0Mw7n-Y!wa&K(xx5@davt z1zu4R4^o{Ai`K-|3s;}v-P}$W6`|1DqOGLsqobocckL>3@kOH8N^WUuQ`w_8Z{k{+ zOMI+PW%B&m zlgqk*HAaK-HgLIy&|01`cRM zw~Gb@0zouQfv{hl9>DozRw&{yIgw}8otwT;?kKr0aRxx0E3X?+DCo(n{xqG8`PW~~ z5yKfb8hJc7Lqo&7=H_O-J)7+ujIZ`unrRJ)$U|~-bJtJ>t((Io=NBHHu@FTc9vT{w zEvnv$(ga!QeMQ@ylqzCxSsIX9>j4(U6e~b>1kgl8`YjHTzWU+qA2DqE>C7RqxZ1lD zvnQuUCpFy|fNVm1OII<+GG}cieUO05n)FBNz74MR4%D@u{(fj+!1RGY(7m)UQ+~my zBvMOqs$sjS;K~`jNmp0bpC&zS-n=QColR`gHKP)c=bg}**Z6$*mzGBt?%h@kgic8> zU|>AL6y~iPn4}+AJu;O>qsi&Ou3eEjRn^oSuyrgK**n&bwWT5wiVDlml{odM^;nv& zht=B`*~^anB^zS{-K{+JYUjwvi0EU7@)q>w^Vlwi8NuuT1ss z1)>MD&t&!N(?284rZV8@`pGVa$@HnXaN(O3_?2B8fX2cTYd&Ne49>XUtK_!QXOnDb z#*j>y^U$y`c7K2WP7=wD1kLmNqFNdK=Iz@+q^`Z4mInd;+^RS<+&u)3?6)l!<-u%( zJiY+?KUcqVw{|Q>M@J8ra3KAfLkvGVJG&@4{QwJA*B6&K@v`9%)M|P4z7pLHZ)c3n zn%cn53-uqv_{SYN(liC3DoA7p2M3{A-MTK!W}BoDDHLXQWhq?=f7j3xH}<_szV_gO zSOO^~GB6m7Y+5RaI&#Ei2Ogi#AgxhYPoF-`d;UC}gVRdQT>9wR&RlYr2-5K}Kfg>| zUDgah3&D9S{O}?5&CHC2H7pYiCp?h`Um>wio;*1*$RWh`=T%o*X{SaFgQZZx8zz=b zsBmIAWnAhBD}`fe{Z+s7W+cYN1!y^bTAvj7D;4OvgWyga&UkXuTmQKBp1^+v`SHmA GIrV>wh9JxU literal 0 HcmV?d00001 diff --git a/docs/graficos/data/capa-PGC-2.png b/docs/graficos/data/capa-PGC-2.png new file mode 100644 index 0000000000000000000000000000000000000000..00796b5eec26d897653b72458c4403bbf4bd7cf6 GIT binary patch literal 16363 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�NJXYP*cO=*Oc2n87)sn=4`We!y(#Z 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 E0U<_vWdHyG literal 0 HcmV?d00001 diff --git a/docs/graficos/data/capa-PGC-3.png b/docs/graficos/data/capa-PGC-3.png new file mode 100644 index 0000000000000000000000000000000000000000..6042dc49331501024726a077345023679ec552ba GIT binary patch literal 5128 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 FzX0DUCkdA-^LJ%uT%MPH_93_AW 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 A^#A|> literal 0 HcmV?d00001 diff --git a/docs/graficos/data/capa-PGC-5.png b/docs/graficos/data/capa-PGC-5.png new file mode 100644 index 0000000000000000000000000000000000000000..113fc4ffff8ca1fca82a0e98f14662eca0a23a85 GIT binary patch literal 15292 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

7Ois|g-)!Lu|P`zSe2C%NXn!E=2B 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 Q30{23!qyybb|dNk0AG+_Z~y=R literal 0 HcmV?d00001 diff --git a/docs/graficos/data/capa-PGC-8.png b/docs/graficos/data/capa-PGC-8.png new file mode 100644 index 0000000000000000000000000000000000000000..18b939b87cd89ad3d24e02e868bd2d465cc9efb3 GIT binary patch literal 7966 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 M!30%u?rQk|00T`y^8f$< literal 0 HcmV?d00001 diff --git a/docs/graficos/data/cmap-cuencas.png b/docs/graficos/data/cmap-cuencas.png new file mode 100644 index 0000000000000000000000000000000000000000..010b4af3d265997ae8aff0d458f8064719bdf326 GIT binary patch literal 40192 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 RG63SEaaRXbrfL)L{{SjUBRT*8 literal 0 HcmV?d00001 diff --git a/docs/graficos/data/cuencas.png b/docs/graficos/data/cuencas.png new file mode 100644 index 0000000000000000000000000000000000000000..faef82febe5476e5cdcbc0ecdbe71f61d4aca8e6 GIT binary patch literal 73258 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�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 literal 0 HcmV?d00001 diff --git a/docs/graficos/data/duero.png b/docs/graficos/data/duero.png new file mode 100644 index 0000000000000000000000000000000000000000..63e50f340da2ca24269ad9c352a644d250e95f39 GIT binary patch literal 7747 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 U`1Z|OPq-EIyVJo68~=;{1))Q)^Z)<= literal 0 HcmV?d00001 diff --git a/docs/graficos/data/ebro.png b/docs/graficos/data/ebro.png new file mode 100644 index 0000000000000000000000000000000000000000..33d4d38ebef19a06065b29b7299651ce59ca3d8f GIT binary patch literal 7550 zcmeHM_g52Zw;qZh(kv*T6!i?C2c(G74JsB!nuP(BDxs)|bRrNW#}*5MPU!V03K~if z6oF83}#RGtTtivyQlDE&JTfuWvrf&uW`?y}2i`!}rncJ6)IM@7P>D zaQym?&G%Iw9#-8lE?5qWZaLP+b#~1?1s6>U+>2e|{Qjt$W4u#iaUFw0gEFFM|CcY=oh1iu$91{wZe&6)_+r8ZQW2BWcq#5g=OzJTlOqHWz!eb$Q-km>} z_0Ed{z`z-^3(bNV9(K=thvt^R_@%4g@tcJy_eW|MnoCoX+xtkW+!al}o;bkzDb;Hk zDe#*6S^v_#reTSikj%qE=BoytGkYQh1o!HDlUT0uwseOG7stU5@%Z9ZR!_^?J)$p@ zhPt_oDNMa;xc16RrZ<;M?W|plsSnjrytX3GU6ReNna-cWoT3D0H@rK)f;Iff4AHGs{4|Im<#W*yb;hzGx@$4@U6mEu}N#;zIy!-I7DO|KPNg%^r>K-1CacU-i#8qQBUKdF-dvgl>tBN88C%EzN%iXg|K|mH& z+*zLW?kEhCNS$YA-D!(H$TV#+6d@TjQNKR{8OQh!>HWRjDf;A(;J3tdP#HA;M%YyU zJNpD2)wkX%(7=H|Myz`$-xQGrhCmhW$k?TcQL2FL8198Ikwqes4Axk(8(le43_W0# z+SH}*Pc@HAZ1ZbVh5Eyg27gDsE7V9tj0 z&oTW*>}lgWtne@*5{E1vMaEn?u61+($e7wn8ag}Jva2cQYFzBEeZ(?}Me~l+H3iK4 zeME(}EF){_0mTii-o~E>TWS{`V-2xuDjF)72|R+vP}cC!1FtZkiUPE0=xNYUb112k z6wS#raRp<}APg5yebY$)i-kT6`cX?lazA)E+vD=2l1 zrtGhfiF)_tn&9b-V%gpOFfZ-2AR!ph(GorZm0dUwz5FTS;;d1rW~XD}$B-iX37ek* zNPZbTBG9U^l15HA!c6f@^CKcUI(?UtdScv>BcE11%}|a!Aciwk0hm7ga_UdEe$Ljr)&kSOgN?;q6? zh9dh4zi(S4Bd-Eqydf5WD?03veU)~j7|1B0Tf0AD6#cflUu*gi{Z|@COld995XX8! zL=3cJ##0E_?Tjsup5>;-T&rR`Ea~AtS9IB(t{l(e@%a}M-+IOZUqta*AO`97-ja$Wa6L)O|+%?VO zjo3|Ee@Svr!pvZQ^%DBz@WNhIb&t;*o09QTA50ug`&60eebk9PzWTho=S7ut^40UmRdHth|z9q0E&cKn+183;;S2zJNOy?Gq!Ilk>byV6u|jZs|CN*5^{xg{#bC7QfV)Hiot(l0jxfpb7VKa2+KA@emfC&w^s>yBpa~<0z?3xqAKxJ!4y#tgs4hgKKaFqHI+-l<6au#}w`O{)E^z+Cs0Ut~)4G!>bp zBt~D$Iv;;TXUnHu1rZ5)slU-Dja^n9-wzZ%p;&EaTPsMIWVqzphM#LNKI*Gq=EzS1 z8wp>Nmp;*BYheIK=KSy5R?^T1s`0agvJ}#hi7h3yDBbT?jifuTPubga3#_W z_I%Gx?IKL}=)~9{I=1r7lYhZcoB*%vl?=2TWVVl3ggEds=(WyuhEyl9LqPdc6Tiqk zdHbjA#+;_)MwYRQ7q$Hv4xVo`tQD@+{JkG@~OWsTxn@wEDT5FrCqhb}qc;<9oAPQN8p)d5CQ{2wuUv|>&p)@f3D?&(_QJK0*$aseGv z@oJ27<;Z^#!#ig4-M37dmF`eqsf3$_02I35qE$maH7u&>)RTnex#RWRrKezHPM2y| zGE`B2-KVR*fr4^0YPwPrOC@$DTrl<(IA9@XmG#lDNT z&gNe2g(!jI9kETx=6HA5k~DKso8^Wk6X7+w#c8>6vx_(uryJC1|D1K-M>HGO5vlAw zLN+>VWGy*Lr{#FTLz`CNNnb1&-a#0$=gXaE<>Z`!L)J;)C-vG+9Rl1rO+5y;#c`qB zbjfuc%LPVULGx2em*Nm7Tk)!K z9@r79fJaY^bU~OpmzQ?=7WNXF58#m)dcCrL3X-+hK}1up!hr^;`;JJEo5#AKhBUOJ zRIhRyI}Z6|(lWK^hTznej9g4dwT+CQB-w}8so>n~LtZvxe?%59ndySS-osJk&# zzlZ(DbN}3l2xmCnSx%Id=U0CLXz+Gij@OB-K84c3B3F)PyWX(KOYsf1!7!KG0>(rj zGY{6B@+BgBD@jI@c-nrS}!y7IOqFH++{QIO@~Yu@6{*RH}7i97Uq_Z$Um9N;P{iAuq~(Md-bjR;`QKKP|4 zVr~B=M^;Y<*E7?*V%n|4qkx+dcj+hSjXQ_{j~`dTklTuXyTvx1fD^v>T^B9QzssIN z7CX8(&0cvU$<0Ks(=FVU%FW1MBv~h!zq8dLlZ(S+sc32w^o3xc-#l&ud6ke^U--Az z19kzUm_B!D5e&Q-@O;dL6G!#$_IuIVE&I4d+|vW5ws|T3!LG#N&@zsA?+UM&vK7Ia z*yimCmCwj>trzY2k3eN8c~xx#lax`fAx?YcA_?df91K5=%uHbU$HHyl+!r@K@SC{7 z@82HuP@!JC`9$b$APy9sAbF?zX+nmIQ#7k5^tPQ>wS1KIfWqfw-qgOtRb~#NrUXn} z_ayPK;@Sm4z|!~-jiT9Riu;Fc8a#NX%ZBd%7BGZ*kvKiR3GQAMS)Q#y5WxSjQzh*%C?-qy+QnOL|RKY4_ZPujba@TV}y*;@j7WyM1%b2 z`s^Nrw@bd6H>aB0wO9|&ZwzC7HQ*t_t=~9drBS{+m>o^hFfB0j&kG=no zvnNFeR_$^7^o(hp>Su7?P}`e_>DDeRKcY;G9=Z-BGReG5bOh4Smv4TGkj>aqCs>i9 zQVWaA;s160Qwn;(mogD>P#GX{xT$^xV8-8*sa@pA5#1fkkED#);_aNL~O7XwEXtN45sZD`nKGD5xchfJ@hWO+sJQDw@i35j@;rdXbZz2!`oM~(Q@2dD3$N_{tOuAi-!jy>fm3J9$v8Y zEio5u_x(Ty!yBqNAZO2#Jp|~ANWaaUWNpA6@U>e#5*CC=6i-^5V7>E~T@A?2G9Y~= z3E9Ya#0fNa6jD+njhU&F|+eC?V$EKG1h6kR#q zcSM0@1j(4w>4e?n6{4_XIEG})e+%Y2@^6A9#q^yVUp#hsXg=h+?a<~G1lN&j~K8~tsT&K%Ds0WLcuftFe^&Il2~J^ec9$Nl~_Dr9F4Z)}Sw zQS*(dxd<-}{r!B&>LG7fl$|4aj@3|9?Ap#fs zd(Y15uP!+l{g=4U;ivRYEprq0*khx;S1OsW@P}74_G|}yv?j16gsjcJ_Qc3&M)TdE zS&lpGq`b341MijcN6ws=&=oVb>tiDqSFo>u{yTdXBA6FWEp=h|oTGCZ!zWXFPF%w~ z{-evmZpCY;{D$gZAz)3oto1@HV(IFJ&jRj3Nep^6wKcl^@>su>8M_OrvJ3Aw%$Ih1 zmQZjQU>)OdJMH<3#A^B!ZE@-+nEzo`UU{(-DS*6m_tLd5xyiwW<0+R8!Th?D0t6Ud$=_9RL1>^ zzaX3GWidQZU%{LSoL&X^oUwaL95Y`#*voC)n>;Y!d{BeK&CmY84+|tUMn)u;GD+ju zN(L)2tTjcwA9xinjJW-QRrDg_{i;v5@*Bec)WmP}(kA;Z5I(-=vP85%{>G#wErOkv(tCa))}aAhq?Q$WymRrQ(+)8AHV zT~tO_<&-dfW~uyUF9VB5(w|rTl2-^B-+yGoQ_>7(dTGSvnyKUX@?xV_zwA_2 zSY8mZxAw&;Qb^z~{JI$pLrsh10}IKD)PYhXF4ckQ&t)FcLPxmujW5OAE_UG3KtBcJ z@443oJ}4t~rtAS4&$4jgy`5Uq0VwIY2>`GpqeQcqv!sxWv9xO+n=gBN#cEOub03?! zZ=pQ#!6~fx8JU-ZCL@b1@v_mc*&VS2sknek8-`ngiO4|7Ish;fuCK5oS(h@sO*(f; z1i#j*{d*YPUxzQCdfbzs(D`OJd zQf2sO<3r{OIfJ~Mhb>wavzVE;A{`P*K>zZq=^~_rLb3dQwzCZWj#xWNM<<&Z? z0RT`Y9Xad<05Y2ZKw3dj9-Hxhu^XEJV02@kHep22# zsk+#tLO99UPGLY^an1Ji&_5ZO0HD20I(&e9^`8keGVLif(qK|}$SVA>#)W#hwerWw z_{Yb?b(N!ZtB}|4+TRiy*Q#gUKgi ze;K#`B@$>&)v_TD@=!^sfO&=%oKatAi*_pj^%e2SgVBFjQ{Rcjd;zo5+>>d_-1+F! zOhGFV0P;=fx}TiBY~YAv*Z(uzWfm)mK1~x2t&yb!I<8`=|7J6LG?WaTVEY zhmJ>1l9sLpJ~}@%TpgFTO6(0S|M(>XPzLDOw;JS<_vYEe@ z)anw-CCp9LW%Kn&eHp&V7tRb>xp#zE$_(UC0mV)A6^SVY1nWZt{n5|ZmUjT=ntpGk z-7DZdmPjG_+~e63(!kJScadzpV;8#DpxTb0KO_TED^^}SwVze&_1d(w=eG7tt&<^hj%ADZ2kd_j+?y<;q3C+f&cyK6E zS=@mBf9faL>}*f)O*U^(FS8xyiyWu&;D!34<*bo$5-MrMx6#Nv!A*P#DKrWSgfHen zz$O;Z6ZUo~mt7OHAq!36SKw`3rvAp~K8MqT2+j1X?0zee>(m0izXZ0;`BtZUkIyCv z#y{Lam%y3z7l8eMR0RK;M1|DqI8{3FS{&K%erW>AJ_c?`;L+Wnn;mf*Xs5G77@6~3*dbNTDfdBKvmeKFnx?5KX} z{iP6Eya2gUMYi~A(d0sjYv>>LUT-Tsb79U?Zb?|eZC7yL0d)Yl7d&~@o%V*~;F3!f zJ8{Liyg3_>aM5kX>ELc(ZprLiO%1o-GI^p)*(Y~IfD0EXqqS!{mxI4HGd5P;mel#s zmMgS32u}eKX{Mf~yWgG%p~1uw-{1E~hY5KvA>EUpRWL8C*C_AapXvC>(93%#W}CwV z?qHXy$l5rsOfOL|Vru$Hn2ytrbc0Y!o#b){`xAl}PE*r(p1yUvw$-i}G8hcX0}*j6 z@^|_DO}IF8kl~~`_9mS_f)_q;r4LMO^^rL%Fwbm#K^vQe%gLOh86NjTKd)#uBvlr1jN03{)-Y+Qv!SMj&@r6)tHortqZ`aRMJkPyD-BF4KNH$*MQ3w( zn~onn$_29h@ab_`tyzmu-mkh6o;@ZHG}>tzd)kNz-GLh)eaq9n?LRktvdXrKt9qoI zh+KzkLe`Wx%~2}ZcL6|3);&RH$0^J6#7EyQppwPSNpwRb@O-umn_9OHFn3w{yb4oU zn8VM;(>#>#J;ULxuj&T21NBKcX@Ew{#>{9XMdJkFLN;cXv3Cdix)*-0F8ylS8nCz) zNV;vY$y^_;^_vUv0)w&}ydvCp-g_N3eAQH@KKl=;*q_$h^X@kJ5RH=RLuY33xD%M> z&Ps~o4+X?+$a%=d6xnBa3Ya{ON^Zgnvvha!L<0ZPunE9^C?{KK7EY$M)xt0zP9%)i6lDV?kB_F_g4-#g1>iyzU*z2Z( z6{u555jm1$eTl{gaL?d8-W;=Q=|N~efTpE1*XWA0MoqwGP(l?TEb(FT~= z2vu`U6!ar6K{F&3r_i&IfqO^PcR98Fta+~hy&Qh{UCMi=Il058f4zc1^|q>1u5VqsAHslg3ypyr8fqDB zcHJ9EFOHtO>E%AF&=4>b*V5Y8iHe#7*0yYbYD|$s!*iv$Vz}VGx(arXLmT%CGWh9+ zZ-1Lhgrh!d^eN={dfA(77%C{8xh;&B@+`8SO_m z8CrG&RZpD4wAJ!CVr_=3HI&MlX#;1pE&v#QKjl*P60EHdMlJ8#u8rQH4`$0NZvxtW z785@BZYR5MR=uxaX8s!BOOvsuxqxiD8YlV~kiY4hm86233$FpB6;~|o1jJ^KztFj| z!Ak$+-WrdJcQRPa(9*rz9<{kXsF*a>Dp<-?Z4?0u4?#hNL{Cpw25cU+vAj&^# z;M<&D^=;RSqf>Qw10%T=t-HRY0T6!0SB0*jRq%omK?*}P#5;&;yA9b&zP5d)M4M_` zLqHC(YxW^Huw!9BavTfgE6~R$_ZV2)AUYisM@bOWr7Da?*^B4&>G&IyQs(HIgNcY- z>UC(*8R9*cKQS~7K9y6$_MovjuGboA!$gOZ!JJ2HfJ-0uY%)JN#?CHTb2L*~`}Xn* z#b|tO98k)?ZIOV5?$VTmw<8V&Yx2&FErIMJ$En;jX;#ZmO+&4iNzWYqUrC)(*4vO) z_?@HeMA%ryJAeO*uirX8O4ko*#iogzD=TOAj(k z5h2*|%2BGGzQRd89&;4Ay@hb|6}kEdOL^JGXIxws|F^poISv8IV%O~74t!n9p}d`y zyPaszy%!1guNa+Pz_%TlVg;P^{a$T|#2lTPfiHdsC=RcWU7MFn_9s}IA~N9h?V(3O zhO;(i=#;Y!yj0SX3nAlRVH&^+X~(>BxAPG104nJdRF+$R zX)f}>=u|`PD}C}R1uDQtMnQ+jaq4^mNsz_2(^fX^_s_!p1`>@{q`#Bmzan`TuPb`( zvjBFWh3sBJp8I67?-<*V{u18!Fce6-g$1`rd9)ll^kD(!RKUz^{xiI0(1qzQEcFq{BrZj%aP$o!(j78N$ny7NaNWCCmc7P_ zc80E#uc?nT2Q4mlL5th+-tX#Cu0o$&TKW0_NS(g2wsFVD+m7Z2xZcL<7%y;N1>ENe z20}KcwG^=U5&zT7^pfVz!;6NNQx7UL`8XY@JZKk>tad3Q(^>K-Q}^&R@b-sXYTQ{w5h>d2AESvN{30fwlS!enb|4e zl9-ThKVH<+SXt%!d*(Z5aOP@(9!7`8C2HkP&@dq~OVpxby%Qmkn4X}O$>%aU$-a!w<$p5#XigX#beRh$~XJX z<6gQN%)3As>-|)_(x1}qc_#}V-BO^AVW_xuuR-KF$dWwR#k|WO0B3Rt^j>$cBcY{t ziItQuw=pq`jj_*Dl4&8Fg?WL!Nn0UQgxx0&ds$9TPYQbo-MhuR0MG5=Z?EZ*Ci5tG;T_C=4pyF3TBed9OWtq9rRVU2GoWVMn%6jvJ?aT|wWw%j$=^P^0m~on zMoON@mJV{nDkK-zsjI?5AD_crJBSZ(j-h|6*!-nXII68=U26^)V>J%NMzg2O_wSDU z9XhHzChmy=i4|c!rhDlHHC<&mK1>QT-V9I0`OA>lUg-#Ab0HJg)aKCPrR?uUy{2vQb9{5* zg}YyX6{k?t)Sv$+t?OIw-SVvsyYI}eIZ~3;n1Xdk6^%d0je*)GHde*0&)^g8A6vsk zhaj7Mh^FPKZC56A1rg6^(!iy@iv-q#UO;UZUVG=mmAemA&bQqpiDobIZ1N60xTj;XN30j&40cNY(c-=d7h z)vCDVzfsqo@csh+oWPbI<45!Pw^@M|^wL}E=+e0vRVe$uZ-?X89A{?m;$wI=B8@Gm za{wjB2moblB?5Y<2{QR#)z=Ys#3f^i%C@}jI`8pqs_|=y0HsxPef`{Z-UM40;^Wxk zucRY>l;br$I=1S0VUZvMi%2+Pge%5ot|wc$sqMIJyYSYVkwo@lmY~iHL`SyCtl*=! z9G#h%yk=nV2C0=)e%Uig6`&YvYS(K~MT{LfxUy_UHN0^&KpGhIQ`?i&|D8nSHj4)M zCu2vy3W(KQ9RHK_iWm#<)h>j$L&vsEmtleM5+{H9u(Kh)E7aTHE{By)SQe_C>r!so z6t;je*t(r)y8it1K;@efczLW;8rb_$OD!Wsz_hau^wUk{Uv7w(g#LO8FVIjg`Mm$= zDcKat!v{j+x$R$5yzaF(E%&TcD|;N){fDsPQ@tR%K63r#?;QW2BcVa|gKsbEylc0D z=rwTPw?DDA%}2#8B_mG<_MwadK^>-YIC#d^P@UYilyCO|4zSPn1TE0+Q4(|!m}Xq;_-8^{&g zJ|hC985OMhf9Gbm*bHALd3T^(LtCKKvq(nz)TqK0|{I9$%Fl>dNAClgOa*|GYueeyoIkPhl zhr3OX*pJG9vHtZ>XIG5~jM(Fr0|nJP5C%MYQC$JhxTT@yspGv9p}$kaf%>^sX}=PUpx<4-TpB!J1+17)d5dKcOxldL~ZJo zVCf~E+svtEkEipkNzA}Is?;D5efSsv>NSFb8eswRFxC|t-1G};D)^|&0YC))q0Lin zaOQc%c@i!6*+uNdJ8>!LE&fDrbxhv~JZtDO$4ytM}x40AT4U zZ|2fOktm~cm-L7CD5LZyw&%gsTY2FkGp<;(p^MWZo9e_7&z#QsLkR#Vrw8&9gbEl1 zaWHz2_@53??*4>2z&Ze6E}%?tusr8HSphSJ!-|n&wLP6G#al#Vtc5{YH*h{bu+su% iD5zr#{9g`A_uO)dl~o#Ow0+NtT#}v3;TH!f*Zv2fU(Xl- literal 0 HcmV?d00001 diff --git a/docs/graficos/data/guadiana.png b/docs/graficos/data/guadiana.png new file mode 100644 index 0000000000000000000000000000000000000000..6df4f75eabf42ced77307a38d9399b552c9e0fb4 GIT binary patch literal 7364 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 bV3oA9%;P}Jop(gq008u})6vqyzE}PSxz=8= literal 0 HcmV?d00001 diff --git a/docs/graficos/data/harvester_1046427_cc.png b/docs/graficos/data/harvester_1046427_cc.png new file mode 100644 index 0000000000000000000000000000000000000000..25e6207ce77b704af052cc1ecd513d55b9fffdb6 GIT binary patch literal 11591 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 g|A)Wd5M5n&J6>nX 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 literal 0 HcmV?d00001 diff --git a/docs/graficos/data/norte.png b/docs/graficos/data/norte.png new file mode 100644 index 0000000000000000000000000000000000000000..65a33d85de8996dbda195b55641bd823a2e66d2f GIT binary patch literal 7500 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 SF|>L$5_H_|Sn*NMfBg@HwvNI8 literal 0 HcmV?d00001 diff --git a/docs/graficos/data/pirineo.png b/docs/graficos/data/pirineo.png new file mode 100644 index 0000000000000000000000000000000000000000..01871c0c111a771ef271c853e337768a3b38c8e5 GIT binary patch literal 4087 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 V5zo$q+c8%hz_yOZOOG*r{6DpA!pr~w literal 0 HcmV?d00001 diff --git a/docs/graficos/data/tajo.png b/docs/graficos/data/tajo.png new file mode 100644 index 0000000000000000000000000000000000000000..89ba95987a2c9df1ba1d81b1349c994b5f9a669f GIT binary patch literal 6455 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 VwMTk&kJfjFj(HrdJQ8&E{{UKSO-KL$ literal 0 HcmV?d00001 diff --git a/docs/graficos/data/tractor_792349_cc.png b/docs/graficos/data/tractor_792349_cc.png new file mode 100644 index 0000000000000000000000000000000000000000..5577a2e99d3be5f13289af2e911bcc76a60c07ec GIT binary patch literal 16199 zcmd_Rby!qU+c!#gk8}zQUDAyTNOwrXkkW_((jcRVh{({5IDqs3(lv|%(t^a$Lw86w z-=NR)zUMptoxjgqGuPU)_r31;-LdxCYwZ|)T{Ti71|kd$3{nks6+;XREa2Ub01thJ z$n)J6y1}#8Qd2><=+C)wb2z#o^iel|fq_8`xcgyZWMt8yPvXDS&{4%-z$2g{XFKya z8pgn2!_ZK9Wc+GsXEvb0TD39ak5ub@90 zMUAU!ps%k|z>ychqxvX_oK1odc%L)U`0>THgQ<|lZcmTm+IH)Bf7$7&{GpH5;GFwV zf5vfnF`EX2^Z!R*L(!&mTnsA@8g+~imNaKcby1$;!H}AVSSSn>SIr|s>ZVLw2u*dp zIa^PjiXq9#17c2-&V@|)0^^2tDQ0B`DWum~F9zBv1Ln9RxW|M@FeZ%l#)|fa2E^gN z4YF0|%TxeDXryqE2#-&W`s}=TgZv41EfKmkmR(E2`IxO0n?Wc*-Y>$>ncSH}rQx}O zz3p+QNy0tsXdh1cB=z^N6Rm;Cy)wYa7n;zzy;u-jy5_MV{WfpH=$uxcjdK)d6qUvU zADbAc;XHVGKkgf+Lxf2`o`w^wNX0PN6i@O2<6kzB%F+-LO-|L0f)0r0LKXxr0~~?0 z>L7i?Qq1ocC!_g&6TgmR9>CMU148Uk6d&*Sq7OGa{)s*rzSp92~VRt$12T?{&2`#-EHj6Kj-kGGe{(LZl9~1RbJ_((i8Uqqah@(%PhQaeO z-@Js>pPH+n`N{wdTW%=Nk9R}Z=xqJtv>*xTBuBgzH2&=?rr%<*C+rZtM2p{+0m zRFN+<{5^Ekr+UL2fk~5ywv0EN9B@i6)*5O3pDwFd0Z+o>{;BB3esZ6QyIB+MRuav8 z*aO)6PENF(-ud5f0I!m%26jLGZO!b1N=$e7BuvUKo5@zR~kq96oi1Rh=wG|=4- zPDS@0FHfxhbx$#u6@vhp59E;swm;s5g*KWRdNoVdAAfdnK@%Bs=lAqX0(qKq3E96f zT0*#%dVYR2t{xW zGpy{dbaWZ8(6f{J%OI&e9DDD7bw@Fya?pD9RNNt*ai@N$o!@`e#}3xILtJ8?LWK9g z{Utghft#*0>XT{sGlWd{{z&Yaw~!3fG+1m_sZ_imj@3k))^cSuA!t$S^I~Bpd8IfauokE}V1O5*! z(iSXvZ~eP4HYBm%6P&z9=lnNvNHp#3yziV@jJJ!i%9wN)2gbEAKibF6Z2sa|%wo@q zFegOL{J$Aq5vMu*V>nibeX1H3*NhP=!1p&V&^x->=H0oHsSpHa=mSeq%u2EU2D-{Bq4(PO60)Zs#*O`2d6=F$^0u` z{AVB#EeFbQCMCjg;64)tqq-|>&<_JRyD?V`_*5qXf9v~;e`$|SGd6VAqtn9;1+p_l ztE~Y0pbA9m*E=nb8vI#VMGI^G_doYvb*4|E`-|H*xEMSQT^W?^O#W%Dl!~YIFLBw> zk?}Xu4Um9!X9KhwAO|OW`&P>n(m2SG{{_terX`-nx*##2jv_S;q$4SVJVbp>QVej8b2jdfWfdOZ**z{-5*)$Zmm82TQMP(8C6= z;9&%HWQ?=wh-bzSn;-%`9u(JE2ct(~wDUXB3BW7npN)$ih&BT0&Axl6H~kM^lTz%h z%>R&~y@@7Q?Fa-KK4BUn&N5;za3vBUNOLgdoGd&i8DU3{g-O*;kvsip#W`uC({K$( z&|^D^CPa#<0lQ(!jSV=^Q(?%pDV-yQBaJUj6Z{^^)DP_EPxmmrVqHt((eMl6ImOb& z&cXjE#+Fb$jE(&6@rgv!@Hxi*y?tdnnON)IkIK@9ctOrLmy(!a9#MB8@!qyV0T>mL ziy1#{rcnzMf)(ER;s=!5hYB?JGX`ActZ|GQu|sRbaEYadv4+`a`OR<#$u$V1S5jWcy+43 z$&&Pp9A$u_h1auyH|{zdzwZ&^|4Egrn7M}FyYz4O9P&Y41Bm?|Zy@=8D9RO^ zN`rKrbQ^ugga;gGt8gGZe9~qnE)E$bi1vZ1bT$lJ4Z`&z$^}^NYDDM{@tk_ReQcC| zEYL!X(Basd)|G4ld4^j|`z!ia%~BJWN8Oq7dBf&;^Bol6_nqiE?l06nBg85uO0Z;g7zN1swQO8cu?rU6f(=%_B zVa+2=t@`)vmprIocrT5rmJX+f=qW3z@y*CHgxeeBkswwQ?xWr&xHEiJ70xa=z#75f zeuG#LLz_c7l_TQqC>NWz@dT3`lN>9ay5lGEL)iR#VqBg~?C-I+twpMpZ(1-zU|sFE z9V!)vt)^pBboeb)mipC1pqM?%CqH!_e0dhK%R6!n2Q#dG$FQ@s>t^@VlYaXUaxeNz zWS>2u<^^UEwk_6$rDV1waRYfntNJNmZC`7w37ZjH4l|f?l~%yLPTdgb3Yn=8?dBvUrLIN zKu9@`va-ysh9FR2b1Lkh$|(r5h;p1^NJ{WQ9DdtM6u)IFA)qn$TScZe*KexduFRfR zawA5*82cP{3b`6u;#AVKXQT`FtXKA~!QVMgMfo{hDcvbgrrg~0s~JF{e-u~us1!)E zl<7*+-Tg;Ld=Rb^(MyJ}G=jh|Tk~jfQC3GHSn>IEA!VoXGcg2?DK_LHi0RCXGRw-v zU%jN!UG`8d4hNV>s1bEcJe;@p6EIAhI1Runa_Y& zAc>FUzPsH=KV4E}4$RO~4}CAJBd^M>W+q#mb*l2XQiHjbGz4Il3!8X{8N=Ym3ZmMM zgdaLbLm3(hYr>IVuy6et_PIdRy4L;pLL6Cfz8s)=%3`q`eyph;xc@`j8WqDrUA!*8 zRq|%P#rb){ZNn(-P_Rhqs?AnvhKDNR(_mG@c^Dlyoj^_N4!V*h?xO ztbH47s@k87@FIdl(Co%jL*0svUe?p~AM@G*uM-tS`}_F`)-q>IuAUSp+i-h)lcGna z!yKwP3$~3>wSza$U8DjxapkpiZlP{pw^MQPFs=zLD^B?~M?w&ss7W}9 zo$P|~GQIP(VL7hVyUcrg4wim*>b@c-zgdtU0`5VKWS^Czf*i>3X!7y+JV((PI(# z9ymH&Mk*T+Gsb>Pj$UX{1SwVM{t@m+p11a^FAq*_r%?f|G$7ntJM4+jSG0<^VF=8` zK5h%83yk*a`{L=^3D9c?Pk{-6uH(|dywXS~st}|H)>V=SVLko1&$?low;h!Fs=vVM zv>L3S+jOBIMsWDqUsqgO#-I25Q?A4w8qmm1!fRAihf#Pgca7RXz6XO$fXM+pn?KsEy_gyVT*sL1splSgS z_oS(kzL5JG!^hZfkb0>}zfvI*R|#3xwPt8-%(Muiid^y&S7Pz@OLd~Sr`oN_fXr@!WQH^=B1+eEg=Rjm_NU?82(+m%@-a*9=g6h^zyPk2M)ui&oLyU3mNL zeJ!OdLCN2Q0I}qD8Te9+^tW)JFj;ioni4Lel;a^9?Jn9s}F%+|XKGP?SD)+90NcreT2@^n)JoT|a zu6yq!Z}t)i-E-qPKUkW0dZH3vhQ#bCk55~yYs>6u$tQmB#wP2Q(T6a2A3j;TSgLaw zK9upoGmTllIAIqE%pjk^Ec+eVzN44sjlz=)Eb^4o=QhO%v%H#RLfr6INe@?}Lx&V9 zoY;6sm{}SsTD>LP7?)=+yO3A&BslenS!9iF&9jikgAQ;EC^o#y1dPq-;8Wq`CYqiC z8ShizG3TnDOR#|pryBB{Qk|TeWoVVd&5P6+zhW!L!oRc*1u~g&yl$G$hMh(@xr?Sx zY3e17QJA|1bR_8h}#9s6XdL>Uk}v@-3K{3W{Wc}RYQK&?sFThvB?2as8cOy8D-@JqH)ep~#a98B z#2)cn7~?lhn3PDZ#+wsy*mwKfTWGS(v_=In{%3dWdZ|B$Louj1X@sw2y0+>?#lqvQ z&~L9A#A{HiSW3J>8t|TqMm^shvaFGOn>V)l*IAW^0`7@DI35l^e_3$D)>(K5bcL~k zF>-4~UDAcHB-yhthkN%LN!AS(LPr2+MJt}7W3q9gj?c=4Q;a_yMg*7rGB3m@beT)~ zWBv5k4PT|HWsDD^e#J|4Of1{dIqG-0GiJ|3WKCROQW}4(42y{;emjScOJ_#{)NR|i z#V$2pEl%_#6E0O|tNDuy-UL7H%+#8+x!>XXV;7!RgSBndN$Ii1^6X z?^Ik8a5xQ?5r=FpHC5Y!H_`W<^wNDz1td(^R}J}lIa@faE!V*H z%AZ=F$bKdc$68okCWKqU``HKBJ=iAz>pIBqU!+7R=&YcRz_Yqf3l$Y!miuz;m%nej z^Ez4cii0e}ZkPq4laTINYO$+e$h*Ps7ng^u>550s& zj0mj`o8b5np^>wZVKhtZb3z9N?-N7GF}z>|Pyrn-ra_s$vh@s;h^NnMGI3p<|8Rxg zgLy1EO_NK5VJ^|povoQ&2G;Q-$*b)>Nlq873n~+&7%Wwy4_F&mr9X-ci>qBn#$(>H zZD(1Y9)!IYfg09*hG*UpTVKHLt4_Sct|$ovW?)%8q-!fl^dsapYcn`JXn*4-sVv`x zH{;mLr}O>ufsovnF6wn^)Y1F7B!`hy82gHnL&vM)i@6^#D(f$DUz3wTRryU?kcobT$p*gpc+4t zmT|SKNG-v)M&W;xoK!I#QS7Wd5h8T>(~oSQ7-71z*@6k51h*>qRtVERP3z7*()sP^ zdp6;90W-JwNWFaDjySfVcpS@X;9FaZW-TD6nc8o>Yt~UycmU6IpK_RK3oz)?Q{da8 zV`i|_k}xil;e#^PjqAmvT;9@^+~qQYY<%?)gXN2<;=})=(x~lX7iI*mGN_aQ(MD;tAC4v*){D z?O@3THnC23VZ>X%UEW`Tr3)vATt?d)VVRe{Axa}eB5!P%z!;6<;be}NSb;1cOt^s}2^Y)X2Y9AQZ?J=Sf{2jkuM#X7I&+oxh-;_Y;^ zMs=DAah=q7x8b%tM4qBz;W=(Q)3Z9lLNs3m<_Fh){0hBdhrLzJ_~sNL$Np6- zpn92Q@CJTKu=dE>0*6g2!_v<#CQyp0`KL}H-R}tp_h$|)ZH>6E!trmewcy`l3+f5* ztKu-m%hm&0jE_FGtiDhPye4=d<6pjh>4K3-+ZugMxW?{j4fTv5b-jA_IyE9L7T!)0 zE^Ncb+35g4xz>O-PTcLuJCor$)T*B=jp;~={S>%PO^kC{&|@9WKx-9SIn~5UQV2Pi`I;cvkj2B<@@Hx=`Xj^gN?>72 z3D2wwy4Un`lig%hc5!k;ekyO7!mb=le7*#2r&6{S!p^yt(d}1+!gF1|{x%5G3d@q-b7Fp0Wl;NTl#>NBgoZ+|%ePPxJ zWYp!=NyQG=Ihs;389B8ANhD~#;2`ukGCQ_daUtj~FIvTh3ywb*>|{`7-b+RLwUd%y z7k)bn4x*^bwjC~Eubp`W&vj`3$rr5YuP)Bk*b|{b%0PN0(y_IxXErzE_TqV9zVTaE zcsZ}tv*brT!-O>39#)=TKAyAeYrdYa9={H(HBoVEY{%N8OA;{mM!|51Ph8+H#=ZUE z)9_TPmR)AvHTkUO=NuBnV~~x6GCrO_CD>#8H?q`cb$*uF``oCQ9~F&^`&CqJE;NK? z1fQr*$Ov_sD*1S1T^>LuBJO)o6^b?cqAevD#_*N7x&Dt>70%~Su8$7RT~S{x!}$>2H0Z~!UOR*W9bOW z2uXk>-;c3_C?$VnXsjDB=$VCz=DgE`3QSJINzu2o9q?1jE9NhRYLXt$s1q{WBthX2 zM`Ow)rX;h^gKXM9LkdJ`t=}IA>Bm_#$+&aDUu%2 zAs+A~WNi7{ex05meU<%9*Q5pZc14^-n()kJ_;Pq#KJ?z1Ea+LD*Nt4&g%Y`0F*qbp zDF@{yDj~=0f*fx11bBRs`f31gAP04~Hv(7xv`26dd{^@O#oYnFLQ)+#O+vP^dy;}P zut_w^BL#ww2k-%XxziCYV&Urk+)VG!q(Lbsk-&-AY=X5PE$Y$_n)FuB6#!>C_7hfJ zp>nvdMouM*U2jy=ei!-As=`)$ryY*H>EZs7 z-t}BYzeik1Wv1#M+t1c4{R~hCQS49uJiKLvH_^|N*8|7lJ64Z#m=>abIJ!-ZMkO2V zGzs^e7zdB*s$GA?`53qhzK$q*cf0*rfuK1rO!l`;qAj<7t6cIv^Xb_xmqceM7|>9A zubV1`yMV&gE7^SR6z7I}`0K43N+CV@-U4+u1_sN|yS)J27m&3qSTSrW_GP^W^R#b2 z4O18gD?AG4#eyZ7n9mntbYll&3ach@?{4$?4Wg$I?k)IdGAnyQGV!n~v);jy$;^&q zXnTCmI?=%n7b5EmU1LpY&uF7KQ|)L4c%{*adi{6I+QcBVHnfo&gcr{9pppwqO*MzL z`_kt@x@?xs&xOydmt>^@n3>p0d@Ob4DF+`ReH8wm2hRJ`faiqI2V&mU&RHv)SzKTK zJY15Q?}qBm&i8E5Z}^p~APxNb-rQI|!ASPi_mw>N6dM0}1Aha*jFoyjI%7R@x=mz- zD{llXioI>4G7tN3aL(?Btd+TXM>kh8VZpO+MgcA}9&|X>gc%@JYqH zp9L77_9YwvGu z`Q!30fb+#|&~F7&3nazZ9$XOdNSNmC^O}73I?jG*d+HfEYcS`q{2U?oE5WRfdf%9Y zHF)BM`R^<3en16OBx}gc5H}3h-9HzvB2%y~&nbFNu}^OojA#h&&r$zIGHdwCz?N&S z(Xer}9RxfMGTF%{*^Op_=Mqex@_X`QgmWJLjr$xch0*BJGw|ls`+H=nAa!PlIBt_ekul9#2efI$Z)d2-FR& zZ5r_x(#TdkpCWFw@qo-CYzZN0*+^_mChoxp;WiRH=Sn80Nl@9BH8h~8mK;gUS|1W0 z^aB6V1vi8o0N}6plJ4+xt-G&Hq@|&G3>!;CmXc{2W-U*p!U9o5b2qgI9Ee62^g_lQ zCvVy(vqsN{GKr){$zcCfmTQekq?rO30G z(?C{9NA3|>C|?2Um42*JxZ=L^8&XfV?^3L|H*(*DU(tY?-*OXjcg5q_2<;}vfS2f< zDc_=kX@;_HRIiz|&5EnJ&`VdY33!fadi($~$JzKF^%+t;fv4pHKuZR1$8Pe`*jI{VI7zD2c@i|c$zaIAAVOayo+!H2mS(IH%~YGhH{6N;r;0l&At(%l4vJ+ zoKlhzLqbhO{OuG}s|@~`80hjcITApiz*(c!_AwA11y-;g$MY9>-BJ(mJiNea2QC1X z(2@93i<8wbi0%l-^ugRSBm<$fyQTsVTXZP?-fB`AVF-8C<#VF_@9Y@T1ZTw0v-@wn zQHiRImri!tuRZ62BheliA=6ytGYbp2irdJ`eRkh@iU=@1um1E{uV+ZZWn}dp z$^(%uScF}v64sg+u?KkjLRVWv`rMiF8$%K&UqN}$Y-g>5;Z)7%fX5S4Mc_T3Gv^*M zJjG8xiRXt16gXTk69Mi@&eR?AvS7eu5zu$`I`R-Lc;!2rZK&XM3XcO-aIykWjJ@)= zl4jn=D`Gm`v{T4b9kC~F@jT`@euesS203SkjwGpO2;Fi;(Xq&6-S-?wUG|e1>%-p! zfTsbtIfG>i^jb*3D#i%i$oX@(A(AM_5er_8V1?sc-HVFo7h=NAW>FC8NMThg;a!ex zzTo>Y-ix*Oq$ul{8YB<4W6hxB5L7X&hh=~tX5k6fjSazzK!%v~wj;?4m! zY6YdERys4j38ME}QE(x;uFB*ReYpy`DU+ZFDYDX^8A0s5677a)XOff~%U~*Wg# z^wb#6!tb47xt2S6q~rol-Ulj-Y%$`6bmeiXJ7H%$BAmrY^dTtX=%P>JoKDnV;as7M zf(TR2Q_M4VVxJRj?##nae#k|yzNFd^biLE>pqN_SC2T<6?pxK9?@!RZg1w(kzUz_< zsbT*!KuTvW|Be-w9+__)#=6j-gCqeaGy==RDD*U-qQ`6=ep&C=T5lN-_*@5g%@sbo z3ogx7`0lEBC;)TgwslU;5myNbl47xG+S1E=dz3cQ#hkF~kkTkflCFZa*k||9kzl3f z5R05|WG4Jeb2j67I0WC#xK&;%2xBy3S5E%;w&96@EXc8kbcI59A8BYNk{HP{AKc%& z+&*v}_;GMDK-Ko8cTD{OE>MkP=+_)SJO_L&I~sN^L(!mAy>;O+8wDZ60}4KmKMhgd zt-GO5dTFTrJ&gN_FSAj^bwsMC1%qhZFNXs|m5FZvPR*&Fjl+t_wz3uU?vGAlC;wI=s>?m7F5{CJ3G{C*Z>vX_LwmZm4IN}sncD>Re7(j7gpm;cqSG$W?zV~M$Dr!V zG|ef#&n-Jokb{A38@C1N&|0TpC4_Do@5=LAnzbHGv|Lh-ue6tH`h%4~f8owDZXa*X zQ}1uWp5?o|8lG=Y{0XhMLQoTPYo1LhzFhW_eRZ6$aQI`c;fv2zAnMyLy0_kBu_y+` zbY$zj8X55CM7p=hr(dRIEbrErd8@XrCB|6xSW1bhn&+4S&2yq3J!}gW=gp4yb@U#4 z8zc*L267IZurEZklpJH9lso8)GN)~R|LoL-nHrcYyr?*0DVlB3%J1;I480arf}XqJ z;+dXZFGc?L(6w0PhI3F_bw_W~B|SvK-NM+Dok;D*e(;?I6tDGUX&nrJH>Y0*?}rjv z?|GnxsoIJ*FJYT`(9M{4w%wpi({$o2rVhVtEwD?QAOA)$dRrbw9j7+eEEV$IFIDtJ#C0O3@DgbANgg%Ub&TzrIyyy+Q7 z>AvIelc8D-*J35i=%*p1(+iRBZ;OQYZBRz=H{hLDF8bGH%lv@;zWd;wXg{0hV&q8K zj_ONi&ht~6g|d&Vlw3=m+7^l4FRFbz{T3d^=H1&ex-Mz1G$YyBBJ?1-qTP2u;F&oo zdCY5md!YDv^-<3dRrw*g@u#N_gqeGxjMCtvx`v_I1nN08@{H?(Cg`I7@0kAVU!-Q_ z4dp*xPswzIY?95G{Ek?5Dp4?~t9eV+^s}$GD7HAPxIAT-mU>PLKl8d^D&kk4rAeS( zt=hMx@lq5hI4nP~7EdJof^>Qt@+>ghY&diHi6p;4a9Muv1}=NnnHjc}@yuH>g*we{p1aju2T!|xKrnr$gQ%#|fB?vg%U`K?-wrM?04MgupR+a}K$FL-0^HY5u& zs!rbg_99%HuXm&RWR>Z&Fa5zc+G|R)5@4F?SJM;IbwWM%CLrRGb2zX>QFQrntX)qK zrVC{Xlj$|QnP(wno6IUF@ZkYQxl(vRvTiJo@E&(L2aT_Ph^ik-v!>0^wsimIwtjNH zt~|1v!|iJk)y5mKLZ{0pj& zoge=sjV_7)oSwl-_H5>Cx#ADr(|71kBbEYzHNA|Y%SI&jgeV7L(4UOjp1wR9!$ zoSYI`A$3l&GNa70G?&WtX<`WD5~-5xb#JVH!0>pmVn1xYb~jxKi`owj4pSeqYw`LxRM;bgEpv>~GaKhTr!NEF8Xx$mT0 zz4AE?sKJ#OweaEK#%v@9P{RNcQ?7kN4QQ|?V@M6=yO^7*Xqr|UmiiG8VIn3F{|MZu zQ1i~c!DENyu*vq1X~scIPHKqrx6$X+NgMRe!Nz3JCRLo;ZQjP3R~Utb30A(XEwpz_SbA@z9YvKVw~7h2V)r|H9nCfcuUx;^4GrAlP>c4}o^E_w*1dc(_x zHiNlCW;8ZQhBAs)c{J#P$TyNq4P_w^c8~=`!F@}Qu|UO z%_kK8TiRm}QCNG-wM$#zrJpbMxnsrp@V{%<$ZMMP@4YJ&GM;owywFUEiscmalJ*ID z;=MOv1~pftb536wk3w!fMn5BB75yqtyD0LJW{kEWD++`EOE?$(bxxna$Vd|N)v;vXm(e0TKjGdy9MlL2-!Db@T5CMcwidEZ zsVEv+>eXv>QWC4^9GG-5p0}&Ym~<5bBYe8qrY7xgbzF|D7Ew*Kt(O|N9-nY~>idFZB)&8? z`&^`{TE-M71+(QQS}z%OMutSE@5IWA*5F;2(zpsTS&45q;&N7k;%!ZyBw3AbWvm!% zJdwbE<>fvuTtd6=_9X5?9z_r<;XV!N-e|`gdw%|+$0;<=oF%!IuW1dx8-iKIgb-tt zR;qb+N@b_CS0&&{G^5Q@bSvZ~3o?3WGGSy`I52SV)!2Z=8?~7!X{|23t4P~QIQ?R8 zAv7h~FLFA9TJ$=!9l>l>YJ9T1D2S%@Fz5(S1l0*o*7sEMhcLjtsAj&Ah%i`|aTLpi zjUDmPyeNJY{FVA(+gxP39Zxf&Sc(G~5!-9TR4BPs5i9S3c zU+^${?y*}?@tp8CUKK&sG^rX!y{4OIa~IJN9E`RbuF+c?Ktl887kSq~aJI~(Pw#MO?QX>8N zA2q`f8x0RmJ*;fx8~pLx9!ifMoa^H8efhfj^=0keE@W%e#5u5Fuf65bLe@6-u|OQE*3`H6y^vQjo_7j8ybhY z!SXysnXIQ3abKMuUuQP_%74iU+=(8DYwM}&7lrFZHpWaOoP(>@F=<>=>MHXT6+G%v zH|wcu8QULh^-0jt<#u4Z@cB^r7fb$*T&}miI;U~3D@nr${4{Cvo-{&+x|V)V>ay>+ zyPri?&t59@si*c#DXa;yiYaIQ!~Eh2?y)Oa_;Eo)N&d;ANniby)PhyO+|>(8>(b}S z1pIZ*E>^;;fYq*sdG#>Uq6| z(CS&6;0&F&9~v2;9xWgQ8%>XeC`5MixpAywxm)0@X!yChxSUF!lY&m_=4$Q#aETN@ z@dGVH_%W6~^j9=C2))QQpQo}dgT*yWZVM01jqct5W~bPp1J0J;^1wzt9bLj`JsANs zj0#K55_S_98{{h5ok)!Z!KbO~$b&6$R?Ob|yzLGNVarybYx){B2Va2C$DHoB@Qs*D z5>B3LtNOVLcqz>bv_|0bdC;=d5cD33v8u#E>EU~^^;t~w8TCL90g1V4FR=l3rs2Gh zBaZ&VuWmz}@$mJgJ(C$BCMU`y2bX!sv<`r9I$_V~NC5hkaer>HFsw(^lSkoQ-;M9# z7}3^mdgt&|CgVRZHdPTgmdSa#iI&Y7h1A{(x%Y3zhBKjhv1e$dRB&McT@ALN= zBju!Nkwfh3NpTT9)b;pkmLx0m>eA<<_y%iTv6Xnbz%1+us5o|7E((SsOxcuprh^?ebNh0;Gyv9Ic#guToKS2A*y)MnZe}h)CnQF zJh(|#Mp9O*KShCLGMlgHENsdav67l7`>Csh(9AO7ySRA(o{dtoxTkfTvuINmlzy`S zPsRhTOvj6e56=dFb}FRcn%3dW5&5Jj@b!`gT~AL%O5v z=ePkFG*Hr_lGZ2HmH$lYRm&UL3-{z*p1Y27udF#X-oAn@^cPVvX1G&{WBz=SiN3O2LoPN6?HK zcI`sG-@J1dwTFiUo3pPFoPloweTP&=SUz;??B#DM1|#v4i@7$q=MHMW2`tcE&`G+> zSFbu%5sL`rOD?E;$Dfsf89mbv^um7-{_ykHSMmE3vKhELvPQ@caNvz@e`Wc@U18=` zUy^qdJ^8$m^ng@hHh7{^qm3NzhRHm0p9@w}uQF4|CE#>?-?^9fns|M0M-U-0`19T7 zsyM1|SPOEu1VA?K@#% zsvaH@)SAIh(gg~DY&i}>tT4|kmOFmF{tYLGO%-|HQnB!OW94G(9xP;gUWkJS)o@fU6L$5IxMEa7Za_7wk4r`PX=XvJX zm;kNt3&n;S-EhmVW%yKs8P8VNZi&_xJWF(CWjli1f`+3G-sFew&c0@Il-{RD>45=5 zMjpXl9KRLb&k#~c0+}APYSJpL#ltlOf*h~9Bb3rQCxZZV-;lSSd+cduHL^4QTR(9W*n`3;!>_FuU>s02aP>a$yUt7F0-fX!}Kgs?1Ifz?+O{-pwhTf++ zA}+s?hp0W~GB#T5zS_g|fFOWVuHuO9`5uY)+4O2 z$%iX+8taAL@rhPj5|e%!7g+Ny8_k{{aU}oH7!!vMT}n)fzlObfEaAuQnR_8!xt`+f z7+8oVPVjPv>3SNyY^^({55VRRnl8q12^!*RbX{aCt?&m8$GynG_1}cghxca|)41B> z2QLoV4;N(6{=TBdGYr}elyP**J?yt%qHjU5C-!Hl6R+~CqM<;yP=a*vk~R}Z>Nw`0{X9a zIr{yAewMxK5=V(36jkwnZW(^hnSSM|yr1s_H~M;++qB+dOk+JAlL3%uhN$-(n6?h! zd<1$-NzHD5{lOX=v7FxI0)C|7?%_Z)+Is+>LO;Pgbw|JszdNhCa$&1ss!`PSS1Lq7 zF4|;nxf5EL%v*ZQR}Hrm)T9aan!%*Eqp|^%WcV#JWg>O zMXe6KogV02=nG)A{*Q&3I3YyHY@dd_QNz-a#wcX3b}nzl@%=?xh5&(uqaii+_Cdz- zi(Y*_)X}19S3#4t-ct;I^K#?5?1*lTR^DB{pcfcn=*n z5aTM~V>s-rVPHXh28?CtGIb8hTW>WtQ$mnjnt5->PXFxQDc%*SGJtbW|5PikI00sn zJF^{lF+L~yHDB`CxJ)&z??Iw(^dm`Y#Id~U6~LGFbO}AV=Y%Oau%&g<`z>v%g z!s8&vVg+iGq(F9L&M8F-z>KT?{uN8r@4SzgQ+x)lBWX3yZn_CF879TpC7gjMepR;I zU^dY=zb>zBVy$J&$)w|c?M%F9T>DedvXINLL8=se()=)>NP-`8l`7?Q7c`b6TW`6?iNu-oCoQ)aDqpnNo{<5gCepMI`fRm$XI9=e|f)l+<_)b3?ifdd*Y1 zw!?kC5|DdM0eX8SQkrI5oCD@y&=s;#VJVtX#W;MQ+Rpf%wxc!j)J$MZ@hIu74Y(DP z3`lZF;$+c4iANT*eY&fQgceh#QtD253~|6~!Jav`Fj)d2qOa02=4r<>I*;6}DJtf6|!>)iQ{Avum} z8%Q9S5FTfN`6~Oio#a9i^#ZfU$#CFAu=2IWN5^KZzbt2$yH>so~pn70ek_i+q>{79w*!*a2TruAH z(w=zHLnGAiG`o6<4L$w#lA5|_v*!q8SqaN?H&69_1gezzg1+;ZkXRiuHSiDyzskBZ zO&6mtU`uCf2E!^I=|`e}Q7~OxGb}yF2FO*_X4ZyKKByf=1*$eQ?jV@PTiw}rt3K58 wokZMILTW@`?R+O~DQ+^Y^I6=lIV`?TJ^(5FGpN2#8vp + + + + + + + + + + + + diff --git a/docs/graficos/expropiacion.js b/docs/graficos/expropiacion.js new file mode 100644 index 0000000..58d6953 --- /dev/null +++ b/docs/graficos/expropiacion.js @@ -0,0 +1,64 @@ +var exceso, reserva, exceptuadas; +var nombres; +var plot; + +function setup() { + createCanvas(800,519); + nombres = new Array("Norte","Duero","Ebro","Pirineo","Jucar","Tajo","Guadiana","Guadalquivir","Sur", "Segura", "Islas"); + exceso = new Array(15267,35628,136465,3466,19615,64179,81809,148193,13326,35075,3235); + reserva = new Array(12251,62730,131128,24433,54545,68854,82052,140453,20980,131042,5985); + exceptuadas = new Array(7094,31194,128457,3289,15734,39460,21419,68830,23782,68386,15675); + + var pointSizes = []; + var points = []; + + for (var n = 0; n < nombres.length; n++) { + points[n] = new GPoint(exceso[n], exceptuadas[n], nombres[n]); + pointSizes[n] = map(reserva[n],5000,141000,5,100); + } + + // Creamos el plot + plot = new GPlot(this); + plot.setDim(width-230, height-100); + plot.setTitleText("Tierras en exceso, reserva y exceptuadas por cuenca hidrografica segun PGC"); + plot.getXAxis().setAxisLabelText("Tierras en exceso (Has)"); + plot.getYAxis().setAxisLabelText("Tierras exceptuadas (Has)"); + plot.setPoints(points); + plot.setPointSizes(pointSizes); + plot.setPointColor(color(255,0,0,50)); + plot.setLineColor(color(0)); + plot.setLabelBgColor(color(255,0)); +} + + +function draw() { + background(255); + + // Draw the plot + plot.beginDraw(); + plot.drawBox(); + plot.drawXAxis(); + plot.drawYAxis(); + plot.drawTitle(); + plot.drawGridLines(GPlot.BOTH); + plot.drawPoints(); + plot.drawLabels(); + plot.drawAllLabels(); + plot.endDraw(); + + textFont("Helvetica"); + textSize(11); + fill(0); + textAlign(LEFT); + text("Tierras en reserva (Has)", 660, 330); + textAlign(CENTER); + stroke(100); + noFill(); + ellipse(720, 390, 100, 100); + fill(0); + text("140000", 720, 390); + noFill(); + ellipse(720, 455, 10, 10); + fill(0); + text("14000", 720, 475); +} diff --git a/docs/graficos/grafica-0.1.0-mod.js b/docs/graficos/grafica-0.1.0-mod.js new file mode 100644 index 0000000..032f690 --- /dev/null +++ b/docs/graficos/grafica-0.1.0-mod.js @@ -0,0 +1,5444 @@ +/* + * Point class. A GPoint is composed of two coordinates (x, y) and a text label + */ +function GPoint() { + var x, y, label; + + if (arguments.length === 3) { + x = arguments[0]; + y = arguments[1]; + label = arguments[2]; + } else if (arguments.length === 2 && arguments[0] instanceof p5.Vector) { + x = arguments[0].x; + y = arguments[0].y; + label = arguments[1]; + } else if (arguments.length === 2) { + x = arguments[0]; + y = arguments[1]; + label = ""; + } else if (arguments.length === 1 && arguments[0] instanceof GPoint) { + x = arguments[0].getX(); + y = arguments[0].getY(); + label = arguments[0].getLabel(); + } else if (arguments.length === 1 && arguments[0] instanceof p5.Vector) { + x = arguments[0].x; + y = arguments[0].y; + label = ""; + } else if (arguments.length === 0) { + x = 0; + y = 0; + label = ""; + } else { + throw new Error("GPoint constructor: signature not supported"); + } + + this.x = x; + this.y = y; + this.label = label; + this.valid = this.isValidNumber(this.x) && this.isValidNumber(this.y); +} + +GPoint.prototype.isValidNumber = function(number) { + return !isNaN(number) && isFinite(number); +}; + +GPoint.prototype.set = function() { + var x, y, label; + + if (arguments.length === 3) { + x = arguments[0]; + y = arguments[1]; + label = arguments[2]; + } else if (arguments.length === 2 && arguments[0] instanceof p5.Vector) { + x = arguments[0].x; + y = arguments[0].y; + label = arguments[1]; + } else if (arguments.length === 2) { + x = arguments[0]; + y = arguments[1]; + label = ""; + } else if (arguments.length === 1 && arguments[0] instanceof GPoint) { + x = arguments[0].getX(); + y = arguments[0].getY(); + label = arguments[0].getLabel(); + } else if (arguments.length === 1 && arguments[0] instanceof p5.Vector) { + x = arguments[0].x; + y = arguments[0].y; + label = ""; + } else { + throw new Error("GPoint.set(): signature not supported"); + } + + this.x = x; + this.y = y; + this.label = label; + this.valid = this.isValidNumber(this.x) && this.isValidNumber(this.y); +}; + +GPoint.prototype.setX = function(x) { + this.x = x; + this.valid = this.isValidNumber(this.x) && this.isValidNumber(this.y); +}; + +GPoint.prototype.setY = function(y) { + this.y = y; + this.valid = this.isValidNumber(this.x) && this.isValidNumber(this.y); +}; + +GPoint.prototype.setLabel = function(label) { + this.label = label; +}; + +GPoint.prototype.setXY = function() { + var x, y; + + if (arguments.length === 2) { + x = arguments[0]; + y = arguments[1]; + } else if (arguments.length === 1 && arguments[0] instanceof GPoint) { + x = arguments[0].getX(); + y = arguments[0].getY(); + } else if (arguments.length === 1 && arguments[0] instanceof p5.Vector) { + x = arguments[0].x; + y = arguments[0].y; + } else { + throw new Error("GPoint.setXY(): signature not supported"); + } + + this.x = x; + this.y = y; + this.valid = this.isValidNumber(this.x) && this.isValidNumber(this.y); +}; + +GPoint.prototype.getX = function() { + return this.x; +}; + +GPoint.prototype.getY = function() { + return this.y; +}; + +GPoint.prototype.getLabel = function() { + return this.label; +}; + +GPoint.prototype.getValid = function() { + return this.valid; +}; + +GPoint.prototype.isValid = function() { + return this.valid; +}; +/* + * Title class. + */ +function GTitle(parent, dim) { + // The parent processing object + this.parent = parent; + + // General properties + this.dim = dim.slice(); + this.relativePos = 0.5; + this.plotPos = this.relativePos * this.dim[0]; + this.offset = 10; + + // Text properties + this.text = ""; + this.textAlignment = this.parent.CENTER; + this.fontName = "Helvetica"; + this.fontColor = this.parent.color(100); + this.fontStyle = this.parent.BOLD; + this.fontSize = 13; +} + +GTitle.prototype.draw = function() { + this.parent.push(); + this.parent.textFont(this.fontName); + this.parent.textStyle(this.fontStyle); + this.parent.textSize(this.fontSize); + this.parent.fill(this.fontColor); + this.parent.noStroke(); + this.parent.textAlign(this.textAlignment, this.parent.BOTTOM); + this.parent.text(this.text, this.plotPos, -this.offset - this.dim[1]); + + // There seems to be a bug in p5.js + this.parent.textStyle(this.parent.NORMAL); + this.parent.pop(); +}; + +GTitle.prototype.setDim = function() { + var xDim, yDim; + + if (arguments.length === 2) { + xDim = arguments[0]; + yDim = arguments[1]; + } else if (arguments.length === 1) { + xDim = arguments[0][0]; + yDim = arguments[0][1]; + } else { + throw new Error("GTitle.setDim(): signature not supported"); + } + + if (xDim > 0 && yDim > 0) { + this.dim[0] = xDim; + this.dim[1] = yDim; + this.plotPos = this.relativePos * this.dim[0]; + } +}; + +GTitle.prototype.setRelativePos = function(relativePos) { + this.relativePos = relativePos; + this.plotPos = this.relativePos * this.dim[0]; +}; + +GTitle.prototype.setOffset = function(offset) { + this.offset = offset; +}; + +GTitle.prototype.setText = function(text) { + this.text = text; +}; + +GTitle.prototype.setTextAlignment = function(textAlignment) { + if (textAlignment === this.parent.CENTER || textAlignment === this.parent.LEFT || textAlignment === this.parent.RIGHT) { + this.textAlignment = textAlignment; + } +}; + +GTitle.prototype.setFontName = function(fontName) { + this.fontName = fontName; +}; + +GTitle.prototype.setFontColor = function(fontColor) { + this.fontColor = fontColor; +}; + +GTitle.prototype.setFontStyle = function(fontStyle) { + this.fontStyle = fontStyle; +}; + +GTitle.prototype.setFontSize = function(fontSize) { + if (fontSize > 0) { + this.fontSize = fontSize; + } +}; + +GTitle.prototype.setFontProperties = function(fontName, fontColor, fontSize) { + if (fontSize > 0) { + this.fontName = fontName; + this.fontColor = fontColor; + this.fontSize = fontSize; + } +}; +/* + * Axis label class. + */ +function GAxisLabel(parent, type, dim) { + // The parent processing object + this.parent = parent; + + // General properties + this.type = (type === this.parent.BOTTOM || type === this.parent.TOP || type === this.parent.LEFT || type === this.parent.RIGHT) ? type : this.parent.BOTTOM; + this.dim = dim.slice(); + this.relativePos = 0.5; + this.plotPos = (this.type === this.parent.BOTTOM || this.type === this.parent.TOP) ? this.relativePos * this.dim[0] : -this.relativePos * this.dim[1]; + this.offset = 35; + this.rotate = (this.type === this.parent.BOTTOM || this.type === this.parent.TOP) ? false : true; + + // Text properties + this.text = ""; + this.textAlignment = this.parent.CENTER; + this.fontName = "Helvetica"; + this.fontColor = this.parent.color(0); + this.fontSize = 13; +} + +GAxisLabel.prototype.draw = function() { + switch (this.type) { + case this.parent.BOTTOM: + this.drawAsXLabel(); + break; + case this.parent.LEFT: + this.drawAsYLabel(); + break; + case this.parent.TOP: + this.drawAsTopLabel(); + break; + case this.parent.RIGHT: + this.drawAsRightLabel(); + break; + } +}; + +GAxisLabel.prototype.drawAsXLabel = function() { + this.parent.push(); + this.parent.textFont(this.fontName); + this.parent.textSize(this.fontSize); + this.parent.fill(this.fontColor); + this.parent.noStroke(); + + if (this.rotate) { + this.parent.textAlign(this.parent.RIGHT, this.parent.CENTER); + this.parent.translate(this.plotPos, this.offset); + this.parent.rotate(-0.5 * Math.PI); + this.parent.text(this.text, 0, 0); + } else { + this.parent.textAlign(this.textAlignment, this.parent.TOP); + this.parent.text(this.text, this.plotPos, this.offset); + } + + this.parent.pop(); +}; + +GAxisLabel.prototype.drawAsYLabel = function() { + this.parent.push(); + this.parent.textFont(this.fontName); + this.parent.textSize(this.fontSize); + this.parent.fill(this.fontColor); + this.parent.noStroke(); + + if (this.rotate) { + this.parent.textAlign(this.textAlignment, this.parent.BOTTOM); + this.parent.translate(-this.offset, this.plotPos); + this.parent.rotate(-0.5 * Math.PI); + this.parent.text(this.text, 0, 0); + } else { + this.parent.textAlign(this.parent.RIGHT, this.parent.CENTER); + this.parent.text(this.text, -this.offset, this.plotPos); + } + + this.parent.pop(); +}; + +GAxisLabel.prototype.drawAsTopLabel = function() { + this.parent.push(); + this.parent.textFont(this.fontName); + this.parent.textSize(this.fontSize); + this.parent.fill(this.fontColor); + this.parent.noStroke(); + + if (this.rotate) { + this.parent.textAlign(this.parent.LEFT, this.parent.CENTER); + this.parent.translate(this.plotPos, -this.offset - this.dim[1]); + this.parent.rotate(-0.5 * Math.PI); + this.parent.text(this.text, 0, 0); + } else { + this.parent.textAlign(this.textAlignment, this.parent.BOTTOM); + this.parent.text(this.text, this.plotPos, -this.offset - this.dim[1]); + } + + this.parent.pop(); +}; + +GAxisLabel.prototype.drawAsRightLabel = function() { + this.parent.push(); + this.parent.textFont(this.fontName); + this.parent.textSize(this.fontSize); + this.parent.fill(this.fontColor); + this.parent.noStroke(); + + if (this.rotate) { + this.parent.textAlign(this.textAlignment, this.parent.TOP); + this.parent.translate(this.offset + this.dim[0], this.plotPos); + this.parent.rotate(-0.5 * Math.PI); + this.parent.text(this.text, 0, 0); + } else { + this.parent.textAlign(this.parent.LEFT, this.parent.CENTER); + this.parent.text(this.text, this.offset + this.dim[0], this.plotPos); + } + + this.parent.pop(); +}; + +GAxisLabel.prototype.setDim = function() { + var xDim, yDim; + + if (arguments.length === 2) { + xDim = arguments[0]; + yDim = arguments[1]; + } else if (arguments.length === 1) { + xDim = arguments[0][0]; + yDim = arguments[0][1]; + } else { + throw new Error("GAxisLabel.setDim(): signature not supported"); + } + + if (xDim > 0 && yDim > 0) { + this.dim[0] = xDim; + this.dim[1] = yDim; + this.plotPos = (this.type === this.parent.BOTTOM || this.type === this.parent.TOP) ? this.relativePos * this.dim[0] : -this.relativePos * this.dim[1]; + } +}; + +GAxisLabel.prototype.setRelativePos = function(relativePos) { + this.relativePos = relativePos; + this.plotPos = (this.type === this.parent.BOTTOM || this.type === this.parent.TOP) ? this.relativePos * this.dim[0] : -this.relativePos * this.dim[1]; +}; + +GAxisLabel.prototype.setOffset = function(offset) { + this.offset = offset; +}; + +GAxisLabel.prototype.setRotate = function(rotate) { + this.rotate = rotate; +}; + +GAxisLabel.prototype.setText = function(text) { + this.text = text; +}; + +GAxisLabel.prototype.setTextAlignment = function(textAlignment) { + if (textAlignment === this.parent.CENTER || textAlignment === this.parent.LEFT || textAlignment === this.parent.RIGHT) { + this.textAlignment = textAlignment; + } +}; + +GAxisLabel.prototype.setFontName = function(fontName) { + this.fontName = fontName; +}; + +GAxisLabel.prototype.setFontColor = function(fontColor) { + this.fontColor = fontColor; +}; + +GAxisLabel.prototype.setFontSize = function(fontSize) { + if (fontSize > 0) { + this.fontSize = fontSize; + } +}; + +GAxisLabel.prototype.setFontProperties = function(fontName, fontColor, fontSize) { + if (fontSize > 0) { + this.fontName = fontName; + this.fontColor = fontColor; + this.fontSize = fontSize; + } +}; +/* + * Axis class. + */ +function GAxis(parent, type, dim, lim, log) { + // The parent processing object + this.parent = parent; + + // General properties + this.type = (type === this.parent.BOTTOM || type === this.parent.TOP || type === this.parent.LEFT || type === this.parent.RIGHT) ? type : this.parent.BOTTOM; + this.dim = dim.slice(); + this.lim = lim.slice(); + this.log = log; + + // Do some sanity checks + if (this.log && (this.lim[0] <= 0 || this.lim[1] <= 0)) { + console.log("The limits are negative. This is not allowed in logarithmic scale."); + console.log("Will set them to (0.1, 10)"); + + if (this.lim[1] > this.lim[0]) { + this.lim[0] = 0.1; + this.lim[1] = 10; + } else { + this.lim[0] = 10; + this.lim[1] = 0.1; + } + } + + // Format properties + this.offset = 5; + this.lineColor = this.parent.color(0); + this.lineWidth = 1; + + // Ticks properties + this.nTicks = 5; + this.ticksSeparation = -1; + this.ticks = []; + this.plotTicks = []; + this.ticksInside = []; + this.tickLabels = []; + this.fixedTicks = false; + this.tickLength = 3; + this.smallTickLength = 2; + this.expTickLabels = false; + this.rotateTickLabels = (this.type === this.parent.BOTTOM || this.type === this.parent.TOP) ? false : true; + this.drawTickLabels = (this.type === this.parent.BOTTOM || this.type === this.parent.LEFT) ? true : false; + this.tickLabelOffset = 7; + this.ticksPrecision = undefined; + + // Label properties + this.lab = new GAxisLabel(this.parent, this.type, this.dim); + this.drawAxisLabel = true; + + // Text properties + this.fontName = "Helvetica"; + this.fontColor = this.parent.color(0); + this.fontSize = 11; + + // Update the arrays + this.updateTicks(); + this.updatePlotTicks(); + this.updateTicksInside(); + this.updateTickLabels(); +} + +GAxis.prototype.obtainSigDigits = function(number) { + return Math.round(-Math.log(0.5 * Math.abs(number)) / Math.LN10); +}; + +GAxis.prototype.roundPlus = function(number, sigDigits) { + // Old way of doing it + // var bd = new BigDecimal(number); + // roundedNumber = parseFloat(bd.setScale(sigDigits, RoundingMode.HALF_UP()).longValue().toFixed(sigDigits)); + + number = Math.round(number * Math.pow(10, sigDigits)) / Math.pow(10, sigDigits); + + if (sigDigits <= 0) { + number = Math.round(number); + } + + return number; +}; + +GAxis.prototype.adaptSize = function(a, n) { + if (n < a.length) { + a.splice(n, Number.MAX_VALUE); + } +}; + +GAxis.prototype.updateTicks = function() { + if (this.log) { + this.obtainLogarithmicTicks(); + } else { + this.obtainLinearTicks(); + } +}; + +GAxis.prototype.obtainLogarithmicTicks = function() { + // Get the exponents of the first and last ticks in increasing order + var firstExp, lastExp; + + if (this.lim[1] > this.lim[0]) { + firstExp = Math.floor(Math.log(this.lim[0]) / Math.LN10); + lastExp = Math.ceil(Math.log(this.lim[1]) / Math.LN10); + } else { + firstExp = Math.floor(Math.log(this.lim[1]) / Math.LN10); + lastExp = Math.ceil(Math.log(this.lim[0]) / Math.LN10); + } + + // Calculate the ticks + var n = (lastExp - firstExp) * 9 + 1; + this.adaptSize(this.ticks, n); + + for (var exp = firstExp; exp < lastExp; exp++) { + var base = this.roundPlus(Math.exp(exp * Math.LN10), -exp); + + for (var i = 0; i < 9; i++) { + this.ticks[(exp - firstExp) * 9 + i] = (i + 1) * base; + } + + } + + this.ticks[this.ticks.length - 1] = this.roundPlus(Math.exp(lastExp * Math.LN10), -exp); + + // Change the ticks order if necessary + if (this.lim[1] < this.lim[0]) { + this.ticks.reverse(); + } +}; + +GAxis.prototype.obtainLinearTicks = function() { + // Obtain the required precision for the ticks + var step = 0; + var nSteps = 0; + var sigDigits = 0; + + if (this.ticksSeparation > 0) { + step = (this.lim[1] > this.lim[0]) ? this.ticksSeparation : -this.ticksSeparation; + sigDigits = this.obtainSigDigits(step); + + while (this.roundPlus(step, sigDigits) - step !== 0) { + sigDigits++; + } + + nSteps = Math.floor((this.lim[1] - this.lim[0]) / step); + } else if (this.nTicks > 0) { + step = (this.lim[1] - this.lim[0]) / this.nTicks; + sigDigits = this.obtainSigDigits(step); + step = this.roundPlus(step, sigDigits); + + if (step === 0 || Math.abs(step) > Math.abs(this.lim[1] - this.lim[0])) { + sigDigits++; + step = this.roundPlus((this.lim[1] - this.lim[0]) / this.nTicks, sigDigits); + } + + nSteps = Math.floor((this.lim[1] - this.lim[0]) / step); + } + + // Calculate the linear ticks + if (nSteps > 0) { + // Obtain the first tick + var firstTick = this.lim[0] + ((this.lim[1] - this.lim[0]) - nSteps * step) / 2; + + // Subtract some steps to be sure we have all + firstTick = this.roundPlus(firstTick - 2 * step, sigDigits); + + while ((this.lim[1] - firstTick) * (this.lim[0] - firstTick) > 0) { + firstTick = this.roundPlus(firstTick + step, sigDigits); + } + + // Calculate the rest of the ticks + var n = Math.floor(Math.abs((this.lim[1] - firstTick) / step)) + 1; + this.adaptSize(this.ticks, n); + this.ticks[0] = firstTick; + + for (var i = 1; i < n; i++) { + this.ticks[i] = this.roundPlus(this.ticks[i - 1] + step, sigDigits); + } + + // Save the ticks precision + this.ticksPrecision = sigDigits; + } else { + this.ticks = []; + } +}; + +GAxis.prototype.updatePlotTicks = function() { + var scaleFactor, i; + var n = this.ticks.length; + this.adaptSize(this.plotTicks, n); + + if (this.log) { + if (this.type === this.parent.BOTTOM || this.type === this.parent.TOP) { + scaleFactor = this.dim[0] / Math.log(this.lim[1] / this.lim[0]); + } else { + scaleFactor = -this.dim[1] / Math.log(this.lim[1] / this.lim[0]); + } + + for ( i = 0; i < n; i++) { + this.plotTicks[i] = Math.log(this.ticks[i] / this.lim[0]) * scaleFactor; + } + } else { + if (this.type === this.parent.BOTTOM || this.type === this.parent.TOP) { + scaleFactor = this.dim[0] / (this.lim[1] - this.lim[0]); + } else { + scaleFactor = -this.dim[1] / (this.lim[1] - this.lim[0]); + } + + for ( i = 0; i < n; i++) { + this.plotTicks[i] = (this.ticks[i] - this.lim[0]) * scaleFactor; + } + } +}; + +GAxis.prototype.updateTicksInside = function() { + var i; + var n = this.ticks.length; + this.adaptSize(this.ticksInside, n); + + if (this.type === this.parent.BOTTOM || this.type === this.parent.TOP) { + for ( i = 0; i < n; i++) { + this.ticksInside[i] = (this.plotTicks[i] >= 0) && (this.plotTicks[i] <= this.dim[0]); + } + } else { + for ( i = 0; i < n; i++) { + this.ticksInside[i] = (-this.plotTicks[i] >= 0) && (-this.plotTicks[i] <= this.dim[1]); + } + } +}; + +GAxis.prototype.updateTickLabels = function() { + var tick, logValue, isExactLogValue, i; + var n = this.ticks.length; + this.adaptSize(this.tickLabels, n); + + if (this.log) { + for ( i = 0; i < n; i++) { + tick = this.ticks[i]; + + if (tick > 0) { + logValue = Math.log(tick) / Math.LN10; + isExactLogValue = Math.abs(logValue - Math.round(logValue)) < 0.0001; + + if (isExactLogValue) { + logValue = Math.round(logValue); + + if (this.expTickLabels) { + this.tickLabels[i] = "1e" + logValue; + } else { + if (logValue > -3.1 && logValue < 3.1) { + this.tickLabels[i] = (logValue >= 0) ? "" + Math.round(tick) : "" + tick; + } else { + this.tickLabels[i] = "1e" + logValue; + } + } + } else { + this.tickLabels[i] = ""; + } + } else { + this.tickLabels[i] = ""; + } + } + } else { + for ( i = 0; i < n; i++) { + tick = this.ticks[i]; + + if (tick % 1 === 0) { + this.tickLabels[i] = "" + Math.round(tick); + } else if ( typeof this.ticksPrecision !== "undefined" && this.ticksPrecision >= 0) { + this.tickLabels[i] = "" + parseFloat(tick).toFixed(this.ticksPrecision); + } else { + this.tickLabels[i] = "" + tick; + } + } + } +}; + +GAxis.prototype.moveLim = function(newLim) { + if (newLim[1] !== newLim[0]) { + // Check that the new limit makes sense + if (this.log && (newLim[0] <= 0 || newLim[1] <= 0)) { + console.log("The limits are negative. This is not allowed in logarithmic scale."); + } else { + this.lim[0] = newLim[0]; + this.lim[1] = newLim[1]; + + // Calculate the new ticks if they are not fixed + if (!this.fixedTicks) { + var n = this.ticks.length; + + if (this.log) { + this.obtainLogarithmicTicks(); + } else if (n > 0) { + // Obtain the ticks precision and the tick separation + var step = 0; + var sigDigits = 0; + + if (this.ticksSeparation > 0) { + step = (this.lim[1] > this.lim[0]) ? this.ticksSeparation : -this.ticksSeparation; + sigDigits = this.obtainSigDigits(step); + + while (this.roundPlus(step, sigDigits) - step !== 0) { + sigDigits++; + } + } else { + step = (n === 1) ? this.lim[1] - this.lim[0] : this.ticks[1] - this.ticks[0]; + sigDigits = this.obtainSigDigits(step); + step = this.roundPlus(step, sigDigits); + + if (step === 0 || Math.abs(step) > Math.abs(this.lim[1] - this.lim[0])) { + sigDigits++; + step = (n === 1) ? this.lim[1] - this.lim[0] : this.ticks[1] - this.ticks[0]; + step = this.roundPlus(step, sigDigits); + } + + step = (this.lim[1] > this.lim[0]) ? Math.abs(step) : -Math.abs(step); + } + + // Obtain the first tick + var firstTick = this.ticks[0] + step * Math.ceil((this.lim[0] - this.ticks[0]) / step); + firstTick = this.roundPlus(firstTick, sigDigits); + + if ((this.lim[1] - firstTick) * (this.lim[0] - firstTick) > 0) { + firstTick = this.ticks[0] + step * Math.floor((this.lim[0] - this.ticks[0]) / step); + firstTick = this.roundPlus(firstTick, sigDigits); + } + + // Calculate the rest of the ticks + n = Math.floor(Math.abs((this.lim[1] - firstTick) / step)) + 1; + this.adaptSize(this.ticks, n); + this.ticks[0] = firstTick; + + for (var i = 1; i < n; i++) { + this.ticks[i] = this.roundPlus(this.ticks[i - 1] + step, sigDigits); + } + + // A sanity check + if (this.ticksPrecision !== sigDigits) { + console.log("There is a problem in the axis ticks precision calculation"); + } + } + + // Obtain the new tick labels + this.updateTickLabels(); + } + + // Update the rest of the arrays + this.updatePlotTicks(); + this.updateTicksInside(); + } + } +}; + +GAxis.prototype.draw = function() { + switch (this.type) { + case this.parent.BOTTOM: + this.drawAsXAxis(); + break; + case this.parent.LEFT: + this.drawAsYAxis(); + break; + case this.parent.TOP: + this.drawAsTopAxis(); + break; + case this.parent.RIGHT: + this.drawAsRightAxis(); + break; + } + + if (this.drawAxisLabel) { + this.lab.draw(); + } +}; + +GAxis.prototype.drawAsXAxis = function() { + var i; + + // Draw the ticks + this.parent.push(); + this.parent.stroke(this.lineColor); + this.parent.strokeWeight(this.lineWidth); + this.parent.strokeCap(this.parent.SQUARE); + + this.parent.line(0, this.offset, this.dim[0], this.offset); + + for ( i = 0; i < this.plotTicks.length; i++) { + if (this.ticksInside[i]) { + if (this.log && this.tickLabels[i] === "") { + this.parent.line(this.plotTicks[i], this.offset, this.plotTicks[i], this.offset + this.smallTickLength); + } else { + this.parent.line(this.plotTicks[i], this.offset, this.plotTicks[i], this.offset + this.tickLength); + } + } + } + + this.parent.pop(); + + // Draw the tick labels + if (this.drawTickLabels) { + this.parent.push(); + this.parent.textFont(this.fontName); + this.parent.textSize(this.fontSize); + this.parent.fill(this.fontColor); + this.parent.noStroke(); + + if (this.rotateTickLabels) { + var halfPI = 0.5 * Math.PI; + this.parent.textAlign(this.parent.RIGHT, this.parent.CENTER); + + for ( i = 0; i < this.plotTicks.length; i++) { + if (this.ticksInside[i] && this.tickLabels[i] !== "") { + this.parent.push(); + this.parent.translate(this.plotTicks[i], this.offset + this.tickLabelOffset); + this.parent.rotate(-halfPI); + this.parent.text(this.tickLabels[i], 0, 0); + this.parent.pop(); + } + } + } else { + this.parent.textAlign(this.parent.CENTER, this.parent.TOP); + + for ( i = 0; i < this.plotTicks.length; i++) { + if (this.ticksInside[i] && this.tickLabels[i] !== "") { + this.parent.text(this.tickLabels[i], this.plotTicks[i], this.offset + this.tickLabelOffset); + } + } + } + + this.parent.pop(); + } +}; + +GAxis.prototype.drawAsYAxis = function() { + var i; + + // Draw the ticks + this.parent.push(); + this.parent.stroke(this.lineColor); + this.parent.strokeWeight(this.lineWidth); + this.parent.strokeCap(this.parent.SQUARE); + + this.parent.line(-this.offset, 0, -this.offset, -this.dim[1]); + + for ( i = 0; i < this.plotTicks.length; i++) { + if (this.ticksInside[i]) { + if (this.log && this.tickLabels[i] === "") { + this.parent.line(-this.offset, this.plotTicks[i], -this.offset - this.smallTickLength, this.plotTicks[i]); + } else { + this.parent.line(-this.offset, this.plotTicks[i], -this.offset - this.tickLength, this.plotTicks[i]); + } + } + } + + this.parent.pop(); + + // Draw the tick labels + if (this.drawTickLabels) { + this.parent.push(); + this.parent.textFont(this.fontName); + this.parent.textSize(this.fontSize); + this.parent.fill(this.fontColor); + this.parent.noStroke(); + + if (this.rotateTickLabels) { + var halfPI = 0.5 * Math.PI; + this.parent.textAlign(this.parent.CENTER, this.parent.BOTTOM); + + for ( i = 0; i < this.plotTicks.length; i++) { + if (this.ticksInside[i] && this.tickLabels[i] !== "") { + this.parent.push(); + this.parent.translate(-this.offset - this.tickLabelOffset, this.plotTicks[i]); + this.parent.rotate(-halfPI); + this.parent.text(this.tickLabels[i], 0, 0); + this.parent.pop(); + } + } + } else { + this.parent.textAlign(this.parent.RIGHT, this.parent.CENTER); + + for ( i = 0; i < this.plotTicks.length; i++) { + if (this.ticksInside[i] && this.tickLabels[i] !== "") { + this.parent.text(this.tickLabels[i], -this.offset - this.tickLabelOffset, this.plotTicks[i]); + } + } + } + + this.parent.pop(); + } +}; + +GAxis.prototype.drawAsTopAxis = function() { + var i; + + // Draw the ticks + this.parent.push(); + this.parent.stroke(this.lineColor); + this.parent.strokeWeight(this.lineWidth); + this.parent.strokeCap(this.parent.SQUARE); + this.parent.translate(0, -this.dim[1]); + + this.parent.line(0, -this.offset, this.dim[0], -this.offset); + + for ( i = 0; i < this.plotTicks.length; i++) { + if (this.ticksInside[i]) { + if (this.log && this.tickLabels[i] === "") { + this.parent.line(this.plotTicks[i], -this.offset, this.plotTicks[i], -this.offset - this.smallTickLength); + } else { + this.parent.line(this.plotTicks[i], -this.offset, this.plotTicks[i], -this.offset - this.tickLength); + } + } + } + + this.parent.pop(); + + // Draw the tick labels + if (this.drawTickLabels) { + this.parent.push(); + this.parent.textFont(this.fontName); + this.parent.textSize(this.fontSize); + this.parent.fill(this.fontColor); + this.parent.noStroke(); + this.parent.translate(0, -this.dim[1]); + + if (this.rotateTickLabels) { + var halfPI = 0.5 * Math.PI; + this.parent.textAlign(this.parent.LEFT, this.parent.CENTER); + + for ( i = 0; i < this.plotTicks.length; i++) { + if (this.ticksInside[i] && this.tickLabels[i] !== "") { + this.parent.push(); + this.parent.translate(this.plotTicks[i], -this.offset - this.tickLabelOffset); + this.parent.rotate(-halfPI); + this.parent.text(this.tickLabels[i], 0, 0); + this.parent.pop(); + } + } + } else { + this.parent.textAlign(this.parent.CENTER, this.parent.BOTTOM); + + for ( i = 0; i < this.plotTicks.length; i++) { + if (this.ticksInside[i] && this.tickLabels[i] !== "") { + this.parent.text(this.tickLabels[i], this.plotTicks[i], -this.offset - this.tickLabelOffset); + } + } + } + + this.parent.pop(); + } +}; + +GAxis.prototype.drawAsRightAxis = function() { + var i; + + // Draw the ticks + this.parent.push(); + this.parent.stroke(this.lineColor); + this.parent.strokeWeight(this.lineWidth); + this.parent.strokeCap(this.parent.SQUARE); + this.parent.translate(this.dim[0], 0); + + this.parent.line(this.offset, 0, this.offset, -this.dim[1]); + + for ( i = 0; i < this.plotTicks.length; i++) { + if (this.ticksInside[i]) { + if (this.log && this.tickLabels[i] === "") { + this.parent.line(this.offset, this.plotTicks[i], this.offset + this.smallTickLength, this.plotTicks[i]); + } else { + this.parent.line(this.offset, this.plotTicks[i], this.offset + this.tickLength, this.plotTicks[i]); + } + } + } + + this.parent.pop(); + + // Draw the tick labels + if (this.drawTickLabels) { + this.parent.push(); + this.parent.textFont(this.fontName); + this.parent.textSize(this.fontSize); + this.parent.fill(this.fontColor); + this.parent.noStroke(); + this.parent.translate(this.dim[0], 0); + + if (this.rotateTickLabels) { + var halfPI = 0.5 * Math.PI; + this.parent.textAlign(this.parent.CENTER, this.parent.TOP); + + for ( i = 0; i < this.plotTicks.length; i++) { + if (this.ticksInside[i] && this.tickLabels[i] !== "") { + this.parent.push(); + this.parent.translate(this.offset + this.tickLabelOffset, this.plotTicks[i]); + this.parent.rotate(-halfPI); + this.parent.text(this.tickLabels[i], 0, 0); + this.parent.pop(); + } + } + } else { + this.parent.textAlign(this.parent.LEFT, this.parent.CENTER); + + for ( i = 0; i < this.plotTicks.length; i++) { + if (this.ticksInside[i] && this.tickLabels[i] !== "") { + this.parent.text(this.tickLabels[i], this.offset + this.tickLabelOffset, this.plotTicks[i]); + } + } + } + + this.parent.pop(); + } +}; + +GAxis.prototype.setDim = function() { + var xDim, yDim; + + if (arguments.length === 2) { + xDim = arguments[0]; + yDim = arguments[1]; + } else if (arguments.length === 1) { + xDim = arguments[0][0]; + yDim = arguments[0][1]; + } else { + throw new Error("GAxis.setDim(): signature not supported"); + } + + if (xDim > 0 && yDim > 0) { + this.dim[0] = xDim; + this.dim[1] = yDim; + this.updatePlotTicks(); + this.lab.setDim(this.dim); + } +}; + +GAxis.prototype.setLim = function(lim) { + if (lim[1] !== lim[0]) { + // Make sure the new limits makes sense + if (this.log && (lim[0] <= 0 || lim[1] <= 0)) { + console.log("One of the limits is negative. This is not allowed in logarithmic scale."); + } else { + this.lim[0] = lim[0]; + this.lim[1] = lim[1]; + + if (!this.fixedTicks) { + this.updateTicks(); + this.updateTickLabels(); + } + + this.updatePlotTicks(); + this.updateTicksInside(); + } + } +}; + +GAxis.prototype.setLimAndLog = function(lim, log) { + if (lim[1] !== lim[0]) { + // Make sure the new limits makes sense + if (log && (lim[0] <= 0 || lim[1] <= 0)) { + console.log("One of the limits is negative. This is not allowed in logarithmic scale."); + } else { + this.lim[0] = lim[0]; + this.lim[1] = lim[1]; + this.log = log; + + if (!this.fixedTicks) { + this.updateTicks(); + this.updateTickLabels(); + } + + this.updatePlotTicks(); + this.updateTicksInside(); + } + } +}; + +GAxis.prototype.setLog = function(log) { + if (log !== this.log) { + this.log = log; + + // Check if the old limits still make sense + if (this.log && (this.lim[0] <= 0 || this.lim[1] <= 0)) { + console.log("The limits are negative. This is not allowed in logarithmic scale."); + console.log("Will set them to (0.1, 10)"); + + if (this.lim[1] > this.lim[0]) { + this.lim[0] = 0.1; + this.lim[1] = 10; + } else { + this.lim[0] = 10; + this.lim[1] = 0.1; + } + } + + if (!this.fixedTicks) { + this.updateTicks(); + this.updateTickLabels(); + } + + this.updatePlotTicks(); + this.updateTicksInside(); + } +}; + +GAxis.prototype.setOffset = function(offset) { + this.offset = offset; +}; + +GAxis.prototype.setLineColor = function(lineColor) { + this.lineColor = lineColor; +}; + +GAxis.prototype.setLineWidth = function(lineWidth) { + if (lineWidth > 0) { + this.lineWidth = lineWidth; + } +}; + +GAxis.prototype.setNTicks = function(nTicks) { + if (nTicks >= 0) { + this.nTicks = nTicks; + this.ticksSeparation = -1; + + if (!this.log) { + this.fixedTicks = false; + this.updateTicks(); + this.updatePlotTicks(); + this.updateTicksInside(); + this.updateTickLabels(); + } + } +}; + +GAxis.prototype.setTicksSeparation = function(ticksSeparation) { + this.ticksSeparation = ticksSeparation; + + if (!this.log) { + this.fixedTicks = false; + this.updateTicks(); + this.updatePlotTicks(); + this.updateTicksInside(); + this.updateTickLabels(); + } +}; + +GAxis.prototype.setTicks = function(ticks) { + var n = ticks.length; + this.adaptSize(this.ticks, n); + + for (var i = 0; i < n; i++) { + this.ticks[i] = ticks[i]; + } + + this.fixedTicks = true; + + // Set the tick precision to undefined + this.ticksPrecision = undefined; + + this.updatePlotTicks(); + this.updateTicksInside(); + this.updateTickLabels(); +}; + +GAxis.prototype.setTickLabels = function(tickLabels) { + if (tickLabels.length === this.tickLabels.length) { + for (var i = 0; i < this.tickLabels.length; i++) { + this.tickLabels[i] = tickLabels[i]; + } + + this.fixedTicks = true; + + // Set the tick precision to undefined + this.ticksPrecision = undefined; + } +}; + +GAxis.prototype.setFixedTicks = function(fixedTicks) { + if (fixedTicks !== this.fixedTicks) { + this.fixedTicks = fixedTicks; + + if (!this.fixedTicks) { + this.updateTicks(); + this.updatePlotTicks(); + this.updateTicksInside(); + this.updateTickLabels(); + } + } +}; + +GAxis.prototype.setTickLength = function(tickLength) { + this.tickLength = tickLength; +}; + +GAxis.prototype.setSmallTickLength = function(smallTickLength) { + this.smallTickLength = smallTickLength; +}; + +GAxis.prototype.setExpTickLabels = function(expTickLabels) { + if (expTickLabels !== this.expTickLabels) { + this.expTickLabels = expTickLabels; + this.updateTickLabels(); + } +}; + +GAxis.prototype.setRotateTickLabels = function(rotateTickLabels) { + this.rotateTickLabels = rotateTickLabels; +}; + +GAxis.prototype.setDrawTickLabels = function(drawTickLabels) { + this.drawTickLabels = drawTickLabels; +}; + +GAxis.prototype.setTickLabelOffset = function(tickLabelOffset) { + this.tickLabelOffset = tickLabelOffset; +}; + +GAxis.prototype.setDrawAxisLabel = function(drawAxisLabel) { + this.drawAxisLabel = drawAxisLabel; +}; + +GAxis.prototype.setAxisLabelText = function(axisLabelText) { + this.lab.setText(axisLabelText); +}; + +GAxis.prototype.setFontName = function(fontName) { + this.fontName = fontName; +}; + +GAxis.prototype.setFontColor = function(fontColor) { + this.fontColor = fontColor; +}; + +GAxis.prototype.setFontSize = function(fontSize) { + if (fontSize > 0) { + this.fontSize = fontSize; + } +}; + +GAxis.prototype.setFontProperties = function(fontName, fontColor, fontSize) { + if (fontSize > 0) { + this.fontName = fontName; + this.fontColor = fontColor; + this.fontSize = fontSize; + } +}; + +GAxis.prototype.setAllFontProperties = function(fontName, fontColor, fontSize) { + this.setFontProperties(fontName, fontColor, fontSize); + this.lab.setFontProperties(fontName, fontColor, fontSize); +}; + +GAxis.prototype.getTicks = function() { + if (this.fixedTicks) { + return this.ticks.slice(); + } else { + // Return only the ticks that are visible + var validTicks = []; + var counter = 0; + + for (var i = 0; i < this.ticksInside.length; i++) { + if (this.ticksInside[i]) { + validTicks[counter] = this.ticks[i]; + counter++; + } + } + + return validTicks; + } +}; + +GAxis.prototype.getTicksRef = function() { + return this.ticks; +}; + +GAxis.prototype.getPlotTicks = function() { + if (this.fixedTicks) { + return this.plotTicks.slice(); + } else { + var validPlotTicks = []; + var counter = 0; + + for (var i = 0; i < this.ticksInside.length; i++) { + if (this.ticksInside[i]) { + validPlotTicks[counter] = this.plotTicks[i]; + counter++; + } + } + + return validPlotTicks; + } +}; + +GAxis.prototype.getPlotTicksRef = function() { + return this.plotTicks; +}; + +GAxis.prototype.getAxisLabel = function() { + return this.lab; +}; +/* + * Histogram class. + */ +function GHistogram(parent, type, dim, plotPoints) { + // The parent processing object + this.parent = parent; + + // General properties + this.type = (type === GPlot.VERTICAL || type === GPlot.HORIZONTAL) ? type : GPlot.VERTICAL; + this.dim = dim.slice(); + this.plotPoints = []; + + // Copy the plot points + for (var i = 0; i < plotPoints.length; i++) { + this.plotPoints[i] = new GPoint(plotPoints[i]); + } + + this.visible = true; + this.separations = [2]; + this.bgColors = [this.parent.color(150, 150, 255)]; + this.lineColors = [this.parent.color(100, 100, 255)]; + this.lineWidths = [1]; + this.differences = []; + this.leftSides = []; + this.rightSides = []; + this.updateArrays(); + + // Labels properties + this.labelsOffset = 8; + this.drawLabels = false; + this.rotateLabels = false; + this.fontName = "Helvetica"; + this.fontColor = this.parent.color(0); + this.fontSize = 11; +} + +GHistogram.prototype.updateArrays = function() { + var i; + var nPoints = this.plotPoints.length; + + // Remove unused points + if (this.differences.length > nPoints) { + this.differences.splice(nPoints, Number.MAX_VALUE); + this.leftSides.splice(nPoints, Number.MAX_VALUE); + this.rightSides.splice(nPoints, Number.MAX_VALUE); + } + + // Update the arrays + if (nPoints === 1) { + this.leftSides[0] = (this.type === GPlot.VERTICAL) ? 0.2 * this.dim[0] : 0.2 * this.dim[1]; + this.rightSides[0] = this.leftSides[0]; + } else if (nPoints > 1) { + // Calculate the differences between consecutive points + for ( i = 0; i < nPoints - 1; i++) { + if (this.plotPoints[i].isValid() && this.plotPoints[i + 1].isValid()) { + var separation = this.separations[i % this.separations.length]; + var diff; + + if (this.type === GPlot.VERTICAL) { + diff = this.plotPoints[i + 1].getX() - this.plotPoints[i].getX(); + } else { + diff = this.plotPoints[i + 1].getY() - this.plotPoints[i].getY(); + } + + if (diff > 0) { + this.differences[i] = (diff - separation) / 2; + } else { + this.differences[i] = (diff + separation) / 2; + } + } else { + this.differences[i] = 0; + } + } + + // Fill the leftSides and rightSides arrays + this.leftSides[0] = this.differences[0]; + this.rightSides[0] = this.differences[0]; + + for ( i = 1; i < nPoints - 1; i++) { + this.leftSides[i] = this.differences[i - 1]; + this.rightSides[i] = this.differences[i]; + } + + this.leftSides[nPoints - 1] = this.differences[nPoints - 2]; + this.rightSides[nPoints - 1] = this.differences[nPoints - 2]; + } +}; + +GHistogram.prototype.draw = function(plotBasePoint) { + if (this.visible) { + // Calculate the baseline for the histogram + var baseline = 0; + + if (plotBasePoint.isValid()) { + baseline = (this.type === GPlot.VERTICAL) ? plotBasePoint.getY() : plotBasePoint.getX(); + } + + // Draw the rectangles + var point, x1, x2, y1, y2, lw; + var nPoints = this.plotPoints.length; + + this.parent.push(); + this.parent.rectMode(this.parent.CORNERS); + this.parent.strokeCap(this.parent.SQUARE); + + for (var i = 0; i < nPoints; i++) { + point = this.plotPoints[i]; + + if (point.isValid()) { + // Obtain the corners + if (this.type === GPlot.VERTICAL) { + x1 = point.getX() - this.leftSides[i]; + x2 = point.getX() + this.rightSides[i]; + y1 = point.getY(); + y2 = baseline; + } else { + x1 = baseline; + x2 = point.getX(); + y1 = point.getY() - this.leftSides[i]; + y2 = point.getY() + this.rightSides[i]; + } + + if (x1 < 0) { + x1 = 0; + } else if (x1 > this.dim[0]) { + x1 = this.dim[0]; + } + + if (-y1 < 0) { + y1 = 0; + } else if (-y1 > this.dim[1]) { + y1 = -this.dim[1]; + } + + if (x2 < 0) { + x2 = 0; + } else if (x2 > this.dim[0]) { + x2 = this.dim[0]; + } + + if (-y2 < 0) { + y2 = 0; + } else if (-y2 > this.dim[1]) { + y2 = -this.dim[1]; + } + + // Draw the rectangle + lw = this.lineWidths[i % this.lineWidths.length]; + this.parent.fill(this.bgColors[i % this.bgColors.length]); + this.parent.stroke(this.lineColors[i % this.lineColors.length]); + this.parent.strokeWeight(lw); + + if (Math.abs(x2 - x1) > 2 * lw && Math.abs(y2 - y1) > 2 * lw) { + this.parent.rect(x1, y1, x2, y2); + } else if ((this.type === GPlot.VERTICAL && x2 !== x1 && !(y1 === y2 && (y1 === 0 || y1 === -this.dim[1]))) || (this.type === GPlot.HORIZONTAL && y2 !== y1 && !(x1 === x2 && (x1 === 0 || x1 === this.dim[0])))) { + this.parent.rect(x1, y1, x2, y2); + this.parent.line(x1, y1, x1, y2); + this.parent.line(x2, y1, x2, y2); + this.parent.line(x1, y1, x2, y1); + this.parent.line(x1, y2, x2, y2); + } + } + } + + this.parent.pop(); + + // Draw the labels + if (this.drawLabels) { + this.drawHistLabels(); + } + } +}; + +GHistogram.prototype.drawHistLabels = function() { + var point, i; + var nPoints = this.plotPoints.length; + var halfPI = 0.5 * Math.PI; + + this.parent.push(); + this.parent.textFont(this.fontName); + this.parent.textSize(this.fontSize); + this.parent.fill(this.fontColor); + this.parent.noStroke(); + + if (this.type === GPlot.VERTICAL) { + if (this.rotateLabels) { + this.parent.textAlign(this.parent.RIGHT, this.parent.CENTER); + + for ( i = 0; i < nPoints; i++) { + point = this.plotPoints[i]; + + if (point.isValid() && point.getX() >= 0 && point.getX() <= this.dim[0]) { + this.parent.push(); + this.parent.translate(point.getX(), this.labelsOffset); + this.parent.rotate(-halfPI); + this.parent.text(point.getLabel(), 0, 0); + this.parent.pop(); + } + } + } else { + this.parent.textAlign(this.parent.CENTER, this.parent.TOP); + + for ( i = 0; i < nPoints; i++) { + point = this.plotPoints[i]; + + if (point.isValid() && point.getX() >= 0 && point.getX() <= this.dim[0]) { + this.parent.text(point.getLabel(), point.getX(), this.labelsOffset); + } + } + } + } else { + if (this.rotateLabels) { + this.parent.textAlign(this.parent.CENTER, this.parent.BOTTOM); + + for ( i = 0; i < nPoints; i++) { + point = this.plotPoints[i]; + + if (point.isValid() && -point.getY() >= 0 && -point.getY() <= this.dim[1]) { + this.parent.push(); + this.parent.translate(-this.labelsOffset, point.getY()); + this.parent.rotate(-halfPI); + this.parent.text(point.getLabel(), 0, 0); + this.parent.pop(); + } + } + } else { + this.parent.textAlign(this.parent.RIGHT, this.parent.CENTER); + + for ( i = 0; i < nPoints; i++) { + point = this.plotPoints[i]; + + if (point.isValid() && -point.getY() >= 0 && -point.getY() <= this.dim[1]) { + this.parent.text(point.getLabel(), -this.labelsOffset, point.getY()); + } + } + } + } + + this.parent.pop(); +}; + +GHistogram.prototype.setType = function(type) { + if (type !== this.type && (type === GPlot.VERTICAL || type === GPlot.HORIZONTAL)) { + this.type = type; + this.updateArrays(); + } +}; + +GHistogram.prototype.setDim = function() { + var xDim, yDim; + + if (arguments.length === 2) { + xDim = arguments[0]; + yDim = arguments[1]; + } else if (arguments.length === 1) { + xDim = arguments[0][0]; + yDim = arguments[0][1]; + } else { + throw new Error("GHistogram.setDim(): signature not supported"); + } + + if (xDim > 0 && yDim > 0) { + this.dim[0] = xDim; + this.dim[1] = yDim; + this.updateArrays(); + } +}; + +GHistogram.prototype.setPlotPoints = function(plotPoints) { + var i; + var nPoints = plotPoints.length; + + if (this.plotPoints.length === nPoints) { + for ( i = 0; i < nPoints; i++) { + this.plotPoints[i].set(plotPoints[i]); + } + } else if (this.plotPoints.length > nPoints) { + for ( i = 0; i < nPoints; i++) { + this.plotPoints[i].set(plotPoints[i]); + } + + this.plotPoints.splice(nPoints, Number.MAX_VALUE); + } else { + for ( i = 0; i < this.plotPoints.length; i++) { + this.plotPoints[i].set(plotPoints[i]); + } + + for ( i = this.plotPoints.lengh; i < nPoints; i++) { + this.plotPoints[i] = new GPoint(plotPoints[i]); + } + } + + this.updateArrays(); +}; + +GHistogram.prototype.setPlotPoint = function(index, plotPoint) { + if (index < this.plotPoints.length) { + this.plotPoints[index].set(plotPoint); + } else if (index === this.plotPoints.length) { + this.plotPoints[index] = new GPoint(plotPoint); + } else { + throw new Error("GHistogram.setPlotPoint(): the index position is outside the array size"); + } + + this.updateArrays(); +}; + +GHistogram.prototype.addPlotPoint = function() { + if (arguments.length === 2) { + this.plotPoints.push(new GPoint(arguments[0], arguments[1])); + } else if (arguments.length === 1) { + this.plotPoints.push(new GPoint(arguments[0])); + } else { + throw new Error("GHistogram.addPlotPoint(): signature not supported"); + } + + this.updateArrays(); +}; + +GHistogram.prototype.removePlotPoint = function(index) { + if (index < this.plotPoints.length) { + this.plotPoints.splice(index, 1); + } else { + throw new Error("GHistogram.removePlotPoint(): the index position is outside the array size"); + } + + this.updateArrays(); +}; + +GHistogram.prototype.setSeparations = function(separations) { + this.separations = separations.slice(); + this.updateArrays(); +}; + +GHistogram.prototype.setBgColors = function(bgColors) { + this.bgColors = bgColors.slice(); +}; + +GHistogram.prototype.setLineColors = function(lineColors) { + this.lineColors = lineColors.slice(); +}; + +GHistogram.prototype.setLineWidths = function(lineWidths) { + this.lineWidths = lineWidths.slice(); +}; + +GHistogram.prototype.setVisible = function(visible) { + this.visible = visible; +}; + +GHistogram.prototype.setLabelsOffset = function(labelsOffset) { + this.labelsOffset = labelsOffset; +}; + +GHistogram.prototype.setDrawLabels = function(drawLabels) { + this.drawLabels = drawLabels; +}; + +GHistogram.prototype.setRotateLabels = function(rotateLabels) { + this.rotateLabels = rotateLabels; +}; + +GHistogram.prototype.setFontName = function(fontName) { + this.fontName = fontName; +}; + +GHistogram.prototype.setFontColor = function(fontColor) { + this.fontColor = fontColor; +}; + +GHistogram.prototype.setFontSize = function(fontSize) { + if (fontSize > 0) { + this.fontSize = fontSize; + } +}; + +GHistogram.prototype.setFontProperties = function(fontName, fontColor, fontSize) { + if (fontSize > 0) { + this.fontName = fontName; + this.fontColor = fontColor; + this.fontSize = fontSize; + } +}; +/* + * Layer class. A GLayer usually contains an array of points and a histogram + */ +function GLayer(parent, id, dim, xLim, yLim, xLog, yLog) { + // The parent processing object + this.parent = parent; + + // General properties + this.id = id; + this.dim = dim.slice(); + this.xLim = xLim.slice(); + this.yLim = yLim.slice(); + this.xLog = xLog; + this.yLog = yLog; + + // Do some sanity checks + if (this.xLog && (this.xLim[0] <= 0 || this.xLim[1] <= 0)) { + console.log("One of the limits is negative. This is not allowed in logarithmic scale."); + console.log("Will set horizontal limits to (0.1, 10)"); + this.xLim[0] = 0.1; + this.xLim[1] = 10; + } + + if (this.yLog && (this.yLim[0] <= 0 || this.yLim[1] <= 0)) { + console.log("One of the limits is negative. This is not allowed in logarithmic scale."); + console.log("Will set vertical limits to (0.1, 10)"); + this.yLim[0] = 0.1; + this.yLim[1] = 10; + } + + // Points properties + this.points = []; + this.plotPoints = []; + this.inside = []; + this.pointColors = [this.parent.color(255, 0, 0, 150)]; + this.pointSizes = [7]; + + // Line properties + this.lineColor = this.parent.color(0, 150); + this.lineWidth = 1; + + // Histogram properties + this.hist = undefined; + this.histBasePoint = new GPoint(0, 0); + + // Labels properties + this.labelBgColor = this.parent.color(255, 200); + this.labelSeparation = [7, 7]; + this.fontName = "Helvetica"; + this.fontColor = this.parent.color(0); + this.fontSize = 11; + + // Helper variable + this.cuts = [[0, 0], [0, 0], [0, 0], [0, 0]]; +} + +GLayer.prototype.isValidNumber = function(number) { + return !isNaN(number) && isFinite(number); +}; + +GLayer.prototype.isId = function(someId) { + return this.id === someId; +}; + +GLayer.prototype.valueToXPlot = function(x) { + if (this.xLog) { + return this.dim[0] * Math.log(x / this.xLim[0]) / Math.log(this.xLim[1] / this.xLim[0]); + } else { + return this.dim[0] * (x - this.xLim[0]) / (this.xLim[1] - this.xLim[0]); + } +}; + +GLayer.prototype.valueToYPlot = function(y) { + if (this.yLog) { + return -this.dim[1] * Math.log(y / this.yLim[0]) / Math.log(this.yLim[1] / this.yLim[0]); + } else { + return -this.dim[1] * (y - this.yLim[0]) / (this.yLim[1] - this.yLim[0]); + } +}; + +GLayer.prototype.valueToPlot = function() { + if (arguments.length === 2) { + return [this.valueToXPlot(arguments[0]), this.valueToYPlot(arguments[1])]; + } else if (arguments.length === 1 && arguments[0] instanceof GPoint) { + return new GPoint(this.valueToXPlot(arguments[0].getX()), this.valueToYPlot(arguments[0].getY()), arguments[0].getLabel()); + } else if (arguments.length === 1 && arguments[0] instanceof Array && arguments[0][0] instanceof GPoint) { + var xScalingFactor, yScalingFactor, point, xPlot, yPlot, i; + var nPoints = arguments[0].length; + var plotPts = []; + + // Go case by case. More code, but it's faster + if (this.xLog && this.yLog) { + xScalingFactor = this.dim[0] / Math.log(this.xLim[1] / this.xLim[0]); + yScalingFactor = -this.dim[1] / Math.log(this.yLim[1] / this.yLim[0]); + + for ( i = 0; i < nPoints; i++) { + point = arguments[0][i]; + xPlot = Math.log(point.getX() / this.xLim[0]) * xScalingFactor; + yPlot = Math.log(point.getY() / this.yLim[0]) * yScalingFactor; + plotPts[i] = new GPoint(xPlot, yPlot, point.getLabel()); + } + } else if (this.xLog) { + xScalingFactor = this.dim[0] / Math.log(this.xLim[1] / this.xLim[0]); + yScalingFactor = -this.dim[1] / (this.yLim[1] - this.yLim[0]); + + for ( i = 0; i < nPoints; i++) { + point = arguments[0][i]; + xPlot = Math.log(point.getX() / this.xLim[0]) * xScalingFactor; + yPlot = (point.getY() - this.yLim[0]) * yScalingFactor; + plotPts[i] = new GPoint(xPlot, yPlot, point.getLabel()); + } + } else if (this.yLog) { + xScalingFactor = this.dim[0] / (this.xLim[1] - this.xLim[0]); + yScalingFactor = -this.dim[1] / Math.log(this.yLim[1] / this.yLim[0]); + + for ( i = 0; i < nPoints; i++) { + point = arguments[0][i]; + xPlot = (point.getX() - this.xLim[0]) * xScalingFactor; + yPlot = Math.log(point.getY() / this.yLim[0]) * yScalingFactor; + plotPts[i] = new GPoint(xPlot, yPlot, point.getLabel()); + } + } else { + xScalingFactor = this.dim[0] / (this.xLim[1] - this.xLim[0]); + yScalingFactor = -this.dim[1] / (this.yLim[1] - this.yLim[0]); + + for ( i = 0; i < nPoints; i++) { + point = arguments[0][i]; + xPlot = (point.getX() - this.xLim[0]) * xScalingFactor; + yPlot = (point.getY() - this.yLim[0]) * yScalingFactor; + plotPts[i] = new GPoint(xPlot, yPlot, point.getLabel()); + } + } + + return plotPts; + } else { + throw new Error("GLayer.valueToPlot(): signature not supported"); + } +}; + +GLayer.prototype.updatePlotPoints = function() { + var xScalingFactor, yScalingFactor, point, xPlot, yPlot, i; + var nPoints = this.points.length; + + // Update the plotPoints array size if necessary + if (this.plotPoints.length < nPoints) { + for ( i = this.plotPoints.length; i < nPoints; i++) { + this.plotPoints[i] = new GPoint(); + } + } else if (this.plotPoints.length > nPoints) { + this.plotPoints.splice(nPoints, Number.MAX_VALUE); + } + + // Go case by case. More code, but it should be faster + if (this.xLog && this.yLog) { + xScalingFactor = this.dim[0] / Math.log(this.xLim[1] / this.xLim[0]); + yScalingFactor = -this.dim[1] / Math.log(this.yLim[1] / this.yLim[0]); + + for ( i = 0; i < nPoints; i++) { + point = this.points[i]; + xPlot = Math.log(point.getX() / this.xLim[0]) * xScalingFactor; + yPlot = Math.log(point.getY() / this.yLim[0]) * yScalingFactor; + this.plotPoints[i].set(xPlot, yPlot, point.getLabel()); + } + } else if (this.xLog) { + xScalingFactor = this.dim[0] / Math.log(this.xLim[1] / this.xLim[0]); + yScalingFactor = -this.dim[1] / (this.yLim[1] - this.yLim[0]); + + for ( i = 0; i < nPoints; i++) { + point = this.points[i]; + xPlot = Math.log(point.getX() / this.xLim[0]) * xScalingFactor; + yPlot = (point.getY() - this.yLim[0]) * yScalingFactor; + this.plotPoints[i].set(xPlot, yPlot, point.getLabel()); + } + } else if (this.yLog) { + xScalingFactor = this.dim[0] / (this.xLim[1] - this.xLim[0]); + yScalingFactor = -this.dim[1] / Math.log(this.yLim[1] / this.yLim[0]); + + for ( i = 0; i < nPoints; i++) { + point = this.points[i]; + xPlot = (point.getX() - this.xLim[0]) * xScalingFactor; + yPlot = Math.log(point.getY() / this.yLim[0]) * yScalingFactor; + this.plotPoints[i].set(xPlot, yPlot, point.getLabel()); + } + } else { + xScalingFactor = this.dim[0] / (this.xLim[1] - this.xLim[0]); + yScalingFactor = -this.dim[1] / (this.yLim[1] - this.yLim[0]); + + for ( i = 0; i < nPoints; i++) { + point = this.points[i]; + xPlot = (point.getX() - this.xLim[0]) * xScalingFactor; + yPlot = (point.getY() - this.yLim[0]) * yScalingFactor; + this.plotPoints[i].set(xPlot, yPlot, point.getLabel()); + } + } +}; + +GLayer.prototype.xPlotToValue = function(xPlot) { + if (this.xLog) { + return Math.exp(Math.log(this.xLim[0]) + Math.log(this.xLim[1] / this.xLim[0]) * xPlot / this.dim[0]); + } else { + return this.xLim[0] + (this.xLim[1] - this.xLim[0]) * xPlot / this.dim[0]; + } +}; + +GLayer.prototype.yPlotToValue = function(yPlot) { + if (this.yLog) { + return Math.exp(Math.log(this.yLim[0]) - Math.log(this.yLim[1] / this.yLim[0]) * yPlot / this.dim[1]); + } else { + return this.yLim[0] - (this.yLim[1] - this.yLim[0]) * yPlot / this.dim[1]; + } +}; + +GLayer.prototype.plotToValue = function(xPlot, yPlot) { + return [this.xPlotToValue(xPlot), this.yPlotToValue(yPlot)]; +}; + +GLayer.prototype.isInside = function() { + var xPlot, yPlot, valid; + + if (arguments.length === 2) { + xPlot = arguments[0]; + yPlot = arguments[1]; + valid = this.isValidNumber(xPlot) && this.isValidNumber(yPlot); + } else if (arguments.length === 1 && arguments[0] instanceof GPoint) { + xPlot = arguments[0].getX(); + yPlot = arguments[0].getY(); + valid = arguments[0].isValid(); + } else { + throw new Error("GLayer.isInside(): signature not supported"); + } + + return (valid) ? (xPlot >= 0) && (xPlot <= this.dim[0]) && (-yPlot >= 0) && (-yPlot <= this.dim[1]) : false; +}; + +GLayer.prototype.updateInsideList = function() { + var point; + var nPoints = this.plotPoints.length; + + for (var i = 0; i < nPoints; i++) { + point = this.plotPoints[i]; + this.inside[i] = (point.isValid()) ? (point.getX() >= 0) && (point.getX() <= this.dim[0]) && (-point.getY() >= 0) && (-point.getY() <= this.dim[1]) : false; + } + + // Remove the unused elements + if (this.inside.length > nPoints) { + this.inside.splice(nPoints, Number.MAX_VALUE); + } +}; + +GLayer.prototype.getPointIndexAtPlotPos = function(xPlot, yPlot) { + var pointIndex; + + if (this.isInside(xPlot, yPlot)) { + var point, distSq; + var minDistSq = 25; + var nPoints = this.plotPoints.length; + + for (var i = 0; i < nPoints; i++) { + if (this.inside[i]) { + point = this.plotPoints[i]; + distSq = Math.pow(point.getX() - xPlot, 2) + Math.pow(point.getY() - yPlot, 2); + + if (distSq < minDistSq) { + minDistSq = distSq; + pointIndex = i; + } + } + } + } + + return pointIndex; +}; + +GLayer.prototype.getPointAtPlotPos = function(xPlot, yPlot) { + return this.points[this.getPointIndexAtPlotPos(xPlot, yPlot)]; +}; + +GLayer.prototype.obtainBoxIntersections = function(plotPoint1, plotPoint2) { + var nCuts = 0; + + if (plotPoint1.isValid() && plotPoint2.isValid()) { + var x1 = plotPoint1.getX(); + var y1 = plotPoint1.getY(); + var x2 = plotPoint2.getX(); + var y2 = plotPoint2.getY(); + var inside1 = this.isInside(x1, y1); + var inside2 = this.isInside(x2, y2); + + // Check if the line between the two points could cut the box borders + var dontCut = (inside1 && inside2) || (x1 < 0 && x2 < 0) || (x1 > this.dim[0] && x2 > this.dim[0]) || (-y1 < 0 && -y2 < 0) || (-y1 > this.dim[1] && -y2 > this.dim[1]); + + if (!dontCut) { + // Obtain the axis cuts of the line that cross the two points + var deltaX = x2 - x1; + var deltaY = y2 - y1; + + if (deltaX === 0) { + nCuts = 2; + this.cuts[0][0] = x1; + this.cuts[0][1] = 0; + this.cuts[1][0] = x1; + this.cuts[1][1] = -this.dim[1]; + } else if (deltaY === 0) { + nCuts = 2; + this.cuts[0][0] = 0; + this.cuts[0][1] = y1; + this.cuts[1][0] = this.dim[0]; + this.cuts[1][1] = y1; + } else { + // Obtain the straight line (y = yCut + slope*x) that + // crosses the two points + var slope = deltaY / deltaX; + var yCut = y1 - slope * x1; + + // Calculate the axis cuts of that line + nCuts = 4; + this.cuts[0][0] = -yCut / slope; + this.cuts[0][1] = 0; + this.cuts[1][0] = (-this.dim[1] - yCut) / slope; + this.cuts[1][1] = -this.dim[1]; + this.cuts[2][0] = 0; + this.cuts[2][1] = yCut; + this.cuts[3][0] = this.dim[0]; + this.cuts[3][1] = yCut + slope * this.dim[0]; + } + + // Select only the cuts that fall inside the box and are located + // between the two points + nCuts = this.getValidCuts(this.cuts, nCuts, plotPoint1, plotPoint2); + + // Make sure we have the correct number of cuts + if (inside1 || inside2) { + // One of the points is inside. We should have one cut only + if (nCuts !== 1) { + var pointInside = (inside1) ? plotPoint1 : plotPoint2; + + // If too many cuts + if (nCuts > 1) { + nCuts = this.removeDuplicatedCuts(this.cuts, nCuts, 0); + + if (nCuts > 1) { + nCuts = this.removePointFromCuts(this.cuts, nCuts, pointInside, 0); + + // In case of rounding number errors + if (nCuts > 1) { + nCuts = this.removeDuplicatedCuts(this.cuts, nCuts, 0.001); + + if (nCuts > 1) { + nCuts = this.removePointFromCuts(this.cuts, nCuts, pointInside, 0.001); + } + } + } + } + + // If the cut is missing, then it must be equal to the point + // inside + if (nCuts === 0) { + nCuts = 1; + this.cuts[0][0] = pointInside.getX(); + this.cuts[1][0] = pointInside.getY(); + } + } + } else { + // Both points are outside. We should have either two cuts or + // none + if (nCuts > 2) { + nCuts = this.removeDuplicatedCuts(this.cuts, nCuts, 0); + + // In case of rounding number errors + if (nCuts > 2) { + nCuts = this.removeDuplicatedCuts(this.cuts, nCuts, 0.001); + } + } + + // If we have two cuts, order them (the closest to the first + // point goes first) + if (nCuts === 2) { + if ((Math.pow(this.cuts[0][0] - x1, 2) + Math.pow(this.cuts[0][1] - y1), 2) > (Math.pow(this.cuts[1][0] - x1, 2) + Math.pow(this.cuts[1][1] - y1, 2))) { + this.cuts[2][0] = this.cuts[0][0]; + this.cuts[2][1] = this.cuts[0][1]; + this.cuts[0][0] = this.cuts[1][0]; + this.cuts[0][1] = this.cuts[1][1]; + this.cuts[1][0] = this.cuts[2][0]; + this.cuts[1][1] = this.cuts[2][1]; + } + } + + // If one cut is missing, add the same one twice + if (nCuts === 1) { + nCuts = 2; + this.cuts[1][0] = this.cuts[0][0]; + this.cuts[1][1] = this.cuts[0][1]; + } + } + + // Some sanity checks + if ((inside1 || inside2) && nCuts !== 1) { + console.log("There should be one cut!!!"); + } else if (!inside1 && !inside2 && nCuts !== 0 && nCuts !== 2) { + console.log("There should be either 0 or 2 cuts!!! " + nCuts + " were found"); + } + } + } + + return nCuts; +}; + +GLayer.prototype.getValidCuts = function(cuts, nCuts, plotPoint1, plotPoint2) { + var x1 = plotPoint1.getX(); + var y1 = plotPoint1.getY(); + var x2 = plotPoint2.getX(); + var y2 = plotPoint2.getY(); + var deltaX = Math.abs(x2 - x1); + var deltaY = Math.abs(y2 - y1); + var counter = 0; + + for (var i = 0; i < nCuts; i++) { + // Check that the cut is inside the inner plotting area + if (this.isInside(cuts[i][0], cuts[i][1])) { + // Check that the cut falls between the two points + if (Math.abs(cuts[i][0] - x1) <= deltaX && Math.abs(cuts[i][1] - y1) <= deltaY && Math.abs(cuts[i][0] - x2) <= deltaX && Math.abs(cuts[i][1] - y2) <= deltaY) { + cuts[counter][0] = cuts[i][0]; + cuts[counter][1] = cuts[i][1]; + counter++; + } + } + } + + return counter; +}; + +GLayer.prototype.removeDuplicatedCuts = function(cuts, nCuts, tolerance) { + var repeated; + var counter = 0; + + for (var i = 0; i < nCuts; i++) { + repeated = false; + + for (var j = 0; j < counter; j++) { + if (Math.abs(cuts[j][0] - cuts[i][0]) <= tolerance && Math.abs(cuts[j][1] - cuts[i][1]) <= tolerance) { + repeated = true; + break; + } + } + + if (!repeated) { + cuts[counter][0] = cuts[i][0]; + cuts[counter][1] = cuts[i][1]; + counter++; + } + } + + return counter; +}; + +GLayer.prototype.removePointFromCuts = function(cuts, nCuts, plotPoint, tolerance) { + var x = plotPoint.getX(); + var y = plotPoint.getY(); + var counter = 0; + + for (var i = 0; i < nCuts; i++) { + if (Math.abs(cuts[i][0] - x) > tolerance || Math.abs(cuts[i][1] - y) > tolerance) { + cuts[counter][0] = cuts[i][0]; + cuts[counter][1] = cuts[i][1]; + counter++; + } + } + + return counter; +}; + +GLayer.prototype.startHistogram = function(histType) { + this.hist = new GHistogram(this.parent, histType, this.dim, this.plotPoints); +}; + +GLayer.prototype.drawPoints = function() { + var nPoints, i; + + if (arguments.length === 0) { + nPoints = this.plotPoints.length; + var nColors = this.pointColors.length; + var nSizes = this.pointSizes.length; + + this.parent.push(); + this.parent.ellipseMode(this.parent.CENTER); + this.parent.stroke(50); + + if (nColors === 1 && nSizes === 1) { + this.parent.fill(this.pointColors[0]); + + for ( i = 0; i < nPoints; i++) { + if (this.inside[i]) { + this.parent.ellipse(this.plotPoints[i].getX(), this.plotPoints[i].getY(), this.pointSizes[0], this.pointSizes[0]); + } + } + } else if (nColors === 1) { + this.parent.fill(this.pointColors[0]); + + for ( i = 0; i < nPoints; i++) { + if (this.inside[i]) { + this.parent.fill(0); + this.parent.noStroke(); + this.parent.ellipse(this.plotPoints[i].getX(), this.plotPoints[i].getY(),4,4); + this.parent.stroke(100); + this.parent.fill(this.pointColors[0]); + this.parent.ellipse(this.plotPoints[i].getX(), this.plotPoints[i].getY(), this.pointSizes[i % nSizes], this.pointSizes[i % nSizes]); + } + } + } else if (nSizes === 1) { + for ( i = 0; i < nPoints; i++) { + if (this.inside[i]) { + this.parent.fill(this.pointColors[i % nColors]); + this.parent.ellipse(this.plotPoints[i].getX(), this.plotPoints[i].getY(), this.pointSizes[0], this.pointSizes[0]); + } + } + } else { + for ( i = 0; i < nPoints; i++) { + if (this.inside[i]) { + this.parent.fill(this.pointColors[i % nColors]); + this.parent.ellipse(this.plotPoints[i].getX(), this.plotPoints[i].getY(), this.pointSizes[i % nSizes], this.pointSizes[i % nSizes]); + } + } + } + + this.parent.pop(); + } else if (arguments.length === 1 && arguments[0] instanceof p5.Image) { + nPoints = this.plotPoints.length; + + this.parent.push(); + this.parent.imageMode(this.parent.CENTER); + + for ( i = 0; i < nPoints; i++) { + if (this.inside[i]) { + this.parent.image(arguments[0], this.plotPoints[i].getX(), this.plotPoints[i].getY()); + } + } + + this.parent.pop(); + } else { + throw new Error("GLayer.drawPoints(): signature not supported"); + } +}; + +GLayer.prototype.drawPoint = function() { + var point, pointColor, pointSize, pointImg; + + if (arguments.length === 3) { + point = arguments[0]; + pointColor = arguments[1]; + pointSize = arguments[2]; + } else if (arguments.length === 2 && arguments[1] instanceof p5.Image) { + point = arguments[0]; + pointImg = arguments[1]; + } else if (arguments.length === 1) { + point = arguments[0]; + pointColor = this.pointColors[0]; + pointSize = this.pointSizes[0]; + } else { + throw new Error("GLayer.drawPoint(): signature not supported"); + } + + var xPlot = this.valueToXPlot(point.getX()); + var yPlot = this.valueToYPlot(point.getY()); + + if (this.isInside(xPlot, yPlot)) { + this.parent.push(); + + if ( typeof pointImg !== "undefined") { + this.parent.imageMode(this.parent.CENTER); + this.parent.image(pointImg, xPlot, yPlot); + } else { + this.parent.ellipseMode(this.parent.CENTER); + this.parent.fill(pointColor); + this.parent.noStroke(); + this.parent.ellipse(xPlot, yPlot, pointSize, pointSize); + } + + this.parent.pop(); + } +}; + +GLayer.prototype.drawLines = function() { + var nPoints = this.plotPoints.length; + + this.parent.push(); + this.parent.noFill(); + this.parent.stroke(this.lineColor); + this.parent.strokeWeight(this.lineWidth); + this.parent.strokeCap(this.parent.SQUARE); + + for (var i = 0; i < nPoints - 1; i++) { + if (this.inside[i] && this.inside[i + 1]) { + this.parent.line(this.plotPoints[i].getX(), this.plotPoints[i].getY(), this.plotPoints[i + 1].getX(), this.plotPoints[i + 1].getY()); + } else if (this.plotPoints[i].isValid() && this.plotPoints[i + 1].isValid()) { + // At least one of the points is outside the inner region. + // Obtain the valid line box intersections + var nCuts = this.obtainBoxIntersections(this.plotPoints[i], this.plotPoints[i + 1]); + + if (this.inside[i]) { + this.parent.line(this.plotPoints[i].getX(), this.plotPoints[i].getY(), this.cuts[0][0], this.cuts[0][1]); + } else if (this.inside[i + 1]) { + this.parent.line(this.cuts[0][0], this.cuts[0][1], this.plotPoints[i + 1].getX(), this.plotPoints[i + 1].getY()); + } else if (nCuts >= 2) { + this.parent.line(this.cuts[0][0], this.cuts[0][1], this.cuts[1][0], this.cuts[1][1]); + } + } + } + + this.parent.pop(); +}; + +GLayer.prototype.drawLine = function() { + var point1, point2, lc, lw, slope, ycut; + + if (arguments.length === 4 && arguments[0] instanceof GPoint) { + point1 = arguments[0]; + point2 = arguments[1]; + lc = arguments[2]; + lw = arguments[3]; + } else if (arguments.length === 4) { + slope = arguments[0]; + ycut = arguments[1]; + lc = arguments[2]; + lw = arguments[3]; + } else if (arguments.length === 2 && arguments[0] instanceof GPoint) { + point1 = arguments[0]; + point2 = arguments[1]; + lc = this.lineColor; + lw = this.lineWidth; + } else if (arguments.length === 2) { + slope = arguments[0]; + ycut = arguments[1]; + lc = this.lineColor; + lw = this.lineWidth; + } else { + throw new Error("GLayer.drawLine(): signature not supported"); + } + + if ( typeof slope !== "undefined") { + if (this.xLog && this.yLog) { + point1 = new GPoint(this.xLim[0], Math.pow(10, slope * Math.log(this.xLim[0]) / Math.LN10 + yCut)); + point2 = new GPoint(this.xLim[1], Math.pow(10, slope * Math.log(this.xLim[1]) / Math.LN10 + yCut)); + } else if (this.xLog) { + point1 = new GPoint(this.xLim[0], slope * Math.log(this.xLim[0]) / Math.LN10 + yCut); + point2 = new GPoint(this.xLim[1], slope * Math.log(this.xLim[1]) / Math.LN10 + yCut); + } else if (this.yLog) { + point1 = new GPoint(this.xLim[0], Math.pow(10, slope * this.xLim[0] + yCut)); + point2 = new GPoint(this.xLim[1], Math.pow(10, slope * this.xLim[1] + yCut)); + } else { + point1 = new GPoint(this.xLim[0], slope * this.xLim[0] + yCut); + point2 = new GPoint(this.xLim[1], slope * this.xLim[1] + yCut); + } + } + + var plotPoint1 = this.valueToPlot(point1); + var plotPoint2 = this.valueToPlot(point2); + + if (plotPoint1.isValid() && plotPoint2.isValid()) { + var inside1 = this.isInside(plotPoint1); + var inside2 = this.isInside(plotPoint2); + + this.parent.push(); + this.parent.noFill(); + this.parent.stroke(lc); + this.parent.strokeWeight(lw); + this.parent.strokeCap(this.parent.SQUARE); + + if (inside1 && inside2) { + this.parent.line(plotPoint1.getX(), plotPoint1.getY(), plotPoint2.getX(), plotPoint2.getY()); + } else { + // At least one of the points is outside the inner region. + // Obtain the valid line box intersections + var nCuts = this.obtainBoxIntersections(plotPoint1, plotPoint2); + + if (inside1) { + this.parent.line(plotPoint1.getX(), plotPoint1.getY(), this.cuts[0][0], this.cuts[0][1]); + } else if (inside2) { + this.parent.line(this.cuts[0][0], this.cuts[0][1], plotPoint2.getX(), plotPoint2.getY()); + } else if (nCuts >= 2) { + this.parent.line(this.cuts[0][0], this.cuts[0][1], this.cuts[1][0], this.cuts[1][1]); + } + } + + this.parent.pop(); + } +}; + +GLayer.prototype.drawHorizontalLine = function() { + var value, lc, lw; + + if (arguments.length === 3) { + value = arguments[0]; + lc = arguments[1]; + lw = arguments[2]; + } else if (arguments.length === 1) { + value = arguments[0]; + lc = this.lineColor; + lw = this.lineWidth; + } else { + throw new Error("GLayer.drawHorizontalLine(): signature not supported"); + } + + var yPlot = this.valueToYPlot(value); + + if (this.isValidNumber(yPlot) && -yPlot >= 0 && -yPlot <= this.dim[1]) { + this.parent.push(); + this.parent.noFill(); + this.parent.stroke(lc); + this.parent.strokeWeight(lw); + this.parent.strokeCap(this.parent.SQUARE); + this.parent.line(0, yPlot, this.dim[0], yPlot); + this.parent.pop(); + } +}; + +GLayer.prototype.drawVerticalLine = function() { + var value, lc, lw; + + if (arguments.length === 3) { + value = arguments[0]; + lc = arguments[1]; + lw = arguments[2]; + } else if (arguments.length === 1) { + value = arguments[0]; + lc = this.lineColor; + lw = this.lineWidth; + } else { + throw new Error("GLayer.drawVerticalLine(): signature not supported"); + } + + var xPlot = this.valueToXPlot(value); + + if (this.isValidNumber(xPlot) && xPlot >= 0 && xPlot <= this.dim[0]) { + this.parent.push(); + this.parent.noFill(); + this.parent.stroke(lc); + this.parent.strokeWeight(lw); + this.parent.strokeCap(this.parent.SQUARE); + this.parent.line(xPlot, 0, xPlot, -this.dim[1]); + this.parent.pop(); + } +}; + +GLayer.prototype.drawFilledContour = function(contourType, referenceValue) { + // Get the points that compose the shape + var shapePoints; + + if (contourType === GPlot.HORIZONTAL) { + shapePoints = this.getHorizontalShape(referenceValue); + } else if (contourType === GPlot.VERTICAL) { + shapePoints = this.getVerticalShape(referenceValue); + } + + // Draw the shape + if ( typeof shapePoints !== "undefined" && shapePoints.length > 0) { + this.parent.push(); + this.parent.fill(this.lineColor); + this.parent.noStroke(); + this.parent.beginShape(); + + for (var i = 0; i < shapePoints.length; i++) { + if (shapePoints[i].isValid()) { + this.parent.vertex(shapePoints[i].getX(), shapePoints[i].getY()); + } + } + + this.parent.endShape(this.parent.CLOSE); + this.parent.pop(); + } +}; + +GLayer.prototype.getHorizontalShape = function(referenceValue) { + // Collect the points and cuts inside the box + var point, addedPoints, nextIndex; + var nPoints = this.plotPoints.length; + var shapePoints = []; + var indexFirstPoint = -1; + var indexLastPoint = -1; + + for (var i = 0; i < nPoints; i++) { + point = this.plotPoints[i]; + + if (point.isValid()) { + addedPoints = false; + + // Add the point if it's inside the box + if (this.inside[i]) { + shapePoints.push(new GPoint(point.getX(), point.getY(), "normal point")); + addedPoints = true; + } else if (point.getX() >= 0 && point.getX() <= this.dim[0]) { + // If it's outside, add the projection of the point on the + // horizontal axes + if (-point.getY() < 0) { + shapePoints.push(new GPoint(point.getX(), 0, "projection")); + addedPoints = true; + } else { + shapePoints.push(new GPoint(point.getX(), -this.dim[1], "projection")); + addedPoints = true; + } + } + + // Add the box cuts if there is any + nextIndex = i + 1; + + while (nextIndex < nPoints - 1 && !this.plotPoints[nextIndex].isValid()) { + nextIndex++; + } + + if (nextIndex < nPoints && this.plotPoints[nextIndex].isValid()) { + var nCuts = this.obtainBoxIntersections(point, this.plotPoints[nextIndex]); + + for (var j = 0; j < nCuts; j++) { + shapePoints.push(new GPoint(this.cuts[j][0], this.cuts[j][1], "cut")); + addedPoints = true; + } + } + + if (addedPoints) { + if (indexFirstPoint < 0) { + indexFirstPoint = i; + } + + indexLastPoint = i; + } + } + } + + // Continue if there are points in the shape + if (shapePoints.length > 0) { + // Calculate the starting point + var startPoint = new GPoint(shapePoints[0]); + + if (startPoint.getX() !== 0 && startPoint.getX() !== this.dim[0]) { + if (startPoint.getLabel() === "cut") { + if (this.plotPoints[indexFirstPoint].getX() < 0) { + startPoint.setX(0); + startPoint.setLabel("extreme"); + } else { + startPoint.setX(this.dim[0]); + startPoint.setLabel("extreme"); + } + } else if (indexFirstPoint !== 0) { + // Get the previous valid point + var prevIndex = indexFirstPoint - 1; + + while (prevIndex > 0 && !this.plotPoints[prevIndex].isValid()) { + prevIndex--; + } + + if (this.plotPoints[prevIndex].isValid()) { + if (this.plotPoints[prevIndex].getX() < 0) { + startPoint.setX(0); + startPoint.setLabel("extreme"); + } else { + startPoint.setX(this.dim[0]); + startPoint.setLabel("extreme"); + } + } + } + } + + // Calculate the end point + var endPoint = new GPoint(shapePoints[shapePoints.length - 1]); + + if (endPoint.getX() !== 0 && endPoint.getX() !== this.dim[0] && indexLastPoint !== nPoints - 1) { + nextIndex = indexLastPoint + 1; + + while (nextIndex < nPoints - 1 && !this.plotPoints[nextIndex].isValid()) { + nextIndex++; + } + + if (this.plotPoints[nextIndex].isValid()) { + if (this.plotPoints[nextIndex].getX() < 0) { + endPoint.setX(0); + endPoint.setLabel("extreme"); + } else { + endPoint.setX(this.dim[0]); + endPoint.setLabel("extreme"); + } + } + } + + // Add the end point if it's a new extreme + if (endPoint.getLabel() === "extreme") { + shapePoints.push(endPoint); + } + + // Add the reference connections + if (this.yLog && referenceValue <= 0) { + referenceValue = Math.min(this.yLim[0], this.yLim[1]); + } + + var plotReference = this.valueToPlot(1, referenceValue); + + if (-plotReference[1] < 0) { + shapePoints.push(new GPoint(endPoint.getX(), 0)); + shapePoints.push(new GPoint(startPoint.getX(), 0)); + } else if (-plotReference[1] > this.dim[1]) { + shapePoints.push(new GPoint(endPoint.getX(), -this.dim[1])); + shapePoints.push(new GPoint(startPoint.getX(), -this.dim[1])); + } else { + shapePoints.push(new GPoint(endPoint.getX(), plotReference[1])); + shapePoints.push(new GPoint(startPoint.getX(), plotReference[1])); + } + + // Add the starting point if it's a new extreme + if (startPoint.getLabel() === "extreme") { + shapePoints.push(startPoint); + } + } + + return shapePoints; +}; + +GLayer.prototype.getVerticalShape = function(referenceValue) { + // Collect the points and cuts inside the box + var point, addedPoints, nextIndex; + var nPoints = this.plotPoints.length; + var shapePoints = []; + var indexFirstPoint = -1; + var indexLastPoint = -1; + + for (var i = 0; i < nPoints; i++) { + point = this.plotPoints[i]; + + if (point.isValid()) { + addedPoints = false; + + // Add the point if it's inside the box + if (this.inside[i]) { + shapePoints.push(new GPoint(point.getX(), point.getY(), "normal point")); + addedPoints = true; + } else if (-point.getY() >= 0 && -point.getY() <= this.dim[1]) { + // If it's outside, add the projection of the point on the + // vertical axes + if (point.getX() < 0) { + shapePoints.push(new GPoint(0, point.getY(), "projection")); + addedPoints = true; + } else { + shapePoints.push(new GPoint(this.dim[0], point.getY(), "projection")); + addedPoints = true; + } + } + + // Add the box cuts if there is any + nextIndex = i + 1; + + while (nextIndex < nPoints - 1 && !this.plotPoints[nextIndex].isValid()) { + nextIndex++; + } + + if (nextIndex < nPoints && this.plotPoints[nextIndex].isValid()) { + var nCuts = this.obtainBoxIntersections(point, this.plotPoints[nextIndex]); + + for (var j = 0; j < nCuts; j++) { + shapePoints.push(new GPoint(this.cuts[j][0], this.cuts[j][1], "cut")); + addedPoints = true; + } + } + + if (addedPoints) { + if (indexFirstPoint < 0) { + indexFirstPoint = i; + } + + indexLastPoint = i; + } + } + } + + // Continue if there are points in the shape + if (shapePoints.length > 0) { + // Calculate the starting point + var startPoint = new GPoint(shapePoints[0]); + + if (startPoint.getY() !== 0 && startPoint.getY() !== -this.dim[1]) { + if (startPoint.getLabel() === "cut") { + if (-this.plotPoints[indexFirstPoint].getY() < 0) { + startPoint.setY(0); + startPoint.setLabel("extreme"); + } else { + startPoint.setY(-this.dim[1]); + startPoint.setLabel("extreme"); + } + } else if (indexFirstPoint !== 0) { + // Get the previous valid point + var prevIndex = indexFirstPoint - 1; + + while (prevIndex > 0 && !this.plotPoints[prevIndex].isValid()) { + prevIndex--; + } + + if (this.plotPoints[prevIndex].isValid()) { + if (-this.plotPoints[prevIndex].getY() < 0) { + startPoint.setY(0); + startPoint.setLabel("extreme"); + } else { + startPoint.setY(-this.dim[1]); + startPoint.setLabel("extreme"); + } + } + } + } + + // Calculate the end point + var endPoint = new GPoint(shapePoints[shapePoints.length - 1]); + + if (endPoint.getY() !== 0 && endPoint.getY() !== -this.dim[1] && indexLastPoint !== nPoints - 1) { + nextIndex = indexLastPoint + 1; + + while (nextIndex < nPoints - 1 && !this.plotPoints[nextIndex].isValid()) { + nextIndex++; + } + + if (this.plotPoints[nextIndex].isValid()) { + if (-this.plotPoints[nextIndex].getY() < 0) { + endPoint.setY(0); + endPoint.setLabel("extreme"); + } else { + endPoint.setY(-this.dim[1]); + endPoint.setLabel("extreme"); + } + } + } + + // Add the end point if it's a new extreme + if (endPoint.getLabel() === "extreme") { + shapePoints.push(endPoint); + } + + // Add the reference connections + if (this.xLog && referenceValue <= 0) { + referenceValue = Math.min(this.xLim[0], this.xLim[1]); + } + + var plotReference = this.valueToPlot(referenceValue, 1); + + if (plotReference[0] < 0) { + shapePoints.push(new GPoint(0, endPoint.getY())); + shapePoints.push(new GPoint(0, startPoint.getY())); + } else if (plotReference[0] > this.dim[0]) { + shapePoints.push(new GPoint(this.dim[0], endPoint.getY())); + shapePoints.push(new GPoint(this.dim[0], startPoint.getY())); + } else { + shapePoints.push(new GPoint(plotReference[0], endPoint.getY())); + shapePoints.push(new GPoint(plotReference[0], startPoint.getY())); + } + + // Add the starting point if it's a new extreme + if (startPoint.getLabel() === "extreme") { + shapePoints.push(startPoint); + } + } + + return shapePoints; +}; + +GLayer.prototype.drawAllLabels = function() { + for (var n = 0; n < this.points.length; n++) { + this.drawLabel(this.points[n]); + } +} + +GLayer.prototype.drawLabel = function(point) { + var xPlot = this.valueToXPlot(point.getX()); + var yPlot = this.valueToYPlot(point.getY()); + + if (this.isValidNumber(xPlot) && this.isValidNumber(yPlot)) { + var xLabelPos = xPlot + this.labelSeparation[0]; + var yLabelPos = yPlot - 0*this.labelSeparation[1] + 6; + var delta = this.fontSize / 4; + + this.parent.push(); + this.parent.rectMode(this.parent.CORNER); + this.parent.noStroke(); + this.parent.textFont(this.fontName); + this.parent.textSize(this.fontSize); + this.parent.textAlign(this.parent.LEFT, this.parent.BOTTOM); + + // Draw the background + this.parent.fill(this.labelBgColor); + this.parent.rect(xLabelPos - delta, yLabelPos - this.fontSize - delta, this.parent.textWidth(point.getLabel()) + 2 * delta, this.fontSize + 2 * delta); + + // Draw the text + this.parent.fill(this.fontColor); + this.parent.text(point.getLabel(), xLabelPos, yLabelPos); + this.parent.pop(); + } +}; + +GLayer.prototype.drawLabelAtPlotPos = function(xPlot, yPlot) { + var point = this.getPointAtPlotPos(xPlot, yPlot); + + if ( typeof point !== "undefined") { + this.drawLabel(point); + } +}; + +GLayer.prototype.drawHistogram = function() { + if ( typeof this.hist !== "undefined") { + this.hist.draw(this.valueToPlot(this.histBasePoint)); + } +}; + +GLayer.prototype.drawPolygon = function(polygonPoints, polygonColor) { + var i; + + if (polygonPoints.length > 2) { + // Remove the polygon invalid points + var plotPolygonPoints = this.valueToPlot(polygonPoints); + var counter = 0; + + for ( i = 0; i < plotPolygonPoints.length; i++) { + if (plotPolygonPoints[i].isValid()) { + plotPolygonPoints[counter] = plotPolygonPoints[i]; + counter++; + } + } + + plotPolygonPoints.splice(counter, Number.MAX_VALUE); + + // Create a temporal array with the points inside the plotting area + // and the valid box cuts + var point; + var nPoints = plotPolygonPoints.length; + var tmp = []; + + for ( i = 0; i < nPoints; i++) { + point = plotPolygonPoints[i]; + + if (this.isInside(point)) { + tmp.push(new GPoint(point.getX(), point.getY(), "normal point")); + } + + // Obtain the cuts with the next point + var nextIndex = (i + 1 < nPoints) ? i + 1 : 0; + var nCuts = this.obtainBoxIntersections(point, plotPolygonPoints[nextIndex]); + + if (nCuts === 1) { + tmp.push(new GPoint(this.cuts[0][0], this.cuts[0][1], "single cut")); + } else if (nCuts > 1) { + tmp.push(new GPoint(this.cuts[0][0], this.cuts[0][1], "double cut")); + tmp.push(new GPoint(this.cuts[1][0], this.cuts[1][1], "double cut")); + } + } + + // Final version of the polygon + nPoints = tmp.length; + var croppedPoly = []; + + for ( i = 0; i < nPoints; i++) { + // Add the point + croppedPoly.push(tmp[i]); + + // Add new points in case we have two consecutive cuts, one of + // them is single, and they are in consecutive axes + var next = (i + 1 < nPoints) ? i + 1 : 0; + var label = tmp[i].getLabel(); + var nextLabel = tmp[next].getLabel(); + + var cond = (label === "single cut" && nextLabel === "single cut") || (label === "single cut" && nextLabel === "double cut") || (label === "double cut" && nextLabel === "single cut"); + + if (cond) { + var x1 = tmp[i].getX(); + var y1 = tmp[i].getY(); + var x2 = tmp[next].getX(); + var y2 = tmp[next].getY(); + var deltaX = Math.abs(x2 - x1); + var deltaY = Math.abs(y2 - y1); + + // Check that they come from consecutive axes + if (deltaX > 0 && deltaY > 0 && deltaX !== this.dim[0] && deltaY !== this.dim[1]) { + var x = (x1 === 0 || x1 === this.dim[0]) ? x1 : x2; + var y = (y1 === 0 || y1 === -this.dim[1]) ? y1 : y2; + croppedPoly.push(new GPoint(x, y, "special cut")); + } + } + } + + // Draw the cropped polygon + if (croppedPoly.length > 2) { + this.parent.push(); + this.parent.fill(polygonColor); + this.parent.noStroke(); + this.parent.beginShape(); + + for ( i = 0; i < croppedPoly.length; i++) { + this.parent.vertex(croppedPoly[i].getX(), croppedPoly[i].getY()); + } + + this.parent.endShape(this.parent.CLOSE); + this.parent.pop(); + } + } +}; + +GLayer.prototype.drawAnnotation = function(text, x, y, horAlign, verAlign) { + var xPlot = this.valueToXPlot(x); + var yPlot = this.valueToYPlot(y); + + if (this.isValidNumber(xPlot) && this.isValidNumber(yPlot) && this.isInside(xPlot, yPlot)) { + if (horAlign !== this.parent.CENTER && horAlign !== this.parent.RIGHT && horAlign !== this.parent.LEFT) { + horAlign = this.parent.LEFT; + } + + if (verAlign !== this.parent.CENTER && verAlign !== this.parent.TOP && verAlign !== this.parent.BOTTOM) { + verAlign = this.parent.CENTER; + } + + // A trick to really center the text vertically + if (verAlign === this.parent.CENTER) { + verAlign = this.parent.BOTTOM; + yPlot += this.fontSize / 2; + } + + this.parent.push(); + this.parent.textFont(this.fontName); + this.parent.textSize(this.fontSize); + this.parent.fill(this.fontColor); + this.parent.textAlign(horAlign, verAlign); + this.parent.text(text, xPlot, yPlot); + this.parent.pop(); + } +}; + +GLayer.prototype.setDim = function() { + var xDim, yDim; + + if (arguments.length === 2) { + xDim = arguments[0]; + yDim = arguments[1]; + } else if (arguments.length === 1) { + xDim = arguments[0][0]; + yDim = arguments[0][1]; + } else { + throw new Error("GLayer.setDim(): signature not supported"); + } + + if (xDim > 0 && yDim > 0) { + this.dim[0] = xDim; + this.dim[1] = yDim; + this.updatePlotPoints(); + + if ( typeof this.hist !== "undefined") { + this.hist.setDim(this.dim); + this.hist.setPlotPoints(this.plotPoints); + } + } +}; + +GLayer.prototype.setXLim = function() { + var xMin, xMax; + + if (arguments.length === 2) { + xMin = arguments[0]; + xMax = arguments[1]; + } else if (arguments.length === 1) { + xMin = arguments[0][0]; + xMax = arguments[0][1]; + } else { + throw new Error("GLayer.setXLim(): signature not supported"); + } + + if (xMin !== xMax && this.isValidNumber(xMin) && this.isValidNumber(xMax)) { + // Make sure the new limits makes sense + if (this.xLog && (xMin <= 0 || xMax <= 0)) { + console.log("One of the limits is negative. This is not allowed in logarithmic scale."); + } else { + this.xLim[0] = xMin; + this.xLim[1] = xMax; + this.updatePlotPoints(); + this.updateInsideList(); + + if ( typeof this.hist !== "undefined") { + this.hist.setPlotPoints(this.plotPoints); + } + } + } +}; + +GLayer.prototype.setYLim = function() { + var yMin, yMax; + + if (arguments.length === 2) { + yMin = arguments[0]; + yMax = arguments[1]; + } else if (arguments.length === 1) { + yMin = arguments[0][0]; + yMax = arguments[0][1]; + } else { + throw new Error("GLayer.setYLim(): signature not supported"); + } + + if (yMin !== yMax && this.isValidNumber(yMin) && this.isValidNumber(yMax)) { + // Make sure the new limits makes sense + if (this.yLog && (yMin <= 0 || yMax <= 0)) { + console.log("One of the limits is negative. This is not allowed in logarithmic scale."); + } else { + this.yLim[0] = yMin; + this.yLim[1] = yMax; + this.updatePlotPoints(); + this.updateInsideList(); + + if ( typeof this.hist !== "undefined") { + this.hist.setPlotPoints(this.plotPoints); + } + } + } +}; + +GLayer.prototype.setXYLim = function() { + var xMin, xMax, yMin, yMax; + + if (arguments.length === 4) { + xMin = arguments[0]; + xMax = arguments[1]; + yMin = arguments[2]; + yMax = arguments[3]; + } else if (arguments.length === 2) { + xMin = arguments[0][0]; + xMax = arguments[0][1]; + yMin = arguments[1][0]; + yMax = arguments[1][1]; + } else { + throw new Error("GLayer.setXYLim(): signature not supported"); + } + + if (xMin !== xMax && yMin !== yMax && this.isValidNumber(xMin) && this.isValidNumber(xMax) && this.isValidNumber(yMin) && this.isValidNumber(yMax)) { + // Make sure the new limits make sense + if (this.xLog && (xMin <= 0 || xMax <= 0)) { + console.log("One of the limits is negative. This is not allowed in logarithmic scale."); + } else { + this.xLim[0] = xMin; + this.xLim[1] = xMax; + } + + if (this.yLog && (yMin <= 0 || yMax <= 0)) { + console.log("One of the limits is negative. This is not allowed in logarithmic scale."); + } else { + this.yLim[0] = yMin; + this.yLim[1] = yMax; + } + + this.updatePlotPoints(); + this.updateInsideList(); + + if ( typeof this.hist !== "undefined") { + this.hist.setPlotPoints(this.plotPoints); + } + } +}; + +GLayer.prototype.setLimAndLog = function() { + var xMin, xMax, yMin, yMax, xLog, yLog; + + if (arguments.length === 6) { + xMin = arguments[0]; + xMax = arguments[1]; + yMin = arguments[2]; + yMax = arguments[3]; + xLog = arguments[4]; + yLog = arguments[5]; + } else if (arguments.length === 4) { + xMin = arguments[0][0]; + xMax = arguments[0][1]; + yMin = arguments[1][0]; + yMax = arguments[1][1]; + xLog = arguments[2]; + yLog = arguments[3]; + } else { + throw new Error("GLayer.setLimAndLog(): signature not supported"); + } + + if (xMin !== xMax && yMin !== yMax && this.isValidNumber(xMin) && this.isValidNumber(xMax) && this.isValidNumber(yMin) && this.isValidNumber(yMax)) { + // Make sure the new limits make sense + if (xLog && (xMin <= 0 || xMax <= 0)) { + console.log("One of the limits is negative. This is not allowed in logarithmic scale."); + } else { + this.xLim[0] = xMin; + this.yLim[1] = xMax; + this.xLog = xLog; + } + + if (yLog && (yMin <= 0 || yMax <= 0)) { + console.log("One of the limits is negative. This is not allowed in logarithmic scale."); + } else { + this.yLim[0] = yMin; + this.yLim[1] = yMax; + this.yLog = yLog; + } + + this.updatePlotPoints(); + this.updateInsideList(); + + if ( typeof this.hist !== "undefined") { + this.hist.setPlotPoints(this.plotPoints); + } + } +}; + +GLayer.prototype.setXLog = function(xLog) { + if (xLog !== this.xLog) { + if (xLog && (this.xLim[0] <= 0 || this.xLim[1] <= 0)) { + console.log("One of the limits is negative. This is not allowed in logarithmic scale."); + console.log("Will set horizontal limits to (0.1, 10)"); + this.xLim[0] = 0.1; + this.xLim[1] = 10; + } + + this.xLog = xLog; + this.updatePlotPoints(); + this.updateInsideList(); + + if ( typeof this.hist !== "undefined") { + this.hist.setPlotPoints(this.plotPoints); + } + } +}; + +GLayer.prototype.setYLog = function(yLog) { + if (yLog !== this.yLog) { + if (yLog && (this.yLim[0] <= 0 || this.yLim[1] <= 0)) { + console.log("One of the limits is negative. This is not allowed in logarithmic scale."); + console.log("Will set horizontal limits to (0.1, 10)"); + this.yLim[0] = 0.1; + this.yLim[1] = 10; + } + + this.yLog = yLog; + this.updatePlotPoints(); + this.updateInsideList(); + + if ( typeof this.hist !== "undefined") { + this.hist.setPlotPoints(this.plotPoints); + } + } +}; + +GLayer.prototype.setPoints = function(points) { + var i; + var nPoints = points.length; + + if (this.points.length > nPoints) { + this.points.splice(nPoints, Number.MAX_VALUE); + } else { + for ( i = this.points.length; i < nPoints; i++) { + this.points[i] = new GPoint(); + } + } + + for ( i = 0; i < nPoints; i++) { + this.points[i].set(points[i]); + } + + this.updatePlotPoints(); + this.updateInsideList(); + + if ( typeof this.hist !== "undefined") { + this.hist.setPlotPoints(this.plotPoints); + } +}; + +GLayer.prototype.setPoint = function() { + var index, x, y, label; + var nPoints = this.points.length; + + if (arguments.length === 4) { + index = arguments[0]; + x = arguments[1]; + y = arguments[2]; + label = arguments[3]; + } else if (arguments.length === 3) { + index = arguments[0]; + x = arguments[1]; + y = arguments[2]; + label = (index < nPoins) ? this.points[index].getLabel() : ""; + } else if (arguments.length === 2) { + index = arguments[0]; + x = arguments[1].getX(); + y = arguments[1].getY(); + label = arguments[1].getLabel(); + } else { + throw new Error("GLayer.setPoint(): signature not supported"); + } + + if (index < nPoints) { + this.points[index].set(x, y, label); + this.plotPoints[index].set(this.valueToXPlot(x), this.valueToYPlot(y), label); + this.inside[index] = this.isInside(this.plotPoints[index]); + } else if (index === nPoints) { + this.points[index] = new GPoint(x, y, label); + this.plotPoints[index] = new GPoint(this.valueToXPlot(x), this.valueToYPlot(y), label); + this.inside[index] = this.isInside(this.plotPoints[index]); + } else { + throw new Error("GLayer.setPoint(): the index position is outside the array size"); + } + + if ( typeof this.hist !== "undefined") { + this.hist.setPlotPoint(index, this.plotPoints[index]); + } +}; + +GLayer.prototype.addPoint = function() { + var x, y, label; + + if (arguments.length === 3) { + x = arguments[0]; + y = arguments[1]; + label = arguments[2]; + } else if (arguments.length === 2) { + x = arguments[0]; + y = arguments[1]; + label = ""; + } else if (arguments.length === 1) { + x = arguments[0].getX(); + y = arguments[0].getY(); + label = arguments[0].getLabel(); + } else { + throw new Error("GLayer.addPoint(): signature not supported"); + } + + this.points.push(new GPoint(x, y, label)); + this.plotPoints.push(new GPoint(this.valueToXPlot(x), this.valueToYPlot(y), label)); + this.inside.push(this.isInside(this.plotPoints[this.plotPoints.length - 1])); + + if ( typeof this.hist !== "undefined") { + this.hist.addPlotPoint(this.plotPoints[this.plotPoints.length - 1]); + } +}; + +GLayer.prototype.addPoints = function(newPoints) { + var newPoint; + var nNewPoints = newPoints.length; + + for (var i = 0; i < nNewPoints; i++) { + newPoint = newPoints[i]; + this.points.push(new GPoint(newPoint)); + this.plotPoints.push(new GPoint(this.valueToXPlot(newPoint.getX()), this.valueToYPlot(newPoint.getY()), newPoint.getLabel())); + this.inside.push(this.isInside(this.plotPoints[this.plotPoints.length - 1])); + } + + if ( typeof this.hist !== "undefined") { + this.hist.setPlotPoints(this.plotPoints); + } +}; + +GLayer.prototype.addPointAtIndexPos = function() { + var index, x, y, label; + + if (arguments.length === 4) { + index = arguments[0]; + x = arguments[1]; + y = arguments[2]; + label = arguments[3]; + } else if (arguments.length === 3) { + index = arguments[0]; + x = arguments[1]; + y = arguments[2]; + label = ""; + } else if (arguments.length === 2) { + index = arguments[0]; + x = arguments[1].getX(); + y = arguments[1].getY(); + label = arguments[1].getLabel(); + } else { + throw new Error("GLayer.addPointAtIndexPos(): signature not supported"); + } + + if (index <= this.points.length) { + this.points.splice(index, 0, new GPoint(x, y, label)); + this.plotPoints.splice(index, 0, new GPoint(this.valueToXPlot(x), this.valueToYPlot(y), label)); + this.inside.splice(index, 0, this.isInside(this.plotPoints[0])); + + if ( typeof this.hist !== "undefined") { + this.hist.setPlotPoints(this.plotPoints); + } + } +}; + +GLayer.prototype.removePoint = function(index) { + if (index < this.points.length) { + this.points.splice(index, 1); + this.plotPoints.splice(index, 1); + this.inside.splice(index, 1); + + if ( typeof this.hist !== "undefined") { + this.hist.removePlotPoint(index); + } + } +}; + +GLayer.prototype.setInside = function(inside) { + if (inside.length === this.inside.length) { + this.inside = inside.slice(); + } +}; + +GLayer.prototype.setPointColors = function(pointColors) { + if (pointColors.length > 0) { + this.pointColors = pointColors.slice(); + } +}; + +GLayer.prototype.setPointColor = function(pointColor) { + this.pointColors = [pointColor]; +}; + +GLayer.prototype.setPointSizes = function(pointSizes) { + if (pointSizes.length > 0) { + this.pointSizes = pointSizes.slice(); + } +}; + +GLayer.prototype.setPointSize = function(pointSize) { + this.pointSizes = [pointSize]; +}; + +GLayer.prototype.setLineColor = function(lineColor) { + this.lineColor = lineColor; +}; + +GLayer.prototype.setLineWidth = function(lineWidth) { + if (lineWidth > 0) { + this.lineWidth = lineWidth; + } +}; + +GLayer.prototype.setHistBasePoint = function(histBasePoint) { + this.histBasePoint.set(histBasePoint); +}; + +GLayer.prototype.setHistType = function(histType) { + if ( typeof this.hist !== "undefined") { + this.hist.setType(histType); + } +}; + +GLayer.prototype.setHistVisible = function(visible) { + if ( typeof this.hist !== "undefined") { + this.hist.setVisible(visible); + } +}; + +GLayer.prototype.setDrawHistLabels = function(drawHistLabels) { + if ( typeof this.hist !== "undefined") { + this.hist.setDrawLabels(drawHistLabels); + } +}; + +GLayer.prototype.setLabelBgColor = function(labelBgColor) { + this.labelBgColor = labelBgColor; +}; + +GLayer.prototype.setLabelSeparation = function(labelSeparation) { + this.labelSeparation[0] = labelSeparation[0]; + this.labelSeparation[1] = labelSeparation[1]; +}; + +GLayer.prototype.setFontName = function(fontName) { + this.fontName = fontName; +}; + +GLayer.prototype.setFontColor = function(fontColor) { + this.fontColor = fontColor; +}; + +GLayer.prototype.setFontSize = function(fontSize) { + if (fontSize > 0) { + this.fontSize = fontSize; + } +}; + +GLayer.prototype.setFontProperties = function(fontName, fontColor, fontSize) { + if (fontSize > 0) { + this.fontName = fontName; + this.fontColor = fontColor; + this.fontSize = fontSize; + } +}; + +GLayer.prototype.setAllFontProperties = function(fontName, fontColor, fontSize) { + this.setFontProperties(fontName, fontColor, fontSize); + + if ( typeof this.hist !== "undefined") { + this.hist.setFontProperties(fontName, fontColor, fontSize); + } +}; + +GLayer.prototype.getId = function() { + return this.id; +}; + +GLayer.prototype.getDim = function() { + return this.dim.slice(); +}; + +GLayer.prototype.getXLim = function() { + return this.xLim.slice(); +}; + +GLayer.prototype.getYLim = function() { + return this.yLim.slice(); +}; + +GLayer.prototype.getXLog = function() { + return this.xLog; +}; + +GLayer.prototype.getYLog = function() { + return this.yLog; +}; + +GLayer.prototype.getPoints = function() { + var points = []; + + for (var i = 0; i < this.points.length; i++) { + points[i] = new GPoint(this.points[i]); + } + + return points; +}; + +GLayer.prototype.getPointsRef = function() { + return this.points; +}; + +GLayer.prototype.getPointColors = function() { + return this.pointColors.slice(); +}; + +GLayer.prototype.getPointSizes = function() { + return this.pointSizes.slice(); +}; + +GLayer.prototype.getLineColor = function() { + return this.lineColor; +}; + +GLayer.prototype.getLineWidth = function() { + return this.lineWidth; +}; + +GLayer.prototype.getHistogram = function() { + return this.hist; +}; +/* + * Plot class. It controls the rest of the graphical elements (layers, axes, + * title, limits). + */ +function GPlot() { + var parent, xPos, yPos, plotWidth, plotHeight; + + if (arguments.length === 5) { + parent = arguments[0]; + xPos = arguments[1]; + yPos = arguments[2]; + plotWidth = arguments[3]; + plotHeight = arguments[4]; + } else if (arguments.length === 3) { + parent = arguments[0]; + xPos = arguments[1]; + yPos = arguments[2]; + plotWidth = 450; + plotHeight = 300; + } else if (arguments.length === 1) { + parent = arguments[0]; + xPos = 0; + yPos = 0; + plotWidth = 450; + plotHeight = 300; + } else { + throw new Error("GPlot constructor: signature not supported"); + } + + // The parent processing object + this.parent = parent; + + // General properties + this.pos = [xPos, yPos]; + this.outerDim = [plotWidth, plotHeight]; + this.mar = [60, 70, 40, 30]; + this.dim = [this.outerDim[0] - this.mar[1] - this.mar[3], this.outerDim[1] - this.mar[0] - this.mar[2]]; + this.xLim = [0, 1]; + this.yLim = [0, 1]; + this.fixedXLim = false; + this.fixedYLim = false; + this.xLog = false; + this.yLog = false; + this.invertedXScale = false; + this.invertedYScale = false; + this.includeAllLayersInLim = true; + this.expandLimFactor = 0.1; + + // Format properties + this.bgColor = this.parent.color(255); + this.boxBgColor = this.parent.color(245); + this.boxLineColor = this.parent.color(210); + this.boxLineWidth = 1; + this.gridLineColor = this.parent.color(210); + this.gridLineWidth = 1; + + // Layers + this.mainLayer = new GLayer(this.parent, GPlot.MAINLAYERID, this.dim, this.xLim, this.yLim, this.xLog, this.yLog); + this.layerList = []; + + // Axes and title + this.xAxis = new GAxis(this.parent, this.parent.BOTTOM, this.dim, this.xLim, this.xLog); + this.topAxis = new GAxis(this.parent, this.parent.TOP, this.dim, this.xLim, this.xLog); + this.yAxis = new GAxis(this.parent, this.parent.LEFT, this.dim, this.yLim, this.yLog); + this.rightAxis = new GAxis(this.parent, this.parent.RIGHT, this.dim, this.yLim, this.yLog); + this.title = new GTitle(this.parent, this.dim); + + // Setup for the mouse events + this.zoomingIsActive = false; + this.zoomFactor = 1.3; + this.increaseZoomButton = this.parent.LEFT; + this.decreaseZoomButton = this.parent.RIGHT; + this.increaseZoomKeyModifier = GPlot.NONE; + this.decreaseZoomKeyModifier = GPlot.NONE; + this.centeringIsActive = false; + this.centeringButton = this.parent.LEFT; + this.centeringKeyModifier = GPlot.NONE; + this.panningIsActive = false; + this.panningButton = this.parent.LEFT; + this.panningKeyModifier = GPlot.NONE; + this.panningReferencePoint = undefined; + this.panningIntervalId = undefined; + this.labelingIsActive = false; + this.labelingButton = this.parent.LEFT; + this.labelingKeyModifier = GPlot.NONE; + this.mousePos = undefined; + this.resetIsActive = false; + this.resetButton = this.parent.RIGHT; + this.resetKeyModifier = this.parent.CONTROL; + this.xLimReset = undefined; + this.yLimReset = undefined; + + // Add the event listeners + window.addEventListener("click", this.clickEvent.bind(this), false); + window.addEventListener("mousedown", this.mouseDownEvent.bind(this), false); + window.addEventListener("touchstart", this.mouseDownEvent.bind(this), false); + window.addEventListener("mouseup", this.mouseUpEvent.bind(this), false); + window.addEventListener("touchend", this.mouseUpEvent.bind(this), false); + window.addEventListener("wheel", this.wheelEvent.bind(this), false); +} + +// Constants +GPlot.MAINLAYERID = "main layer"; +GPlot.VERTICAL = 0; +GPlot.HORIZONTAL = 1; +GPlot.BOTH = 2; +GPlot.NONE = 0; + +GPlot.prototype.addLayer = function() { + var id, layer; + + if (arguments.length === 2) { + id = arguments[0]; + layer = new GLayer(this.parent, id, this.dim, this.xLim, this.yLim, this.xLog, this.yLog); + layer.setPoints(arguments[1]); + } else if (arguments.length === 1) { + id = arguments[0].getId(); + layer = arguments[0]; + } else { + throw new Error("GPlot.addLayer(): signature not supported"); + } + + // Check that it is the only layer with that id + var sameId = false; + + if (this.mainLayer.isId(id)) { + sameId = true; + } else { + for (var i = 0; i < this.layerList.length; i++) { + if (this.layerList[i].isId(id)) { + sameId = true; + break; + } + } + } + + // Add the layer to the list + if (!sameId) { + layer.setDim(this.dim); + layer.setLimAndLog(this.xLim, this.yLim, this.xLog, this.yLog); + this.layerList.push(layer); + + // Calculate and update the new plot limits if necessary + if (this.includeAllLayersInLim) { + this.updateLimits(); + } + } else { + console.log("A layer with the same id exists. Please change the id and try to add it again."); + } +}; + +GPlot.prototype.removeLayer = function(id) { + var index; + + for (var i = 0; i < this.layerList.length; i++) { + if (this.layerList[i].isId(id)) { + index = i; + break; + } + } + + if ( typeof index !== "undefined") { + this.layerList.splice(index, 1); + + // Calculate and update the new plot limits if necessary + if (this.includeAllLayersInLim) { + this.updateLimits(); + } + } else { + console.log("Couldn't find a layer in the plot with id = " + id); + } +}; + +GPlot.prototype.getPlotPosAt = function(xScreen, yScreen) { + var xPlot = xScreen - (this.pos[0] + this.mar[1]); + var yPlot = yScreen - (this.pos[1] + this.mar[2] + this.dim[1]); + + return [xPlot, yPlot]; +}; + +GPlot.prototype.getScreenPosAtValue = function(xValue, yValue) { + var xScreen = this.mainLayer.valueToXPlot(xValue) + (this.pos[0] + this.mar[1]); + var yScreen = this.mainLayer.valueToYPlot(yValue) + (this.pos[1] + this.mar[2] + this.dim[1]); + + return [xScreen, yScreen]; +}; + +GPlot.prototype.getPointAt = function() { + var xScreen, yScreen, layer; + + if (arguments.length === 3) { + xScreen = arguments[0]; + yScreen = arguments[1]; + layer = this.getLayer(arguments[2]); + } else if (arguments.length === 2) { + xScreen = arguments[0]; + yScreen = arguments[1]; + layer = this.mainLayer; + } else { + throw new Error("GPlot.getPointAt(): signature not supported"); + } + + var plotPos = this.getPlotPosAt(xScreen, yScreen); + return layer.getPointAtPlotPos(plotPos[0], plotPos[1]); +}; + +GPlot.prototype.addPointAt = function() { + var xScreen, yScreen, layerId; + + if (arguments.length === 3) { + xScreen = arguments[0]; + yScreen = arguments[1]; + layerId = arguments[2]; + } else if (arguments.length === 2) { + xScreen = arguments[0]; + yScreen = arguments[1]; + layerId = GPlot.MAINLAYERID; + } else { + throw new Error("GPlot.addPointAt(): signature not supported"); + } + + var value = this.getValueAt(xScreen, yScreen); + this.addPoint(value[0], value[1], "", layerId); +}; + +GPlot.prototype.removePointAt = function() { + var xScreen, yScreen, layerId; + + if (arguments.length === 3) { + xScreen = arguments[0]; + yScreen = arguments[1]; + layerId = arguments[2]; + } else if (arguments.length === 2) { + xScreen = arguments[0]; + yScreen = arguments[1]; + layerId = GPlot.MAINLAYERID; + } else { + throw new Error("GPlot.removePointAt(): signature not supported"); + } + + var plotPos = this.getPlotPosAt(xScreen, yScreen); + var pointIndex = this.getLayer(layerId).getPointIndexAtPlotPos(plotPos[0], plotPos[1]); + + if ( typeof pointIndex !== "undefined") { + this.removePoint(pointIndex, layerId); + } +}; + +GPlot.prototype.getValueAt = function(xScreen, yScreen) { + var plotPos = this.getPlotPosAt(xScreen, yScreen); + return this.mainLayer.plotToValue(plotPos[0], plotPos[1]); +}; + +GPlot.prototype.getRelativePlotPosAt = function(xScreen, yScreen) { + var plotPos = this.getPlotPosAt(xScreen, yScreen); + return [plotPos[0] / this.dim[0], -plotPos[1] / this.dim[1]]; +}; + +GPlot.prototype.isOverPlot = function() { + var xScreen, yScreen; + + if (arguments.length === 2) { + xScreen = arguments[0]; + yScreen = arguments[1]; + } else if (arguments.length === 0) { + xScreen = this.parent.mouseX; + yScreen = this.parent.mouseY; + } else { + throw new Error("GPlot.isOverPlot(): signature not supported"); + } + + return (xScreen >= this.pos[0]) && (xScreen <= this.pos[0] + this.outerDim[0]) && (yScreen >= this.pos[1]) && (yScreen <= this.pos[1] + this.outerDim[1]); +}; + +GPlot.prototype.isOverBox = function() { + var xScreen, yScreen; + + if (arguments.length === 2) { + xScreen = arguments[0]; + yScreen = arguments[1]; + } else if (arguments.length === 0) { + xScreen = this.parent.mouseX; + yScreen = this.parent.mouseY; + } else { + throw new Error("GPlot.isOverBox(): signature not supported"); + } + + return (xScreen >= this.pos[0] + this.mar[1]) && (xScreen <= this.pos[0] + this.outerDim[0] - this.mar[3]) && (yScreen >= this.pos[1] + this.mar[2]) && (yScreen <= this.pos[1] + this.outerDim[1] - this.mar[0]); +}; + +GPlot.prototype.updateLimits = function() { + // Calculate the new limits and update the axes if needed + if (!this.fixedXLim) { + this.xLim = this.calculatePlotXLim(); + this.xAxis.setLim(this.xLim); + this.topAxis.setLim(this.xLim); + } + + if (!this.fixedYLim) { + this.yLim = this.calculatePlotYLim(); + this.yAxis.setLim(this.yLim); + this.rightAxis.setLim(this.yLim); + } + + // Update the layers + this.mainLayer.setXYLim(this.xLim, this.yLim); + + for (var i = 0; i < this.layerList.length; i++) { + this.layerList[i].setXYLim(this.xLim, this.yLim); + } +}; + +GPlot.prototype.calculatePlotXLim = function() { + // Find the limits for the main layer + var lim = this.calculatePointsXLim(this.mainLayer.getPointsRef()); + + // Include the other layers in the limit calculation if necessary + if (this.includeAllLayersInLim) { + for (var i = 0; i < this.layerList.length; i++) { + var newLim = this.calculatePointsXLim(this.layerList[i].getPointsRef()); + + if ( typeof newLim !== "undefined") { + if ( typeof lim !== "undefined") { + lim[0] = Math.min(lim[0], newLim[0]); + lim[1] = Math.max(lim[1], newLim[1]); + } else { + lim = newLim; + } + } + } + } + + if ( typeof lim !== "undefined") { + // Expand the axis limits a bit + var delta = (lim[0] === 0) ? 0.1 : 0.1 * lim[0]; + + if (this.xLog) { + if (lim[0] !== lim[1]) { + delta = Math.exp(this.expandLimFactor * Math.log(lim[1] / lim[0])); + } + + lim[0] = lim[0] / delta; + lim[1] = lim[1] * delta; + } else { + if (lim[0] !== lim[1]) { + delta = this.expandLimFactor * (lim[1] - lim[0]); + } + + lim[0] = lim[0] - delta; + lim[1] = lim[1] + delta; + } + } else { + if (this.xLog && (this.xLim[0] <= 0 || this.xLim[1] <= 0)) { + lim = [0.1, 10]; + } else { + lim = this.xLim.slice(); + } + } + + // Invert the limits if necessary + if (this.invertedXScale && lim[0] < lim[1]) { + lim = [lim[1], lim[0]]; + } + + return lim; +}; + +GPlot.prototype.calculatePlotYLim = function() { + // Find the limits for the main layer + var lim = this.calculatePointsYLim(this.mainLayer.getPointsRef()); + + // Include the other layers in the limit calculation if necessary + if (this.includeAllLayersInLim) { + for (var i = 0; i < this.layerList.length; i++) { + var newLim = this.calculatePointsYLim(this.layerList[i].getPointsRef()); + + if ( typeof newLim !== "undefined") { + if ( typeof lim !== "undefined") { + lim[0] = Math.min(lim[0], newLim[0]); + lim[1] = Math.max(lim[1], newLim[1]); + } else { + lim = newLim; + } + } + } + } + + if ( typeof lim !== "undefined") { + // Expand the axis limits a bit + var delta = (lim[0] === 0) ? 0.1 : 0.1 * lim[0]; + + if (this.yLog) { + if (lim[0] !== lim[1]) { + delta = Math.exp(this.expandLimFactor * Math.log(lim[1] / lim[0])); + } + + lim[0] = lim[0] / delta; + lim[1] = lim[1] * delta; + } else { + if (lim[0] !== lim[1]) { + delta = this.expandLimFactor * (lim[1] - lim[0]); + } + + lim[0] = lim[0] - delta; + lim[1] = lim[1] + delta; + } + } else { + if (this.yLog && (this.yLim[0] <= 0 || this.yLim[1] <= 0)) { + lim = [0.1, 10]; + } else { + lim = this.yLim.slice(); + } + } + + // Invert the limits if necessary + if (this.invertedYScale && lim[0] < lim[1]) { + lim = [lim[1], lim[0]]; + } + + return lim; +}; + +GPlot.prototype.calculatePointsXLim = function(points) { + // Find the points limits + var lim = [Number.MAX_VALUE, -Number.MAX_VALUE]; + + for (var i = 0; i < points.length; i++) { + if (points[i].isValid()) { + // Use the point if it's inside, and it's not negative if + // the scale is logarithmic + var x = points[i].getX(); + var y = points[i].getY(); + var isInside = true; + + if (this.fixedYLim) { + isInside = ((this.yLim[1] >= this.yLim[0]) && (y >= this.yLim[0]) && (y <= this.yLim[1])) || ((this.yLim[1] < this.yLim[0]) && (y <= this.yLim[0]) && (y >= this.yLim[1])); + } + + if (isInside && !(this.xLog && x <= 0)) { + if (x < lim[0]) { + lim[0] = x; + } + + if (x > lim[1]) { + lim[1] = x; + } + } + } + } + + // Check that the new limits make sense + if (lim[1] < lim[0]) { + lim = undefined; + } + + return lim; +}; + +GPlot.prototype.calculatePointsYLim = function(points) { + // Find the points limits + var lim = [Number.MAX_VALUE, -Number.MAX_VALUE]; + + for (var i = 0; i < points.length; i++) { + if (points[i].isValid()) { + // Use the point if it's inside, and it's not negative if + // the scale is logarithmic + var x = points[i].getX(); + var y = points[i].getY(); + var isInside = true; + + if (this.fixedXLim) { + isInside = ((this.xLim[1] >= this.xLim[0]) && (x >= this.xLim[0]) && (x <= this.xLim[1])) || ((this.xLim[1] < this.xLim[0]) && (x <= this.xLim[0]) && (x >= this.xLim[1])); + } + + if (isInside && !(this.yLog && y <= 0)) { + if (y < lim[0]) { + lim[0] = y; + } + if (y > lim[1]) { + lim[1] = y; + } + } + } + } + + // Check that the new limits make sense + if (lim[1] < lim[0]) { + lim = undefined; + } + + return lim; +}; + +GPlot.prototype.moveHorizontalAxesLim = function(delta) { + // Obtain the new x limits + var deltaLim; + + if (this.xLog) { + deltaLim = Math.exp(Math.log(this.xLim[1] / this.xLim[0]) * delta / this.dim[0]); + this.xLim[0] *= deltaLim; + this.xLim[1] *= deltaLim; + } else { + deltaLim = (this.xLim[1] - this.xLim[0]) * delta / this.dim[0]; + this.xLim[0] += deltaLim; + this.xLim[1] += deltaLim; + } + + // Fix the limits + this.fixedXLim = true; + + // Move the horizontal axes + this.xAxis.moveLim(this.xLim); + this.topAxis.moveLim(this.xLim); + + // Update the plot limits + this.updateLimits(); +}; + +GPlot.prototype.moveVerticalAxesLim = function(delta) { + // Obtain the new y limits + var deltaLim; + + if (this.yLog) { + deltaLim = Math.exp(Math.log(this.yLim[1] / this.yLim[0]) * delta / this.dim[1]); + this.yLim[0] *= deltaLim; + this.yLim[1] *= deltaLim; + } else { + deltaLim = (this.yLim[1] - this.yLim[0]) * delta / this.dim[1]; + this.yLim[0] += deltaLim; + this.yLim[1] += deltaLim; + } + + // Fix the limits + this.fixedYLim = true; + + // Move the vertical axes + this.yAxis.moveLim(this.yLim); + this.rightAxis.moveLim(this.yLim); + + // Update the plot limits + this.updateLimits(); +}; + +GPlot.prototype.centerAndZoom = function(factor, xValue, yValue) { + // Calculate the new limits + var deltaLim; + + if (this.xLog) { + deltaLim = Math.exp(Math.log(this.xLim[1] / this.xLim[0]) / (2 * factor)); + this.xLim = [xValue / deltaLim, xValue * deltaLim]; + } else { + deltaLim = (this.xLim[1] - this.xLim[0]) / (2 * factor); + this.xLim = [xValue - deltaLim, xValue + deltaLim]; + } + + if (this.yLog) { + deltaLim = Math.exp(Math.log(this.yLim[1] / this.yLim[0]) / (2 * factor)); + this.yLim = [yValue / deltaLim, yValue * deltaLim]; + } else { + deltaLim = (this.yLim[1] - this.yLim[0]) / (2 * factor); + this.yLim = [yValue - deltaLim, yValue + deltaLim]; + } + + // Fix the limits + this.fixedXLim = true; + this.fixedYLim = true; + + // Update the horizontal and vertical axes + this.xAxis.setLim(this.xLim); + this.topAxis.setLim(this.xLim); + this.yAxis.setLim(this.yLim); + this.rightAxis.setLim(yLim); + + // Update the plot limits (the layers, because the limits are fixed) + this.updateLimits(); +}; + +GPlot.prototype.zoom = function() { + var factor, deltaLim, offset; + + if (arguments.length === 3) { + factor = arguments[0]; + var xScreen = arguments[1]; + var yScreen = arguments[2]; + + var plotPos = this.getPlotPosAt(xScreen, yScreen); + var value = this.mainLayer.plotToValue(plotPos[0], plotPos[1]); + + if (this.xLog) { + deltaLim = Math.exp(Math.log(this.xLim[1] / this.xLim[0]) / (2 * factor)); + offset = Math.exp((Math.log(this.xLim[1] / this.xLim[0]) / factor) * (0.5 - plotPos[0] / this.dim[0])); + this.xLim = [value[0] * offset / deltaLim, value[0] * offset * deltaLim]; + } else { + deltaLim = (this.xLim[1] - this.xLim[0]) / (2 * factor); + offset = 2 * deltaLim * (0.5 - plotPos[0] / this.dim[0]); + this.xLim = [value[0] + offset - deltaLim, value[0] + offset + deltaLim]; + } + + if (this.yLog) { + deltaLim = Math.exp(Math.log(this.yLim[1] / this.yLim[0]) / (2 * factor)); + offset = Math.exp((Math.log(this.yLim[1] / this.yLim[0]) / factor) * (0.5 + plotPos[1] / this.dim[1])); + this.yLim = [value[1] * offset / deltaLim, value[1] * offset * deltaLim]; + } else { + deltaLim = (this.yLim[1] - this.yLim[0]) / (2 * factor); + offset = 2 * deltaLim * (0.5 + plotPos[1] / this.dim[1]); + this.yLim = [value[1] + offset - deltaLim, value[1] + offset + deltaLim]; + } + + // Fix the limits + this.fixedXLim = true; + this.fixedYLim = true; + + // Update the horizontal and vertical axes + this.xAxis.setLim(this.xLim); + this.topAxis.setLim(this.xLim); + this.yAxis.setLim(this.yLim); + this.rightAxis.setLim(this.yLim); + + // Update the plot limits (the layers, because the limits are fixed) + this.updateLimits(); + } else if (arguments.length === 1) { + factor = arguments[0]; + var centerValue = this.mainLayer.plotToValue(this.dim[0] / 2, -this.dim[1] / 2); + this.centerAndZoom(factor, centerValue[0], centerValue[1]); + } else { + throw new Error("GPlot.zoom(): signature not supported"); + } +}; + +GPlot.prototype.shiftPlotPos = function(valuePlotPos, newPlotPos) { + // Calculate the new limits + var deltaLim; + var deltaXPlot = valuePlotPos[0] - newPlotPos[0]; + var deltaYPlot = valuePlotPos[1] - newPlotPos[1]; + + if (this.xLog) { + deltaLim = Math.exp(Math.log(this.xLim[1] / this.xLim[0]) * deltaXPlot / this.dim[0]); + this.xLim = [this.xLim[0] * deltaLim, this.xLim[1] * deltaLim]; + } else { + deltaLim = (this.xLim[1] - this.xLim[0]) * deltaXPlot / this.dim[0]; + this.xLim = [this.xLim[0] + deltaLim, this.xLim[1] + deltaLim]; + } + + if (this.yLog) { + deltaLim = Math.exp(-Math.log(this.yLim[1] / this.yLim[0]) * deltaYPlot / this.dim[1]); + this.yLim = [this.yLim[0] * deltaLim, this.yLim[1] * deltaLim]; + } else { + deltaLim = -(this.yLim[1] - this.yLim[0]) * deltaYPlot / this.dim[1]; + this.yLim = [this.yLim[0] + deltaLim, this.yLim[1] + deltaLim]; + } + + // Fix the limits + this.fixedXLim = true; + this.fixedYLim = true; + + // Move the horizontal and vertical axes + this.xAxis.moveLim(this.xLim); + this.topAxis.moveLim(this.xLim); + this.yAxis.moveLim(this.yLim); + this.rightAxis.moveLim(this.yLim); + + // Update the plot limits (the layers, because the limits are fixed) + this.updateLimits(); +}; + +GPlot.prototype.align = function() { + var xValue, yValue, xScreen, yScreen; + + if (arguments.length === 4) { + xValue = arguments[0]; + yValue = arguments[1]; + xScreen = arguments[2]; + yScreen = arguments[3]; + } else if (arguments.length === 3) { + xValue = arguments[0][0]; + yValue = arguments[0][1]; + xScreen = arguments[1]; + yScreen = arguments[2]; + } else { + throw new Error("GPlot.align(): signature not supported"); + } + + var valuePlotPos = this.mainLayer.valueToPlot(xValue, yValue); + var newPlotPos = this.getPlotPosAt(xScreen, yScreen); + this.shiftPlotPos(valuePlotPos, newPlotPos); +}; + +GPlot.prototype.center = function(xScreen, yScreen) { + var valuePlotPos = this.getPlotPosAt(xScreen, yScreen); + var newPlotPos = [this.dim[0] / 2, -this.dim[1] / 2]; + this.shiftPlotPos(valuePlotPos, newPlotPos); +}; + +GPlot.prototype.startHistograms = function(histType) { + this.mainLayer.startHistogram(histType); + + for (var i = 0; i < this.layerList.length; i++) { + this.layerList[i].startHistogram(histType); + } +}; + +GPlot.prototype.defaultDraw = function() { + this.beginDraw(); + this.drawBackground(); + this.drawBox(); + this.drawXAxis(); + this.drawYAxis(); + this.drawTitle(); + this.drawLines(); + this.drawPoints(); + this.endDraw(); +}; + +GPlot.prototype.beginDraw = function() { + this.parent.push(); + this.parent.translate(this.pos[0] + this.mar[1], this.pos[1] + this.mar[2] + this.dim[1]); +}; + +GPlot.prototype.endDraw = function() { + this.parent.pop(); +}; + +GPlot.prototype.drawBackground = function() { + this.parent.push(); + this.parent.rectMode(this.parent.CORNER); + this.parent.fill(this.bgColor); + this.parent.noStroke(); + this.parent.rect(-this.mar[1], -this.mar[2] - this.dim[1], this.outerDim[0], this.outerDim[1]); + this.parent.pop(); +}; + +GPlot.prototype.drawBox = function() { + this.parent.push(); + this.parent.rectMode(this.parent.CORNER); + this.parent.fill(this.boxBgColor); + this.parent.stroke(this.boxLineColor); + this.parent.strokeWeight(this.boxLineWidth); + this.parent.strokeCap(this.parent.SQUARE); + this.parent.rect(0, -this.dim[1], this.dim[0], this.dim[1]); + this.parent.pop(); +}; + +GPlot.prototype.drawXAxis = function() { + this.xAxis.draw(); +}; + +GPlot.prototype.drawYAxis = function() { + this.yAxis.draw(); +}; + +GPlot.prototype.drawTopAxis = function() { + this.topAxis.draw(); +}; + +GPlot.prototype.drawRightAxis = function() { + this.rightAxis.draw(); +}; + +GPlot.prototype.drawTitle = function() { + this.title.draw(); +}; + +GPlot.prototype.drawPoints = function() { + var i; + + if (arguments.length === 1) { + this.mainLayer.drawPoints(arguments[0]); + + for ( i = 0; i < this.layerList.length; i++) { + this.layerList[0].drawPoints(arguments[0]); + } + } else if (arguments.length === 0) { + this.mainLayer.drawPoints(); + + for ( i = 0; i < this.layerList.length; i++) { + this.layerList[i].drawPoints(); + } + } else { + throw new Error("GPlot.drawPoints(): signature not supported"); + } +}; + +GPlot.prototype.drawPoint = function() { + if (arguments.length === 3) { + this.mainLayer.drawPoint(arguments[0], arguments[1], arguments[2]); + } else if (arguments.length === 2) { + this.mainLayer.drawPoint(arguments[0], arguments[1]); + } else if (arguments.length === 1) { + this.mainLayer.drawPoint(arguments[0]); + } else { + throw new Error("GPlot.drawPoint(): signature not supported"); + } +}; + +GPlot.prototype.drawLines = function() { + this.mainLayer.drawLines(); + + for (var i = 0; i < this.layerList.length; i++) { + this.layerList[i].drawLines(); + } +}; + +GPlot.prototype.drawLine = function() { + if (arguments.length === 4) { + this.mainLayer.drawLine(arguments[0], arguments[1], arguments[2], arguments[3]); + } else if (arguments.length === 2) { + this.mainLayer.drawLine(arguments[0], arguments[1]); + } else { + throw new Error("GPlot.drawLine(): signature not supported"); + } +}; + +GPlot.prototype.drawHorizontalLine = function() { + if (arguments.length === 3) { + this.mainLayer.drawHorizontalLine(arguments[0], arguments[1], arguments[2]); + } else if (arguments.length === 1) { + this.mainLayer.drawHorizontalLine(arguments[0]); + } else { + throw new Error("GPlot.drawHorizontalLine(): signature not supported"); + } +}; + +GPlot.prototype.drawVerticalLine = function() { + if (arguments.length === 3) { + this.mainLayer.drawVerticalLine(arguments[0], arguments[1], arguments[2]); + } else if (arguments.length === 1) { + this.mainLayer.drawVerticalLine(arguments[0]); + } else { + throw new Error("GPlot.drawVerticalLine(): signature not supported"); + } +}; + +GPlot.prototype.drawFilledContours = function(contourType, referenceValue) { + this.mainLayer.drawFilledContour(contourType, referenceValue); + + for (var i = 0; i < this.layerList.length; i++) { + this.layerList[i].drawFilledContour(contourType, referenceValue); + } +}; + +GPlot.prototype.drawAllLabels = function() { + this.mainLayer.drawAllLabels(); +}; + +GPlot.prototype.drawLabel = function(point) { + this.mainLayer.drawLabel(point); +}; + +GPlot.prototype.drawLabelsAt = function(xScreen, yScreen) { + var plotPos = this.getPlotPosAt(xScreen, yScreen); + this.mainLayer.drawLabelAtPlotPos(plotPos[0], plotPos[1]); + + for (var i = 0; i < this.layerList.length; i++) { + this.layerList[i].drawLabelAtPlotPos(plotPos[0], plotPos[1]); + } +}; + +GPlot.prototype.drawLabels = function() { + if (this.labelingIsActive && typeof this.mousePos !== "undefined") { + this.drawLabelsAt(this.mousePos[0], this.mousePos[1]); + } +}; + +GPlot.prototype.drawGridLines = function(gridType) { + var i; + + this.parent.push(); + this.parent.noFill(); + this.parent.stroke(this.gridLineColor); + this.parent.strokeWeight(this.gridLineWidth); + this.parent.strokeCap(this.parent.SQUARE); + + if (gridType === GPlot.BOTH || gridType === GPlot.VERTICAL) { + var xPlotTicks = this.xAxis.getPlotTicksRef(); + + for ( i = 0; i < xPlotTicks.length; i++) { + if (xPlotTicks[i] >= 0 && xPlotTicks[i] <= this.dim[0]) { + this.parent.line(xPlotTicks[i], 0, xPlotTicks[i], -this.dim[1]); + } + } + } + + if (gridType === GPlot.BOTH || gridType === GPlot.HORIZONTAL) { + var yPlotTicks = this.yAxis.getPlotTicksRef(); + + for ( i = 0; i < yPlotTicks.length; i++) { + if (-yPlotTicks[i] >= 0 && -yPlotTicks[i] <= this.dim[1]) { + this.parent.line(0, yPlotTicks[i], this.dim[0], yPlotTicks[i]); + } + } + } + + this.parent.pop(); +}; + +GPlot.prototype.drawHistograms = function() { + this.mainLayer.drawHistogram(); + + for (var i = 0; i < this.layerList.length; i++) { + this.layerList[i].drawHistogram(); + } +}; + +GPlot.prototype.drawPolygon = function(polygonPoints, polygonColor) { + this.mainLayer.drawPolygon(polygonPoints, polygonColor); +}; + +GPlot.prototype.drawAnnotation = function(text, x, y, horAlign, verAlign) { + this.mainLayer.drawAnnotation(text, x, y, horAlign, verAlign); +}; + +GPlot.prototype.drawLegend = function(text, xRelativePos, yRelativePos) { + var rectSize = 14; + + this.parent.push(); + this.parent.rectMode(this.parent.CENTER); + this.parent.noStroke(); + + for (var i = 0; i < text.length; i++) { + var plotPosition = [xRelativePos[i] * this.dim[0], -yRelativePos[i] * this.dim[1]]; + var position = this.mainLayer.plotToValue(plotPosition[0] + rectSize, plotPosition[1]); + + if (i === 0) { + this.parent.fill(this.mainLayer.getLineColor()); + this.parent.rect(plotPosition[0], plotPosition[1], rectSize, rectSize); + this.mainLayer.drawAnnotation(text[i], position[0], position[1], this.parent.LEFT, this.parent.CENTER); + } else { + this.parent.fill(this.layerList[i - 1].getLineColor()); + this.parent.rect(plotPosition[0], plotPosition[1], rectSize, rectSize); + this.layerList[i - i].drawAnnotation(text[i], position[0], position[1], this.parent.LEFT, this.parent.CENTER); + } + } + + this.parent.pop(); +}; + +GPlot.prototype.setPos = function() { + if (arguments.length === 2) { + this.pos[0] = arguments[0]; + this.pos[1] = arguments[1]; + } else if (arguments.length === 1) { + this.pos[0] = arguments[0][0]; + this.pos[1] = arguments[0][1]; + } else { + throw new Error("GPlot.setPos(): signature not supported"); + } +}; + +GPlot.prototype.setOuterDim = function() { + var xOuterDim, yOuterDim; + + if (arguments.length === 2) { + xOuterDim = arguments[0]; + yOuterDim = arguments[1]; + } else if (arguments.length === 1) { + xOuterDim = arguments[0][0]; + yOuterDim = arguments[0][1]; + } else { + throw new Error("GPlot.setOuterDim(): signature not supported"); + } + + if (xOuterDim > 0 && yOuterDim > 0) { + // Make sure that the new plot dimensions are positive + var xDim = xOuterDim - this.mar[1] - this.mar[3]; + var yDim = yOuterDim - this.mar[0] - this.mar[2]; + + if (xDim > 0 && yDim > 0) { + this.outerDim[0] = xOuterDim; + this.outerDim[1] = yOuterDim; + this.dim[0] = xDim; + this.dim[1] = yDim; + this.xAxis.setDim(this.dim); + this.topAxis.setDim(this.dim); + this.yAxis.setDim(this.dim); + this.rightAxis.setDim(this.dim); + this.title.setDim(this.dim); + + // Update the layers + this.mainLayer.setDim(this.dim); + + for (var i = 0; i < this.layerList.lenght; i++) { + this.layerList[i].setDim(this.dim); + } + } + } +}; + +GPlot.prototype.setMar = function() { + var bottomMargin, leftMargin, topMargin, rightMargin; + + if (arguments.length === 4) { + bottomMargin = arguments[0]; + leftMargin = arguments[1]; + topMargin = arguments[2]; + rightMargin = arguments[3]; + } else if (arguments.length === 1) { + bottomMargin = arguments[0][0]; + leftMargin = arguments[0][1]; + topMargin = arguments[0][2]; + rightMargin = arguments[0][3]; + } else { + throw new Error("GPlot.setMar(): signature not supported"); + } + + var xOuterDim = this.dim[0] + leftMargin + rightMargin; + var yOuterDim = this.dim[1] + bottomMargin + topMargin; + + if (xOuterDim > 0 && yOuterDim > 0) { + this.mar[0] = bottomMargin; + this.mar[1] = leftMargin; + this.mar[2] = topMargin; + this.mar[3] = rightMargin; + this.outerDim[0] = xOuterDim; + this.outerDim[1] = yOuterDim; + } +}; + +GPlot.prototype.setDim = function() { + var xDim, yDim; + + if (arguments.length === 2) { + xDim = arguments[0]; + yDim = arguments[1]; + } else if (arguments.length === 1) { + xDim = arguments[0][0]; + yDim = arguments[0][1]; + } else { + throw new Error("GPlot.setDim(): signature not supported"); + } + + if (xDim > 0 && yDim > 0) { + // Make sure that the new outer dimensions are positive + var xOuterDim = xDim + this.mar[1] + this.mar[3]; + var yOuterDim = yDim + this.mar[0] + this.mar[2]; + + if (xOuterDim > 0 && yOuterDim > 0) { + this.outerDim[0] = xOuterDim; + this.outerDim[1] = yOuterDim; + this.dim[0] = xDim; + this.dim[1] = yDim; + this.xAxis.setDim(this.dim); + this.topAxis.setDim(this.dim); + this.yAxis.setDim(this.dim); + this.rightAxis.setDim(this.dim); + this.title.setDim(this.dim); + + // Update the layers + this.mainLayer.setDim(this.dim); + + for (var i = 0; i < this.layerList.length; i++) { + this.layerList[i].setDim(this.dim); + } + } + } +}; + +GPlot.prototype.setXLim = function() { + var lowerLim, upperLim; + + if (arguments.length === 2) { + lowerLim = arguments[0]; + upperLim = arguments[1]; + } else if (arguments.length === 1) { + lowerLim = arguments[0][0]; + upperLim = arguments[0][1]; + } else { + throw new Error("GPlot.setXLim(): signature not supported"); + } + + if (lowerLim !== upperLim) { + // Make sure the new limits makes sense + if (this.xLog && (lowerLim <= 0 || upperLim <= 0)) { + console.log("One of the limits is negative. This is not allowed in logarithmic scale."); + } else { + this.xLim[0] = lowerLim; + this.xLim[1] = upperLim; + this.invertedXScale = this.xLim[0] > this.xLim[1]; + + // Fix the limits + this.fixedXLim = true; + + // Update the axes + this.xAxis.setLim(this.xLim); + this.topAxis.setLim(this.xLim); + + // Update the plot limits + this.updateLimits(); + } + } +}; + +GPlot.prototype.setYLim = function() { + var lowerLim, upperLim; + + if (arguments.length === 2) { + lowerLim = arguments[0]; + upperLim = arguments[1]; + } else if (arguments.length === 1) { + lowerLim = arguments[0][0]; + upperLim = arguments[0][1]; + } else { + throw new Error("GPlot.setYLim(): signature not supported"); + } + + if (lowerLim !== upperLim) { + // Make sure the new limits makes sense + if (this.yLog && (lowerLim <= 0 || upperLim <= 0)) { + console.log("One of the limits is negative. This is not allowed in logarithmic scale."); + } else { + this.yLim[0] = lowerLim; + this.yLim[1] = upperLim; + this.invertedYScale = this.yLim[0] > this.yLim[1]; + + // Fix the limits + this.fixedYLim = true; + + // Update the axes + this.yAxis.setLim(this.yLim); + this.rightAxis.setLim(this.yLim); + + // Update the plot limits + this.updateLimits(); + } + } +}; + +GPlot.prototype.setFixedXLim = function(fixedXLim) { + this.fixedXLim = fixedXLim; + + // Update the plot limits + this.updateLimits(); +}; + +GPlot.prototype.setFixedYLim = function(fixedYLim) { + this.fixedYLim = fixedYLim; + + // Update the plot limits + this.updateLimits(); +}; + +GPlot.prototype.setLogScale = function(logType) { + var newXLog = this.xLog; + var newYLog = this.yLog; + + if (logType === "xy" || logType === "yx") { + newXLog = true; + newYLog = true; + } else if (logType === "x") { + newXLog = true; + newYLog = false; + } else if (logType === "y") { + newXLog = false; + newYLog = true; + } else if (logType === "") { + newXLog = false; + newYLog = false; + } + + // Do something only if the scale changed + if (newXLog !== this.xLog || newYLog !== this.yLog) { + // Set the new log scales + this.xLog = newXLog; + this.yLog = newYLog; + + // Unfix the limits if the old ones don't make sense + if (this.xLog && this.fixedXLim && (this.xLim[0] <= 0 || this.xLim[1] <= 0)) { + this.fixedXLim = false; + } + + if (this.yLog && this.fixedYLim && (this.yLim[0] <= 0 || this.yLim[1] <= 0)) { + this.fixedYLim = false; + } + + // Calculate the new limits if needed + if (!this.fixedXLim) { + this.xLim = this.calculatePlotXLim(); + } + + if (!this.fixedYLim) { + this.yLim = this.calculatePlotYLim(); + } + + // Update the axes + this.xAxis.setLimAndLog(this.xLim, this.xLog); + this.topAxis.setLimAndLog(this.xLim, this.xLog); + this.yAxis.setLimAndLog(this.yLim, this.yLog); + this.rightAxis.setLimAndLog(this.yLim, this.yLog); + + // Update the layers + this.mainLayer.setLimAndLog(this.xLim, this.yLim, this.xLog, this.yLog); + + for (var i = 0; i < this.layerList.length; i++) { + this.layerList[i].setLimAndLog(this.xLim, this.yLim, this.xLog, this.yLog); + } + } +}; + +GPlot.prototype.setInvertedXScale = function(invertedXScale) { + if (invertedXScale !== this.invertedXScale) { + this.invertedXScale = invertedXScale; + var temp = this.xLim[0]; + this.xLim[0] = this.xLim[1]; + this.xLim[1] = temp; + + // Update the axes + this.xAxis.setLim(this.xLim); + this.topAxis.setLim(this.xLim); + + // Update the layers + this.mainLayer.setXLim(this.xLim); + + for (var i = 0; i < this.layerList.length; i++) { + this.layerList[i].setXLim(this.xLim); + } + } +}; + +GPlot.prototype.invertXScale = function() { + this.setInvertedXScale(!this.invertedXScale); +}; + +GPlot.prototype.setInvertedYScale = function(invertedYScale) { + if (invertedYScale !== this.invertedYScale) { + this.invertedYScale = invertedYScale; + var temp = this.yLim[0]; + this.yLim[0] = this.yLim[1]; + this.yLim[1] = temp; + + // Update the axes + this.yAxis.setLim(this.yLim); + this.rightAxis.setLim(this.yLim); + + // Update the layers + this.mainLayer.setYLim(this.yLim); + + for (var i = 0; i < this.layerList.length; i++) { + this.layerList[i].setYLim(this.yLim); + } + } +}; + +GPlot.prototype.invertYScale = function() { + this.setInvertedYScale(!this.invertedYScale); +}; + +GPlot.prototype.setIncludeAllLayersInLim = function(includeAllLayers) { + if (includeAllLayers !== this.includeAllLayersInLim) { + this.includeAllLayersInLim = includeAllLayers; + + // Update the plot limits + this.updateLimits(); + } +}; + +GPlot.prototype.setExpandLimFactor = function(expandFactor) { + if (expandFactor >= 0 && expandFactor !== this.expandLimFactor) { + this.expandLimFactor = expandFactor; + + // Update the plot limits + this.updateLimits(); + } +}; + +GPlot.prototype.setBgColor = function(bgColor) { + this.bgColor = bgColor; +}; + +GPlot.prototype.setBoxBgColor = function(boxBgColor) { + this.boxBgColor = boxBgColor; +}; + +GPlot.prototype.setBoxLineColor = function(boxLineColor) { + this.boxLineColor = boxLineColor; +}; + +GPlot.prototype.setBoxLineWidth = function(boxLineWidth) { + if (boxLineWidth > 0) { + this.boxLineWidth = boxLineWidth; + } +}; + +GPlot.prototype.setGridLineColor = function(gridLineColor) { + this.gridLineColor = gridLineColor; +}; + +GPlot.prototype.setGridLineWidth = function(gridLineWidth) { + if (gridLineWidth > 0) { + this.gridLineWidth = gridLineWidth; + } +}; + +GPlot.prototype.setPoints = function() { + if (arguments.length === 2) { + this.getLayer(arguments[1]).setPoints(arguments[0]); + } else if (arguments.length === 1) { + this.mainLayer.setPoints(arguments[0]); + } else { + throw new Error("GPlot.setPoints(): signature not supported"); + } + + this.updateLimits(); +}; + +GPlot.prototype.setPoint = function() { + if (arguments.length === 5) { + this.getLayer(arguments[4]).setPoint(arguments[0], arguments[1], arguments[2], arguments[3]); + } else if (arguments.length === 4) { + this.mainLayer.setPoint(arguments[0], arguments[1], arguments[2], arguments[3]); + } else if (arguments.length === 3 && arguments[1] instanceof GPoint) { + this.getLayer(arguments[2]).setPoint(arguments[0], arguments[1]); + } else if (arguments.length === 3) { + this.mainLayer.setPoint(arguments[0], arguments[1], arguments[2]); + } else if (arguments.length === 2) { + this.mainLayer.setPoint(arguments[0], arguments[1]); + } else { + throw new Error("GPlot.setPoint(): signature not supported"); + } + + this.updateLimits(); +}; + +GPlot.prototype.addPoint = function() { + if (arguments.length === 4) { + this.getLayer(arguments[3]).addPoint(arguments[0], arguments[1], arguments[2]); + } else if (arguments.length === 3) { + this.mainLayer.addPoint(arguments[0], arguments[1], arguments[2]); + } else if (arguments.length === 2 && arguments[0] instanceof GPoint) { + this.getLayer(arguments[1]).addPoint(arguments[0]); + } else if (arguments.length === 2) { + this.mainLayer.addPoint(arguments[0], arguments[1]); + } else if (arguments.length === 1) { + this.mainLayer.addPoint(arguments[0]); + } else { + throw new Error("GPlot.addPoint(): signature not supported"); + } + + this.updateLimits(); +}; + +GPlot.prototype.addPoints = function() { + if (arguments.length === 2) { + this.getLayer(arguments[1]).addPoints(arguments[0]); + } else if (arguments.length === 1) { + this.mainLayer.addPoints(arguments[0]); + } else { + throw new Error("GPlot.addPoints(): signature not supported"); + } + + this.updateLimits(); +}; + +GPlot.prototype.removePoint = function() { + if (arguments.length === 2) { + this.getLayer(arguments[1]).removePoint(arguments[0]); + } else if (arguments.length === 1) { + this.mainLayer.removePoint(arguments[0]); + } else { + throw new Error("GPlot.removePoint(): signature not supported"); + } + + this.updateLimits(); +}; + +GPlot.prototype.addPointAtIndexPos = function() { + if (arguments.length === 5) { + this.getLayer(arguments[4]).addPointAtIndexPos(arguments[0], arguments[1], arguments[2], arguments[3]); + } else if (arguments.length === 4) { + this.mainLayer.addPointAtIndexPos(arguments[0], arguments[1], arguments[2], arguments[3]); + } else if (arguments.length === 3 && arguments[1] instanceof GPoint) { + this.getLayer(arguments[2]).addPointAtIndexPos(arguments[0], arguments[1]); + } else if (arguments.length === 3) { + this.mainLayer.addPointAtIndexPos(arguments[0], arguments[1], arguments[2]); + } else if (arguments.length === 2) { + this.mainLayer.addPointAtIndexPos(arguments[0], arguments[1]); + } else { + throw new Error("GPlot.addPointAtIndexPos(): signature not supported"); + } + + this.updateLimits(); +}; + +GPlot.prototype.setPointColors = function(pointColors) { + this.mainLayer.setPointColors(pointColors); +}; + +GPlot.prototype.setPointColor = function(pointColor) { + this.mainLayer.setPointColor(pointColor); +}; + +GPlot.prototype.setPointSizes = function(pointSizes) { + this.mainLayer.setPointSizes(pointSizes); +}; + +GPlot.prototype.setPointSize = function(pointSize) { + this.mainLayer.setPointSize(pointSize); +}; + +GPlot.prototype.setLineColor = function(lineColor) { + this.mainLayer.setLineColor(lineColor); +}; + +GPlot.prototype.setLineWidth = function(lineWidth) { + this.mainLayer.setLineWidth(lineWidth); +}; + +GPlot.prototype.setHistBasePoint = function(basePoint) { + this.mainLayer.setHistBasePoint(basePoint); +}; + +GPlot.prototype.setHistType = function(histType) { + this.mainLayer.setHistType(histType); +}; + +GPlot.prototype.setHistVisible = function(histVisible) { + this.mainLayer.setHistVisible(histVisible); +}; + +GPlot.prototype.setDrawHistLabels = function(drawHistLabels) { + this.mainLayer.setDrawHistLabels(drawHistLabels); +}; + +GPlot.prototype.setLabelBgColor = function(labelBgColor) { + this.mainLayer.setLabelBgColor(labelBgColor); +}; + +GPlot.prototype.setLabelSeparation = function(labelSeparation) { + this.mainLayer.setLabelSeparation(labelSeparation); +}; + +GPlot.prototype.setTitleText = function(text) { + this.title.setText(text); +}; + +GPlot.prototype.setAxesOffset = function(offset) { + this.xAxis.setOffset(offset); + this.topAxis.setOffset(offset); + this.yAxis.setOffset(offset); + this.rightAxis.setOffset(offset); +}; + +GPlot.prototype.setTicksLength = function(tickLength) { + this.xAxis.setTickLength(tickLength); + this.topAxis.setTickLength(tickLength); + this.yAxis.setTickLength(tickLength); + this.rightAxis.setTickLength(tickLength); +}; + +GPlot.prototype.setHorizontalAxesNTicks = function(nTicks) { + this.xAxis.setNTicks(nTicks); + this.topAxis.setNTicks(nTicks); +}; + +GPlot.prototype.setHorizontalAxesTicksSeparation = function(ticksSeparation) { + this.xAxis.setTicksSeparation(ticksSeparation); + this.topAxis.setTicksSeparation(ticksSeparation); +}; + +GPlot.prototype.setHorizontalAxesTicks = function(ticks) { + this.xAxis.setTicks(ticks); + this.topAxis.setTicks(ticks); +}; + +GPlot.prototype.setVerticalAxesNTicks = function(nTicks) { + this.yAxis.setNTicks(nTicks); + this.rightAxis.setNTicks(nTicks); +}; + +GPlot.prototype.setVerticalAxesTicksSeparation = function(ticksSeparation) { + this.yAxis.setTicksSeparation(ticksSeparation); + this.rightAxis.setTicksSeparation(ticksSeparation); +}; + +GPlot.prototype.setVerticalAxesTicks = function(ticks) { + this.yAxis.setTicks(ticks); + this.rightAxis.setTicks(ticks); +}; + +GPlot.prototype.setFontName = function(fontName) { + this.maniLayer.setFontName(fontName); +}; + +GPlot.prototype.setFontColor = function(fontColor) { + this.maniLayer.setFontColor(fontColor); +}; + +GPlot.prototype.setFontSize = function(fontSize) { + this.maniLayer.setFontSize(fontSize); +}; + +GPlot.prototype.setFontProperties = function(fontName, fontColor, fontSize) { + this.maniLayer.setFontProperties(fontName, fontColor, fontSize); +}; + +GPlot.prototype.setAllFontProperties = function(fontName, fontColor, fontSize) { + this.xAxis.setAllFontProperties(fontName, fontColor, fontSize); + this.topAxis.setAllFontProperties(fontName, fontColor, fontSize); + this.yAxis.setAllFontProperties(fontName, fontColor, fontSize); + this.rightAxis.setAllFontProperties(fontName, fontColor, fontSize); + this.title.setFontProperties(fontName, fontColor, fontSize); + + this.mainLayer.setAllFontProperties(fontName, fontColor, fontSize); + + for (var i = 0; i < layerList.length; i++) { + this.layerList[i].setAllFontProperties(fontName, fontColor, fontSize); + } +}; + +GPlot.prototype.getPos = function() { + return this.pos.slice(); +}; + +GPlot.prototype.getOuterDim = function() { + return this.outerDim.slice(); +}; + +GPlot.prototype.getMar = function() { + return this.mar.slice(); +}; + +GPlot.prototype.getDim = function() { + return this.dim.slice(); +}; + +GPlot.prototype.getXLim = function() { + return this.xLim.slice(); +}; + +GPlot.prototype.getYLim = function() { + return this.yLim.slice(); +}; + +GPlot.prototype.getFixedXLim = function() { + return this.fixedXLim; +}; + +GPlot.prototype.getFixedYLim = function() { + return this.fixedYLim; +}; + +GPlot.prototype.getXLog = function() { + return this.xLog; +}; + +GPlot.prototype.getYLog = function() { + return this.yLog; +}; + +GPlot.prototype.getInvertedXScale = function() { + return this.invertedXScale; +}; + +GPlot.prototype.getInvertedYScale = function() { + return this.invertedYScale; +}; + +GPlot.prototype.getMainLayer = function() { + return this.mainLayer; +}; + +GPlot.prototype.getLayer = function(id) { + var layer; + + if (this.mainLayer.isId(id)) { + layer = this.mainLayer; + } else { + for (var i = 0; i < this.layerList.length; i++) { + if (this.layerList[i].isId(id)) { + layer = this.layerList[i]; + break; + } + } + } + + if ( typeof layer === "undefined") { + console.log("Couldn't find a layer in the plot with id = " + id); + } + + return layer; +}; + +GPlot.prototype.getXAxis = function() { + return this.xAxis; +}; + +GPlot.prototype.getYAxis = function() { + return this.yAxis; +}; + +GPlot.prototype.getTopAxis = function() { + return this.topAxis; +}; + +GPlot.prototype.getRightAxis = function() { + return this.rightAxis; +}; + +GPlot.prototype.getTitle = function() { + return this.title; +}; + +GPlot.prototype.getPoints = function() { + if (arguments.length === 1) { + return this.getLayer(arguments[0]).getPoints(); + } else if (arguments.length === 0) { + return this.mainLayer.getPoints(); + } else { + throw new Error("GPlot.getPoints(): signature not supported"); + } +}; + +GPlot.prototype.getPointsRef = function() { + if (arguments.length === 1) { + return this.getLayer(arguments[0]).getPointsRef(); + } else if (arguments.length === 0) { + return this.mainLayer.getPointsRef(); + } else { + throw new Error("GPlot.getPointsRef(): signature not supported"); + } +}; + +GPlot.prototype.getHistogram = function() { + if (arguments.length === 1) { + return this.getLayer(arguments[0]).getHistogram(); + } else if (arguments.length === 0) { + return this.mainLayer.getHistogram(); + } else { + throw new Error("GPlot.getHistogram(): signature not supported"); + } +}; + +GPlot.prototype.activateZooming = function() { + var zoomFactor, increaseButton, decreaseButton, increaseKeyModifier, decreaseKeyModifier; + + if (arguments.length === 5) { + zoomFactor = arguments[0]; + increaseButton = arguments[1]; + decreaseButton = arguments[2]; + increaseKeyModifier = arguments[3]; + decreaseKeyModifier = arguments[4]; + } else if (arguments.length === 3) { + zoomFactor = arguments[0]; + increaseButton = arguments[1]; + decreaseButton = arguments[2]; + increaseKeyModifier = GPlot.NONE; + decreaseKeyModifier = GPlot.NONE; + } else if (arguments.length === 1) { + zoomFactor = arguments[0]; + increaseButton = this.parent.LEFT; + decreaseButton = this.parent.RIGHT; + increaseKeyModifier = GPlot.NONE; + decreaseKeyModifier = GPlot.NONE; + } else if (arguments.length === 0) { + zoomFactor = 1.3; + increaseButton = this.parent.LEFT; + decreaseButton = this.parent.RIGHT; + increaseKeyModifier = GPlot.NONE; + decreaseKeyModifier = GPlot.NONE; + } else { + throw new Error("GPlot.activateZooming(): signature not supported"); + } + + this.zoomingIsActive = true; + + if (zoomFactor > 0) { + this.zoomFactor = zoomFactor; + } + + if (increaseButton === this.parent.LEFT || increaseButton === this.parent.RIGHT || increaseButton === this.parent.CENTER) { + this.increaseZoomButton = increaseButton; + } + + if (decreaseButton === this.parent.LEFT || decreaseButton === this.parent.RIGHT || decreaseButton === this.parent.CENTER) { + this.decreaseZoomButton = decreaseButton; + } + + if (increaseKeyModifier === this.parent.SHIFT || increaseKeyModifier === this.parent.CONTROL || increaseKeyModifier === this.parent.ALT || increaseKeyModifier === GPlot.NONE) { + this.increaseZoomKeyModifier = increaseKeyModifier; + } + + if (decreaseKeyModifier === this.parent.SHIFT || decreaseKeyModifier === this.parent.CONTROL || decreaseKeyModifier === this.parent.ALT || decreaseKeyModifier === GPlot.NONE) { + this.decreaseZoomKeyModifier = decreaseKeyModifier; + } +}; + +GPlot.prototype.deactivateZooming = function() { + this.zoomingIsActive = false; +}; + +GPlot.prototype.activateCentering = function() { + var button, keyModifier; + + if (arguments.length === 2) { + button = arguments[0]; + keyModifier = arguments[1]; + } else if (arguments.length === 1) { + button = arguments[0]; + keyModifier = GPlot.NONE; + } else if (arguments.length === 0) { + button = this.parent.LEFT; + keyModifier = GPlot.NONE; + } else { + throw new Error("GPlot.activateCentering(): signature not supported"); + } + + this.centeringIsActive = true; + + if (button === this.parent.LEFT || button === this.parent.RIGHT || button === this.parent.CENTER) { + this.centeringButton = button; + } + + if (keyModifier === this.parent.SHIFT || keyModifier === this.parent.CONTROL || keyModifier === this.parent.ALT || keyModifier === GPlot.NONE) { + this.centeringKeyModifier = keyModifier; + } +}; + +GPlot.prototype.deactivateCentering = function() { + this.centeringIsActive = false; +}; + +GPlot.prototype.activatePanning = function() { + var button, keyModifier; + + if (arguments.length === 2) { + button = arguments[0]; + keyModifier = arguments[1]; + } else if (arguments.length === 1) { + button = arguments[0]; + keyModifier = GPlot.NONE; + } else if (arguments.length === 0) { + button = this.parent.LEFT; + keyModifier = GPlot.NONE; + } else { + throw new Error("GPlot.activatePanning(): signature not supported"); + } + + this.panningIsActive = true; + + if (button === this.parent.LEFT || button === this.parent.RIGHT || button === this.parent.CENTER) { + this.panningButton = button; + } + + if (keyModifier === this.parent.SHIFT || keyModifier === this.parent.CONTROL || keyModifier === this.parent.ALT || keyModifier === GPlot.NONE) { + this.panningKeyModifier = keyModifier; + } +}; + +GPlot.prototype.deactivatePanning = function() { + this.panningIsActive = false; + this.panningReferencePoint = undefined; +}; + +GPlot.prototype.activatePointLabels = function() { + var button, keyModifier; + + if (arguments.length === 2) { + button = arguments[0]; + keyModifier = arguments[1]; + } else if (arguments.length === 1) { + button = arguments[0]; + keyModifier = GPlot.NONE; + } else if (arguments.length === 0) { + button = this.parent.LEFT; + keyModifier = GPlot.NONE; + } else { + throw new Error("GPlot.activatePointLabels(): signature not supported"); + } + + this.labelingIsActive = true; + + if (button === this.parent.LEFT || button === this.parent.RIGHT || button === this.parent.CENTER) { + this.labelingButton = button; + } + + if (keyModifier === this.parent.SHIFT || keyModifier === this.parent.CONTROL || keyModifier === this.parent.ALT || keyModifier === GPlot.NONE) { + this.labelingKeyModifier = keyModifier; + } +}; + +GPlot.prototype.deactivatePointLabels = function() { + this.labelingIsActive = false; + this.mousePos = undefined; +}; + +GPlot.prototype.activateReset = function() { + var button, keyModifier; + + if (arguments.length === 2) { + button = arguments[0]; + keyModifier = arguments[1]; + } else if (arguments.length === 1) { + button = arguments[0]; + keyModifier = GPlot.NONE; + } else if (arguments.length === 0) { + button = this.parent.RIGHT; + keyModifier = GPlot.NONE; + } else { + throw new Error("GPlot.activateReset(): signature not supported"); + } + + this.resetIsActive = true; + this.xLimReset = undefined; + this.yLimReset = undefined; + + if (button === this.parent.LEFT || button === this.parent.RIGHT || button === this.parent.CENTER) { + this.resetButton = button; + } + + if (keyModifier === this.parent.SHIFT || keyModifier === this.parent.CONTROL || keyModifier === this.parent.ALT || keyModifier === GPlot.NONE) { + this.resetKeyModifier = keyModifier; + } +}; + +GPlot.prototype.deactivateReset = function() { + this.resetIsActive = false; + this.xLimReset = undefined; + this.yLimReset = undefined; +}; + +GPlot.prototype.getButton = function(event) { + var button; + + if (event.button === 0) { + button = this.parent.LEFT; + } else if (event.button === 1) { + button = this.parent.CENTER; + } else if (event.button === 2) { + button = this.parent.RIGHT; + } else if ( typeof event.button === "undefined") { + button = this.parent.LEFT; + } + + return button; +}; + +GPlot.prototype.getModifier = function(event) { + var modifier; + + if (event.altKey) { + modifier = this.parent.ALT; + } else if (event.ctrlKey) { + modifier = this.parent.CONTROL; + } else if (event.shiftKey) { + modifier = this.parent.SHIFT; + } else { + modifier = GPlot.NONE; + } + + return modifier; +}; + +GPlot.prototype.saveResetLimits = function() { + if ( typeof this.xLimReset === "undefined" || typeof this.yLimReset === "undefined") { + this.xLimReset = this.xLim.slice(); + this.yLimReset = this.yLim.slice(); + } +}; + +GPlot.prototype.panningFunction = function() { + if ( typeof this.panningReferencePoint !== "undefined") { + this.align(this.panningReferencePoint, this.parent.mouseX, this.parent.mouseY); + } +}; + +GPlot.prototype.clickEvent = function(event) { + e = event || window.event; + + if (this.isOverBox()) { + var button = this.getButton(e); + var modifier = this.getModifier(e); + + if (this.zoomingIsActive) { + if (button === this.increaseZoomButton && modifier === this.increaseZoomKeyModifier) { + // Save the axes limits + if (this.resetIsActive) { + this.saveResetLimits(); + } + + this.zoom(this.zoomFactor, this.parent.mouseX, this.parent.mouseY); + } else if (button === this.decreaseZoomButton && modifier === this.decreaseZoomKeyModifier) { + // Save the axes limits + if (this.resetIsActive) { + this.saveResetLimits(); + } + + this.zoom(1 / this.zoomFactor, this.parent.mouseX, this.parent.mouseY); + } + } + + if (this.centeringIsActive && button === this.centeringButton && modifier === this.centeringKeyModifier) { + // Save the axes limits + if (this.resetIsActive) { + this.saveResetLimits(); + } + + this.center(this.parent.mouseX, this.parent.mouseY); + } + + if (this.resetIsActive && button === this.resetButton && modifier === this.resetKeyModifier) { + if ( typeof this.xLimReset !== "undefined" && typeof this.yLimReset !== "undefined") { + this.setXLim(this.xLimReset); + this.setYLim(this.yLimReset); + this.xLimReset = undefined; + this.yLimReset = undefined; + } + } + } +}; + +GPlot.prototype.mouseDownEvent = function(event) { + e = event || window.event; + + if (this.isOverBox()) { + var button = this.getButton(e); + var modifier = this.getModifier(e); + + if (this.panningIsActive && button === this.panningButton && modifier === this.panningKeyModifier) { + // Save the axes limits + if (this.resetIsActive) { + this.saveResetLimits(); + } + + // Calculate the panning reference point + this.panningReferencePoint = this.getValueAt(this.parent.mouseX, this.parent.mouseY); + + // Execute the panning function every 100ms + this.panningIntervalId = setInterval(this.panningFunction.bind(this), 100); + } + + if (this.labelingIsActive && button === this.labelingButton && modifier === this.labelingKeyModifier) { + this.mousePos = [this.parent.mouseX, this.parent.mouseY]; + } + } +}; + +GPlot.prototype.mouseUpEvent = function(event) { + e = event || window.event; + var button = this.getButton(e); + var modifier = this.getModifier(e); + + if (this.panningIsActive && button === this.panningButton && typeof this.panningIntervalId !== "undefined") { + // Stop executing the panning function + clearInterval(this.panningIntervalId); + + // Reset the panning variables + this.panningIntervalId = undefined; + this.panningReferencePoint = undefined; + } + + if (this.labelingIsActive && button === this.labelingButton) { + this.mousePos = undefined; + } + + if (button === this.parent.RIGHT) { + // This is a right click! + this.clickEvent(e); + } +}; + +GPlot.prototype.wheelEvent = function(event) { + e = event || window.event; + + if (this.isOverBox()) { + var deltaY = e.deltaY; + var button = this.parent.CENTER; + var modifier = this.getModifier(e); + + if (this.zoomingIsActive) { + if (button === this.increaseZoomButton && modifier === this.increaseZoomKeyModifier && deltaY > 0) { + // Save the axes limits + if (this.resetIsActive) { + this.saveResetLimits(); + } + + this.zoom(this.zoomFactor, this.parent.mouseX, this.parent.mouseY); + } else if (button === this.decreaseZoomButton && modifier === this.decreaseZoomKeyModifier && deltaY < 0) { + // Save the axes limits + if (this.resetIsActive) { + this.saveResetLimits(); + } + + this.zoom(1 / this.zoomFactor, this.parent.mouseX, this.parent.mouseY); + } + } + } +}; + +GPlot.prototype.preventDefaultEvent = function(event) { + e = event || window.event; + + if (this.isOverBox()) { + // Don't show the menu inside the plot area + if (e.preventDefault) { + e.preventDefault(); + } else { + e.returnValue = false; + } + } +}; + +GPlot.prototype.preventWheelDefault = function() { + window.addEventListener("wheel", this.preventDefaultEvent.bind(this), false); +}; + +GPlot.prototype.preventRightClickDefault = function() { + window.addEventListener("contextmenu", this.preventDefaultEvent.bind(this), false); +}; diff --git a/docs/graficos/grafica-0.1.0-mod.min.js b/docs/graficos/grafica-0.1.0-mod.min.js new file mode 100644 index 0000000..192dbac --- /dev/null +++ b/docs/graficos/grafica-0.1.0-mod.min.js @@ -0,0 +1,5 @@ +/*! grafica.js (0.1.0): a library for p5.js. Author: Javier Graciá Carpio, license: LGPL-3.0, 2015-04-12 */ function GPoint(){var a,b,c;if(3===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2];else if(2===arguments.length&&arguments[0]instanceof p5.Vector)a=arguments[0].x,b=arguments[0].y,c=arguments[1];else if(2===arguments.length)a=arguments[0],b=arguments[1],c="";else if(1===arguments.length&&arguments[0]instanceof GPoint)a=arguments[0].getX(),b=arguments[0].getY(),c=arguments[0].getLabel();else if(1===arguments.length&&arguments[0]instanceof p5.Vector)a=arguments[0].x,b=arguments[0].y,c="";else{if(0!==arguments.length)throw new Error("GPoint constructor: signature not supported");a=0,b=0,c=""}this.x=a,this.y=b,this.label=c,this.valid=this.isValidNumber(this.x)&&this.isValidNumber(this.y)}function GTitle(a,b){this.parent=a,this.dim=b.slice(),this.relativePos=.5,this.plotPos=this.relativePos*this.dim[0],this.offset=10,this.text="",this.textAlignment=this.parent.CENTER,this.fontName="Helvetica",this.fontColor=this.parent.color(100),this.fontStyle=this.parent.BOLD,this.fontSize=13}function GAxisLabel(a,b,c){this.parent=a,this.type=b===this.parent.BOTTOM||b===this.parent.TOP||b===this.parent.LEFT||b===this.parent.RIGHT?b:this.parent.BOTTOM,this.dim=c.slice(),this.relativePos=.5,this.plotPos=this.type===this.parent.BOTTOM||this.type===this.parent.TOP?this.relativePos*this.dim[0]:-this.relativePos*this.dim[1],this.offset=35,this.rotate=this.type===this.parent.BOTTOM||this.type===this.parent.TOP?!1:!0,this.text="",this.textAlignment=this.parent.CENTER,this.fontName="Helvetica",this.fontColor=this.parent.color(0),this.fontSize=13}function GAxis(a,b,c,d,e){this.parent=a,this.type=b===this.parent.BOTTOM||b===this.parent.TOP||b===this.parent.LEFT||b===this.parent.RIGHT?b:this.parent.BOTTOM,this.dim=c.slice(),this.lim=d.slice(),this.log=e,this.log&&(this.lim[0]<=0||this.lim[1]<=0)&&(console.log("The limits are negative. This is not allowed in logarithmic scale."),console.log("Will set them to (0.1, 10)"),this.lim[1]>this.lim[0]?(this.lim[0]=.1,this.lim[1]=10):(this.lim[0]=10,this.lim[1]=.1)),this.offset=5,this.lineColor=this.parent.color(0),this.lineWidth=1,this.nTicks=5,this.ticksSeparation=-1,this.ticks=[],this.plotTicks=[],this.ticksInside=[],this.tickLabels=[],this.fixedTicks=!1,this.tickLength=3,this.smallTickLength=2,this.expTickLabels=!1,this.rotateTickLabels=this.type===this.parent.BOTTOM||this.type===this.parent.TOP?!1:!0,this.drawTickLabels=this.type===this.parent.BOTTOM||this.type===this.parent.LEFT?!0:!1,this.tickLabelOffset=7,this.ticksPrecision=void 0,this.lab=new GAxisLabel(this.parent,this.type,this.dim),this.drawAxisLabel=!0,this.fontName="Helvetica",this.fontColor=this.parent.color(0),this.fontSize=11,this.updateTicks(),this.updatePlotTicks(),this.updateTicksInside(),this.updateTickLabels()}function GHistogram(a,b,c,d){this.parent=a,this.type=b===GPlot.VERTICAL||b===GPlot.HORIZONTAL?b:GPlot.VERTICAL,this.dim=c.slice(),this.plotPoints=[];for(var e=0;e0&&b>0&&(this.dim[0]=a,this.dim[1]=b,this.plotPos=this.relativePos*this.dim[0])},GTitle.prototype.setRelativePos=function(a){this.relativePos=a,this.plotPos=this.relativePos*this.dim[0]},GTitle.prototype.setOffset=function(a){this.offset=a},GTitle.prototype.setText=function(a){this.text=a},GTitle.prototype.setTextAlignment=function(a){(a===this.parent.CENTER||a===this.parent.LEFT||a===this.parent.RIGHT)&&(this.textAlignment=a)},GTitle.prototype.setFontName=function(a){this.fontName=a},GTitle.prototype.setFontColor=function(a){this.fontColor=a},GTitle.prototype.setFontStyle=function(a){this.fontStyle=a},GTitle.prototype.setFontSize=function(a){a>0&&(this.fontSize=a)},GTitle.prototype.setFontProperties=function(a,b,c){c>0&&(this.fontName=a,this.fontColor=b,this.fontSize=c)},GAxisLabel.prototype.draw=function(){switch(this.type){case this.parent.BOTTOM:this.drawAsXLabel();break;case this.parent.LEFT:this.drawAsYLabel();break;case this.parent.TOP:this.drawAsTopLabel();break;case this.parent.RIGHT:this.drawAsRightLabel()}},GAxisLabel.prototype.drawAsXLabel=function(){this.parent.push(),this.parent.textFont(this.fontName),this.parent.textSize(this.fontSize),this.parent.fill(this.fontColor),this.parent.noStroke(),this.rotate?(this.parent.textAlign(this.parent.RIGHT,this.parent.CENTER),this.parent.translate(this.plotPos,this.offset),this.parent.rotate(-.5*Math.PI),this.parent.text(this.text,0,0)):(this.parent.textAlign(this.textAlignment,this.parent.TOP),this.parent.text(this.text,this.plotPos,this.offset)),this.parent.pop()},GAxisLabel.prototype.drawAsYLabel=function(){this.parent.push(),this.parent.textFont(this.fontName),this.parent.textSize(this.fontSize),this.parent.fill(this.fontColor),this.parent.noStroke(),this.rotate?(this.parent.textAlign(this.textAlignment,this.parent.BOTTOM),this.parent.translate(-this.offset,this.plotPos),this.parent.rotate(-.5*Math.PI),this.parent.text(this.text,0,0)):(this.parent.textAlign(this.parent.RIGHT,this.parent.CENTER),this.parent.text(this.text,-this.offset,this.plotPos)),this.parent.pop()},GAxisLabel.prototype.drawAsTopLabel=function(){this.parent.push(),this.parent.textFont(this.fontName),this.parent.textSize(this.fontSize),this.parent.fill(this.fontColor),this.parent.noStroke(),this.rotate?(this.parent.textAlign(this.parent.LEFT,this.parent.CENTER),this.parent.translate(this.plotPos,-this.offset-this.dim[1]),this.parent.rotate(-.5*Math.PI),this.parent.text(this.text,0,0)):(this.parent.textAlign(this.textAlignment,this.parent.BOTTOM),this.parent.text(this.text,this.plotPos,-this.offset-this.dim[1])),this.parent.pop()},GAxisLabel.prototype.drawAsRightLabel=function(){this.parent.push(),this.parent.textFont(this.fontName),this.parent.textSize(this.fontSize),this.parent.fill(this.fontColor),this.parent.noStroke(),this.rotate?(this.parent.textAlign(this.textAlignment,this.parent.TOP),this.parent.translate(this.offset+this.dim[0],this.plotPos),this.parent.rotate(-.5*Math.PI),this.parent.text(this.text,0,0)):(this.parent.textAlign(this.parent.LEFT,this.parent.CENTER),this.parent.text(this.text,this.offset+this.dim[0],this.plotPos)),this.parent.pop()},GAxisLabel.prototype.setDim=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else{if(1!==arguments.length)throw new Error("GAxisLabel.setDim(): signature not supported");a=arguments[0][0],b=arguments[0][1]}a>0&&b>0&&(this.dim[0]=a,this.dim[1]=b,this.plotPos=this.type===this.parent.BOTTOM||this.type===this.parent.TOP?this.relativePos*this.dim[0]:-this.relativePos*this.dim[1])},GAxisLabel.prototype.setRelativePos=function(a){this.relativePos=a,this.plotPos=this.type===this.parent.BOTTOM||this.type===this.parent.TOP?this.relativePos*this.dim[0]:-this.relativePos*this.dim[1]},GAxisLabel.prototype.setOffset=function(a){this.offset=a},GAxisLabel.prototype.setRotate=function(a){this.rotate=a},GAxisLabel.prototype.setText=function(a){this.text=a},GAxisLabel.prototype.setTextAlignment=function(a){(a===this.parent.CENTER||a===this.parent.LEFT||a===this.parent.RIGHT)&&(this.textAlignment=a)},GAxisLabel.prototype.setFontName=function(a){this.fontName=a},GAxisLabel.prototype.setFontColor=function(a){this.fontColor=a},GAxisLabel.prototype.setFontSize=function(a){a>0&&(this.fontSize=a)},GAxisLabel.prototype.setFontProperties=function(a,b,c){c>0&&(this.fontName=a,this.fontColor=b,this.fontSize=c)},GAxis.prototype.obtainSigDigits=function(a){return Math.round(-Math.log(.5*Math.abs(a))/Math.LN10)},GAxis.prototype.roundPlus=function(a,b){return a=Math.round(a*Math.pow(10,b))/Math.pow(10,b),0>=b&&(a=Math.round(a)),a},GAxis.prototype.adaptSize=function(a,b){bthis.lim[0]?(a=Math.floor(Math.log(this.lim[0])/Math.LN10),b=Math.ceil(Math.log(this.lim[1])/Math.LN10)):(a=Math.floor(Math.log(this.lim[1])/Math.LN10),b=Math.ceil(Math.log(this.lim[0])/Math.LN10));var c=9*(b-a)+1;this.adaptSize(this.ticks,c);for(var d=a;b>d;d++)for(var e=this.roundPlus(Math.exp(d*Math.LN10),-d),f=0;9>f;f++)this.ticks[9*(d-a)+f]=(f+1)*e;this.ticks[this.ticks.length-1]=this.roundPlus(Math.exp(b*Math.LN10),-d),this.lim[1]0){for(a=this.lim[1]>this.lim[0]?this.ticksSeparation:-this.ticksSeparation,c=this.obtainSigDigits(a);this.roundPlus(a,c)-a!==0;)c++;b=Math.floor((this.lim[1]-this.lim[0])/a)}else this.nTicks>0&&(a=(this.lim[1]-this.lim[0])/this.nTicks,c=this.obtainSigDigits(a),a=this.roundPlus(a,c),(0===a||Math.abs(a)>Math.abs(this.lim[1]-this.lim[0]))&&(c++,a=this.roundPlus((this.lim[1]-this.lim[0])/this.nTicks,c)),b=Math.floor((this.lim[1]-this.lim[0])/a));if(b>0){var d=this.lim[0]+(this.lim[1]-this.lim[0]-b*a)/2;for(d=this.roundPlus(d-2*a,c);(this.lim[1]-d)*(this.lim[0]-d)>0;)d=this.roundPlus(d+a,c);var e=Math.floor(Math.abs((this.lim[1]-d)/a))+1;this.adaptSize(this.ticks,e),this.ticks[0]=d;for(var f=1;e>f;f++)this.ticks[f]=this.roundPlus(this.ticks[f-1]+a,c);this.ticksPrecision=c}else this.ticks=[]},GAxis.prototype.updatePlotTicks=function(){var a,b,c=this.ticks.length;if(this.adaptSize(this.plotTicks,c),this.log)for(a=this.type===this.parent.BOTTOM||this.type===this.parent.TOP?this.dim[0]/Math.log(this.lim[1]/this.lim[0]):-this.dim[1]/Math.log(this.lim[1]/this.lim[0]),b=0;c>b;b++)this.plotTicks[b]=Math.log(this.ticks[b]/this.lim[0])*a;else for(a=this.type===this.parent.BOTTOM||this.type===this.parent.TOP?this.dim[0]/(this.lim[1]-this.lim[0]):-this.dim[1]/(this.lim[1]-this.lim[0]),b=0;c>b;b++)this.plotTicks[b]=(this.ticks[b]-this.lim[0])*a},GAxis.prototype.updateTicksInside=function(){var a,b=this.ticks.length;if(this.adaptSize(this.ticksInside,b),this.type===this.parent.BOTTOM||this.type===this.parent.TOP)for(a=0;b>a;a++)this.ticksInside[a]=this.plotTicks[a]>=0&&this.plotTicks[a]<=this.dim[0];else for(a=0;b>a;a++)this.ticksInside[a]=-this.plotTicks[a]>=0&&-this.plotTicks[a]<=this.dim[1]},GAxis.prototype.updateTickLabels=function(){var a,b,c,d,e=this.ticks.length;if(this.adaptSize(this.tickLabels,e),this.log)for(d=0;e>d;d++)a=this.ticks[d],a>0?(b=Math.log(a)/Math.LN10,c=Math.abs(b-Math.round(b))<1e-4,c?(b=Math.round(b),this.tickLabels[d]=this.expTickLabels?"1e"+b:b>-3.1&&3.1>b?b>=0?""+Math.round(a):""+a:"1e"+b):this.tickLabels[d]=""):this.tickLabels[d]="";else for(d=0;e>d;d++)a=this.ticks[d],this.tickLabels[d]=a%1===0?""+Math.round(a):"undefined"!=typeof this.ticksPrecision&&this.ticksPrecision>=0?""+parseFloat(a).toFixed(this.ticksPrecision):""+a},GAxis.prototype.moveLim=function(a){if(a[1]!==a[0])if(this.log&&(a[0]<=0||a[1]<=0))console.log("The limits are negative. This is not allowed in logarithmic scale.");else{if(this.lim[0]=a[0],this.lim[1]=a[1],!this.fixedTicks){var b=this.ticks.length;if(this.log)this.obtainLogarithmicTicks();else if(b>0){var c=0,d=0;if(this.ticksSeparation>0)for(c=this.lim[1]>this.lim[0]?this.ticksSeparation:-this.ticksSeparation,d=this.obtainSigDigits(c);this.roundPlus(c,d)-c!==0;)d++;else c=1===b?this.lim[1]-this.lim[0]:this.ticks[1]-this.ticks[0],d=this.obtainSigDigits(c),c=this.roundPlus(c,d),(0===c||Math.abs(c)>Math.abs(this.lim[1]-this.lim[0]))&&(d++,c=1===b?this.lim[1]-this.lim[0]:this.ticks[1]-this.ticks[0],c=this.roundPlus(c,d)),c=this.lim[1]>this.lim[0]?Math.abs(c):-Math.abs(c);var e=this.ticks[0]+c*Math.ceil((this.lim[0]-this.ticks[0])/c);e=this.roundPlus(e,d),(this.lim[1]-e)*(this.lim[0]-e)>0&&(e=this.ticks[0]+c*Math.floor((this.lim[0]-this.ticks[0])/c),e=this.roundPlus(e,d)),b=Math.floor(Math.abs((this.lim[1]-e)/c))+1,this.adaptSize(this.ticks,b),this.ticks[0]=e;for(var f=1;b>f;f++)this.ticks[f]=this.roundPlus(this.ticks[f-1]+c,d);this.ticksPrecision!==d&&console.log("There is a problem in the axis ticks precision calculation")}this.updateTickLabels()}this.updatePlotTicks(),this.updateTicksInside()}},GAxis.prototype.draw=function(){switch(this.type){case this.parent.BOTTOM:this.drawAsXAxis();break;case this.parent.LEFT:this.drawAsYAxis();break;case this.parent.TOP:this.drawAsTopAxis();break;case this.parent.RIGHT:this.drawAsRightAxis()}this.drawAxisLabel&&this.lab.draw()},GAxis.prototype.drawAsXAxis=function(){var a;for(this.parent.push(),this.parent.stroke(this.lineColor),this.parent.strokeWeight(this.lineWidth),this.parent.strokeCap(this.parent.SQUARE),this.parent.line(0,this.offset,this.dim[0],this.offset),a=0;a0&&b>0&&(this.dim[0]=a,this.dim[1]=b,this.updatePlotTicks(),this.lab.setDim(this.dim))},GAxis.prototype.setLim=function(a){a[1]!==a[0]&&(this.log&&(a[0]<=0||a[1]<=0)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.lim[0]=a[0],this.lim[1]=a[1],this.fixedTicks||(this.updateTicks(),this.updateTickLabels()),this.updatePlotTicks(),this.updateTicksInside()))},GAxis.prototype.setLimAndLog=function(a,b){a[1]!==a[0]&&(b&&(a[0]<=0||a[1]<=0)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.lim[0]=a[0],this.lim[1]=a[1],this.log=b,this.fixedTicks||(this.updateTicks(),this.updateTickLabels()),this.updatePlotTicks(),this.updateTicksInside()))},GAxis.prototype.setLog=function(a){a!==this.log&&(this.log=a,this.log&&(this.lim[0]<=0||this.lim[1]<=0)&&(console.log("The limits are negative. This is not allowed in logarithmic scale."),console.log("Will set them to (0.1, 10)"),this.lim[1]>this.lim[0]?(this.lim[0]=.1,this.lim[1]=10):(this.lim[0]=10,this.lim[1]=.1)),this.fixedTicks||(this.updateTicks(),this.updateTickLabels()),this.updatePlotTicks(),this.updateTicksInside())},GAxis.prototype.setOffset=function(a){this.offset=a},GAxis.prototype.setLineColor=function(a){this.lineColor=a},GAxis.prototype.setLineWidth=function(a){a>0&&(this.lineWidth=a)},GAxis.prototype.setNTicks=function(a){a>=0&&(this.nTicks=a,this.ticksSeparation=-1,this.log||(this.fixedTicks=!1,this.updateTicks(),this.updatePlotTicks(),this.updateTicksInside(),this.updateTickLabels()))},GAxis.prototype.setTicksSeparation=function(a){this.ticksSeparation=a,this.log||(this.fixedTicks=!1,this.updateTicks(),this.updatePlotTicks(),this.updateTicksInside(),this.updateTickLabels())},GAxis.prototype.setTicks=function(a){var b=a.length;this.adaptSize(this.ticks,b);for(var c=0;b>c;c++)this.ticks[c]=a[c];this.fixedTicks=!0,this.ticksPrecision=void 0,this.updatePlotTicks(),this.updateTicksInside(),this.updateTickLabels()},GAxis.prototype.setTickLabels=function(a){if(a.length===this.tickLabels.length){for(var b=0;b0&&(this.fontSize=a)},GAxis.prototype.setFontProperties=function(a,b,c){c>0&&(this.fontName=a,this.fontColor=b,this.fontSize=c)},GAxis.prototype.setAllFontProperties=function(a,b,c){this.setFontProperties(a,b,c),this.lab.setFontProperties(a,b,c)},GAxis.prototype.getTicks=function(){if(this.fixedTicks)return this.ticks.slice();for(var a=[],b=0,c=0;cb&&(this.differences.splice(b,Number.MAX_VALUE),this.leftSides.splice(b,Number.MAX_VALUE),this.rightSides.splice(b,Number.MAX_VALUE)),1===b)this.leftSides[0]=this.type===GPlot.VERTICAL?.2*this.dim[0]:.2*this.dim[1],this.rightSides[0]=this.leftSides[0];else if(b>1){for(a=0;b-1>a;a++)if(this.plotPoints[a].isValid()&&this.plotPoints[a+1].isValid()){var c,d=this.separations[a%this.separations.length];c=this.type===GPlot.VERTICAL?this.plotPoints[a+1].getX()-this.plotPoints[a].getX():this.plotPoints[a+1].getY()-this.plotPoints[a].getY(),this.differences[a]=c>0?(c-d)/2:(c+d)/2}else this.differences[a]=0;for(this.leftSides[0]=this.differences[0],this.rightSides[0]=this.differences[0],a=1;b-1>a;a++)this.leftSides[a]=this.differences[a-1],this.rightSides[a]=this.differences[a];this.leftSides[b-1]=this.differences[b-2],this.rightSides[b-1]=this.differences[b-2]}},GHistogram.prototype.draw=function(a){if(this.visible){var b=0;a.isValid()&&(b=this.type===GPlot.VERTICAL?a.getY():a.getX());var c,d,e,f,g,h,i=this.plotPoints.length;this.parent.push(),this.parent.rectMode(this.parent.CORNERS),this.parent.strokeCap(this.parent.SQUARE);for(var j=0;i>j;j++)c=this.plotPoints[j],c.isValid()&&(this.type===GPlot.VERTICAL?(d=c.getX()-this.leftSides[j],e=c.getX()+this.rightSides[j],f=c.getY(),g=b):(d=b,e=c.getX(),f=c.getY()-this.leftSides[j],g=c.getY()+this.rightSides[j]),0>d?d=0:d>this.dim[0]&&(d=this.dim[0]),0>-f?f=0:-f>this.dim[1]&&(f=-this.dim[1]),0>e?e=0:e>this.dim[0]&&(e=this.dim[0]),0>-g?g=0:-g>this.dim[1]&&(g=-this.dim[1]),h=this.lineWidths[j%this.lineWidths.length],this.parent.fill(this.bgColors[j%this.bgColors.length]),this.parent.stroke(this.lineColors[j%this.lineColors.length]),this.parent.strokeWeight(h),Math.abs(e-d)>2*h&&Math.abs(g-f)>2*h?this.parent.rect(d,f,e,g):(this.type===GPlot.VERTICAL&&e!==d&&(f!==g||0!==f&&f!==-this.dim[1])||this.type===GPlot.HORIZONTAL&&g!==f&&(d!==e||0!==d&&d!==this.dim[0]))&&(this.parent.rect(d,f,e,g),this.parent.line(d,f,d,g),this.parent.line(e,f,e,g),this.parent.line(d,f,e,f),this.parent.line(d,g,e,g)));this.parent.pop(),this.drawLabels&&this.drawHistLabels()}},GHistogram.prototype.drawHistLabels=function(){var a,b,c=this.plotPoints.length,d=.5*Math.PI;if(this.parent.push(),this.parent.textFont(this.fontName),this.parent.textSize(this.fontSize),this.parent.fill(this.fontColor),this.parent.noStroke(),this.type===GPlot.VERTICAL)if(this.rotateLabels)for(this.parent.textAlign(this.parent.RIGHT,this.parent.CENTER),b=0;c>b;b++)a=this.plotPoints[b],a.isValid()&&a.getX()>=0&&a.getX()<=this.dim[0]&&(this.parent.push(),this.parent.translate(a.getX(),this.labelsOffset),this.parent.rotate(-d),this.parent.text(a.getLabel(),0,0),this.parent.pop());else for(this.parent.textAlign(this.parent.CENTER,this.parent.TOP),b=0;c>b;b++)a=this.plotPoints[b],a.isValid()&&a.getX()>=0&&a.getX()<=this.dim[0]&&this.parent.text(a.getLabel(),a.getX(),this.labelsOffset);else if(this.rotateLabels)for(this.parent.textAlign(this.parent.CENTER,this.parent.BOTTOM),b=0;c>b;b++)a=this.plotPoints[b],a.isValid()&&-a.getY()>=0&&-a.getY()<=this.dim[1]&&(this.parent.push(),this.parent.translate(-this.labelsOffset,a.getY()),this.parent.rotate(-d),this.parent.text(a.getLabel(),0,0),this.parent.pop());else for(this.parent.textAlign(this.parent.RIGHT,this.parent.CENTER),b=0;c>b;b++)a=this.plotPoints[b],a.isValid()&&-a.getY()>=0&&-a.getY()<=this.dim[1]&&this.parent.text(a.getLabel(),-this.labelsOffset,a.getY());this.parent.pop()},GHistogram.prototype.setType=function(a){a===this.type||a!==GPlot.VERTICAL&&a!==GPlot.HORIZONTAL||(this.type=a,this.updateArrays())},GHistogram.prototype.setDim=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else{if(1!==arguments.length)throw new Error("GHistogram.setDim(): signature not supported"); + +a=arguments[0][0],b=arguments[0][1]}a>0&&b>0&&(this.dim[0]=a,this.dim[1]=b,this.updateArrays())},GHistogram.prototype.setPlotPoints=function(a){var b,c=a.length;if(this.plotPoints.length===c)for(b=0;c>b;b++)this.plotPoints[b].set(a[b]);else if(this.plotPoints.length>c){for(b=0;c>b;b++)this.plotPoints[b].set(a[b]);this.plotPoints.splice(c,Number.MAX_VALUE)}else{for(b=0;bb;b++)this.plotPoints[b]=new GPoint(a[b])}this.updateArrays()},GHistogram.prototype.setPlotPoint=function(a,b){if(a0&&(this.fontSize=a)},GHistogram.prototype.setFontProperties=function(a,b,c){c>0&&(this.fontName=a,this.fontColor=b,this.fontSize=c)},GLayer.prototype.isValidNumber=function(a){return!isNaN(a)&&isFinite(a)},GLayer.prototype.isId=function(a){return this.id===a},GLayer.prototype.valueToXPlot=function(a){return this.xLog?this.dim[0]*Math.log(a/this.xLim[0])/Math.log(this.xLim[1]/this.xLim[0]):this.dim[0]*(a-this.xLim[0])/(this.xLim[1]-this.xLim[0])},GLayer.prototype.valueToYPlot=function(a){return this.yLog?-this.dim[1]*Math.log(a/this.yLim[0])/Math.log(this.yLim[1]/this.yLim[0]):-this.dim[1]*(a-this.yLim[0])/(this.yLim[1]-this.yLim[0])},GLayer.prototype.valueToPlot=function(){if(2===arguments.length)return[this.valueToXPlot(arguments[0]),this.valueToYPlot(arguments[1])];if(1===arguments.length&&arguments[0]instanceof GPoint)return new GPoint(this.valueToXPlot(arguments[0].getX()),this.valueToYPlot(arguments[0].getY()),arguments[0].getLabel());if(1===arguments.length&&arguments[0]instanceof Array&&arguments[0][0]instanceof GPoint){var a,b,c,d,e,f,g=arguments[0].length,h=[];if(this.xLog&&this.yLog)for(a=this.dim[0]/Math.log(this.xLim[1]/this.xLim[0]),b=-this.dim[1]/Math.log(this.yLim[1]/this.yLim[0]),f=0;g>f;f++)c=arguments[0][f],d=Math.log(c.getX()/this.xLim[0])*a,e=Math.log(c.getY()/this.yLim[0])*b,h[f]=new GPoint(d,e,c.getLabel());else if(this.xLog)for(a=this.dim[0]/Math.log(this.xLim[1]/this.xLim[0]),b=-this.dim[1]/(this.yLim[1]-this.yLim[0]),f=0;g>f;f++)c=arguments[0][f],d=Math.log(c.getX()/this.xLim[0])*a,e=(c.getY()-this.yLim[0])*b,h[f]=new GPoint(d,e,c.getLabel());else if(this.yLog)for(a=this.dim[0]/(this.xLim[1]-this.xLim[0]),b=-this.dim[1]/Math.log(this.yLim[1]/this.yLim[0]),f=0;g>f;f++)c=arguments[0][f],d=(c.getX()-this.xLim[0])*a,e=Math.log(c.getY()/this.yLim[0])*b,h[f]=new GPoint(d,e,c.getLabel());else for(a=this.dim[0]/(this.xLim[1]-this.xLim[0]),b=-this.dim[1]/(this.yLim[1]-this.yLim[0]),f=0;g>f;f++)c=arguments[0][f],d=(c.getX()-this.xLim[0])*a,e=(c.getY()-this.yLim[0])*b,h[f]=new GPoint(d,e,c.getLabel());return h}throw new Error("GLayer.valueToPlot(): signature not supported")},GLayer.prototype.updatePlotPoints=function(){var a,b,c,d,e,f,g=this.points.length;if(this.plotPoints.lengthf;f++)this.plotPoints[f]=new GPoint;else this.plotPoints.length>g&&this.plotPoints.splice(g,Number.MAX_VALUE);if(this.xLog&&this.yLog)for(a=this.dim[0]/Math.log(this.xLim[1]/this.xLim[0]),b=-this.dim[1]/Math.log(this.yLim[1]/this.yLim[0]),f=0;g>f;f++)c=this.points[f],d=Math.log(c.getX()/this.xLim[0])*a,e=Math.log(c.getY()/this.yLim[0])*b,this.plotPoints[f].set(d,e,c.getLabel());else if(this.xLog)for(a=this.dim[0]/Math.log(this.xLim[1]/this.xLim[0]),b=-this.dim[1]/(this.yLim[1]-this.yLim[0]),f=0;g>f;f++)c=this.points[f],d=Math.log(c.getX()/this.xLim[0])*a,e=(c.getY()-this.yLim[0])*b,this.plotPoints[f].set(d,e,c.getLabel());else if(this.yLog)for(a=this.dim[0]/(this.xLim[1]-this.xLim[0]),b=-this.dim[1]/Math.log(this.yLim[1]/this.yLim[0]),f=0;g>f;f++)c=this.points[f],d=(c.getX()-this.xLim[0])*a,e=Math.log(c.getY()/this.yLim[0])*b,this.plotPoints[f].set(d,e,c.getLabel());else for(a=this.dim[0]/(this.xLim[1]-this.xLim[0]),b=-this.dim[1]/(this.yLim[1]-this.yLim[0]),f=0;g>f;f++)c=this.points[f],d=(c.getX()-this.xLim[0])*a,e=(c.getY()-this.yLim[0])*b,this.plotPoints[f].set(d,e,c.getLabel())},GLayer.prototype.xPlotToValue=function(a){return this.xLog?Math.exp(Math.log(this.xLim[0])+Math.log(this.xLim[1]/this.xLim[0])*a/this.dim[0]):this.xLim[0]+(this.xLim[1]-this.xLim[0])*a/this.dim[0]},GLayer.prototype.yPlotToValue=function(a){return this.yLog?Math.exp(Math.log(this.yLim[0])-Math.log(this.yLim[1]/this.yLim[0])*a/this.dim[1]):this.yLim[0]-(this.yLim[1]-this.yLim[0])*a/this.dim[1]},GLayer.prototype.plotToValue=function(a,b){return[this.xPlotToValue(a),this.yPlotToValue(b)]},GLayer.prototype.isInside=function(){var a,b,c;if(2===arguments.length)a=arguments[0],b=arguments[1],c=this.isValidNumber(a)&&this.isValidNumber(b);else{if(!(1===arguments.length&&arguments[0]instanceof GPoint))throw new Error("GLayer.isInside(): signature not supported");a=arguments[0].getX(),b=arguments[0].getY(),c=arguments[0].isValid()}return c?a>=0&&a<=this.dim[0]&&-b>=0&&-b<=this.dim[1]:!1},GLayer.prototype.updateInsideList=function(){for(var a,b=this.plotPoints.length,c=0;b>c;c++)a=this.plotPoints[c],this.inside[c]=a.isValid()?a.getX()>=0&&a.getX()<=this.dim[0]&&-a.getY()>=0&&-a.getY()<=this.dim[1]:!1;this.inside.length>b&&this.inside.splice(b,Number.MAX_VALUE)},GLayer.prototype.getPointIndexAtPlotPos=function(a,b){var c;if(this.isInside(a,b))for(var d,e,f=25,g=this.plotPoints.length,h=0;g>h;h++)this.inside[h]&&(d=this.plotPoints[h],e=Math.pow(d.getX()-a,2)+Math.pow(d.getY()-b,2),f>e&&(f=e,c=h));return c},GLayer.prototype.getPointAtPlotPos=function(a,b){return this.points[this.getPointIndexAtPlotPos(a,b)]},GLayer.prototype.obtainBoxIntersections=function(a,b){var c=0;if(a.isValid()&&b.isValid()){var d=a.getX(),e=a.getY(),f=b.getX(),g=b.getY(),h=this.isInside(d,e),i=this.isInside(f,g),j=h&&i||0>d&&0>f||d>this.dim[0]&&f>this.dim[0]||0>-e&&0>-g||-e>this.dim[1]&&-g>this.dim[1];if(!j){var k=f-d,l=g-e;if(0===k)c=2,this.cuts[0][0]=d,this.cuts[0][1]=0,this.cuts[1][0]=d,this.cuts[1][1]=-this.dim[1];else if(0===l)c=2,this.cuts[0][0]=0,this.cuts[0][1]=e,this.cuts[1][0]=this.dim[0],this.cuts[1][1]=e;else{var m=l/k,n=e-m*d;c=4,this.cuts[0][0]=-n/m,this.cuts[0][1]=0,this.cuts[1][0]=(-this.dim[1]-n)/m,this.cuts[1][1]=-this.dim[1],this.cuts[2][0]=0,this.cuts[2][1]=n,this.cuts[3][0]=this.dim[0],this.cuts[3][1]=n+m*this.dim[0]}if(c=this.getValidCuts(this.cuts,c,a,b),h||i){if(1!==c){var o=h?a:b;c>1&&(c=this.removeDuplicatedCuts(this.cuts,c,0),c>1&&(c=this.removePointFromCuts(this.cuts,c,o,0),c>1&&(c=this.removeDuplicatedCuts(this.cuts,c,.001),c>1&&(c=this.removePointFromCuts(this.cuts,c,o,.001))))),0===c&&(c=1,this.cuts[0][0]=o.getX(),this.cuts[1][0]=o.getY())}}else c>2&&(c=this.removeDuplicatedCuts(this.cuts,c,0),c>2&&(c=this.removeDuplicatedCuts(this.cuts,c,.001))),2===c&&(Math.pow(this.cuts[0][0]-d,2)+Math.pow(this.cuts[0][1]-e),2>Math.pow(this.cuts[1][0]-d,2)+Math.pow(this.cuts[1][1]-e,2)&&(this.cuts[2][0]=this.cuts[0][0],this.cuts[2][1]=this.cuts[0][1],this.cuts[0][0]=this.cuts[1][0],this.cuts[0][1]=this.cuts[1][1],this.cuts[1][0]=this.cuts[2][0],this.cuts[1][1]=this.cuts[2][1])),1===c&&(c=2,this.cuts[1][0]=this.cuts[0][0],this.cuts[1][1]=this.cuts[0][1]);(h||i)&&1!==c?console.log("There should be one cut!!!"):h||i||0===c||2===c||console.log("There should be either 0 or 2 cuts!!! "+c+" were found")}}return c},GLayer.prototype.getValidCuts=function(a,b,c,d){for(var e=c.getX(),f=c.getY(),g=d.getX(),h=d.getY(),i=Math.abs(g-e),j=Math.abs(h-f),k=0,l=0;b>l;l++)this.isInside(a[l][0],a[l][1])&&Math.abs(a[l][0]-e)<=i&&Math.abs(a[l][1]-f)<=j&&Math.abs(a[l][0]-g)<=i&&Math.abs(a[l][1]-h)<=j&&(a[k][0]=a[l][0],a[k][1]=a[l][1],k++);return k},GLayer.prototype.removeDuplicatedCuts=function(a,b,c){for(var d,e=0,f=0;b>f;f++){d=!1;for(var g=0;e>g;g++)if(Math.abs(a[g][0]-a[f][0])<=c&&Math.abs(a[g][1]-a[f][1])<=c){d=!0;break}d||(a[e][0]=a[f][0],a[e][1]=a[f][1],e++)}return e},GLayer.prototype.removePointFromCuts=function(a,b,c,d){for(var e=c.getX(),f=c.getY(),g=0,h=0;b>h;h++)(Math.abs(a[h][0]-e)>d||Math.abs(a[h][1]-f)>d)&&(a[g][0]=a[h][0],a[g][1]=a[h][1],g++);return g},GLayer.prototype.startHistogram=function(a){this.hist=new GHistogram(this.parent,a,this.dim,this.plotPoints)},GLayer.prototype.drawPoints=function(){var a,b;if(0===arguments.length){a=this.plotPoints.length;var c=this.pointColors.length,d=this.pointSizes.length;if(this.parent.push(),this.parent.ellipseMode(this.parent.CENTER),this.parent.stroke(50),1===c&&1===d)for(this.parent.fill(this.pointColors[0]),b=0;a>b;b++)this.inside[b]&&this.parent.ellipse(this.plotPoints[b].getX(),this.plotPoints[b].getY(),this.pointSizes[0],this.pointSizes[0]);else if(1===c)for(this.parent.fill(this.pointColors[0]),b=0;a>b;b++)this.inside[b]&&this.parent.ellipse(this.plotPoints[b].getX(),this.plotPoints[b].getY(),this.pointSizes[b%d],this.pointSizes[b%d]);else if(1===d)for(b=0;a>b;b++)this.inside[b]&&(this.parent.fill(this.pointColors[b%c]),this.parent.ellipse(this.plotPoints[b].getX(),this.plotPoints[b].getY(),this.pointSizes[0],this.pointSizes[0]));else for(b=0;a>b;b++)this.inside[b]&&(this.parent.fill(this.pointColors[b%c]),this.parent.ellipse(this.plotPoints[b].getX(),this.plotPoints[b].getY(),this.pointSizes[b%d],this.pointSizes[b%d]));this.parent.pop()}else{if(!(1===arguments.length&&arguments[0]instanceof p5.Image))throw new Error("GLayer.drawPoints(): signature not supported");for(a=this.plotPoints.length,this.parent.push(),this.parent.imageMode(this.parent.CENTER),b=0;a>b;b++)this.inside[b]&&this.parent.image(arguments[0],this.plotPoints[b].getX(),this.plotPoints[b].getY());this.parent.pop()}},GLayer.prototype.drawPoint=function(){var a,b,c,d;if(3===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2];else if(2===arguments.length&&arguments[1]instanceof p5.Image)a=arguments[0],d=arguments[1];else{if(1!==arguments.length)throw new Error("GLayer.drawPoint(): signature not supported");a=arguments[0],b=this.pointColors[0],c=this.pointSizes[0]}var e=this.valueToXPlot(a.getX()),f=this.valueToYPlot(a.getY());this.isInside(e,f)&&(this.parent.push(),"undefined"!=typeof d?(this.parent.imageMode(this.parent.CENTER),this.parent.image(d,e,f)):(this.parent.ellipseMode(this.parent.CENTER),this.parent.fill(b),this.parent.noStroke(),this.parent.ellipse(e,f,c,c)),this.parent.pop())},GLayer.prototype.drawLines=function(){var a=this.plotPoints.length;this.parent.push(),this.parent.noFill(),this.parent.stroke(this.lineColor),this.parent.strokeWeight(this.lineWidth),this.parent.strokeCap(this.parent.SQUARE);for(var b=0;a-1>b;b++)if(this.inside[b]&&this.inside[b+1])this.parent.line(this.plotPoints[b].getX(),this.plotPoints[b].getY(),this.plotPoints[b+1].getX(),this.plotPoints[b+1].getY());else if(this.plotPoints[b].isValid()&&this.plotPoints[b+1].isValid()){var c=this.obtainBoxIntersections(this.plotPoints[b],this.plotPoints[b+1]);this.inside[b]?this.parent.line(this.plotPoints[b].getX(),this.plotPoints[b].getY(),this.cuts[0][0],this.cuts[0][1]):this.inside[b+1]?this.parent.line(this.cuts[0][0],this.cuts[0][1],this.plotPoints[b+1].getX(),this.plotPoints[b+1].getY()):c>=2&&this.parent.line(this.cuts[0][0],this.cuts[0][1],this.cuts[1][0],this.cuts[1][1])}this.parent.pop()},GLayer.prototype.drawLine=function(){var a,b,c,d,e,f;if(4===arguments.length&&arguments[0]instanceof GPoint)a=arguments[0],b=arguments[1],c=arguments[2],d=arguments[3];else if(4===arguments.length)e=arguments[0],f=arguments[1],c=arguments[2],d=arguments[3];else if(2===arguments.length&&arguments[0]instanceof GPoint)a=arguments[0],b=arguments[1],c=this.lineColor,d=this.lineWidth;else{if(2!==arguments.length)throw new Error("GLayer.drawLine(): signature not supported");e=arguments[0],f=arguments[1],c=this.lineColor,d=this.lineWidth}"undefined"!=typeof e&&(this.xLog&&this.yLog?(a=new GPoint(this.xLim[0],Math.pow(10,e*Math.log(this.xLim[0])/Math.LN10+yCut)),b=new GPoint(this.xLim[1],Math.pow(10,e*Math.log(this.xLim[1])/Math.LN10+yCut))):this.xLog?(a=new GPoint(this.xLim[0],e*Math.log(this.xLim[0])/Math.LN10+yCut),b=new GPoint(this.xLim[1],e*Math.log(this.xLim[1])/Math.LN10+yCut)):this.yLog?(a=new GPoint(this.xLim[0],Math.pow(10,e*this.xLim[0]+yCut)),b=new GPoint(this.xLim[1],Math.pow(10,e*this.xLim[1]+yCut))):(a=new GPoint(this.xLim[0],e*this.xLim[0]+yCut),b=new GPoint(this.xLim[1],e*this.xLim[1]+yCut)));var g=this.valueToPlot(a),h=this.valueToPlot(b);if(g.isValid()&&h.isValid()){var i=this.isInside(g),j=this.isInside(h);if(this.parent.push(),this.parent.noFill(),this.parent.stroke(c),this.parent.strokeWeight(d),this.parent.strokeCap(this.parent.SQUARE),i&&j)this.parent.line(g.getX(),g.getY(),h.getX(),h.getY());else{var k=this.obtainBoxIntersections(g,h);i?this.parent.line(g.getX(),g.getY(),this.cuts[0][0],this.cuts[0][1]):j?this.parent.line(this.cuts[0][0],this.cuts[0][1],h.getX(),h.getY()):k>=2&&this.parent.line(this.cuts[0][0],this.cuts[0][1],this.cuts[1][0],this.cuts[1][1])}this.parent.pop()}},GLayer.prototype.drawHorizontalLine=function(){var a,b,c;if(3===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2];else{if(1!==arguments.length)throw new Error("GLayer.drawHorizontalLine(): signature not supported");a=arguments[0],b=this.lineColor,c=this.lineWidth}var d=this.valueToYPlot(a);this.isValidNumber(d)&&-d>=0&&-d<=this.dim[1]&&(this.parent.push(),this.parent.noFill(),this.parent.stroke(b),this.parent.strokeWeight(c),this.parent.strokeCap(this.parent.SQUARE),this.parent.line(0,d,this.dim[0],d),this.parent.pop())},GLayer.prototype.drawVerticalLine=function(){var a,b,c;if(3===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2];else{if(1!==arguments.length)throw new Error("GLayer.drawVerticalLine(): signature not supported");a=arguments[0],b=this.lineColor,c=this.lineWidth}var d=this.valueToXPlot(a);this.isValidNumber(d)&&d>=0&&d<=this.dim[0]&&(this.parent.push(),this.parent.noFill(),this.parent.stroke(b),this.parent.strokeWeight(c),this.parent.strokeCap(this.parent.SQUARE),this.parent.line(d,0,d,-this.dim[1]),this.parent.pop())},GLayer.prototype.drawFilledContour=function(a,b){var c;if(a===GPlot.HORIZONTAL?c=this.getHorizontalShape(b):a===GPlot.VERTICAL&&(c=this.getVerticalShape(b)),"undefined"!=typeof c&&c.length>0){this.parent.push(),this.parent.fill(this.lineColor),this.parent.noStroke(),this.parent.beginShape();for(var d=0;di;i++)if(b=this.plotPoints[i],b.isValid()){for(c=!1,this.inside[i]?(f.push(new GPoint(b.getX(),b.getY(),"normal point")),c=!0):b.getX()>=0&&b.getX()<=this.dim[0]&&(-b.getY()<0?(f.push(new GPoint(b.getX(),0,"projection")),c=!0):(f.push(new GPoint(b.getX(),-this.dim[1],"projection")),c=!0)),d=i+1;e-1>d&&!this.plotPoints[d].isValid();)d++;if(e>d&&this.plotPoints[d].isValid())for(var j=this.obtainBoxIntersections(b,this.plotPoints[d]),k=0;j>k;k++)f.push(new GPoint(this.cuts[k][0],this.cuts[k][1],"cut")),c=!0;c&&(0>g&&(g=i),h=i)}if(f.length>0){var l=new GPoint(f[0]);if(0!==l.getX()&&l.getX()!==this.dim[0])if("cut"===l.getLabel())this.plotPoints[g].getX()<0?(l.setX(0),l.setLabel("extreme")):(l.setX(this.dim[0]),l.setLabel("extreme"));else if(0!==g){for(var m=g-1;m>0&&!this.plotPoints[m].isValid();)m--;this.plotPoints[m].isValid()&&(this.plotPoints[m].getX()<0?(l.setX(0),l.setLabel("extreme")):(l.setX(this.dim[0]),l.setLabel("extreme")))}var n=new GPoint(f[f.length-1]);if(0!==n.getX()&&n.getX()!==this.dim[0]&&h!==e-1){for(d=h+1;e-1>d&&!this.plotPoints[d].isValid();)d++;this.plotPoints[d].isValid()&&(this.plotPoints[d].getX()<0?(n.setX(0),n.setLabel("extreme")):(n.setX(this.dim[0]),n.setLabel("extreme")))}"extreme"===n.getLabel()&&f.push(n),this.yLog&&0>=a&&(a=Math.min(this.yLim[0],this.yLim[1]));var o=this.valueToPlot(1,a);-o[1]<0?(f.push(new GPoint(n.getX(),0)),f.push(new GPoint(l.getX(),0))):-o[1]>this.dim[1]?(f.push(new GPoint(n.getX(),-this.dim[1])),f.push(new GPoint(l.getX(),-this.dim[1]))):(f.push(new GPoint(n.getX(),o[1])),f.push(new GPoint(l.getX(),o[1]))),"extreme"===l.getLabel()&&f.push(l)}return f},GLayer.prototype.getVerticalShape=function(a){for(var b,c,d,e=this.plotPoints.length,f=[],g=-1,h=-1,i=0;e>i;i++)if(b=this.plotPoints[i],b.isValid()){for(c=!1,this.inside[i]?(f.push(new GPoint(b.getX(),b.getY(),"normal point")),c=!0):-b.getY()>=0&&-b.getY()<=this.dim[1]&&(b.getX()<0?(f.push(new GPoint(0,b.getY(),"projection")),c=!0):(f.push(new GPoint(this.dim[0],b.getY(),"projection")),c=!0)),d=i+1;e-1>d&&!this.plotPoints[d].isValid();)d++;if(e>d&&this.plotPoints[d].isValid())for(var j=this.obtainBoxIntersections(b,this.plotPoints[d]),k=0;j>k;k++)f.push(new GPoint(this.cuts[k][0],this.cuts[k][1],"cut")),c=!0;c&&(0>g&&(g=i),h=i)}if(f.length>0){var l=new GPoint(f[0]);if(0!==l.getY()&&l.getY()!==-this.dim[1])if("cut"===l.getLabel())-this.plotPoints[g].getY()<0?(l.setY(0),l.setLabel("extreme")):(l.setY(-this.dim[1]),l.setLabel("extreme"));else if(0!==g){for(var m=g-1;m>0&&!this.plotPoints[m].isValid();)m--;this.plotPoints[m].isValid()&&(-this.plotPoints[m].getY()<0?(l.setY(0),l.setLabel("extreme")):(l.setY(-this.dim[1]),l.setLabel("extreme")))}var n=new GPoint(f[f.length-1]);if(0!==n.getY()&&n.getY()!==-this.dim[1]&&h!==e-1){for(d=h+1;e-1>d&&!this.plotPoints[d].isValid();)d++;this.plotPoints[d].isValid()&&(-this.plotPoints[d].getY()<0?(n.setY(0),n.setLabel("extreme")):(n.setY(-this.dim[1]),n.setLabel("extreme")))}"extreme"===n.getLabel()&&f.push(n),this.xLog&&0>=a&&(a=Math.min(this.xLim[0],this.xLim[1]));var o=this.valueToPlot(a,1);o[0]<0?(f.push(new GPoint(0,n.getY())),f.push(new GPoint(0,l.getY()))):o[0]>this.dim[0]?(f.push(new GPoint(this.dim[0],n.getY())),f.push(new GPoint(this.dim[0],l.getY()))):(f.push(new GPoint(o[0],n.getY())),f.push(new GPoint(o[0],l.getY()))),"extreme"===l.getLabel()&&f.push(l)}return f},GLayer.prototype.drawLabel=function(a){var b=this.valueToXPlot(a.getX()),c=this.valueToYPlot(a.getY());if(this.isValidNumber(b)&&this.isValidNumber(c)){var d=b+this.labelSeparation[0],e=c-this.labelSeparation[1],f=this.fontSize/4;this.parent.push(),this.parent.rectMode(this.parent.CORNER),this.parent.noStroke(),this.parent.textFont(this.fontName),this.parent.textSize(this.fontSize),this.parent.textAlign(this.parent.LEFT,this.parent.BOTTOM),this.parent.fill(this.labelBgColor),this.parent.rect(d-f,e-this.fontSize-f,this.parent.textWidth(a.getLabel())+2*f,this.fontSize+2*f),this.parent.fill(this.fontColor),this.parent.text(a.getLabel(),d,e),this.parent.pop()}},GLayer.prototype.drawLabelAtPlotPos=function(a,b){var c=this.getPointAtPlotPos(a,b);"undefined"!=typeof c&&this.drawLabel(c)},GLayer.prototype.drawHistogram=function(){"undefined"!=typeof this.hist&&this.hist.draw(this.valueToPlot(this.histBasePoint))},GLayer.prototype.drawPolygon=function(a,b){var c;if(a.length>2){var d=this.valueToPlot(a),e=0;for(c=0;cc;c++){f=d[c],this.isInside(f)&&h.push(new GPoint(f.getX(),f.getY(),"normal point"));var i=g>c+1?c+1:0,j=this.obtainBoxIntersections(f,d[i]);1===j?h.push(new GPoint(this.cuts[0][0],this.cuts[0][1],"single cut")):j>1&&(h.push(new GPoint(this.cuts[0][0],this.cuts[0][1],"double cut")),h.push(new GPoint(this.cuts[1][0],this.cuts[1][1],"double cut")))}g=h.length;var k=[];for(c=0;g>c;c++){k.push(h[c]);var l=g>c+1?c+1:0,m=h[c].getLabel(),n=h[l].getLabel(),o="single cut"===m&&"single cut"===n||"single cut"===m&&"double cut"===n||"double cut"===m&&"single cut"===n;if(o){var p=h[c].getX(),q=h[c].getY(),r=h[l].getX(),s=h[l].getY(),t=Math.abs(r-p),u=Math.abs(s-q);if(t>0&&u>0&&t!==this.dim[0]&&u!==this.dim[1]){var v=0===p||p===this.dim[0]?p:r,w=0===q||q===-this.dim[1]?q:s;k.push(new GPoint(v,w,"special cut"))}}}if(k.length>2){for(this.parent.push(),this.parent.fill(b),this.parent.noStroke(),this.parent.beginShape(),c=0;c0&&b>0&&(this.dim[0]=a,this.dim[1]=b,this.updatePlotPoints(),"undefined"!=typeof this.hist&&(this.hist.setDim(this.dim),this.hist.setPlotPoints(this.plotPoints)))},GLayer.prototype.setXLim=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else{if(1!==arguments.length)throw new Error("GLayer.setXLim(): signature not supported");a=arguments[0][0],b=arguments[0][1]}a!==b&&this.isValidNumber(a)&&this.isValidNumber(b)&&(this.xLog&&(0>=a||0>=b)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.xLim[0]=a,this.xLim[1]=b,this.updatePlotPoints(),this.updateInsideList(),"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints)))},GLayer.prototype.setYLim=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else{if(1!==arguments.length)throw new Error("GLayer.setYLim(): signature not supported");a=arguments[0][0],b=arguments[0][1]}a!==b&&this.isValidNumber(a)&&this.isValidNumber(b)&&(this.yLog&&(0>=a||0>=b)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.yLim[0]=a,this.yLim[1]=b,this.updatePlotPoints(),this.updateInsideList(),"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints)))},GLayer.prototype.setXYLim=function(){var a,b,c,d;if(4===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2],d=arguments[3];else{if(2!==arguments.length)throw new Error("GLayer.setXYLim(): signature not supported");a=arguments[0][0],b=arguments[0][1],c=arguments[1][0],d=arguments[1][1]}a!==b&&c!==d&&this.isValidNumber(a)&&this.isValidNumber(b)&&this.isValidNumber(c)&&this.isValidNumber(d)&&(this.xLog&&(0>=a||0>=b)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.xLim[0]=a,this.xLim[1]=b),this.yLog&&(0>=c||0>=d)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.yLim[0]=c,this.yLim[1]=d),this.updatePlotPoints(),this.updateInsideList(),"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints))},GLayer.prototype.setLimAndLog=function(){var a,b,c,d,e,f;if(6===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2],d=arguments[3],e=arguments[4],f=arguments[5];else{if(4!==arguments.length)throw new Error("GLayer.setLimAndLog(): signature not supported");a=arguments[0][0],b=arguments[0][1],c=arguments[1][0],d=arguments[1][1],e=arguments[2],f=arguments[3]}a!==b&&c!==d&&this.isValidNumber(a)&&this.isValidNumber(b)&&this.isValidNumber(c)&&this.isValidNumber(d)&&(e&&(0>=a||0>=b)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.xLim[0]=a,this.yLim[1]=b,this.xLog=e),f&&(0>=c||0>=d)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.yLim[0]=c,this.yLim[1]=d,this.yLog=f),this.updatePlotPoints(),this.updateInsideList(),"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints))},GLayer.prototype.setXLog=function(a){a!==this.xLog&&(a&&(this.xLim[0]<=0||this.xLim[1]<=0)&&(console.log("One of the limits is negative. This is not allowed in logarithmic scale."),console.log("Will set horizontal limits to (0.1, 10)"),this.xLim[0]=.1,this.xLim[1]=10),this.xLog=a,this.updatePlotPoints(),this.updateInsideList(),"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints))},GLayer.prototype.setYLog=function(a){a!==this.yLog&&(a&&(this.yLim[0]<=0||this.yLim[1]<=0)&&(console.log("One of the limits is negative. This is not allowed in logarithmic scale."),console.log("Will set horizontal limits to (0.1, 10)"),this.yLim[0]=.1,this.yLim[1]=10),this.yLog=a,this.updatePlotPoints(),this.updateInsideList(),"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints))},GLayer.prototype.setPoints=function(a){var b,c=a.length;if(this.points.length>c)this.points.splice(c,Number.MAX_VALUE);else for(b=this.points.length;c>b;b++)this.points[b]=new GPoint;for(b=0;c>b;b++)this.points[b].set(a[b]);this.updatePlotPoints(),this.updateInsideList(),"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints)},GLayer.prototype.setPoint=function(){var a,b,c,d,e=this.points.length;if(4===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2],d=arguments[3];else if(3===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2],d=aa)this.points[a].set(b,c,d),this.plotPoints[a].set(this.valueToXPlot(b),this.valueToYPlot(c),d),this.inside[a]=this.isInside(this.plotPoints[a]);else{if(a!==e)throw new Error("GLayer.setPoint(): the index position is outside the array size");this.points[a]=new GPoint(b,c,d),this.plotPoints[a]=new GPoint(this.valueToXPlot(b),this.valueToYPlot(c),d),this.inside[a]=this.isInside(this.plotPoints[a])}"undefined"!=typeof this.hist&&this.hist.setPlotPoint(a,this.plotPoints[a])},GLayer.prototype.addPoint=function(){var a,b,c;if(3===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2];else if(2===arguments.length)a=arguments[0],b=arguments[1],c="";else{if(1!==arguments.length)throw new Error("GLayer.addPoint(): signature not supported");a=arguments[0].getX(),b=arguments[0].getY(),c=arguments[0].getLabel()}this.points.push(new GPoint(a,b,c)),this.plotPoints.push(new GPoint(this.valueToXPlot(a),this.valueToYPlot(b),c)),this.inside.push(this.isInside(this.plotPoints[this.plotPoints.length-1])),"undefined"!=typeof this.hist&&this.hist.addPlotPoint(this.plotPoints[this.plotPoints.length-1])},GLayer.prototype.addPoints=function(a){for(var b,c=a.length,d=0;c>d;d++)b=a[d],this.points.push(new GPoint(b)),this.plotPoints.push(new GPoint(this.valueToXPlot(b.getX()),this.valueToYPlot(b.getY()),b.getLabel())),this.inside.push(this.isInside(this.plotPoints[this.plotPoints.length-1]));"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints)},GLayer.prototype.addPointAtIndexPos=function(){var a,b,c,d;if(4===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2],d=arguments[3];else if(3===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2],d="";else{if(2!==arguments.length)throw new Error("GLayer.addPointAtIndexPos(): signature not supported");a=arguments[0],b=arguments[1].getX(),c=arguments[1].getY(),d=arguments[1].getLabel()}a<=this.points.length&&(this.points.splice(a,0,new GPoint(b,c,d)),this.plotPoints.splice(a,0,new GPoint(this.valueToXPlot(b),this.valueToYPlot(c),d)),this.inside.splice(a,0,this.isInside(this.plotPoints[0])),"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints))},GLayer.prototype.removePoint=function(a){a0&&(this.pointColors=a.slice())},GLayer.prototype.setPointColor=function(a){this.pointColors=[a]},GLayer.prototype.setPointSizes=function(a){a.length>0&&(this.pointSizes=a.slice())},GLayer.prototype.setPointSize=function(a){this.pointSizes=[a]},GLayer.prototype.setLineColor=function(a){this.lineColor=a},GLayer.prototype.setLineWidth=function(a){a>0&&(this.lineWidth=a)},GLayer.prototype.setHistBasePoint=function(a){this.histBasePoint.set(a)},GLayer.prototype.setHistType=function(a){"undefined"!=typeof this.hist&&this.hist.setType(a)},GLayer.prototype.setHistVisible=function(a){"undefined"!=typeof this.hist&&this.hist.setVisible(a)},GLayer.prototype.setDrawHistLabels=function(a){"undefined"!=typeof this.hist&&this.hist.setDrawLabels(a)},GLayer.prototype.setLabelBgColor=function(a){this.labelBgColor=a},GLayer.prototype.setLabelSeparation=function(a){this.labelSeparation[0]=a[0],this.labelSeparation[1]=a[1]},GLayer.prototype.setFontName=function(a){this.fontName=a},GLayer.prototype.setFontColor=function(a){this.fontColor=a},GLayer.prototype.setFontSize=function(a){a>0&&(this.fontSize=a)},GLayer.prototype.setFontProperties=function(a,b,c){c>0&&(this.fontName=a,this.fontColor=b,this.fontSize=c)},GLayer.prototype.setAllFontProperties=function(a,b,c){this.setFontProperties(a,b,c),"undefined"!=typeof this.hist&&this.hist.setFontProperties(a,b,c)},GLayer.prototype.getId=function(){return this.id},GLayer.prototype.getDim=function(){return this.dim.slice()},GLayer.prototype.getXLim=function(){return this.xLim.slice()},GLayer.prototype.getYLim=function(){return this.yLim.slice()},GLayer.prototype.getXLog=function(){return this.xLog},GLayer.prototype.getYLog=function(){return this.yLog},GLayer.prototype.getPoints=function(){for(var a=[],b=0;b=this.pos[0]&&a<=this.pos[0]+this.outerDim[0]&&b>=this.pos[1]&&b<=this.pos[1]+this.outerDim[1]},GPlot.prototype.isOverBox=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else{if(0!==arguments.length)throw new Error("GPlot.isOverBox(): signature not supported");a=this.parent.mouseX,b=this.parent.mouseY}return a>=this.pos[0]+this.mar[1]&&a<=this.pos[0]+this.outerDim[0]-this.mar[3]&&b>=this.pos[1]+this.mar[2]&&b<=this.pos[1]+this.outerDim[1]-this.mar[0]},GPlot.prototype.updateLimits=function(){this.fixedXLim||(this.xLim=this.calculatePlotXLim(),this.xAxis.setLim(this.xLim),this.topAxis.setLim(this.xLim)),this.fixedYLim||(this.yLim=this.calculatePlotYLim(),this.yAxis.setLim(this.yLim),this.rightAxis.setLim(this.yLim)),this.mainLayer.setXYLim(this.xLim,this.yLim);for(var a=0;a=this.yLim[0]&&e>=this.yLim[0]&&e<=this.yLim[1]||this.yLim[1]=this.yLim[1]),!f||this.xLog&&0>=d||(db[1]&&(b[1]=d))}return b[1]=this.xLim[0]&&d>=this.xLim[0]&&d<=this.xLim[1]||this.xLim[1]=this.xLim[1]),!f||this.yLog&&0>=e||(eb[1]&&(b[1]=e))}return b[1]=0&&c[b]<=this.dim[0]&&this.parent.line(c[b],0,c[b],-this.dim[1])}if(a===GPlot.BOTH||a===GPlot.HORIZONTAL){var d=this.yAxis.getPlotTicksRef();for(b=0;b=0&&-d[b]<=this.dim[1]&&this.parent.line(0,d[b],this.dim[0],d[b])}this.parent.pop()},GPlot.prototype.drawHistograms=function(){this.mainLayer.drawHistogram();for(var a=0;a0&&b>0){var c=a-this.mar[1]-this.mar[3],d=b-this.mar[0]-this.mar[2];if(c>0&&d>0){this.outerDim[0]=a,this.outerDim[1]=b,this.dim[0]=c,this.dim[1]=d,this.xAxis.setDim(this.dim),this.topAxis.setDim(this.dim),this.yAxis.setDim(this.dim),this.rightAxis.setDim(this.dim),this.title.setDim(this.dim),this.mainLayer.setDim(this.dim);for(var e=0;e0&&f>0&&(this.mar[0]=a,this.mar[1]=b,this.mar[2]=c,this.mar[3]=d,this.outerDim[0]=e,this.outerDim[1]=f)},GPlot.prototype.setDim=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else{if(1!==arguments.length)throw new Error("GPlot.setDim(): signature not supported");a=arguments[0][0],b=arguments[0][1]}if(a>0&&b>0){var c=a+this.mar[1]+this.mar[3],d=b+this.mar[0]+this.mar[2];if(c>0&&d>0){this.outerDim[0]=c,this.outerDim[1]=d,this.dim[0]=a,this.dim[1]=b,this.xAxis.setDim(this.dim),this.topAxis.setDim(this.dim),this.yAxis.setDim(this.dim),this.rightAxis.setDim(this.dim),this.title.setDim(this.dim),this.mainLayer.setDim(this.dim);for(var e=0;e=a||0>=b)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.xLim[0]=a,this.xLim[1]=b,this.invertedXScale=this.xLim[0]>this.xLim[1],this.fixedXLim=!0,this.xAxis.setLim(this.xLim),this.topAxis.setLim(this.xLim),this.updateLimits()))},GPlot.prototype.setYLim=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else{if(1!==arguments.length)throw new Error("GPlot.setYLim(): signature not supported");a=arguments[0][0],b=arguments[0][1]}a!==b&&(this.yLog&&(0>=a||0>=b)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.yLim[0]=a,this.yLim[1]=b,this.invertedYScale=this.yLim[0]>this.yLim[1],this.fixedYLim=!0,this.yAxis.setLim(this.yLim),this.rightAxis.setLim(this.yLim),this.updateLimits()))},GPlot.prototype.setFixedXLim=function(a){this.fixedXLim=a,this.updateLimits()},GPlot.prototype.setFixedYLim=function(a){this.fixedYLim=a,this.updateLimits()},GPlot.prototype.setLogScale=function(a){var b=this.xLog,c=this.yLog;if("xy"===a||"yx"===a?(b=!0,c=!0):"x"===a?(b=!0,c=!1):"y"===a?(b=!1,c=!0):""===a&&(b=!1,c=!1),b!==this.xLog||c!==this.yLog){this.xLog=b,this.yLog=c,this.xLog&&this.fixedXLim&&(this.xLim[0]<=0||this.xLim[1]<=0)&&(this.fixedXLim=!1),this.yLog&&this.fixedYLim&&(this.yLim[0]<=0||this.yLim[1]<=0)&&(this.fixedYLim=!1),this.fixedXLim||(this.xLim=this.calculatePlotXLim()),this.fixedYLim||(this.yLim=this.calculatePlotYLim()),this.xAxis.setLimAndLog(this.xLim,this.xLog),this.topAxis.setLimAndLog(this.xLim,this.xLog),this.yAxis.setLimAndLog(this.yLim,this.yLog),this.rightAxis.setLimAndLog(this.yLim,this.yLog),this.mainLayer.setLimAndLog(this.xLim,this.yLim,this.xLog,this.yLog);for(var d=0;d=0&&a!==this.expandLimFactor&&(this.expandLimFactor=a,this.updateLimits())},GPlot.prototype.setBgColor=function(a){this.bgColor=a},GPlot.prototype.setBoxBgColor=function(a){this.boxBgColor=a},GPlot.prototype.setBoxLineColor=function(a){this.boxLineColor=a},GPlot.prototype.setBoxLineWidth=function(a){a>0&&(this.boxLineWidth=a)},GPlot.prototype.setGridLineColor=function(a){this.gridLineColor=a},GPlot.prototype.setGridLineWidth=function(a){a>0&&(this.gridLineWidth=a)},GPlot.prototype.setPoints=function(){if(2===arguments.length)this.getLayer(arguments[1]).setPoints(arguments[0]);else{if(1!==arguments.length)throw new Error("GPlot.setPoints(): signature not supported");this.mainLayer.setPoints(arguments[0])}this.updateLimits()},GPlot.prototype.setPoint=function(){if(5===arguments.length)this.getLayer(arguments[4]).setPoint(arguments[0],arguments[1],arguments[2],arguments[3]);else if(4===arguments.length)this.mainLayer.setPoint(arguments[0],arguments[1],arguments[2],arguments[3]);else if(3===arguments.length&&arguments[1]instanceof GPoint)this.getLayer(arguments[2]).setPoint(arguments[0],arguments[1]);else if(3===arguments.length)this.mainLayer.setPoint(arguments[0],arguments[1],arguments[2]);else{if(2!==arguments.length)throw new Error("GPlot.setPoint(): signature not supported");this.mainLayer.setPoint(arguments[0],arguments[1])}this.updateLimits()},GPlot.prototype.addPoint=function(){if(4===arguments.length)this.getLayer(arguments[3]).addPoint(arguments[0],arguments[1],arguments[2]);else if(3===arguments.length)this.mainLayer.addPoint(arguments[0],arguments[1],arguments[2]);else if(2===arguments.length&&arguments[0]instanceof GPoint)this.getLayer(arguments[1]).addPoint(arguments[0]);else if(2===arguments.length)this.mainLayer.addPoint(arguments[0],arguments[1]);else{if(1!==arguments.length)throw new Error("GPlot.addPoint(): signature not supported");this.mainLayer.addPoint(arguments[0])}this.updateLimits()},GPlot.prototype.addPoints=function(){if(2===arguments.length)this.getLayer(arguments[1]).addPoints(arguments[0]);else{if(1!==arguments.length)throw new Error("GPlot.addPoints(): signature not supported");this.mainLayer.addPoints(arguments[0])}this.updateLimits()},GPlot.prototype.removePoint=function(){if(2===arguments.length)this.getLayer(arguments[1]).removePoint(arguments[0]);else{if(1!==arguments.length)throw new Error("GPlot.removePoint(): signature not supported");this.mainLayer.removePoint(arguments[0])}this.updateLimits()},GPlot.prototype.addPointAtIndexPos=function(){if(5===arguments.length)this.getLayer(arguments[4]).addPointAtIndexPos(arguments[0],arguments[1],arguments[2],arguments[3]);else if(4===arguments.length)this.mainLayer.addPointAtIndexPos(arguments[0],arguments[1],arguments[2],arguments[3]);else if(3===arguments.length&&arguments[1]instanceof GPoint)this.getLayer(arguments[2]).addPointAtIndexPos(arguments[0],arguments[1]);else if(3===arguments.length)this.mainLayer.addPointAtIndexPos(arguments[0],arguments[1],arguments[2]);else{if(2!==arguments.length)throw new Error("GPlot.addPointAtIndexPos(): signature not supported");this.mainLayer.addPointAtIndexPos(arguments[0],arguments[1])}this.updateLimits()},GPlot.prototype.setPointColors=function(a){this.mainLayer.setPointColors(a)},GPlot.prototype.setPointColor=function(a){this.mainLayer.setPointColor(a)},GPlot.prototype.setPointSizes=function(a){this.mainLayer.setPointSizes(a)},GPlot.prototype.setPointSize=function(a){this.mainLayer.setPointSize(a)},GPlot.prototype.setLineColor=function(a){this.mainLayer.setLineColor(a)},GPlot.prototype.setLineWidth=function(a){this.mainLayer.setLineWidth(a)},GPlot.prototype.setHistBasePoint=function(a){this.mainLayer.setHistBasePoint(a)},GPlot.prototype.setHistType=function(a){this.mainLayer.setHistType(a)},GPlot.prototype.setHistVisible=function(a){this.mainLayer.setHistVisible(a)},GPlot.prototype.setDrawHistLabels=function(a){this.mainLayer.setDrawHistLabels(a)},GPlot.prototype.setLabelBgColor=function(a){this.mainLayer.setLabelBgColor(a)},GPlot.prototype.setLabelSeparation=function(a){this.mainLayer.setLabelSeparation(a)},GPlot.prototype.setTitleText=function(a){this.title.setText(a)},GPlot.prototype.setAxesOffset=function(a){this.xAxis.setOffset(a),this.topAxis.setOffset(a),this.yAxis.setOffset(a),this.rightAxis.setOffset(a)},GPlot.prototype.setTicksLength=function(a){this.xAxis.setTickLength(a),this.topAxis.setTickLength(a),this.yAxis.setTickLength(a),this.rightAxis.setTickLength(a)},GPlot.prototype.setHorizontalAxesNTicks=function(a){this.xAxis.setNTicks(a),this.topAxis.setNTicks(a)},GPlot.prototype.setHorizontalAxesTicksSeparation=function(a){this.xAxis.setTicksSeparation(a),this.topAxis.setTicksSeparation(a)},GPlot.prototype.setHorizontalAxesTicks=function(a){this.xAxis.setTicks(a),this.topAxis.setTicks(a)},GPlot.prototype.setVerticalAxesNTicks=function(a){this.yAxis.setNTicks(a),this.rightAxis.setNTicks(a)},GPlot.prototype.setVerticalAxesTicksSeparation=function(a){this.yAxis.setTicksSeparation(a),this.rightAxis.setTicksSeparation(a)},GPlot.prototype.setVerticalAxesTicks=function(a){this.yAxis.setTicks(a),this.rightAxis.setTicks(a)},GPlot.prototype.setFontName=function(a){this.maniLayer.setFontName(a)},GPlot.prototype.setFontColor=function(a){this.maniLayer.setFontColor(a)},GPlot.prototype.setFontSize=function(a){this.maniLayer.setFontSize(a)},GPlot.prototype.setFontProperties=function(a,b,c){this.maniLayer.setFontProperties(a,b,c)},GPlot.prototype.setAllFontProperties=function(a,b,c){this.xAxis.setAllFontProperties(a,b,c),this.topAxis.setAllFontProperties(a,b,c),this.yAxis.setAllFontProperties(a,b,c),this.rightAxis.setAllFontProperties(a,b,c),this.title.setFontProperties(a,b,c),this.mainLayer.setAllFontProperties(a,b,c);for(var d=0;d0&&(this.zoomFactor=a),(b===this.parent.LEFT||b===this.parent.RIGHT||b===this.parent.CENTER)&&(this.increaseZoomButton=b),(c===this.parent.LEFT||c===this.parent.RIGHT||c===this.parent.CENTER)&&(this.decreaseZoomButton=c),(d===this.parent.SHIFT||d===this.parent.CONTROL||d===this.parent.ALT||d===GPlot.NONE)&&(this.increaseZoomKeyModifier=d),(e===this.parent.SHIFT||e===this.parent.CONTROL||e===this.parent.ALT||e===GPlot.NONE)&&(this.decreaseZoomKeyModifier=e)},GPlot.prototype.deactivateZooming=function(){this.zoomingIsActive=!1},GPlot.prototype.activateCentering=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else if(1===arguments.length)a=arguments[0],b=GPlot.NONE;else{if(0!==arguments.length)throw new Error("GPlot.activateCentering(): signature not supported");a=this.parent.LEFT,b=GPlot.NONE}this.centeringIsActive=!0,(a===this.parent.LEFT||a===this.parent.RIGHT||a===this.parent.CENTER)&&(this.centeringButton=a),(b===this.parent.SHIFT||b===this.parent.CONTROL||b===this.parent.ALT||b===GPlot.NONE)&&(this.centeringKeyModifier=b)},GPlot.prototype.deactivateCentering=function(){this.centeringIsActive=!1},GPlot.prototype.activatePanning=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else if(1===arguments.length)a=arguments[0],b=GPlot.NONE;else{if(0!==arguments.length)throw new Error("GPlot.activatePanning(): signature not supported");a=this.parent.LEFT,b=GPlot.NONE}this.panningIsActive=!0,(a===this.parent.LEFT||a===this.parent.RIGHT||a===this.parent.CENTER)&&(this.panningButton=a),(b===this.parent.SHIFT||b===this.parent.CONTROL||b===this.parent.ALT||b===GPlot.NONE)&&(this.panningKeyModifier=b)},GPlot.prototype.deactivatePanning=function(){this.panningIsActive=!1,this.panningReferencePoint=void 0},GPlot.prototype.activatePointLabels=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else if(1===arguments.length)a=arguments[0],b=GPlot.NONE;else{if(0!==arguments.length)throw new Error("GPlot.activatePointLabels(): signature not supported");a=this.parent.LEFT,b=GPlot.NONE}this.labelingIsActive=!0,(a===this.parent.LEFT||a===this.parent.RIGHT||a===this.parent.CENTER)&&(this.labelingButton=a),(b===this.parent.SHIFT||b===this.parent.CONTROL||b===this.parent.ALT||b===GPlot.NONE)&&(this.labelingKeyModifier=b)},GPlot.prototype.deactivatePointLabels=function(){this.labelingIsActive=!1,this.mousePos=void 0},GPlot.prototype.activateReset=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else if(1===arguments.length)a=arguments[0],b=GPlot.NONE;else{if(0!==arguments.length)throw new Error("GPlot.activateReset(): signature not supported");a=this.parent.RIGHT,b=GPlot.NONE}this.resetIsActive=!0,this.xLimReset=void 0,this.yLimReset=void 0,(a===this.parent.LEFT||a===this.parent.RIGHT||a===this.parent.CENTER)&&(this.resetButton=a),(b===this.parent.SHIFT||b===this.parent.CONTROL||b===this.parent.ALT||b===GPlot.NONE)&&(this.resetKeyModifier=b)},GPlot.prototype.deactivateReset=function(){this.resetIsActive=!1,this.xLimReset=void 0,this.yLimReset=void 0},GPlot.prototype.getButton=function(a){var b;return 0===a.button?b=this.parent.LEFT:1===a.button?b=this.parent.CENTER:2===a.button?b=this.parent.RIGHT:"undefined"==typeof a.button&&(b=this.parent.LEFT),b},GPlot.prototype.getModifier=function(a){var b;return b=a.altKey?this.parent.ALT:a.ctrlKey?this.parent.CONTROL:a.shiftKey?this.parent.SHIFT:GPlot.NONE},GPlot.prototype.saveResetLimits=function(){("undefined"==typeof this.xLimReset||"undefined"==typeof this.yLimReset)&&(this.xLimReset=this.xLim.slice(),this.yLimReset=this.yLim.slice())},GPlot.prototype.panningFunction=function(){"undefined"!=typeof this.panningReferencePoint&&this.align(this.panningReferencePoint,this.parent.mouseX,this.parent.mouseY)},GPlot.prototype.clickEvent=function(a){if(e=a||window.event,this.isOverBox()){var b=this.getButton(e),c=this.getModifier(e);this.zoomingIsActive&&(b===this.increaseZoomButton&&c===this.increaseZoomKeyModifier?(this.resetIsActive&&this.saveResetLimits(),this.zoom(this.zoomFactor,this.parent.mouseX,this.parent.mouseY)):b===this.decreaseZoomButton&&c===this.decreaseZoomKeyModifier&&(this.resetIsActive&&this.saveResetLimits(),this.zoom(1/this.zoomFactor,this.parent.mouseX,this.parent.mouseY))),this.centeringIsActive&&b===this.centeringButton&&c===this.centeringKeyModifier&&(this.resetIsActive&&this.saveResetLimits(), +this.center(this.parent.mouseX,this.parent.mouseY)),this.resetIsActive&&b===this.resetButton&&c===this.resetKeyModifier&&"undefined"!=typeof this.xLimReset&&"undefined"!=typeof this.yLimReset&&(this.setXLim(this.xLimReset),this.setYLim(this.yLimReset),this.xLimReset=void 0,this.yLimReset=void 0)}},GPlot.prototype.mouseDownEvent=function(a){if(e=a||window.event,this.isOverBox()){var b=this.getButton(e),c=this.getModifier(e);this.panningIsActive&&b===this.panningButton&&c===this.panningKeyModifier&&(this.resetIsActive&&this.saveResetLimits(),this.panningReferencePoint=this.getValueAt(this.parent.mouseX,this.parent.mouseY),this.panningIntervalId=setInterval(this.panningFunction.bind(this),100)),this.labelingIsActive&&b===this.labelingButton&&c===this.labelingKeyModifier&&(this.mousePos=[this.parent.mouseX,this.parent.mouseY])}},GPlot.prototype.mouseUpEvent=function(a){e=a||window.event;{var b=this.getButton(e);this.getModifier(e)}this.panningIsActive&&b===this.panningButton&&"undefined"!=typeof this.panningIntervalId&&(clearInterval(this.panningIntervalId),this.panningIntervalId=void 0,this.panningReferencePoint=void 0),this.labelingIsActive&&b===this.labelingButton&&(this.mousePos=void 0),b===this.parent.RIGHT&&this.clickEvent(e)},GPlot.prototype.wheelEvent=function(a){if(e=a||window.event,this.isOverBox()){var b=e.deltaY,c=this.parent.CENTER,d=this.getModifier(e);this.zoomingIsActive&&(c===this.increaseZoomButton&&d===this.increaseZoomKeyModifier&&b>0?(this.resetIsActive&&this.saveResetLimits(),this.zoom(this.zoomFactor,this.parent.mouseX,this.parent.mouseY)):c===this.decreaseZoomButton&&d===this.decreaseZoomKeyModifier&&0>b&&(this.resetIsActive&&this.saveResetLimits(),this.zoom(1/this.zoomFactor,this.parent.mouseX,this.parent.mouseY)))}},GPlot.prototype.preventDefaultEvent=function(a){e=a||window.event,this.isOverBox()&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},GPlot.prototype.preventWheelDefault=function(){window.addEventListener("wheel",this.preventDefaultEvent.bind(this),!1)},GPlot.prototype.preventRightClickDefault=function(){window.addEventListener("contextmenu",this.preventDefaultEvent.bind(this),!1)}; diff --git a/docs/graficos/grafica-0.1.0.min.js b/docs/graficos/grafica-0.1.0.min.js new file mode 100644 index 0000000..6e86b8a --- /dev/null +++ b/docs/graficos/grafica-0.1.0.min.js @@ -0,0 +1,5 @@ +/*! grafica.js (0.1.0): a library for p5.js. Author: Javier Graciá Carpio, license: LGPL-3.0, 2015-04-12 */ function GPoint(){var a,b,c;if(3===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2];else if(2===arguments.length&&arguments[0]instanceof p5.Vector)a=arguments[0].x,b=arguments[0].y,c=arguments[1];else if(2===arguments.length)a=arguments[0],b=arguments[1],c="";else if(1===arguments.length&&arguments[0]instanceof GPoint)a=arguments[0].getX(),b=arguments[0].getY(),c=arguments[0].getLabel();else if(1===arguments.length&&arguments[0]instanceof p5.Vector)a=arguments[0].x,b=arguments[0].y,c="";else{if(0!==arguments.length)throw new Error("GPoint constructor: signature not supported");a=0,b=0,c=""}this.x=a,this.y=b,this.label=c,this.valid=this.isValidNumber(this.x)&&this.isValidNumber(this.y)}function GTitle(a,b){this.parent=a,this.dim=b.slice(),this.relativePos=.5,this.plotPos=this.relativePos*this.dim[0],this.offset=10,this.text="",this.textAlignment=this.parent.CENTER,this.fontName="Helvetica",this.fontColor=this.parent.color(100),this.fontStyle=this.parent.BOLD,this.fontSize=13}function GAxisLabel(a,b,c){this.parent=a,this.type=b===this.parent.BOTTOM||b===this.parent.TOP||b===this.parent.LEFT||b===this.parent.RIGHT?b:this.parent.BOTTOM,this.dim=c.slice(),this.relativePos=.5,this.plotPos=this.type===this.parent.BOTTOM||this.type===this.parent.TOP?this.relativePos*this.dim[0]:-this.relativePos*this.dim[1],this.offset=35,this.rotate=this.type===this.parent.BOTTOM||this.type===this.parent.TOP?!1:!0,this.text="",this.textAlignment=this.parent.CENTER,this.fontName="Helvetica",this.fontColor=this.parent.color(0),this.fontSize=13}function GAxis(a,b,c,d,e){this.parent=a,this.type=b===this.parent.BOTTOM||b===this.parent.TOP||b===this.parent.LEFT||b===this.parent.RIGHT?b:this.parent.BOTTOM,this.dim=c.slice(),this.lim=d.slice(),this.log=e,this.log&&(this.lim[0]<=0||this.lim[1]<=0)&&(console.log("The limits are negative. This is not allowed in logarithmic scale."),console.log("Will set them to (0.1, 10)"),this.lim[1]>this.lim[0]?(this.lim[0]=.1,this.lim[1]=10):(this.lim[0]=10,this.lim[1]=.1)),this.offset=5,this.lineColor=this.parent.color(0),this.lineWidth=1,this.nTicks=5,this.ticksSeparation=-1,this.ticks=[],this.plotTicks=[],this.ticksInside=[],this.tickLabels=[],this.fixedTicks=!1,this.tickLength=3,this.smallTickLength=2,this.expTickLabels=!1,this.rotateTickLabels=this.type===this.parent.BOTTOM||this.type===this.parent.TOP?!1:!0,this.drawTickLabels=this.type===this.parent.BOTTOM||this.type===this.parent.LEFT?!0:!1,this.tickLabelOffset=7,this.ticksPrecision=void 0,this.lab=new GAxisLabel(this.parent,this.type,this.dim),this.drawAxisLabel=!0,this.fontName="Helvetica",this.fontColor=this.parent.color(0),this.fontSize=11,this.updateTicks(),this.updatePlotTicks(),this.updateTicksInside(),this.updateTickLabels()}function GHistogram(a,b,c,d){this.parent=a,this.type=b===GPlot.VERTICAL||b===GPlot.HORIZONTAL?b:GPlot.VERTICAL,this.dim=c.slice(),this.plotPoints=[];for(var e=0;e0&&b>0&&(this.dim[0]=a,this.dim[1]=b,this.plotPos=this.relativePos*this.dim[0])},GTitle.prototype.setRelativePos=function(a){this.relativePos=a,this.plotPos=this.relativePos*this.dim[0]},GTitle.prototype.setOffset=function(a){this.offset=a},GTitle.prototype.setText=function(a){this.text=a},GTitle.prototype.setTextAlignment=function(a){(a===this.parent.CENTER||a===this.parent.LEFT||a===this.parent.RIGHT)&&(this.textAlignment=a)},GTitle.prototype.setFontName=function(a){this.fontName=a},GTitle.prototype.setFontColor=function(a){this.fontColor=a},GTitle.prototype.setFontStyle=function(a){this.fontStyle=a},GTitle.prototype.setFontSize=function(a){a>0&&(this.fontSize=a)},GTitle.prototype.setFontProperties=function(a,b,c){c>0&&(this.fontName=a,this.fontColor=b,this.fontSize=c)},GAxisLabel.prototype.draw=function(){switch(this.type){case this.parent.BOTTOM:this.drawAsXLabel();break;case this.parent.LEFT:this.drawAsYLabel();break;case this.parent.TOP:this.drawAsTopLabel();break;case this.parent.RIGHT:this.drawAsRightLabel()}},GAxisLabel.prototype.drawAsXLabel=function(){this.parent.push(),this.parent.textFont(this.fontName),this.parent.textSize(this.fontSize),this.parent.fill(this.fontColor),this.parent.noStroke(),this.rotate?(this.parent.textAlign(this.parent.RIGHT,this.parent.CENTER),this.parent.translate(this.plotPos,this.offset),this.parent.rotate(-.5*Math.PI),this.parent.text(this.text,0,0)):(this.parent.textAlign(this.textAlignment,this.parent.TOP),this.parent.text(this.text,this.plotPos,this.offset)),this.parent.pop()},GAxisLabel.prototype.drawAsYLabel=function(){this.parent.push(),this.parent.textFont(this.fontName),this.parent.textSize(this.fontSize),this.parent.fill(this.fontColor),this.parent.noStroke(),this.rotate?(this.parent.textAlign(this.textAlignment,this.parent.BOTTOM),this.parent.translate(-this.offset,this.plotPos),this.parent.rotate(-.5*Math.PI),this.parent.text(this.text,0,0)):(this.parent.textAlign(this.parent.RIGHT,this.parent.CENTER),this.parent.text(this.text,-this.offset,this.plotPos)),this.parent.pop()},GAxisLabel.prototype.drawAsTopLabel=function(){this.parent.push(),this.parent.textFont(this.fontName),this.parent.textSize(this.fontSize),this.parent.fill(this.fontColor),this.parent.noStroke(),this.rotate?(this.parent.textAlign(this.parent.LEFT,this.parent.CENTER),this.parent.translate(this.plotPos,-this.offset-this.dim[1]),this.parent.rotate(-.5*Math.PI),this.parent.text(this.text,0,0)):(this.parent.textAlign(this.textAlignment,this.parent.BOTTOM),this.parent.text(this.text,this.plotPos,-this.offset-this.dim[1])),this.parent.pop()},GAxisLabel.prototype.drawAsRightLabel=function(){this.parent.push(),this.parent.textFont(this.fontName),this.parent.textSize(this.fontSize),this.parent.fill(this.fontColor),this.parent.noStroke(),this.rotate?(this.parent.textAlign(this.textAlignment,this.parent.TOP),this.parent.translate(this.offset+this.dim[0],this.plotPos),this.parent.rotate(-.5*Math.PI),this.parent.text(this.text,0,0)):(this.parent.textAlign(this.parent.LEFT,this.parent.CENTER),this.parent.text(this.text,this.offset+this.dim[0],this.plotPos)),this.parent.pop()},GAxisLabel.prototype.setDim=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else{if(1!==arguments.length)throw new Error("GAxisLabel.setDim(): signature not supported");a=arguments[0][0],b=arguments[0][1]}a>0&&b>0&&(this.dim[0]=a,this.dim[1]=b,this.plotPos=this.type===this.parent.BOTTOM||this.type===this.parent.TOP?this.relativePos*this.dim[0]:-this.relativePos*this.dim[1])},GAxisLabel.prototype.setRelativePos=function(a){this.relativePos=a,this.plotPos=this.type===this.parent.BOTTOM||this.type===this.parent.TOP?this.relativePos*this.dim[0]:-this.relativePos*this.dim[1]},GAxisLabel.prototype.setOffset=function(a){this.offset=a},GAxisLabel.prototype.setRotate=function(a){this.rotate=a},GAxisLabel.prototype.setText=function(a){this.text=a},GAxisLabel.prototype.setTextAlignment=function(a){(a===this.parent.CENTER||a===this.parent.LEFT||a===this.parent.RIGHT)&&(this.textAlignment=a)},GAxisLabel.prototype.setFontName=function(a){this.fontName=a},GAxisLabel.prototype.setFontColor=function(a){this.fontColor=a},GAxisLabel.prototype.setFontSize=function(a){a>0&&(this.fontSize=a)},GAxisLabel.prototype.setFontProperties=function(a,b,c){c>0&&(this.fontName=a,this.fontColor=b,this.fontSize=c)},GAxis.prototype.obtainSigDigits=function(a){return Math.round(-Math.log(.5*Math.abs(a))/Math.LN10)},GAxis.prototype.roundPlus=function(a,b){return a=Math.round(a*Math.pow(10,b))/Math.pow(10,b),0>=b&&(a=Math.round(a)),a},GAxis.prototype.adaptSize=function(a,b){bthis.lim[0]?(a=Math.floor(Math.log(this.lim[0])/Math.LN10),b=Math.ceil(Math.log(this.lim[1])/Math.LN10)):(a=Math.floor(Math.log(this.lim[1])/Math.LN10),b=Math.ceil(Math.log(this.lim[0])/Math.LN10));var c=9*(b-a)+1;this.adaptSize(this.ticks,c);for(var d=a;b>d;d++)for(var e=this.roundPlus(Math.exp(d*Math.LN10),-d),f=0;9>f;f++)this.ticks[9*(d-a)+f]=(f+1)*e;this.ticks[this.ticks.length-1]=this.roundPlus(Math.exp(b*Math.LN10),-d),this.lim[1]0){for(a=this.lim[1]>this.lim[0]?this.ticksSeparation:-this.ticksSeparation,c=this.obtainSigDigits(a);this.roundPlus(a,c)-a!==0;)c++;b=Math.floor((this.lim[1]-this.lim[0])/a)}else this.nTicks>0&&(a=(this.lim[1]-this.lim[0])/this.nTicks,c=this.obtainSigDigits(a),a=this.roundPlus(a,c),(0===a||Math.abs(a)>Math.abs(this.lim[1]-this.lim[0]))&&(c++,a=this.roundPlus((this.lim[1]-this.lim[0])/this.nTicks,c)),b=Math.floor((this.lim[1]-this.lim[0])/a));if(b>0){var d=this.lim[0]+(this.lim[1]-this.lim[0]-b*a)/2;for(d=this.roundPlus(d-2*a,c);(this.lim[1]-d)*(this.lim[0]-d)>0;)d=this.roundPlus(d+a,c);var e=Math.floor(Math.abs((this.lim[1]-d)/a))+1;this.adaptSize(this.ticks,e),this.ticks[0]=d;for(var f=1;e>f;f++)this.ticks[f]=this.roundPlus(this.ticks[f-1]+a,c);this.ticksPrecision=c}else this.ticks=[]},GAxis.prototype.updatePlotTicks=function(){var a,b,c=this.ticks.length;if(this.adaptSize(this.plotTicks,c),this.log)for(a=this.type===this.parent.BOTTOM||this.type===this.parent.TOP?this.dim[0]/Math.log(this.lim[1]/this.lim[0]):-this.dim[1]/Math.log(this.lim[1]/this.lim[0]),b=0;c>b;b++)this.plotTicks[b]=Math.log(this.ticks[b]/this.lim[0])*a;else for(a=this.type===this.parent.BOTTOM||this.type===this.parent.TOP?this.dim[0]/(this.lim[1]-this.lim[0]):-this.dim[1]/(this.lim[1]-this.lim[0]),b=0;c>b;b++)this.plotTicks[b]=(this.ticks[b]-this.lim[0])*a},GAxis.prototype.updateTicksInside=function(){var a,b=this.ticks.length;if(this.adaptSize(this.ticksInside,b),this.type===this.parent.BOTTOM||this.type===this.parent.TOP)for(a=0;b>a;a++)this.ticksInside[a]=this.plotTicks[a]>=0&&this.plotTicks[a]<=this.dim[0];else for(a=0;b>a;a++)this.ticksInside[a]=-this.plotTicks[a]>=0&&-this.plotTicks[a]<=this.dim[1]},GAxis.prototype.updateTickLabels=function(){var a,b,c,d,e=this.ticks.length;if(this.adaptSize(this.tickLabels,e),this.log)for(d=0;e>d;d++)a=this.ticks[d],a>0?(b=Math.log(a)/Math.LN10,c=Math.abs(b-Math.round(b))<1e-4,c?(b=Math.round(b),this.tickLabels[d]=this.expTickLabels?"1e"+b:b>-3.1&&3.1>b?b>=0?""+Math.round(a):""+a:"1e"+b):this.tickLabels[d]=""):this.tickLabels[d]="";else for(d=0;e>d;d++)a=this.ticks[d],this.tickLabels[d]=a%1===0?""+Math.round(a):"undefined"!=typeof this.ticksPrecision&&this.ticksPrecision>=0?""+parseFloat(a).toFixed(this.ticksPrecision):""+a},GAxis.prototype.moveLim=function(a){if(a[1]!==a[0])if(this.log&&(a[0]<=0||a[1]<=0))console.log("The limits are negative. This is not allowed in logarithmic scale.");else{if(this.lim[0]=a[0],this.lim[1]=a[1],!this.fixedTicks){var b=this.ticks.length;if(this.log)this.obtainLogarithmicTicks();else if(b>0){var c=0,d=0;if(this.ticksSeparation>0)for(c=this.lim[1]>this.lim[0]?this.ticksSeparation:-this.ticksSeparation,d=this.obtainSigDigits(c);this.roundPlus(c,d)-c!==0;)d++;else c=1===b?this.lim[1]-this.lim[0]:this.ticks[1]-this.ticks[0],d=this.obtainSigDigits(c),c=this.roundPlus(c,d),(0===c||Math.abs(c)>Math.abs(this.lim[1]-this.lim[0]))&&(d++,c=1===b?this.lim[1]-this.lim[0]:this.ticks[1]-this.ticks[0],c=this.roundPlus(c,d)),c=this.lim[1]>this.lim[0]?Math.abs(c):-Math.abs(c);var e=this.ticks[0]+c*Math.ceil((this.lim[0]-this.ticks[0])/c);e=this.roundPlus(e,d),(this.lim[1]-e)*(this.lim[0]-e)>0&&(e=this.ticks[0]+c*Math.floor((this.lim[0]-this.ticks[0])/c),e=this.roundPlus(e,d)),b=Math.floor(Math.abs((this.lim[1]-e)/c))+1,this.adaptSize(this.ticks,b),this.ticks[0]=e;for(var f=1;b>f;f++)this.ticks[f]=this.roundPlus(this.ticks[f-1]+c,d);this.ticksPrecision!==d&&console.log("There is a problem in the axis ticks precision calculation")}this.updateTickLabels()}this.updatePlotTicks(),this.updateTicksInside()}},GAxis.prototype.draw=function(){switch(this.type){case this.parent.BOTTOM:this.drawAsXAxis();break;case this.parent.LEFT:this.drawAsYAxis();break;case this.parent.TOP:this.drawAsTopAxis();break;case this.parent.RIGHT:this.drawAsRightAxis()}this.drawAxisLabel&&this.lab.draw()},GAxis.prototype.drawAsXAxis=function(){var a;for(this.parent.push(),this.parent.stroke(this.lineColor),this.parent.strokeWeight(this.lineWidth),this.parent.strokeCap(this.parent.SQUARE),this.parent.line(0,this.offset,this.dim[0],this.offset),a=0;a0&&b>0&&(this.dim[0]=a,this.dim[1]=b,this.updatePlotTicks(),this.lab.setDim(this.dim))},GAxis.prototype.setLim=function(a){a[1]!==a[0]&&(this.log&&(a[0]<=0||a[1]<=0)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.lim[0]=a[0],this.lim[1]=a[1],this.fixedTicks||(this.updateTicks(),this.updateTickLabels()),this.updatePlotTicks(),this.updateTicksInside()))},GAxis.prototype.setLimAndLog=function(a,b){a[1]!==a[0]&&(b&&(a[0]<=0||a[1]<=0)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.lim[0]=a[0],this.lim[1]=a[1],this.log=b,this.fixedTicks||(this.updateTicks(),this.updateTickLabels()),this.updatePlotTicks(),this.updateTicksInside()))},GAxis.prototype.setLog=function(a){a!==this.log&&(this.log=a,this.log&&(this.lim[0]<=0||this.lim[1]<=0)&&(console.log("The limits are negative. This is not allowed in logarithmic scale."),console.log("Will set them to (0.1, 10)"),this.lim[1]>this.lim[0]?(this.lim[0]=.1,this.lim[1]=10):(this.lim[0]=10,this.lim[1]=.1)),this.fixedTicks||(this.updateTicks(),this.updateTickLabels()),this.updatePlotTicks(),this.updateTicksInside())},GAxis.prototype.setOffset=function(a){this.offset=a},GAxis.prototype.setLineColor=function(a){this.lineColor=a},GAxis.prototype.setLineWidth=function(a){a>0&&(this.lineWidth=a)},GAxis.prototype.setNTicks=function(a){a>=0&&(this.nTicks=a,this.ticksSeparation=-1,this.log||(this.fixedTicks=!1,this.updateTicks(),this.updatePlotTicks(),this.updateTicksInside(),this.updateTickLabels()))},GAxis.prototype.setTicksSeparation=function(a){this.ticksSeparation=a,this.log||(this.fixedTicks=!1,this.updateTicks(),this.updatePlotTicks(),this.updateTicksInside(),this.updateTickLabels())},GAxis.prototype.setTicks=function(a){var b=a.length;this.adaptSize(this.ticks,b);for(var c=0;b>c;c++)this.ticks[c]=a[c];this.fixedTicks=!0,this.ticksPrecision=void 0,this.updatePlotTicks(),this.updateTicksInside(),this.updateTickLabels()},GAxis.prototype.setTickLabels=function(a){if(a.length===this.tickLabels.length){for(var b=0;b0&&(this.fontSize=a)},GAxis.prototype.setFontProperties=function(a,b,c){c>0&&(this.fontName=a,this.fontColor=b,this.fontSize=c)},GAxis.prototype.setAllFontProperties=function(a,b,c){this.setFontProperties(a,b,c),this.lab.setFontProperties(a,b,c)},GAxis.prototype.getTicks=function(){if(this.fixedTicks)return this.ticks.slice();for(var a=[],b=0,c=0;cb&&(this.differences.splice(b,Number.MAX_VALUE),this.leftSides.splice(b,Number.MAX_VALUE),this.rightSides.splice(b,Number.MAX_VALUE)),1===b)this.leftSides[0]=this.type===GPlot.VERTICAL?.2*this.dim[0]:.2*this.dim[1],this.rightSides[0]=this.leftSides[0];else if(b>1){for(a=0;b-1>a;a++)if(this.plotPoints[a].isValid()&&this.plotPoints[a+1].isValid()){var c,d=this.separations[a%this.separations.length];c=this.type===GPlot.VERTICAL?this.plotPoints[a+1].getX()-this.plotPoints[a].getX():this.plotPoints[a+1].getY()-this.plotPoints[a].getY(),this.differences[a]=c>0?(c-d)/2:(c+d)/2}else this.differences[a]=0;for(this.leftSides[0]=this.differences[0],this.rightSides[0]=this.differences[0],a=1;b-1>a;a++)this.leftSides[a]=this.differences[a-1],this.rightSides[a]=this.differences[a];this.leftSides[b-1]=this.differences[b-2],this.rightSides[b-1]=this.differences[b-2]}},GHistogram.prototype.draw=function(a){if(this.visible){var b=0;a.isValid()&&(b=this.type===GPlot.VERTICAL?a.getY():a.getX());var c,d,e,f,g,h,i=this.plotPoints.length;this.parent.push(),this.parent.rectMode(this.parent.CORNERS),this.parent.strokeCap(this.parent.SQUARE);for(var j=0;i>j;j++)c=this.plotPoints[j],c.isValid()&&(this.type===GPlot.VERTICAL?(d=c.getX()-this.leftSides[j],e=c.getX()+this.rightSides[j],f=c.getY(),g=b):(d=b,e=c.getX(),f=c.getY()-this.leftSides[j],g=c.getY()+this.rightSides[j]),0>d?d=0:d>this.dim[0]&&(d=this.dim[0]),0>-f?f=0:-f>this.dim[1]&&(f=-this.dim[1]),0>e?e=0:e>this.dim[0]&&(e=this.dim[0]),0>-g?g=0:-g>this.dim[1]&&(g=-this.dim[1]),h=this.lineWidths[j%this.lineWidths.length],this.parent.fill(this.bgColors[j%this.bgColors.length]),this.parent.stroke(this.lineColors[j%this.lineColors.length]),this.parent.strokeWeight(h),Math.abs(e-d)>2*h&&Math.abs(g-f)>2*h?this.parent.rect(d,f,e,g):(this.type===GPlot.VERTICAL&&e!==d&&(f!==g||0!==f&&f!==-this.dim[1])||this.type===GPlot.HORIZONTAL&&g!==f&&(d!==e||0!==d&&d!==this.dim[0]))&&(this.parent.rect(d,f,e,g),this.parent.line(d,f,d,g),this.parent.line(e,f,e,g),this.parent.line(d,f,e,f),this.parent.line(d,g,e,g)));this.parent.pop(),this.drawLabels&&this.drawHistLabels()}},GHistogram.prototype.drawHistLabels=function(){var a,b,c=this.plotPoints.length,d=.5*Math.PI;if(this.parent.push(),this.parent.textFont(this.fontName),this.parent.textSize(this.fontSize),this.parent.fill(this.fontColor),this.parent.noStroke(),this.type===GPlot.VERTICAL)if(this.rotateLabels)for(this.parent.textAlign(this.parent.RIGHT,this.parent.CENTER),b=0;c>b;b++)a=this.plotPoints[b],a.isValid()&&a.getX()>=0&&a.getX()<=this.dim[0]&&(this.parent.push(),this.parent.translate(a.getX(),this.labelsOffset),this.parent.rotate(-d),this.parent.text(a.getLabel(),0,0),this.parent.pop());else for(this.parent.textAlign(this.parent.CENTER,this.parent.TOP),b=0;c>b;b++)a=this.plotPoints[b],a.isValid()&&a.getX()>=0&&a.getX()<=this.dim[0]&&this.parent.text(a.getLabel(),a.getX(),this.labelsOffset);else if(this.rotateLabels)for(this.parent.textAlign(this.parent.CENTER,this.parent.BOTTOM),b=0;c>b;b++)a=this.plotPoints[b],a.isValid()&&-a.getY()>=0&&-a.getY()<=this.dim[1]&&(this.parent.push(),this.parent.translate(-this.labelsOffset,a.getY()),this.parent.rotate(-d),this.parent.text(a.getLabel(),0,0),this.parent.pop());else for(this.parent.textAlign(this.parent.RIGHT,this.parent.CENTER),b=0;c>b;b++)a=this.plotPoints[b],a.isValid()&&-a.getY()>=0&&-a.getY()<=this.dim[1]&&this.parent.text(a.getLabel(),-this.labelsOffset,a.getY());this.parent.pop()},GHistogram.prototype.setType=function(a){a===this.type||a!==GPlot.VERTICAL&&a!==GPlot.HORIZONTAL||(this.type=a,this.updateArrays())},GHistogram.prototype.setDim=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else{if(1!==arguments.length)throw new Error("GHistogram.setDim(): signature not supported"); + +a=arguments[0][0],b=arguments[0][1]}a>0&&b>0&&(this.dim[0]=a,this.dim[1]=b,this.updateArrays())},GHistogram.prototype.setPlotPoints=function(a){var b,c=a.length;if(this.plotPoints.length===c)for(b=0;c>b;b++)this.plotPoints[b].set(a[b]);else if(this.plotPoints.length>c){for(b=0;c>b;b++)this.plotPoints[b].set(a[b]);this.plotPoints.splice(c,Number.MAX_VALUE)}else{for(b=0;bb;b++)this.plotPoints[b]=new GPoint(a[b])}this.updateArrays()},GHistogram.prototype.setPlotPoint=function(a,b){if(a0&&(this.fontSize=a)},GHistogram.prototype.setFontProperties=function(a,b,c){c>0&&(this.fontName=a,this.fontColor=b,this.fontSize=c)},GLayer.prototype.isValidNumber=function(a){return!isNaN(a)&&isFinite(a)},GLayer.prototype.isId=function(a){return this.id===a},GLayer.prototype.valueToXPlot=function(a){return this.xLog?this.dim[0]*Math.log(a/this.xLim[0])/Math.log(this.xLim[1]/this.xLim[0]):this.dim[0]*(a-this.xLim[0])/(this.xLim[1]-this.xLim[0])},GLayer.prototype.valueToYPlot=function(a){return this.yLog?-this.dim[1]*Math.log(a/this.yLim[0])/Math.log(this.yLim[1]/this.yLim[0]):-this.dim[1]*(a-this.yLim[0])/(this.yLim[1]-this.yLim[0])},GLayer.prototype.valueToPlot=function(){if(2===arguments.length)return[this.valueToXPlot(arguments[0]),this.valueToYPlot(arguments[1])];if(1===arguments.length&&arguments[0]instanceof GPoint)return new GPoint(this.valueToXPlot(arguments[0].getX()),this.valueToYPlot(arguments[0].getY()),arguments[0].getLabel());if(1===arguments.length&&arguments[0]instanceof Array&&arguments[0][0]instanceof GPoint){var a,b,c,d,e,f,g=arguments[0].length,h=[];if(this.xLog&&this.yLog)for(a=this.dim[0]/Math.log(this.xLim[1]/this.xLim[0]),b=-this.dim[1]/Math.log(this.yLim[1]/this.yLim[0]),f=0;g>f;f++)c=arguments[0][f],d=Math.log(c.getX()/this.xLim[0])*a,e=Math.log(c.getY()/this.yLim[0])*b,h[f]=new GPoint(d,e,c.getLabel());else if(this.xLog)for(a=this.dim[0]/Math.log(this.xLim[1]/this.xLim[0]),b=-this.dim[1]/(this.yLim[1]-this.yLim[0]),f=0;g>f;f++)c=arguments[0][f],d=Math.log(c.getX()/this.xLim[0])*a,e=(c.getY()-this.yLim[0])*b,h[f]=new GPoint(d,e,c.getLabel());else if(this.yLog)for(a=this.dim[0]/(this.xLim[1]-this.xLim[0]),b=-this.dim[1]/Math.log(this.yLim[1]/this.yLim[0]),f=0;g>f;f++)c=arguments[0][f],d=(c.getX()-this.xLim[0])*a,e=Math.log(c.getY()/this.yLim[0])*b,h[f]=new GPoint(d,e,c.getLabel());else for(a=this.dim[0]/(this.xLim[1]-this.xLim[0]),b=-this.dim[1]/(this.yLim[1]-this.yLim[0]),f=0;g>f;f++)c=arguments[0][f],d=(c.getX()-this.xLim[0])*a,e=(c.getY()-this.yLim[0])*b,h[f]=new GPoint(d,e,c.getLabel());return h}throw new Error("GLayer.valueToPlot(): signature not supported")},GLayer.prototype.updatePlotPoints=function(){var a,b,c,d,e,f,g=this.points.length;if(this.plotPoints.lengthf;f++)this.plotPoints[f]=new GPoint;else this.plotPoints.length>g&&this.plotPoints.splice(g,Number.MAX_VALUE);if(this.xLog&&this.yLog)for(a=this.dim[0]/Math.log(this.xLim[1]/this.xLim[0]),b=-this.dim[1]/Math.log(this.yLim[1]/this.yLim[0]),f=0;g>f;f++)c=this.points[f],d=Math.log(c.getX()/this.xLim[0])*a,e=Math.log(c.getY()/this.yLim[0])*b,this.plotPoints[f].set(d,e,c.getLabel());else if(this.xLog)for(a=this.dim[0]/Math.log(this.xLim[1]/this.xLim[0]),b=-this.dim[1]/(this.yLim[1]-this.yLim[0]),f=0;g>f;f++)c=this.points[f],d=Math.log(c.getX()/this.xLim[0])*a,e=(c.getY()-this.yLim[0])*b,this.plotPoints[f].set(d,e,c.getLabel());else if(this.yLog)for(a=this.dim[0]/(this.xLim[1]-this.xLim[0]),b=-this.dim[1]/Math.log(this.yLim[1]/this.yLim[0]),f=0;g>f;f++)c=this.points[f],d=(c.getX()-this.xLim[0])*a,e=Math.log(c.getY()/this.yLim[0])*b,this.plotPoints[f].set(d,e,c.getLabel());else for(a=this.dim[0]/(this.xLim[1]-this.xLim[0]),b=-this.dim[1]/(this.yLim[1]-this.yLim[0]),f=0;g>f;f++)c=this.points[f],d=(c.getX()-this.xLim[0])*a,e=(c.getY()-this.yLim[0])*b,this.plotPoints[f].set(d,e,c.getLabel())},GLayer.prototype.xPlotToValue=function(a){return this.xLog?Math.exp(Math.log(this.xLim[0])+Math.log(this.xLim[1]/this.xLim[0])*a/this.dim[0]):this.xLim[0]+(this.xLim[1]-this.xLim[0])*a/this.dim[0]},GLayer.prototype.yPlotToValue=function(a){return this.yLog?Math.exp(Math.log(this.yLim[0])-Math.log(this.yLim[1]/this.yLim[0])*a/this.dim[1]):this.yLim[0]-(this.yLim[1]-this.yLim[0])*a/this.dim[1]},GLayer.prototype.plotToValue=function(a,b){return[this.xPlotToValue(a),this.yPlotToValue(b)]},GLayer.prototype.isInside=function(){var a,b,c;if(2===arguments.length)a=arguments[0],b=arguments[1],c=this.isValidNumber(a)&&this.isValidNumber(b);else{if(!(1===arguments.length&&arguments[0]instanceof GPoint))throw new Error("GLayer.isInside(): signature not supported");a=arguments[0].getX(),b=arguments[0].getY(),c=arguments[0].isValid()}return c?a>=0&&a<=this.dim[0]&&-b>=0&&-b<=this.dim[1]:!1},GLayer.prototype.updateInsideList=function(){for(var a,b=this.plotPoints.length,c=0;b>c;c++)a=this.plotPoints[c],this.inside[c]=a.isValid()?a.getX()>=0&&a.getX()<=this.dim[0]&&-a.getY()>=0&&-a.getY()<=this.dim[1]:!1;this.inside.length>b&&this.inside.splice(b,Number.MAX_VALUE)},GLayer.prototype.getPointIndexAtPlotPos=function(a,b){var c;if(this.isInside(a,b))for(var d,e,f=25,g=this.plotPoints.length,h=0;g>h;h++)this.inside[h]&&(d=this.plotPoints[h],e=Math.pow(d.getX()-a,2)+Math.pow(d.getY()-b,2),f>e&&(f=e,c=h));return c},GLayer.prototype.getPointAtPlotPos=function(a,b){return this.points[this.getPointIndexAtPlotPos(a,b)]},GLayer.prototype.obtainBoxIntersections=function(a,b){var c=0;if(a.isValid()&&b.isValid()){var d=a.getX(),e=a.getY(),f=b.getX(),g=b.getY(),h=this.isInside(d,e),i=this.isInside(f,g),j=h&&i||0>d&&0>f||d>this.dim[0]&&f>this.dim[0]||0>-e&&0>-g||-e>this.dim[1]&&-g>this.dim[1];if(!j){var k=f-d,l=g-e;if(0===k)c=2,this.cuts[0][0]=d,this.cuts[0][1]=0,this.cuts[1][0]=d,this.cuts[1][1]=-this.dim[1];else if(0===l)c=2,this.cuts[0][0]=0,this.cuts[0][1]=e,this.cuts[1][0]=this.dim[0],this.cuts[1][1]=e;else{var m=l/k,n=e-m*d;c=4,this.cuts[0][0]=-n/m,this.cuts[0][1]=0,this.cuts[1][0]=(-this.dim[1]-n)/m,this.cuts[1][1]=-this.dim[1],this.cuts[2][0]=0,this.cuts[2][1]=n,this.cuts[3][0]=this.dim[0],this.cuts[3][1]=n+m*this.dim[0]}if(c=this.getValidCuts(this.cuts,c,a,b),h||i){if(1!==c){var o=h?a:b;c>1&&(c=this.removeDuplicatedCuts(this.cuts,c,0),c>1&&(c=this.removePointFromCuts(this.cuts,c,o,0),c>1&&(c=this.removeDuplicatedCuts(this.cuts,c,.001),c>1&&(c=this.removePointFromCuts(this.cuts,c,o,.001))))),0===c&&(c=1,this.cuts[0][0]=o.getX(),this.cuts[1][0]=o.getY())}}else c>2&&(c=this.removeDuplicatedCuts(this.cuts,c,0),c>2&&(c=this.removeDuplicatedCuts(this.cuts,c,.001))),2===c&&(Math.pow(this.cuts[0][0]-d,2)+Math.pow(this.cuts[0][1]-e),2>Math.pow(this.cuts[1][0]-d,2)+Math.pow(this.cuts[1][1]-e,2)&&(this.cuts[2][0]=this.cuts[0][0],this.cuts[2][1]=this.cuts[0][1],this.cuts[0][0]=this.cuts[1][0],this.cuts[0][1]=this.cuts[1][1],this.cuts[1][0]=this.cuts[2][0],this.cuts[1][1]=this.cuts[2][1])),1===c&&(c=2,this.cuts[1][0]=this.cuts[0][0],this.cuts[1][1]=this.cuts[0][1]);(h||i)&&1!==c?console.log("There should be one cut!!!"):h||i||0===c||2===c||console.log("There should be either 0 or 2 cuts!!! "+c+" were found")}}return c},GLayer.prototype.getValidCuts=function(a,b,c,d){for(var e=c.getX(),f=c.getY(),g=d.getX(),h=d.getY(),i=Math.abs(g-e),j=Math.abs(h-f),k=0,l=0;b>l;l++)this.isInside(a[l][0],a[l][1])&&Math.abs(a[l][0]-e)<=i&&Math.abs(a[l][1]-f)<=j&&Math.abs(a[l][0]-g)<=i&&Math.abs(a[l][1]-h)<=j&&(a[k][0]=a[l][0],a[k][1]=a[l][1],k++);return k},GLayer.prototype.removeDuplicatedCuts=function(a,b,c){for(var d,e=0,f=0;b>f;f++){d=!1;for(var g=0;e>g;g++)if(Math.abs(a[g][0]-a[f][0])<=c&&Math.abs(a[g][1]-a[f][1])<=c){d=!0;break}d||(a[e][0]=a[f][0],a[e][1]=a[f][1],e++)}return e},GLayer.prototype.removePointFromCuts=function(a,b,c,d){for(var e=c.getX(),f=c.getY(),g=0,h=0;b>h;h++)(Math.abs(a[h][0]-e)>d||Math.abs(a[h][1]-f)>d)&&(a[g][0]=a[h][0],a[g][1]=a[h][1],g++);return g},GLayer.prototype.startHistogram=function(a){this.hist=new GHistogram(this.parent,a,this.dim,this.plotPoints)},GLayer.prototype.drawPoints=function(){var a,b;if(0===arguments.length){a=this.plotPoints.length;var c=this.pointColors.length,d=this.pointSizes.length;if(this.parent.push(),this.parent.ellipseMode(this.parent.CENTER),this.parent.noStroke(),1===c&&1===d)for(this.parent.fill(this.pointColors[0]),b=0;a>b;b++)this.inside[b]&&this.parent.ellipse(this.plotPoints[b].getX(),this.plotPoints[b].getY(),this.pointSizes[0],this.pointSizes[0]);else if(1===c)for(this.parent.fill(this.pointColors[0]),b=0;a>b;b++)this.inside[b]&&this.parent.ellipse(this.plotPoints[b].getX(),this.plotPoints[b].getY(),this.pointSizes[b%d],this.pointSizes[b%d]);else if(1===d)for(b=0;a>b;b++)this.inside[b]&&(this.parent.fill(this.pointColors[b%c]),this.parent.ellipse(this.plotPoints[b].getX(),this.plotPoints[b].getY(),this.pointSizes[0],this.pointSizes[0]));else for(b=0;a>b;b++)this.inside[b]&&(this.parent.fill(this.pointColors[b%c]),this.parent.ellipse(this.plotPoints[b].getX(),this.plotPoints[b].getY(),this.pointSizes[b%d],this.pointSizes[b%d]));this.parent.pop()}else{if(!(1===arguments.length&&arguments[0]instanceof p5.Image))throw new Error("GLayer.drawPoints(): signature not supported");for(a=this.plotPoints.length,this.parent.push(),this.parent.imageMode(this.parent.CENTER),b=0;a>b;b++)this.inside[b]&&this.parent.image(arguments[0],this.plotPoints[b].getX(),this.plotPoints[b].getY());this.parent.pop()}},GLayer.prototype.drawPoint=function(){var a,b,c,d;if(3===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2];else if(2===arguments.length&&arguments[1]instanceof p5.Image)a=arguments[0],d=arguments[1];else{if(1!==arguments.length)throw new Error("GLayer.drawPoint(): signature not supported");a=arguments[0],b=this.pointColors[0],c=this.pointSizes[0]}var e=this.valueToXPlot(a.getX()),f=this.valueToYPlot(a.getY());this.isInside(e,f)&&(this.parent.push(),"undefined"!=typeof d?(this.parent.imageMode(this.parent.CENTER),this.parent.image(d,e,f)):(this.parent.ellipseMode(this.parent.CENTER),this.parent.fill(b),this.parent.noStroke(),this.parent.ellipse(e,f,c,c)),this.parent.pop())},GLayer.prototype.drawLines=function(){var a=this.plotPoints.length;this.parent.push(),this.parent.noFill(),this.parent.stroke(this.lineColor),this.parent.strokeWeight(this.lineWidth),this.parent.strokeCap(this.parent.SQUARE);for(var b=0;a-1>b;b++)if(this.inside[b]&&this.inside[b+1])this.parent.line(this.plotPoints[b].getX(),this.plotPoints[b].getY(),this.plotPoints[b+1].getX(),this.plotPoints[b+1].getY());else if(this.plotPoints[b].isValid()&&this.plotPoints[b+1].isValid()){var c=this.obtainBoxIntersections(this.plotPoints[b],this.plotPoints[b+1]);this.inside[b]?this.parent.line(this.plotPoints[b].getX(),this.plotPoints[b].getY(),this.cuts[0][0],this.cuts[0][1]):this.inside[b+1]?this.parent.line(this.cuts[0][0],this.cuts[0][1],this.plotPoints[b+1].getX(),this.plotPoints[b+1].getY()):c>=2&&this.parent.line(this.cuts[0][0],this.cuts[0][1],this.cuts[1][0],this.cuts[1][1])}this.parent.pop()},GLayer.prototype.drawLine=function(){var a,b,c,d,e,f;if(4===arguments.length&&arguments[0]instanceof GPoint)a=arguments[0],b=arguments[1],c=arguments[2],d=arguments[3];else if(4===arguments.length)e=arguments[0],f=arguments[1],c=arguments[2],d=arguments[3];else if(2===arguments.length&&arguments[0]instanceof GPoint)a=arguments[0],b=arguments[1],c=this.lineColor,d=this.lineWidth;else{if(2!==arguments.length)throw new Error("GLayer.drawLine(): signature not supported");e=arguments[0],f=arguments[1],c=this.lineColor,d=this.lineWidth}"undefined"!=typeof e&&(this.xLog&&this.yLog?(a=new GPoint(this.xLim[0],Math.pow(10,e*Math.log(this.xLim[0])/Math.LN10+yCut)),b=new GPoint(this.xLim[1],Math.pow(10,e*Math.log(this.xLim[1])/Math.LN10+yCut))):this.xLog?(a=new GPoint(this.xLim[0],e*Math.log(this.xLim[0])/Math.LN10+yCut),b=new GPoint(this.xLim[1],e*Math.log(this.xLim[1])/Math.LN10+yCut)):this.yLog?(a=new GPoint(this.xLim[0],Math.pow(10,e*this.xLim[0]+yCut)),b=new GPoint(this.xLim[1],Math.pow(10,e*this.xLim[1]+yCut))):(a=new GPoint(this.xLim[0],e*this.xLim[0]+yCut),b=new GPoint(this.xLim[1],e*this.xLim[1]+yCut)));var g=this.valueToPlot(a),h=this.valueToPlot(b);if(g.isValid()&&h.isValid()){var i=this.isInside(g),j=this.isInside(h);if(this.parent.push(),this.parent.noFill(),this.parent.stroke(c),this.parent.strokeWeight(d),this.parent.strokeCap(this.parent.SQUARE),i&&j)this.parent.line(g.getX(),g.getY(),h.getX(),h.getY());else{var k=this.obtainBoxIntersections(g,h);i?this.parent.line(g.getX(),g.getY(),this.cuts[0][0],this.cuts[0][1]):j?this.parent.line(this.cuts[0][0],this.cuts[0][1],h.getX(),h.getY()):k>=2&&this.parent.line(this.cuts[0][0],this.cuts[0][1],this.cuts[1][0],this.cuts[1][1])}this.parent.pop()}},GLayer.prototype.drawHorizontalLine=function(){var a,b,c;if(3===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2];else{if(1!==arguments.length)throw new Error("GLayer.drawHorizontalLine(): signature not supported");a=arguments[0],b=this.lineColor,c=this.lineWidth}var d=this.valueToYPlot(a);this.isValidNumber(d)&&-d>=0&&-d<=this.dim[1]&&(this.parent.push(),this.parent.noFill(),this.parent.stroke(b),this.parent.strokeWeight(c),this.parent.strokeCap(this.parent.SQUARE),this.parent.line(0,d,this.dim[0],d),this.parent.pop())},GLayer.prototype.drawVerticalLine=function(){var a,b,c;if(3===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2];else{if(1!==arguments.length)throw new Error("GLayer.drawVerticalLine(): signature not supported");a=arguments[0],b=this.lineColor,c=this.lineWidth}var d=this.valueToXPlot(a);this.isValidNumber(d)&&d>=0&&d<=this.dim[0]&&(this.parent.push(),this.parent.noFill(),this.parent.stroke(b),this.parent.strokeWeight(c),this.parent.strokeCap(this.parent.SQUARE),this.parent.line(d,0,d,-this.dim[1]),this.parent.pop())},GLayer.prototype.drawFilledContour=function(a,b){var c;if(a===GPlot.HORIZONTAL?c=this.getHorizontalShape(b):a===GPlot.VERTICAL&&(c=this.getVerticalShape(b)),"undefined"!=typeof c&&c.length>0){this.parent.push(),this.parent.fill(this.lineColor),this.parent.noStroke(),this.parent.beginShape();for(var d=0;di;i++)if(b=this.plotPoints[i],b.isValid()){for(c=!1,this.inside[i]?(f.push(new GPoint(b.getX(),b.getY(),"normal point")),c=!0):b.getX()>=0&&b.getX()<=this.dim[0]&&(-b.getY()<0?(f.push(new GPoint(b.getX(),0,"projection")),c=!0):(f.push(new GPoint(b.getX(),-this.dim[1],"projection")),c=!0)),d=i+1;e-1>d&&!this.plotPoints[d].isValid();)d++;if(e>d&&this.plotPoints[d].isValid())for(var j=this.obtainBoxIntersections(b,this.plotPoints[d]),k=0;j>k;k++)f.push(new GPoint(this.cuts[k][0],this.cuts[k][1],"cut")),c=!0;c&&(0>g&&(g=i),h=i)}if(f.length>0){var l=new GPoint(f[0]);if(0!==l.getX()&&l.getX()!==this.dim[0])if("cut"===l.getLabel())this.plotPoints[g].getX()<0?(l.setX(0),l.setLabel("extreme")):(l.setX(this.dim[0]),l.setLabel("extreme"));else if(0!==g){for(var m=g-1;m>0&&!this.plotPoints[m].isValid();)m--;this.plotPoints[m].isValid()&&(this.plotPoints[m].getX()<0?(l.setX(0),l.setLabel("extreme")):(l.setX(this.dim[0]),l.setLabel("extreme")))}var n=new GPoint(f[f.length-1]);if(0!==n.getX()&&n.getX()!==this.dim[0]&&h!==e-1){for(d=h+1;e-1>d&&!this.plotPoints[d].isValid();)d++;this.plotPoints[d].isValid()&&(this.plotPoints[d].getX()<0?(n.setX(0),n.setLabel("extreme")):(n.setX(this.dim[0]),n.setLabel("extreme")))}"extreme"===n.getLabel()&&f.push(n),this.yLog&&0>=a&&(a=Math.min(this.yLim[0],this.yLim[1]));var o=this.valueToPlot(1,a);-o[1]<0?(f.push(new GPoint(n.getX(),0)),f.push(new GPoint(l.getX(),0))):-o[1]>this.dim[1]?(f.push(new GPoint(n.getX(),-this.dim[1])),f.push(new GPoint(l.getX(),-this.dim[1]))):(f.push(new GPoint(n.getX(),o[1])),f.push(new GPoint(l.getX(),o[1]))),"extreme"===l.getLabel()&&f.push(l)}return f},GLayer.prototype.getVerticalShape=function(a){for(var b,c,d,e=this.plotPoints.length,f=[],g=-1,h=-1,i=0;e>i;i++)if(b=this.plotPoints[i],b.isValid()){for(c=!1,this.inside[i]?(f.push(new GPoint(b.getX(),b.getY(),"normal point")),c=!0):-b.getY()>=0&&-b.getY()<=this.dim[1]&&(b.getX()<0?(f.push(new GPoint(0,b.getY(),"projection")),c=!0):(f.push(new GPoint(this.dim[0],b.getY(),"projection")),c=!0)),d=i+1;e-1>d&&!this.plotPoints[d].isValid();)d++;if(e>d&&this.plotPoints[d].isValid())for(var j=this.obtainBoxIntersections(b,this.plotPoints[d]),k=0;j>k;k++)f.push(new GPoint(this.cuts[k][0],this.cuts[k][1],"cut")),c=!0;c&&(0>g&&(g=i),h=i)}if(f.length>0){var l=new GPoint(f[0]);if(0!==l.getY()&&l.getY()!==-this.dim[1])if("cut"===l.getLabel())-this.plotPoints[g].getY()<0?(l.setY(0),l.setLabel("extreme")):(l.setY(-this.dim[1]),l.setLabel("extreme"));else if(0!==g){for(var m=g-1;m>0&&!this.plotPoints[m].isValid();)m--;this.plotPoints[m].isValid()&&(-this.plotPoints[m].getY()<0?(l.setY(0),l.setLabel("extreme")):(l.setY(-this.dim[1]),l.setLabel("extreme")))}var n=new GPoint(f[f.length-1]);if(0!==n.getY()&&n.getY()!==-this.dim[1]&&h!==e-1){for(d=h+1;e-1>d&&!this.plotPoints[d].isValid();)d++;this.plotPoints[d].isValid()&&(-this.plotPoints[d].getY()<0?(n.setY(0),n.setLabel("extreme")):(n.setY(-this.dim[1]),n.setLabel("extreme")))}"extreme"===n.getLabel()&&f.push(n),this.xLog&&0>=a&&(a=Math.min(this.xLim[0],this.xLim[1]));var o=this.valueToPlot(a,1);o[0]<0?(f.push(new GPoint(0,n.getY())),f.push(new GPoint(0,l.getY()))):o[0]>this.dim[0]?(f.push(new GPoint(this.dim[0],n.getY())),f.push(new GPoint(this.dim[0],l.getY()))):(f.push(new GPoint(o[0],n.getY())),f.push(new GPoint(o[0],l.getY()))),"extreme"===l.getLabel()&&f.push(l)}return f},GLayer.prototype.drawLabel=function(a){var b=this.valueToXPlot(a.getX()),c=this.valueToYPlot(a.getY());if(this.isValidNumber(b)&&this.isValidNumber(c)){var d=b+this.labelSeparation[0],e=c-this.labelSeparation[1],f=this.fontSize/4;this.parent.push(),this.parent.rectMode(this.parent.CORNER),this.parent.noStroke(),this.parent.textFont(this.fontName),this.parent.textSize(this.fontSize),this.parent.textAlign(this.parent.LEFT,this.parent.BOTTOM),this.parent.fill(this.labelBgColor),this.parent.rect(d-f,e-this.fontSize-f,this.parent.textWidth(a.getLabel())+2*f,this.fontSize+2*f),this.parent.fill(this.fontColor),this.parent.text(a.getLabel(),d,e),this.parent.pop()}},GLayer.prototype.drawLabelAtPlotPos=function(a,b){var c=this.getPointAtPlotPos(a,b);"undefined"!=typeof c&&this.drawLabel(c)},GLayer.prototype.drawHistogram=function(){"undefined"!=typeof this.hist&&this.hist.draw(this.valueToPlot(this.histBasePoint))},GLayer.prototype.drawPolygon=function(a,b){var c;if(a.length>2){var d=this.valueToPlot(a),e=0;for(c=0;cc;c++){f=d[c],this.isInside(f)&&h.push(new GPoint(f.getX(),f.getY(),"normal point"));var i=g>c+1?c+1:0,j=this.obtainBoxIntersections(f,d[i]);1===j?h.push(new GPoint(this.cuts[0][0],this.cuts[0][1],"single cut")):j>1&&(h.push(new GPoint(this.cuts[0][0],this.cuts[0][1],"double cut")),h.push(new GPoint(this.cuts[1][0],this.cuts[1][1],"double cut")))}g=h.length;var k=[];for(c=0;g>c;c++){k.push(h[c]);var l=g>c+1?c+1:0,m=h[c].getLabel(),n=h[l].getLabel(),o="single cut"===m&&"single cut"===n||"single cut"===m&&"double cut"===n||"double cut"===m&&"single cut"===n;if(o){var p=h[c].getX(),q=h[c].getY(),r=h[l].getX(),s=h[l].getY(),t=Math.abs(r-p),u=Math.abs(s-q);if(t>0&&u>0&&t!==this.dim[0]&&u!==this.dim[1]){var v=0===p||p===this.dim[0]?p:r,w=0===q||q===-this.dim[1]?q:s;k.push(new GPoint(v,w,"special cut"))}}}if(k.length>2){for(this.parent.push(),this.parent.fill(b),this.parent.noStroke(),this.parent.beginShape(),c=0;c0&&b>0&&(this.dim[0]=a,this.dim[1]=b,this.updatePlotPoints(),"undefined"!=typeof this.hist&&(this.hist.setDim(this.dim),this.hist.setPlotPoints(this.plotPoints)))},GLayer.prototype.setXLim=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else{if(1!==arguments.length)throw new Error("GLayer.setXLim(): signature not supported");a=arguments[0][0],b=arguments[0][1]}a!==b&&this.isValidNumber(a)&&this.isValidNumber(b)&&(this.xLog&&(0>=a||0>=b)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.xLim[0]=a,this.xLim[1]=b,this.updatePlotPoints(),this.updateInsideList(),"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints)))},GLayer.prototype.setYLim=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else{if(1!==arguments.length)throw new Error("GLayer.setYLim(): signature not supported");a=arguments[0][0],b=arguments[0][1]}a!==b&&this.isValidNumber(a)&&this.isValidNumber(b)&&(this.yLog&&(0>=a||0>=b)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.yLim[0]=a,this.yLim[1]=b,this.updatePlotPoints(),this.updateInsideList(),"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints)))},GLayer.prototype.setXYLim=function(){var a,b,c,d;if(4===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2],d=arguments[3];else{if(2!==arguments.length)throw new Error("GLayer.setXYLim(): signature not supported");a=arguments[0][0],b=arguments[0][1],c=arguments[1][0],d=arguments[1][1]}a!==b&&c!==d&&this.isValidNumber(a)&&this.isValidNumber(b)&&this.isValidNumber(c)&&this.isValidNumber(d)&&(this.xLog&&(0>=a||0>=b)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.xLim[0]=a,this.xLim[1]=b),this.yLog&&(0>=c||0>=d)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.yLim[0]=c,this.yLim[1]=d),this.updatePlotPoints(),this.updateInsideList(),"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints))},GLayer.prototype.setLimAndLog=function(){var a,b,c,d,e,f;if(6===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2],d=arguments[3],e=arguments[4],f=arguments[5];else{if(4!==arguments.length)throw new Error("GLayer.setLimAndLog(): signature not supported");a=arguments[0][0],b=arguments[0][1],c=arguments[1][0],d=arguments[1][1],e=arguments[2],f=arguments[3]}a!==b&&c!==d&&this.isValidNumber(a)&&this.isValidNumber(b)&&this.isValidNumber(c)&&this.isValidNumber(d)&&(e&&(0>=a||0>=b)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.xLim[0]=a,this.yLim[1]=b,this.xLog=e),f&&(0>=c||0>=d)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.yLim[0]=c,this.yLim[1]=d,this.yLog=f),this.updatePlotPoints(),this.updateInsideList(),"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints))},GLayer.prototype.setXLog=function(a){a!==this.xLog&&(a&&(this.xLim[0]<=0||this.xLim[1]<=0)&&(console.log("One of the limits is negative. This is not allowed in logarithmic scale."),console.log("Will set horizontal limits to (0.1, 10)"),this.xLim[0]=.1,this.xLim[1]=10),this.xLog=a,this.updatePlotPoints(),this.updateInsideList(),"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints))},GLayer.prototype.setYLog=function(a){a!==this.yLog&&(a&&(this.yLim[0]<=0||this.yLim[1]<=0)&&(console.log("One of the limits is negative. This is not allowed in logarithmic scale."),console.log("Will set horizontal limits to (0.1, 10)"),this.yLim[0]=.1,this.yLim[1]=10),this.yLog=a,this.updatePlotPoints(),this.updateInsideList(),"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints))},GLayer.prototype.setPoints=function(a){var b,c=a.length;if(this.points.length>c)this.points.splice(c,Number.MAX_VALUE);else for(b=this.points.length;c>b;b++)this.points[b]=new GPoint;for(b=0;c>b;b++)this.points[b].set(a[b]);this.updatePlotPoints(),this.updateInsideList(),"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints)},GLayer.prototype.setPoint=function(){var a,b,c,d,e=this.points.length;if(4===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2],d=arguments[3];else if(3===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2],d=aa)this.points[a].set(b,c,d),this.plotPoints[a].set(this.valueToXPlot(b),this.valueToYPlot(c),d),this.inside[a]=this.isInside(this.plotPoints[a]);else{if(a!==e)throw new Error("GLayer.setPoint(): the index position is outside the array size");this.points[a]=new GPoint(b,c,d),this.plotPoints[a]=new GPoint(this.valueToXPlot(b),this.valueToYPlot(c),d),this.inside[a]=this.isInside(this.plotPoints[a])}"undefined"!=typeof this.hist&&this.hist.setPlotPoint(a,this.plotPoints[a])},GLayer.prototype.addPoint=function(){var a,b,c;if(3===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2];else if(2===arguments.length)a=arguments[0],b=arguments[1],c="";else{if(1!==arguments.length)throw new Error("GLayer.addPoint(): signature not supported");a=arguments[0].getX(),b=arguments[0].getY(),c=arguments[0].getLabel()}this.points.push(new GPoint(a,b,c)),this.plotPoints.push(new GPoint(this.valueToXPlot(a),this.valueToYPlot(b),c)),this.inside.push(this.isInside(this.plotPoints[this.plotPoints.length-1])),"undefined"!=typeof this.hist&&this.hist.addPlotPoint(this.plotPoints[this.plotPoints.length-1])},GLayer.prototype.addPoints=function(a){for(var b,c=a.length,d=0;c>d;d++)b=a[d],this.points.push(new GPoint(b)),this.plotPoints.push(new GPoint(this.valueToXPlot(b.getX()),this.valueToYPlot(b.getY()),b.getLabel())),this.inside.push(this.isInside(this.plotPoints[this.plotPoints.length-1]));"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints)},GLayer.prototype.addPointAtIndexPos=function(){var a,b,c,d;if(4===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2],d=arguments[3];else if(3===arguments.length)a=arguments[0],b=arguments[1],c=arguments[2],d="";else{if(2!==arguments.length)throw new Error("GLayer.addPointAtIndexPos(): signature not supported");a=arguments[0],b=arguments[1].getX(),c=arguments[1].getY(),d=arguments[1].getLabel()}a<=this.points.length&&(this.points.splice(a,0,new GPoint(b,c,d)),this.plotPoints.splice(a,0,new GPoint(this.valueToXPlot(b),this.valueToYPlot(c),d)),this.inside.splice(a,0,this.isInside(this.plotPoints[0])),"undefined"!=typeof this.hist&&this.hist.setPlotPoints(this.plotPoints))},GLayer.prototype.removePoint=function(a){a0&&(this.pointColors=a.slice())},GLayer.prototype.setPointColor=function(a){this.pointColors=[a]},GLayer.prototype.setPointSizes=function(a){a.length>0&&(this.pointSizes=a.slice())},GLayer.prototype.setPointSize=function(a){this.pointSizes=[a]},GLayer.prototype.setLineColor=function(a){this.lineColor=a},GLayer.prototype.setLineWidth=function(a){a>0&&(this.lineWidth=a)},GLayer.prototype.setHistBasePoint=function(a){this.histBasePoint.set(a)},GLayer.prototype.setHistType=function(a){"undefined"!=typeof this.hist&&this.hist.setType(a)},GLayer.prototype.setHistVisible=function(a){"undefined"!=typeof this.hist&&this.hist.setVisible(a)},GLayer.prototype.setDrawHistLabels=function(a){"undefined"!=typeof this.hist&&this.hist.setDrawLabels(a)},GLayer.prototype.setLabelBgColor=function(a){this.labelBgColor=a},GLayer.prototype.setLabelSeparation=function(a){this.labelSeparation[0]=a[0],this.labelSeparation[1]=a[1]},GLayer.prototype.setFontName=function(a){this.fontName=a},GLayer.prototype.setFontColor=function(a){this.fontColor=a},GLayer.prototype.setFontSize=function(a){a>0&&(this.fontSize=a)},GLayer.prototype.setFontProperties=function(a,b,c){c>0&&(this.fontName=a,this.fontColor=b,this.fontSize=c)},GLayer.prototype.setAllFontProperties=function(a,b,c){this.setFontProperties(a,b,c),"undefined"!=typeof this.hist&&this.hist.setFontProperties(a,b,c)},GLayer.prototype.getId=function(){return this.id},GLayer.prototype.getDim=function(){return this.dim.slice()},GLayer.prototype.getXLim=function(){return this.xLim.slice()},GLayer.prototype.getYLim=function(){return this.yLim.slice()},GLayer.prototype.getXLog=function(){return this.xLog},GLayer.prototype.getYLog=function(){return this.yLog},GLayer.prototype.getPoints=function(){for(var a=[],b=0;b=this.pos[0]&&a<=this.pos[0]+this.outerDim[0]&&b>=this.pos[1]&&b<=this.pos[1]+this.outerDim[1]},GPlot.prototype.isOverBox=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else{if(0!==arguments.length)throw new Error("GPlot.isOverBox(): signature not supported");a=this.parent.mouseX,b=this.parent.mouseY}return a>=this.pos[0]+this.mar[1]&&a<=this.pos[0]+this.outerDim[0]-this.mar[3]&&b>=this.pos[1]+this.mar[2]&&b<=this.pos[1]+this.outerDim[1]-this.mar[0]},GPlot.prototype.updateLimits=function(){this.fixedXLim||(this.xLim=this.calculatePlotXLim(),this.xAxis.setLim(this.xLim),this.topAxis.setLim(this.xLim)),this.fixedYLim||(this.yLim=this.calculatePlotYLim(),this.yAxis.setLim(this.yLim),this.rightAxis.setLim(this.yLim)),this.mainLayer.setXYLim(this.xLim,this.yLim);for(var a=0;a=this.yLim[0]&&e>=this.yLim[0]&&e<=this.yLim[1]||this.yLim[1]=this.yLim[1]),!f||this.xLog&&0>=d||(db[1]&&(b[1]=d))}return b[1]=this.xLim[0]&&d>=this.xLim[0]&&d<=this.xLim[1]||this.xLim[1]=this.xLim[1]),!f||this.yLog&&0>=e||(eb[1]&&(b[1]=e))}return b[1]=0&&c[b]<=this.dim[0]&&this.parent.line(c[b],0,c[b],-this.dim[1])}if(a===GPlot.BOTH||a===GPlot.HORIZONTAL){var d=this.yAxis.getPlotTicksRef();for(b=0;b=0&&-d[b]<=this.dim[1]&&this.parent.line(0,d[b],this.dim[0],d[b])}this.parent.pop()},GPlot.prototype.drawHistograms=function(){this.mainLayer.drawHistogram();for(var a=0;a0&&b>0){var c=a-this.mar[1]-this.mar[3],d=b-this.mar[0]-this.mar[2];if(c>0&&d>0){this.outerDim[0]=a,this.outerDim[1]=b,this.dim[0]=c,this.dim[1]=d,this.xAxis.setDim(this.dim),this.topAxis.setDim(this.dim),this.yAxis.setDim(this.dim),this.rightAxis.setDim(this.dim),this.title.setDim(this.dim),this.mainLayer.setDim(this.dim);for(var e=0;e0&&f>0&&(this.mar[0]=a,this.mar[1]=b,this.mar[2]=c,this.mar[3]=d,this.outerDim[0]=e,this.outerDim[1]=f)},GPlot.prototype.setDim=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else{if(1!==arguments.length)throw new Error("GPlot.setDim(): signature not supported");a=arguments[0][0],b=arguments[0][1]}if(a>0&&b>0){var c=a+this.mar[1]+this.mar[3],d=b+this.mar[0]+this.mar[2];if(c>0&&d>0){this.outerDim[0]=c,this.outerDim[1]=d,this.dim[0]=a,this.dim[1]=b,this.xAxis.setDim(this.dim),this.topAxis.setDim(this.dim),this.yAxis.setDim(this.dim),this.rightAxis.setDim(this.dim),this.title.setDim(this.dim),this.mainLayer.setDim(this.dim);for(var e=0;e=a||0>=b)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.xLim[0]=a,this.xLim[1]=b,this.invertedXScale=this.xLim[0]>this.xLim[1],this.fixedXLim=!0,this.xAxis.setLim(this.xLim),this.topAxis.setLim(this.xLim),this.updateLimits()))},GPlot.prototype.setYLim=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else{if(1!==arguments.length)throw new Error("GPlot.setYLim(): signature not supported");a=arguments[0][0],b=arguments[0][1]}a!==b&&(this.yLog&&(0>=a||0>=b)?console.log("One of the limits is negative. This is not allowed in logarithmic scale."):(this.yLim[0]=a,this.yLim[1]=b,this.invertedYScale=this.yLim[0]>this.yLim[1],this.fixedYLim=!0,this.yAxis.setLim(this.yLim),this.rightAxis.setLim(this.yLim),this.updateLimits()))},GPlot.prototype.setFixedXLim=function(a){this.fixedXLim=a,this.updateLimits()},GPlot.prototype.setFixedYLim=function(a){this.fixedYLim=a,this.updateLimits()},GPlot.prototype.setLogScale=function(a){var b=this.xLog,c=this.yLog;if("xy"===a||"yx"===a?(b=!0,c=!0):"x"===a?(b=!0,c=!1):"y"===a?(b=!1,c=!0):""===a&&(b=!1,c=!1),b!==this.xLog||c!==this.yLog){this.xLog=b,this.yLog=c,this.xLog&&this.fixedXLim&&(this.xLim[0]<=0||this.xLim[1]<=0)&&(this.fixedXLim=!1),this.yLog&&this.fixedYLim&&(this.yLim[0]<=0||this.yLim[1]<=0)&&(this.fixedYLim=!1),this.fixedXLim||(this.xLim=this.calculatePlotXLim()),this.fixedYLim||(this.yLim=this.calculatePlotYLim()),this.xAxis.setLimAndLog(this.xLim,this.xLog),this.topAxis.setLimAndLog(this.xLim,this.xLog),this.yAxis.setLimAndLog(this.yLim,this.yLog),this.rightAxis.setLimAndLog(this.yLim,this.yLog),this.mainLayer.setLimAndLog(this.xLim,this.yLim,this.xLog,this.yLog);for(var d=0;d=0&&a!==this.expandLimFactor&&(this.expandLimFactor=a,this.updateLimits())},GPlot.prototype.setBgColor=function(a){this.bgColor=a},GPlot.prototype.setBoxBgColor=function(a){this.boxBgColor=a},GPlot.prototype.setBoxLineColor=function(a){this.boxLineColor=a},GPlot.prototype.setBoxLineWidth=function(a){a>0&&(this.boxLineWidth=a)},GPlot.prototype.setGridLineColor=function(a){this.gridLineColor=a},GPlot.prototype.setGridLineWidth=function(a){a>0&&(this.gridLineWidth=a)},GPlot.prototype.setPoints=function(){if(2===arguments.length)this.getLayer(arguments[1]).setPoints(arguments[0]);else{if(1!==arguments.length)throw new Error("GPlot.setPoints(): signature not supported");this.mainLayer.setPoints(arguments[0])}this.updateLimits()},GPlot.prototype.setPoint=function(){if(5===arguments.length)this.getLayer(arguments[4]).setPoint(arguments[0],arguments[1],arguments[2],arguments[3]);else if(4===arguments.length)this.mainLayer.setPoint(arguments[0],arguments[1],arguments[2],arguments[3]);else if(3===arguments.length&&arguments[1]instanceof GPoint)this.getLayer(arguments[2]).setPoint(arguments[0],arguments[1]);else if(3===arguments.length)this.mainLayer.setPoint(arguments[0],arguments[1],arguments[2]);else{if(2!==arguments.length)throw new Error("GPlot.setPoint(): signature not supported");this.mainLayer.setPoint(arguments[0],arguments[1])}this.updateLimits()},GPlot.prototype.addPoint=function(){if(4===arguments.length)this.getLayer(arguments[3]).addPoint(arguments[0],arguments[1],arguments[2]);else if(3===arguments.length)this.mainLayer.addPoint(arguments[0],arguments[1],arguments[2]);else if(2===arguments.length&&arguments[0]instanceof GPoint)this.getLayer(arguments[1]).addPoint(arguments[0]);else if(2===arguments.length)this.mainLayer.addPoint(arguments[0],arguments[1]);else{if(1!==arguments.length)throw new Error("GPlot.addPoint(): signature not supported");this.mainLayer.addPoint(arguments[0])}this.updateLimits()},GPlot.prototype.addPoints=function(){if(2===arguments.length)this.getLayer(arguments[1]).addPoints(arguments[0]);else{if(1!==arguments.length)throw new Error("GPlot.addPoints(): signature not supported");this.mainLayer.addPoints(arguments[0])}this.updateLimits()},GPlot.prototype.removePoint=function(){if(2===arguments.length)this.getLayer(arguments[1]).removePoint(arguments[0]);else{if(1!==arguments.length)throw new Error("GPlot.removePoint(): signature not supported");this.mainLayer.removePoint(arguments[0])}this.updateLimits()},GPlot.prototype.addPointAtIndexPos=function(){if(5===arguments.length)this.getLayer(arguments[4]).addPointAtIndexPos(arguments[0],arguments[1],arguments[2],arguments[3]);else if(4===arguments.length)this.mainLayer.addPointAtIndexPos(arguments[0],arguments[1],arguments[2],arguments[3]);else if(3===arguments.length&&arguments[1]instanceof GPoint)this.getLayer(arguments[2]).addPointAtIndexPos(arguments[0],arguments[1]);else if(3===arguments.length)this.mainLayer.addPointAtIndexPos(arguments[0],arguments[1],arguments[2]);else{if(2!==arguments.length)throw new Error("GPlot.addPointAtIndexPos(): signature not supported");this.mainLayer.addPointAtIndexPos(arguments[0],arguments[1])}this.updateLimits()},GPlot.prototype.setPointColors=function(a){this.mainLayer.setPointColors(a)},GPlot.prototype.setPointColor=function(a){this.mainLayer.setPointColor(a)},GPlot.prototype.setPointSizes=function(a){this.mainLayer.setPointSizes(a)},GPlot.prototype.setPointSize=function(a){this.mainLayer.setPointSize(a)},GPlot.prototype.setLineColor=function(a){this.mainLayer.setLineColor(a)},GPlot.prototype.setLineWidth=function(a){this.mainLayer.setLineWidth(a)},GPlot.prototype.setHistBasePoint=function(a){this.mainLayer.setHistBasePoint(a)},GPlot.prototype.setHistType=function(a){this.mainLayer.setHistType(a)},GPlot.prototype.setHistVisible=function(a){this.mainLayer.setHistVisible(a)},GPlot.prototype.setDrawHistLabels=function(a){this.mainLayer.setDrawHistLabels(a)},GPlot.prototype.setLabelBgColor=function(a){this.mainLayer.setLabelBgColor(a)},GPlot.prototype.setLabelSeparation=function(a){this.mainLayer.setLabelSeparation(a)},GPlot.prototype.setTitleText=function(a){this.title.setText(a)},GPlot.prototype.setAxesOffset=function(a){this.xAxis.setOffset(a),this.topAxis.setOffset(a),this.yAxis.setOffset(a),this.rightAxis.setOffset(a)},GPlot.prototype.setTicksLength=function(a){this.xAxis.setTickLength(a),this.topAxis.setTickLength(a),this.yAxis.setTickLength(a),this.rightAxis.setTickLength(a)},GPlot.prototype.setHorizontalAxesNTicks=function(a){this.xAxis.setNTicks(a),this.topAxis.setNTicks(a)},GPlot.prototype.setHorizontalAxesTicksSeparation=function(a){this.xAxis.setTicksSeparation(a),this.topAxis.setTicksSeparation(a)},GPlot.prototype.setHorizontalAxesTicks=function(a){this.xAxis.setTicks(a),this.topAxis.setTicks(a)},GPlot.prototype.setVerticalAxesNTicks=function(a){this.yAxis.setNTicks(a),this.rightAxis.setNTicks(a)},GPlot.prototype.setVerticalAxesTicksSeparation=function(a){this.yAxis.setTicksSeparation(a),this.rightAxis.setTicksSeparation(a)},GPlot.prototype.setVerticalAxesTicks=function(a){this.yAxis.setTicks(a),this.rightAxis.setTicks(a)},GPlot.prototype.setFontName=function(a){this.maniLayer.setFontName(a)},GPlot.prototype.setFontColor=function(a){this.maniLayer.setFontColor(a)},GPlot.prototype.setFontSize=function(a){this.maniLayer.setFontSize(a)},GPlot.prototype.setFontProperties=function(a,b,c){this.maniLayer.setFontProperties(a,b,c)},GPlot.prototype.setAllFontProperties=function(a,b,c){this.xAxis.setAllFontProperties(a,b,c),this.topAxis.setAllFontProperties(a,b,c),this.yAxis.setAllFontProperties(a,b,c),this.rightAxis.setAllFontProperties(a,b,c),this.title.setFontProperties(a,b,c),this.mainLayer.setAllFontProperties(a,b,c);for(var d=0;d0&&(this.zoomFactor=a),(b===this.parent.LEFT||b===this.parent.RIGHT||b===this.parent.CENTER)&&(this.increaseZoomButton=b),(c===this.parent.LEFT||c===this.parent.RIGHT||c===this.parent.CENTER)&&(this.decreaseZoomButton=c),(d===this.parent.SHIFT||d===this.parent.CONTROL||d===this.parent.ALT||d===GPlot.NONE)&&(this.increaseZoomKeyModifier=d),(e===this.parent.SHIFT||e===this.parent.CONTROL||e===this.parent.ALT||e===GPlot.NONE)&&(this.decreaseZoomKeyModifier=e)},GPlot.prototype.deactivateZooming=function(){this.zoomingIsActive=!1},GPlot.prototype.activateCentering=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else if(1===arguments.length)a=arguments[0],b=GPlot.NONE;else{if(0!==arguments.length)throw new Error("GPlot.activateCentering(): signature not supported");a=this.parent.LEFT,b=GPlot.NONE}this.centeringIsActive=!0,(a===this.parent.LEFT||a===this.parent.RIGHT||a===this.parent.CENTER)&&(this.centeringButton=a),(b===this.parent.SHIFT||b===this.parent.CONTROL||b===this.parent.ALT||b===GPlot.NONE)&&(this.centeringKeyModifier=b)},GPlot.prototype.deactivateCentering=function(){this.centeringIsActive=!1},GPlot.prototype.activatePanning=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else if(1===arguments.length)a=arguments[0],b=GPlot.NONE;else{if(0!==arguments.length)throw new Error("GPlot.activatePanning(): signature not supported");a=this.parent.LEFT,b=GPlot.NONE}this.panningIsActive=!0,(a===this.parent.LEFT||a===this.parent.RIGHT||a===this.parent.CENTER)&&(this.panningButton=a),(b===this.parent.SHIFT||b===this.parent.CONTROL||b===this.parent.ALT||b===GPlot.NONE)&&(this.panningKeyModifier=b)},GPlot.prototype.deactivatePanning=function(){this.panningIsActive=!1,this.panningReferencePoint=void 0},GPlot.prototype.activatePointLabels=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else if(1===arguments.length)a=arguments[0],b=GPlot.NONE;else{if(0!==arguments.length)throw new Error("GPlot.activatePointLabels(): signature not supported");a=this.parent.LEFT,b=GPlot.NONE}this.labelingIsActive=!0,(a===this.parent.LEFT||a===this.parent.RIGHT||a===this.parent.CENTER)&&(this.labelingButton=a),(b===this.parent.SHIFT||b===this.parent.CONTROL||b===this.parent.ALT||b===GPlot.NONE)&&(this.labelingKeyModifier=b)},GPlot.prototype.deactivatePointLabels=function(){this.labelingIsActive=!1,this.mousePos=void 0},GPlot.prototype.activateReset=function(){var a,b;if(2===arguments.length)a=arguments[0],b=arguments[1];else if(1===arguments.length)a=arguments[0],b=GPlot.NONE;else{if(0!==arguments.length)throw new Error("GPlot.activateReset(): signature not supported");a=this.parent.RIGHT,b=GPlot.NONE}this.resetIsActive=!0,this.xLimReset=void 0,this.yLimReset=void 0,(a===this.parent.LEFT||a===this.parent.RIGHT||a===this.parent.CENTER)&&(this.resetButton=a),(b===this.parent.SHIFT||b===this.parent.CONTROL||b===this.parent.ALT||b===GPlot.NONE)&&(this.resetKeyModifier=b)},GPlot.prototype.deactivateReset=function(){this.resetIsActive=!1,this.xLimReset=void 0,this.yLimReset=void 0},GPlot.prototype.getButton=function(a){var b;return 0===a.button?b=this.parent.LEFT:1===a.button?b=this.parent.CENTER:2===a.button?b=this.parent.RIGHT:"undefined"==typeof a.button&&(b=this.parent.LEFT),b},GPlot.prototype.getModifier=function(a){var b;return b=a.altKey?this.parent.ALT:a.ctrlKey?this.parent.CONTROL:a.shiftKey?this.parent.SHIFT:GPlot.NONE},GPlot.prototype.saveResetLimits=function(){("undefined"==typeof this.xLimReset||"undefined"==typeof this.yLimReset)&&(this.xLimReset=this.xLim.slice(),this.yLimReset=this.yLim.slice())},GPlot.prototype.panningFunction=function(){"undefined"!=typeof this.panningReferencePoint&&this.align(this.panningReferencePoint,this.parent.mouseX,this.parent.mouseY)},GPlot.prototype.clickEvent=function(a){if(e=a||window.event,this.isOverBox()){var b=this.getButton(e),c=this.getModifier(e);this.zoomingIsActive&&(b===this.increaseZoomButton&&c===this.increaseZoomKeyModifier?(this.resetIsActive&&this.saveResetLimits(),this.zoom(this.zoomFactor,this.parent.mouseX,this.parent.mouseY)):b===this.decreaseZoomButton&&c===this.decreaseZoomKeyModifier&&(this.resetIsActive&&this.saveResetLimits(),this.zoom(1/this.zoomFactor,this.parent.mouseX,this.parent.mouseY))),this.centeringIsActive&&b===this.centeringButton&&c===this.centeringKeyModifier&&(this.resetIsActive&&this.saveResetLimits(), +this.center(this.parent.mouseX,this.parent.mouseY)),this.resetIsActive&&b===this.resetButton&&c===this.resetKeyModifier&&"undefined"!=typeof this.xLimReset&&"undefined"!=typeof this.yLimReset&&(this.setXLim(this.xLimReset),this.setYLim(this.yLimReset),this.xLimReset=void 0,this.yLimReset=void 0)}},GPlot.prototype.mouseDownEvent=function(a){if(e=a||window.event,this.isOverBox()){var b=this.getButton(e),c=this.getModifier(e);this.panningIsActive&&b===this.panningButton&&c===this.panningKeyModifier&&(this.resetIsActive&&this.saveResetLimits(),this.panningReferencePoint=this.getValueAt(this.parent.mouseX,this.parent.mouseY),this.panningIntervalId=setInterval(this.panningFunction.bind(this),100)),this.labelingIsActive&&b===this.labelingButton&&c===this.labelingKeyModifier&&(this.mousePos=[this.parent.mouseX,this.parent.mouseY])}},GPlot.prototype.mouseUpEvent=function(a){e=a||window.event;{var b=this.getButton(e);this.getModifier(e)}this.panningIsActive&&b===this.panningButton&&"undefined"!=typeof this.panningIntervalId&&(clearInterval(this.panningIntervalId),this.panningIntervalId=void 0,this.panningReferencePoint=void 0),this.labelingIsActive&&b===this.labelingButton&&(this.mousePos=void 0),b===this.parent.RIGHT&&this.clickEvent(e)},GPlot.prototype.wheelEvent=function(a){if(e=a||window.event,this.isOverBox()){var b=e.deltaY,c=this.parent.CENTER,d=this.getModifier(e);this.zoomingIsActive&&(c===this.increaseZoomButton&&d===this.increaseZoomKeyModifier&&b>0?(this.resetIsActive&&this.saveResetLimits(),this.zoom(this.zoomFactor,this.parent.mouseX,this.parent.mouseY)):c===this.decreaseZoomButton&&d===this.decreaseZoomKeyModifier&&0>b&&(this.resetIsActive&&this.saveResetLimits(),this.zoom(1/this.zoomFactor,this.parent.mouseX,this.parent.mouseY)))}},GPlot.prototype.preventDefaultEvent=function(a){e=a||window.event,this.isOverBox()&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},GPlot.prototype.preventWheelDefault=function(){window.addEventListener("wheel",this.preventDefaultEvent.bind(this),!1)},GPlot.prototype.preventRightClickDefault=function(){window.addEventListener("contextmenu",this.preventDefaultEvent.bind(this),!1)}; diff --git a/docs/graficos/hidraulicas.html b/docs/graficos/hidraulicas.html new file mode 100755 index 0000000..be3038e --- /dev/null +++ b/docs/graficos/hidraulicas.html @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/graficos/hidraulicas.js b/docs/graficos/hidraulicas.js new file mode 100644 index 0000000..72fedda --- /dev/null +++ b/docs/graficos/hidraulicas.js @@ -0,0 +1,112 @@ +var cuencas, cmap; +var nombres,colores,x,y; +var canales, acequias; +var totCanales = 0,totAcequias = 0; +var cuenta = 0, last; + +function setup() { + createCanvas(800,519); + cuencas = loadImage("data/cuencas.png"); + cmap = loadImage("data/cmap-cuencas.png"); + nombres = new Array("Norte","Duero","Ebro","Pirineo","Jucar","Tajo","Guadiana","Guadalquivir","Sur", "Segura", "Baleares y Canarias"); + colores = new Array("#f00","#0f0","#00f","#ff0","#0ff","#a00","#0a0","#00a","#aa0","#0aa", "#aaa"); + canales = new Array(157.3,1422.1,810, 132.5,525.7,764.9,360.5,1111.7,266.7,85.7,-1); + acequias= new Array(448.1,2215.3,1872.7,258.7,2378,1356.7,1210.5,1215.7,191.7,2004.1,-1); + x = new Array(158,243, 449, 597, 432, 308, 236, 263, 362,412, 601); + y = new Array(77,158,140, 139,278, 253, 327, 393, 441,368, 322); + + for (var n = 0; n < nombres.length; n++) { + if (canales[n] != -1) totCanales = totCanales + canales[n]; + if (acequias[n] != -1) totAcequias = totAcequias + acequias[n]; + } +} + +function draw() { + background(200,225,225); + image(cuencas,0,0); + + var mc = cmap.get(mouseX,mouseY); + var over = []; + for (var n = 0; n < colores.length; n++) { + over[n] = compara(mc,color(colores[n])); + } + + for (var n = 0; n < colores.length; n++) { + if (over[n]) { + fill(0); + textStyle(NORMAL); + if (canales[n] != -1) { + text("Canales: " + canales[n] + " Km", x[n], y[n]+5); + text("Acequias: " + acequias[n] + " Km", x[n], y[n]+20); + } + else { + textSize(10); + text("(Sin datos)", x[n], y[n]+5); + } + } + } + + // nombres + textStyle(BOLD); + textSize(14); + for (var n = 0; n < nombres.length; n++) { + var nbr = String.toUpperCase(nombres[n]); + fill(255); + noStroke(); + fill(0); + text(nbr, x[n], y[n]-10); + } + + cuenta = cuenta + 0.5; + + // Canales + for (var n = 0; n < nombres.length; n++) { + if (!over[n]) { + if (canales[n] == -1) { + textSize(10); + fill(0); + text("(Sin datos)", x[n], y[n]+5); + } + var pct = map(canales[n]/totCanales,0,1,0,50); + for (var i = 0; i < min(cuenta,pct); i++) { + var xi = x[n] + 10*i; + stroke(0); + line(xi+3, y[n]-4,xi+10+3,y[n]-4); + noStroke(); + fill(0); + quad(xi+10+4,y[n]-4,xi+10+4,y[n]-4+7, xi+10,y[n]+7, xi+10,y[n]); + fill(0,255,255); + quad(xi+3, y[n]-3,xi+10+3,y[n]-3,xi+10,y[n],xi, y[n]); + noStroke(); + fill(0); + rect(xi, y[n],10,7) + fill(255); + arc(xi+5,y[n]+7,7,8,PI,TWO_PI); + } + } + } + + // Acequias + for (var n = 0; n < nombres.length; n++) { + if (!over[n]) { + pct = map(acequias[n]/totAcequias,0,1,0,50); + for (var i = 0; i < min(cuenta,pct); i++) { + var xi = x[n] + 10*i; + stroke(0); + line(xi, y[n]+15,xi+10,y[n]+15); + line(xi+3, y[n]+15-3,xi+10+3,y[n]+15-3); + noStroke(); + fill(0); + quad(xi+10+4,y[n]+15-3, xi+10+4,y[n]+15+4-3-1, xi+10, y[n]+15+4, xi+10, y[n]+15); + fill(0,255,255); + quad(xi+3, y[n]+15-2,xi+10+3,y[n]+15-2, xi+10,y[n]+15,xi, y[n]+15); + fill(0); + rect(xi, y[n]+15, 10, 4); + } + } + } +} + +function compara(c1, c2) { + return red(c1) == red(c2) && green(c1) == green(c2) && blue(c1) == blue(c2); +} diff --git a/docs/graficos/mecanizacion.html b/docs/graficos/mecanizacion.html new file mode 100644 index 0000000..1d6e1ef --- /dev/null +++ b/docs/graficos/mecanizacion.html @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/graficos/mecanizacion.js b/docs/graficos/mecanizacion.js new file mode 100644 index 0000000..9cbe3ab --- /dev/null +++ b/docs/graficos/mecanizacion.js @@ -0,0 +1,101 @@ +var cuencas, cmap; +var nombres,colores,x,y; +var tractores, cosechadoras; +var totTractores = 0,totCosechadoras = 0; +var cuenta = 0, last; +var imgTractor,imgCosechadora; + +function setup() { + createCanvas(800,519); + cuencas = loadImage("data/cuencas.png"); + cmap = loadImage("data/cmap-cuencas.png"); + imgTractor = loadImage("data/tractor_792349_cc_p.png"); + imgCosechadora = loadImage("data/harvester_1046427_cc_p.png"); + nombres = new Array("Norte","Duero","Ebro","Pirineo","Jucar","Tajo","Guadiana","Guadalquivir","Sur", "Segura", "Baleares y Canarias"); + colores = new Array("#f00","#0f0","#00f","#ff0","#0ff","#a00","#0a0","#00a","#aa0","#0aa", "#aaa"); + tractores = new Array(31.5,32.8,81.4,-1,128.5,37.6,59.1,30.6,11.2,34.6,-1); + cosechadoras= new Array(0,1.2,2.8,-1,5,0.6,0.9,2.6,0.2,0.5,-1); + + x = new Array(128,233, 409, 597, 392, 248, 206, 217, 362,402, 651); + y = new Array(77,128,110, 139,248, 243, 307, 390, 431,368, 322); + + for (var n = 0; n < nombres.length; n++) { + if (tractores[n] != -1) totTractores = totTractores + tractores[n]; + if (cosechadoras[n] != -1) totCosechadoras = totCosechadoras + cosechadoras[n]; + } +} + +function draw() { + background(200,225,225); + image(cuencas,0,0); + + + var mc = cmap.get(mouseX,mouseY); + var over = []; + for (var n = 0; n < colores.length; n++) { + over[n] = compara(mc,color(colores[n])); + } + + for (var n = 0; n < colores.length; n++) { + if (over[n]) { + fill(0); + textStyle(NORMAL); + if (tractores[n] != -1) { + text("Tractores: " + tractores[n], x[n], y[n]+10); + text("Cosechadoras: " + cosechadoras[n], x[n], y[n]+25); + } + else { + textSize(10); + text("(Sin datos)", x[n], y[n]+5); + } + } + } + + + cuenta = cuenta + 0.5; + + // Cosechadoras + var mpct = []; + for (var n = 0; n < nombres.length; n++) { + if (!over[n]) { + pct = map(cosechadoras[n]/totCosechadoras,0,1,0,40); + mpct[n] = floor(pct)+1; + for (var i = 0; i < min(cuenta,pct); i++) { + var xi = x[n] + 20*(i%4); + var yi = y[n] + floor(i/4)*20; + image(imgCosechadora,xi,yi,20,20); + } + } + } + + // Tractores + for (var n = 0; n < nombres.length; n++) { + if (!over[n]) { + if (tractores[n] == -1) { + textSize(10); + textStyle(NORMAL); + fill(0); + text("(Sin datos)", x[n], y[n]+5); + } + var pct = map(tractores[n]/totTractores,0,1,0,40); + for (var i = 0; i < min(cuenta,pct); i++) { + var xi = x[n] + 20*(i%4) + min(4,mpct[n])*20; + var yi = y[n] + floor(i/4)*20; + image(imgTractor,xi,yi,18,18); + } + } + } + + // nombres + textStyle(BOLD); + textSize(14); + for (var n = 0; n < nombres.length; n++) { + var nbr = nombres[n]; + fill(0); + text(nbr, x[n], y[n]-7); + } +} + +function compara(c1, c2) { + return red(c1) == red(c2) && green(c1) == green(c2) && blue(c1) == blue(c2); +} diff --git a/docs/graficos/parcelas-old.js b/docs/graficos/parcelas-old.js new file mode 100644 index 0000000..b368d77 --- /dev/null +++ b/docs/graficos/parcelas-old.js @@ -0,0 +1,94 @@ +var cuencas, cmap; +var ids,nombres,colores,x,y; +var capas,imgs; +var dim; + +function preload() { + ids = new Array("norte","duero","ebro","pirineo","jucar","tajo","guadiana","guadalquivir","sur","segura","baleares"); + imgs = new Array(); + for (var n = 0; n < ids.length; n++) { + imgs[n] = loadImage("data/"+ids[n]+".png"); + } + cuencas = loadImage("data/cuencas.png"); + cmap = loadImage("data/cmap-cuencas.png"); +} + +function setup() { + createCanvas(800,519); + nombres = new Array("Norte","Duero","Ebro","Pirineo","Jucar","Tajo","Guadiana","Guadalquivir","Sur", "Segura", "Baleares y Canarias"); + colores = new Array("#f00","#0f0","#00f","#ff0","#0ff","#a00","#0a0","#00a","#aa0","#0aa", "#aaa"); + x = new Array(158,243, 449, 597, 432, 308, 236, 263, 362,432, 651); + y = new Array(77,158,140, 139,278, 253, 327, 393, 441,368, 322); + dim = new Array(11,8.4,11,-1,6,7.5,8.6,5.3,5.9,6.6,-1); + capas = new Array(); + for (var n = 0; n < ids.length; n++) { + capas[n] = createImage(width,height); + capas[n].loadPixels(); + + if (dim[n] != -1) { + var paso = map(dim[n],0, 15, 2, 20); + + colorMode(HSB,360,255,255); + var h = random(70,130); + var numi = floor(width/paso)+1; + var numj = floor(height/paso)+1; + var c = []; + for (var i = 0; i < numi; i++) { + c[i] = []; + for (var j = 0; j < numj; j++) { + var s = random(100,200); + c[i][j] = color(h, s, random(150,200) ); + } + } + colorMode(RGB,255,255,255); + for (var i = 0; i < width; i++) { + var pasoi = floor(i/paso); + for (var j = 0; j < height; j++) { + var pasoj = floor(j/paso); + capas[n].set(i,j,c[pasoi][pasoj]); + } + } + capas[n].updatePixels(); + capas[n].mask(imgs[n]); + } + } +} + +function draw() { + background(200,225,225); + + // capas + for (var n = 0; n < ids.length; n++) { + tint(200,180,130); + image(imgs[n],0,0); + tint(255,min(frameCount*40,255)); + if (dim[n] != -1) image(capas[n],0,0); + else text("(Sin datos)", x[n], y[n]+5); + } + + // Mas datos + var mc = cmap.get(mouseX,mouseY); + for (var n = 0; n < colores.length; n++) { + if (compara(mc,color(colores[n]))) { + noTint(); + image(imgs[n],0,0); + } + } + + + // nombres + textSize(14); + for (var n = 0; n < nombres.length; n++) { + var nbr = nombres[n]; + fill(255); + noStroke(); + fill(0); + text(nbr, x[n], y[n]-10); + } +} + + + +function compara(c1, c2) { + return red(c1) == red(c2) && green(c1) == green(c2) && blue(c1) == blue(c2); +} diff --git a/docs/graficos/parcelas.html b/docs/graficos/parcelas.html new file mode 100644 index 0000000..a3eb0a8 --- /dev/null +++ b/docs/graficos/parcelas.html @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/graficos/parcelas.js b/docs/graficos/parcelas.js new file mode 100644 index 0000000..7372bc4 --- /dev/null +++ b/docs/graficos/parcelas.js @@ -0,0 +1,78 @@ +var cuencas, cmap; +var ids,nombres,colores,x,y; +var capas,capaspg,imgs; +var dim, dimr; + +function preload() { + ids = new Array("norte","duero","ebro","pirineo","jucar","tajo","guadiana","guadalquivir","sur","segura","baleares"); + dimr = new Array(11,8.4,11,-1,6,7.5,8.6,5.3,5.9,6.6,-1); + dim = new Array(12,10,14.2,8,7.6,8,7.6,10,4.7,10,11); + imgs = new Array(); + capas = new Array(); + capaspg = new Array(); + for (var n = 0; n < ids.length; n++) { + imgs[n] = loadImage("data/"+ids[n]+".png"); + capaspg[n] = loadImage("data/capa-PGC-"+n+".png"); + if (dim[n] != -1) { + capas[n] = loadImage("data/capa-"+n+".png"); + } + } + cuencas = loadImage("data/cuencas.png"); + cmap = loadImage("data/cmap-cuencas.png"); +} + +function setup() { + createCanvas(800,519); + nombres = new Array("Norte","Duero","Ebro","Pirineo","Jucar","Tajo","Guadiana","Guadalquivir","Sur", "Segura", "Baleares y Canarias"); + colores = new Array("#f00","#0f0","#00f","#ff0","#0ff","#a00","#0a0","#00a","#aa0","#0aa", "#aaa"); + x = new Array(158,243, 429, 597, 432, 268, 226, 253, 362,432, 611); + y = new Array(77,158,140, 139,278, 263, 327, 393, 441, 368, 322); +} + + +function draw() { + background(200,225,225); + + // capas + for (var n = 0; n < ids.length; n++) { + if (dimr[n] != -1) image(capas[n],0,0); + else { + image(imgs[n],0,0); + } + } + + // Parcelas segun PGC + var mc = cmap.get(mouseX,mouseY); + for (var n = 0; n < colores.length; n++) { + if (compara(mc,color(colores[n]))) { + tint(255,100); + image(capaspg[n],0,0); + noTint(); + } + } + + + // nombres + textSize(14); + for (var n = 0; n < nombres.length; n++) { + var nbr = String.toUpperCase(nombres[n]); + if (dimr[n] != -1 || !compara(mc,color(colores[n]))) fill(0); + else fill(0); + textStyle(BOLD); + text(nbr, x[n], y[n]-10); + textStyle(NORMAL); + if (compara(mc,color(colores[n]))) { + text("Plan inicial: " + dim[n]+" Has", x[n], y[n]+5); + } + else { + if (dimr[n] != -1) text("Parcela media: " + dimr[n]+" Has", x[n], y[n]+5); + else text("(Sin datos)", x[n], y[n]+5); + } + } +} + + + +function compara(c1, c2) { + return red(c1) == red(c2) && green(c1) == green(c2) && blue(c1) == blue(c2); +} diff --git a/docs/modelos.md b/docs/modelos.md index 41512f9..df1cee8 100644 --- a/docs/modelos.md +++ b/docs/modelos.md @@ -2,3 +2,6 @@ layout: page title: Los tres principales modelos de colonización --- + +{% include sliders/bardenas.html %} +{% include sliders/sotogordo.html %} diff --git a/docs/sliders/bardenas-caudillo-1956.jpeg b/docs/sliders/bardenas-caudillo-1956.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ac4a6c9da812609db79461b699967e43d2047792 GIT binary patch literal 130947 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 F|JkpZjwJv9 literal 0 HcmV?d00001 diff --git a/docs/sliders/bardenas-caudillo-2014.jpeg b/docs/sliders/bardenas-caudillo-2014.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..170a87f49933bb7214495f99c6d1f3503be0328a GIT binary patch literal 164871 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 CF6)4XV)1PnR?h1snCSGCl?RQB6I}^ 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

    *EmJL6 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 literal 0 HcmV?d00001 diff --git a/docs/sliders/bardenas.html b/docs/sliders/bardenas.html new file mode 100644 index 0000000..465ad77 --- /dev/null +++ b/docs/sliders/bardenas.html @@ -0,0 +1,19 @@ + + + + + + + + +

    + + + diff --git a/docs/sliders/jquery-3.2.1.min.js b/docs/sliders/jquery-3.2.1.min.js new file mode 100644 index 0000000..644d35e --- /dev/null +++ b/docs/sliders/jquery-3.2.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S), +a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b), +null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r(" + + + + + +
    + + +
    + + + diff --git a/docs/sliders/twentytwenty.css b/docs/sliders/twentytwenty.css new file mode 100644 index 0000000..cad8aa4 --- /dev/null +++ b/docs/sliders/twentytwenty.css @@ -0,0 +1,205 @@ +.twentytwenty-horizontal .twentytwenty-handle:before, .twentytwenty-horizontal .twentytwenty-handle:after, .twentytwenty-vertical .twentytwenty-handle:before, .twentytwenty-vertical .twentytwenty-handle:after { + content: " "; + display: block; + background: white; + position: absolute; + z-index: 30; + -webkit-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5); + -moz-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5); + box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5); } + +.twentytwenty-horizontal .twentytwenty-handle:before, .twentytwenty-horizontal .twentytwenty-handle:after { + width: 3px; + height: 9999px; + left: 50%; + margin-left: -1.5px; } + +.twentytwenty-vertical .twentytwenty-handle:before, .twentytwenty-vertical .twentytwenty-handle:after { + width: 9999px; + height: 3px; + top: 50%; + margin-top: -1.5px; } + +.twentytwenty-before-label, .twentytwenty-after-label, .twentytwenty-overlay { + position: absolute; + top: 0; + width: 100%; + height: 100%; } + +.twentytwenty-before-label, .twentytwenty-after-label, .twentytwenty-overlay { + -webkit-transition-duration: 0.5s; + -moz-transition-duration: 0.5s; + transition-duration: 0.5s; } + +.twentytwenty-before-label, .twentytwenty-after-label { + -webkit-transition-property: opacity; + -moz-transition-property: opacity; + transition-property: opacity; } + +.twentytwenty-before-label:before, .twentytwenty-after-label:before { + color: white; + font-size: 13px; + letter-spacing: 0.1em; } + +.twentytwenty-before-label:before, .twentytwenty-after-label:before { + position: absolute; + background: rgba(255, 255, 255, 0.2); + line-height: 38px; + padding: 0 20px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; } + +.twentytwenty-horizontal .twentytwenty-before-label:before, .twentytwenty-horizontal .twentytwenty-after-label:before { + top: 50%; + margin-top: -19px; } + +.twentytwenty-vertical .twentytwenty-before-label:before, .twentytwenty-vertical .twentytwenty-after-label:before { + left: 50%; + margin-left: -45px; + text-align: center; + width: 90px; } + +.twentytwenty-left-arrow, .twentytwenty-right-arrow, .twentytwenty-up-arrow, .twentytwenty-down-arrow { + width: 0; + height: 0; + border: 6px inset transparent; + position: absolute; } + +.twentytwenty-left-arrow, .twentytwenty-right-arrow { + top: 50%; + margin-top: -6px; } + +.twentytwenty-up-arrow, .twentytwenty-down-arrow { + left: 50%; + margin-left: -6px; } + +.twentytwenty-container { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + z-index: 0; + overflow: hidden; + position: relative; + -webkit-user-select: none; + -moz-user-select: none; } + .twentytwenty-container img { + max-width: 100%; + position: absolute; + top: 0; + display: block; } + .twentytwenty-container.active .twentytwenty-overlay, .twentytwenty-container.active :hover.twentytwenty-overlay { + background: rgba(0, 0, 0, 0); } + .twentytwenty-container.active .twentytwenty-overlay .twentytwenty-before-label, + .twentytwenty-container.active .twentytwenty-overlay .twentytwenty-after-label, .twentytwenty-container.active :hover.twentytwenty-overlay .twentytwenty-before-label, + .twentytwenty-container.active :hover.twentytwenty-overlay .twentytwenty-after-label { + opacity: 0; } + .twentytwenty-container * { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; } + +.twentytwenty-before-label { + opacity: 0; } + .twentytwenty-before-label:before { + content: attr(data-content); } + +.twentytwenty-after-label { + opacity: 0; } + .twentytwenty-after-label:before { + content: attr(data-content); } + +.twentytwenty-horizontal .twentytwenty-before-label:before { + left: 10px; } + +.twentytwenty-horizontal .twentytwenty-after-label:before { + right: 10px; } + +.twentytwenty-vertical .twentytwenty-before-label:before { + top: 10px; } + +.twentytwenty-vertical .twentytwenty-after-label:before { + bottom: 10px; } + +.twentytwenty-overlay { + -webkit-transition-property: background; + -moz-transition-property: background; + transition-property: background; + background: rgba(0, 0, 0, 0); + z-index: 25; } + .twentytwenty-overlay:hover { + background: rgba(0, 0, 0, 0.5); } + .twentytwenty-overlay:hover .twentytwenty-after-label { + opacity: 1; } + .twentytwenty-overlay:hover .twentytwenty-before-label { + opacity: 1; } + +.twentytwenty-before { + z-index: 20; } + +.twentytwenty-after { + z-index: 10; } + +.twentytwenty-handle { + height: 38px; + width: 38px; + position: absolute; + left: 50%; + top: 50%; + margin-left: -22px; + margin-top: -22px; + border: 3px solid white; + -webkit-border-radius: 1000px; + -moz-border-radius: 1000px; + border-radius: 1000px; + -webkit-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5); + -moz-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5); + box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5); + z-index: 40; + cursor: pointer; } + +.twentytwenty-horizontal .twentytwenty-handle:before { + bottom: 50%; + margin-bottom: 22px; + -webkit-box-shadow: 0 3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); + -moz-box-shadow: 0 3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); + box-shadow: 0 3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); } +.twentytwenty-horizontal .twentytwenty-handle:after { + top: 50%; + margin-top: 22px; + -webkit-box-shadow: 0 -3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); + -moz-box-shadow: 0 -3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); + box-shadow: 0 -3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); } + +.twentytwenty-vertical .twentytwenty-handle:before { + left: 50%; + margin-left: 22px; + -webkit-box-shadow: 3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); + -moz-box-shadow: 3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); + box-shadow: 3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); } +.twentytwenty-vertical .twentytwenty-handle:after { + right: 50%; + margin-right: 22px; + -webkit-box-shadow: -3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); + -moz-box-shadow: -3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); + box-shadow: -3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); } + +.twentytwenty-left-arrow { + border-right: 6px solid white; + left: 50%; + margin-left: -17px; } + +.twentytwenty-right-arrow { + border-left: 6px solid white; + right: 50%; + margin-right: -17px; } + +.twentytwenty-up-arrow { + border-bottom: 6px solid white; + top: 50%; + margin-top: -17px; } + +.twentytwenty-down-arrow { + border-top: 6px solid white; + bottom: 50%; + margin-bottom: -17px; }