;ò –6Gc@södklZdkZdkZdkZdkZdklZlZl Z l Z dk l Z dk lZlZdeidƒdZdfd „ƒYZd fd „ƒYZd eifd „ƒYZdefd„ƒYZdefd„ƒYZdS((s nested_scopesN(scanvasspathstrafosunit(sstyle(saxiss positionerf0.5iis styledatacBstZdZRS(sœstyle data storage class Instances of this class are used to store data from the styles and to pass point data to the styles by instances named privatedata and sharedata. sharedata is shared between all the style(s) in use by a data instance, while privatedata is private to each style and used as a storage place instead of self to prevent side effects when using a style several times.(s__name__s __module__s__doc__(((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys styledata$s splotitemcBsPtZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS( Nc CsX||_|i|_tg} x”| oŒg}g} xo|D]g}xN|iD]C}||jo0t i |ƒ}| i |ƒ|i|iƒqKqKW|i|iƒq;W| |}q!W||_tƒ|_gi }|iD]}|tƒƒqÛ~|_g|_xNt|i|iƒD]7\} }|ii|i| |i||iiƒƒqWdS(N(sdatasselfstitlesNones addstylessprovidedsstylessss needsdatasnsstylesgetdefaultprovidersdefaultprovidersappendsextends providesdatas styledatas sharedatas_[1]sprivatedatalistsusedcolumnnamesszips privatedatas columnnamessgraph( sselfsgraphsdatasstylessprovidedsdefaultprovidersns_[1]sss privatedatas addstyles((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys__init__2s0        0  cCsFx?t|i|iƒD](\}}|i||i|||ƒqWdS(N( szipsselfsprivatedatalistsstyless privatedatasstyles selectstyles sharedatasgraphs selectindexs selecttotal(sselfsgraphs selectindexs selecttotalsstyles privatedata((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys selectstylesMs cCsixb|iiiƒD]N\}}x?t|i|iƒD](\}}|i ||i |||ƒq5WqWdS(N( sselfsdatascolumnssitemss columnnameszipsprivatedatalistsstyless privatedatasstyles adjustaxiss sharedatasgraph(sselfsgraphsstyles columnnamesdatas privatedata((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysadjustaxesstaticQs   cCs|ii|ƒ|_dS(N(sselfsdatasdynamiccolumnssgraph(sselfsgraph((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysmakedynamicdataVscCsfx_|iiƒD]N\}}x?t|i|iƒD](\}}|i ||i |||ƒq2WqWdS(N( sselfsdynamiccolumnssitemss columnnamesdataszipsprivatedatalistsstyless privatedatasstyles adjustaxiss sharedatasgraph(sselfsgraphsstyles columnnamesdatas privatedata((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysadjustaxesdynamicYs   c CsŽx9t|i|iƒD]"\}}|i||i|ƒqWh}g}xb|i D]W}y|i ||i|fƒWqRtj o$|i ||ii|fƒqRXqRW| otdƒ‚nx†tt|ddƒƒD]j}x"|D]\}}||||digi}|D]}|tt|ƒƒƒq~ƒSdS(Ns:(sjoinsappends_[1]sstylessstylesstrsid(sstyless_[1]sstyle((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysstylesidësii( sselfsdidsdostylessdolayouts dobackgrounds styletotalsstylesids plotitemssplotitemsstyless styleindexs selectstyless didstyles(sselfsplotitems styleindexs styletotalsstylesid((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysdostylesãs,     cCs9|i|i|ƒodSn|iƒ|i|ƒdS(N(sselfsdidsdoplotsplotitemsdostylessdraw(sselfsplotitem((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysdoplotýs cCs%x|iD]}|i|ƒq WdS(N(sselfs plotitemssplotitemsdoplot(sselfsplotitem((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysdodatas cCs t‚dS(N(sNotImplementedError(sself((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysdokeyscCs,|iƒ|iƒ|iƒ|iƒdS(N(sselfs dobackgroundsdoaxessdodatasdokey(sself((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysfinish s   (s__name__s __module__s__init__sdidsbboxs registerPSs registerPDFs processPSs processPDFsNonesplotsdorangess doaxiscreatesdolayouts dobackgroundsdoaxessdostylessdoplotsdodatasdokeysfinish(((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysgraph‚s$              sgraphxyc BsätZddeeeeedeieed„ Zeed„Zeed„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(Nif0.80000000000000004c Ksti|ƒ||_||_ti|iƒ|_ti|iƒ|_| |_ | |_ ||_ ||_ ti|ƒ|_||_||_|tjo1|tjotdƒ‚qô||i|_n&|tjod||i|_nti|iƒ|_ti|iƒ|_xo| iƒD]a\}} | tj oHt| tiƒ o#ti| |i|ƒ|i|xÄ|iiƒD]³\}} |ddjp3t?|ƒdjo |di@ƒ p|dd jotd ƒ‚n|ddjo|i>diA|ƒn|i>diA|ƒ| iB|iC|ƒq]WdS( Nsspecify width and/or heightf1.0sxsys2isxyis1sinvalid axis name(Dsgraphs__init__sselfsxpossypossunitstoptsxpos_ptsypos_ptsxaxisatsyaxisatskeysbackgroundattrssaxesdists axesdist_ptswidthsheightsNones ValueErrorsratioswidth_pts height_ptsaxessitemssaxisnamesaaxiss isinstancesaxiss linkedaxiss anchoredaxiss texrunnersaxisatsokeyshas_keyslinearsbasepaths xbasepaths vbasepaths xvbasepathsgridpaths xgridpaths tickpoint_pts xtickpoint_pts tickpoints xtickpoints vtickpoint_ptsxvtickpoint_pts xvtickpoints tickdirectionsxtickdirectionsvtickdirectionsxvtickdirections ybasepaths yvbasepaths ygridpaths ytickpoint_pts ytickpointsyvtickpoint_pts vtickpoints yvtickpointsytickdirectionsyvtickdirections axesnamesslensisdigitsappends setcreatecalls doaxiscreate(sselfsxpossyposswidthsheightsratioskeysbackgroundattrssaxesdistsxaxisatsyaxisatsaxessaaxissaxisatsokeysaxisname((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys__init__s„              #  "%($( GcCsx|tjo|id}n|tjo|id}n|i|i|ƒ|i|i |i|ƒ|i fSdS(Nsxsy( sxaxissNonesselfsaxessyaxissxpos_ptsconvertsxswidth_ptsypos_ptsys height_pt(sselfsxsysxaxissyaxis((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pyspos_ptbs   cCsx|tjo|id}n|tjo|id}n|i|i|ƒ|i|i |i|ƒ|i fSdS(Nsxsy( sxaxissNonesselfsaxessyaxissxpossconvertsxswidthsypossysheight(sselfsxsysxaxissyaxis((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysposjs   cCs*|i||i|i||ifSdS(N(sselfsxpos_ptsvxswidth_ptsypos_ptsvys height_pt(sselfsvxsvy((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysvpos_ptrscCs*|i||i|i||ifSdS(N(sselfsxpossvxswidthsypossvysheight(sselfsvxsvy((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysvposvscCsdSdS(Ni((sselfsvxsvy((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysvzindexzscCsdSdS(Ni((sselfsvx1svy1svx2svy2svx3svy3((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysvangle}scCsRti|i||i|i||i|i||i|i||iƒSdS(s?returns a geodesic path between two points in graph coordinatesN( spathsline_ptsselfsxpos_ptsvx1swidth_ptsypos_ptsvy1s height_ptsvx2svy2(sselfsvx1svy1svx2svy2((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys vgeodesic€s cCs0ti|i||i|i||iƒSdS(sGreturns a geodesic path element between two points in graph coordinatesN( spaths lineto_ptsselfsxpos_ptsvx2swidth_ptsypos_ptsvy2s height_pt(sselfsvx1svy1svx2svy2((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys vgeodesic_el‡scCsî|djobti|i||id||i||i |i||id||i||i ƒSn||djobti|i||i|i||i d||i||i|i||i d|ƒSn t dƒ‚dS(s`returns an error cap path for a given coordinate, lengths and point in graph coordinatesif0.5isdirection invalidN( s coordinatespathsline_ptsselfsxpos_ptsvxswidth_pts length_ptsypos_ptsvys height_pts ValueError(sselfs coordinates length_ptsvxsvy((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysvcap_ptŒs  !cCsCti|i||i|i|i||i|i|iƒSdS(N(spathsline_ptsselfsxpos_ptsvxswidth_ptsypos_pts height_pt(sselfsvx((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys xvgridpathœscCsCti|i|i||i|i|i|i||iƒSdS(N(spathsline_ptsselfsxpos_ptsypos_ptsvys height_ptswidth_pt(sselfsvy((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys yvgridpath scCs/ti|gƒ}|i|iƒ||_dS(N(scanvasstscsinsertsaxis(sselfsaxisstsc((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys axistrafo¤scCs|iido8|i|ti|i||i |ii dƒƒn5|i|tid|i ||i |ii ƒƒdS(Ni(saxiss positionersfixtickdirectionsselfs axistrafostrafos translate_ptsxpos_ptsvswidth_ptsx1_ptsypos_pts height_ptsy1_pt(sselfsaxissv((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysaxisatv©s8cCs |i|i|ƒodSn|iƒ|djoL|iditi|i |i |i |i |i ddf|i ƒƒn‰|djoZ|iditi|i |i |i |i |i |i |i ddf|i ƒƒn"|djoL|iditi|i |i |i |i |i ddf|iƒƒnÉ|djoZ|iditi|i |i |i |i |i |i |i ddf|iƒƒnb|ddjo|d}n#d |dt|dƒd f}|i|ƒd t|dƒd d}|ddjou|i|ii||i|ii|i}|i|iti|i ||i |i |d|f|i ƒƒnr|i|ii||i|ii|i}|i|iti||i ||i |i |df|iƒƒdS( Nsxiisx2iÿÿÿÿsysy2s3s%s%di(sselfsdidsdoaxispositionersaxisnamesdorangessaxess setpositioners positionerslineaxispos_ptsxpos_ptsypos_ptswidth_pts xvgridpaths height_pts yvgridpathsdependsonaxisnamesints doaxiscreatessignsy1_ptscanvass extent_pts axesdist_ptsy_ptsx1_ptsx_pt(sselfsaxisnamessignsy_ptsdependsonaxisnamesx_pt((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysdoaxispositioner±sB   &  &" //cCsÂ|i|iƒodSnx$|iiƒD]}|i|ƒq+W|itj o.|i |id|idi |iƒƒn|i tj o.|i |id|idi |i ƒƒndS(Nsxsy( sselfsdidsdolayoutsaxesskeyssaxisnames doaxiscreatesxaxisatsNonesaxisatvsconvertsyaxisat(sselfsaxisname((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysdolayout×s.cCsd|i|iƒodSn|itj o5|iti|i|i |i |i ƒ|iƒndS(N( sselfsdids dobackgroundsbackgroundattrssNonesdrawspathsrect_ptsxpos_ptsypos_ptswidth_pts height_pt(sself((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys dobackgroundás 'cCs]|i|iƒodSn|iƒ|iƒx'|iiƒD]}|i|i ƒq?WdS(N( sselfsdidsdoaxessdolayouts dobackgroundsaxessvaluessaxissinsertscanvas(sselfsaxis((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysdoaxesès  cCs3|i|iƒodSn|iƒ|iƒ|itj oð|ii|iƒ}|i ƒ}d„}|o»||i |i |i |i|i|iiti|iiƒ|iiƒ}||i|i|i|i|i|iiti|iiƒ|iiƒ}|i|ti ||ƒgƒq/ndS(Nc Csp|d||||||||d|}d||d|dd|||d|}||SdS(Nf0.5ii( spminscmaxscminsdistsposspmaxsppossinsidescpos( spminspmaxscminscmaxspossdistsinsidescpossppos((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysparentchildalignøs22(!sselfsdidsdokeys dobackgroundsdostylesskeysNonespaints plotitemsscsbboxsparentchildalignsxpos_ptswidth_ptsllx_ptsurx_ptshpossunitstoptshdistshinsidesxsypos_pts height_ptslly_ptsury_ptsvpossvdistsvinsidesysinsertstrafos translate_pt(sselfscsparentchildalignsysbboxsx((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysdokeyðs      * *(s__name__s __module__sNones goldenmeansunitsv_cms__init__spos_ptspossvpos_ptsvpossvzindexsvangles vgeodesics vgeodesic_elsvcap_pts xvgridpaths yvgridpaths axistrafosaxisatvsdoaxispositionersdolayouts dobackgroundsdoaxessdokey(((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysgraphxys&.O            &  sgraphxyzc Bs%tZdfd„ƒYZdfd„ƒYZddedddeeddd ƒed „Zeeed „Zeeed „Zd „Z d„Z d„Z d„Z d„Z d„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(NscentralcBs6tZeidd„Zd„Zd„Zd„ZRS(Ni´cCsâ||9}||9}||_ti|ƒ ti|ƒdf|_ti|ƒ ti|ƒti|ƒ ti|ƒti|ƒf|_ |ti|ƒti|ƒ|ti|ƒti|ƒ|ti|ƒf|_ dS(Ni( sphis anglefactorsthetasdistancesselfsmathssinscossasbseye(sselfsdistancesphisthetas anglefactor((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys__init__ s    %IcCs¶|id|id||id|id|id||id|id|id||id|id|id||id|id|id||id|id|id||id}|id|id||id|id|id||id|id|id||id|id|id||id|id|id||id|id|id||id}|id|id||id|id|id||id|id|id||id|id|id||id|id|id||id|id|id||id}||||fSdS(Niii( sselfsasbszseyesysxsd0sdasdb(sselfsxsyszsdbsdasd0((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pyspointsàààcCsnti||id||id||id||id||id||idƒ|iSdS(Niii(smathssqrtsxsselfseyesyszsdistance(sselfsxsysz((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pyszindex,sc Cs÷||id}||id} ||id} ||| |||||} ||||||| |} ||||||||}|| | | | |ti| | | | ||ƒti||| | | | ƒSdS(Niii(sx1sselfseyessxsy1ssysz1sszsy2sz3sz2sy3snxsx3sx2snysnzsmathssqrt(sselfsx1sy1sz1sx2sy2sz2sx3sy3sz3sszssysnysnxsnzssx((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysangle/s"""(s__name__s __module__smathspis__init__spointszindexsangle(((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pyscentrals  sparallelcBs6tZeidd„Zd„Zd„Zd„ZRS(Ni´cCsÐ||9}||9}ti|ƒ ti|ƒdf|_ti|ƒ ti|ƒti|ƒ ti|ƒti|ƒf|_ti|ƒ ti|ƒti|ƒ ti|ƒti|ƒ f|_ dS(Ni( sphis anglefactorsthetasmathssinscossselfsasbsc(sselfsphisthetas anglefactor((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys__init__;s   %IcCs`|id||id||id||id||id||id|fSdS(Niii(sselfsasxsyszsb(sselfsxsysz((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pyspointGscCs1|id||id||id|SdS(Niii(sselfscsxsysz(sselfsxsysz((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pyszindexJsc Cs¸||| |||||} ||||||| |} ||||||||} |i d| |i d| |i d| ti| | | | | | ƒSdS(Niii(sy2sy1sz3sz1sz2sy3snxsx3sx1sx2snysnzsselfscsmathssqrt( sselfsx1sy1sz1sx2sy2sz2sx3sy3sz3snysnxsnz((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysangleMs"""(s__name__s __module__smathspis__init__spointszindexsangle(((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysparallel9s  iii iâÿÿÿic Ksõti|ƒ||_||_||_ti|ƒ|_ti|ƒ|_ ti|ƒ|_ ||_ ||_ ||_ ||_||_|idddƒ|idddƒjodpd|_|idddƒ|idddƒjodpd|_ti||||||ƒ|_xo| iƒD]a\} } | tj oHt| tiƒ o#ti| |i| ƒ|i| |idi%|_?|idi'|_@|idi)|_A|idi+|_B|idi:|_C|idi:|_D|idi0|_E|idi2|_Fngggf|_Gxí|iiƒD]Ü\} } | ddjp3tH| ƒdjo | diIƒ p| dd jotJd ƒ‚n| ddjo|iGdiK| ƒn>| ddjo|iGdiK| ƒn|iGd iK| ƒ| iL|iM| ƒqWdS( Niiÿÿÿÿisxsys2szsxyzs1sinvalid axis namei(Nsgraphs__init__sselfsxpossyposssizesunitstoptsxpos_ptsypos_ptssize_ptsxscalesyscaleszscales projectorskeyszindexsxordersyordersmathssqrts zindexscalesaxessitemssaxisnamesaaxissNones isinstancesaxiss linkedaxiss anchoredaxiss texrunnersokeyshas_keyslinearsbasepaths xbasepaths vbasepaths xvbasepathsgridpaths xgridpaths tickpoint_pts xtickpoint_pts tickpoints xtickpoints vtickpoint_ptsxvtickpoint_pts xvtickpoints tickdirectionsxtickdirectionsvtickdirectionsxvtickdirections ybasepaths yvbasepaths ygridpaths ytickpoint_pts ytickpointsyvtickpoint_pts vtickpoints yvtickpointsytickdirectionsyvtickdirections zbasepaths zvbasepaths zgridpaths ztickpoint_pts ztickpointszvtickpoint_pts zvtickpointsztickdirectionszvtickdirections axesnamesslensisdigits ValueErrorsappends setcreatecalls doaxiscreate( sselfsxpossyposssizesxscalesyscaleszscales projectorskeysaxessaxisnamesaaxissokey((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys__init__Ts’         ;;&  #  "%(() GcCsŒ|tjo|id}n|tjo|id}n|tjo|id}n|i|i|ƒ|i|ƒ|i|ƒƒSdS(Nsxsysz( sxaxissNonesselfsaxessyaxisszaxissvpos_ptsconvertsxsy(sselfsxsyszsxaxissyaxisszaxis((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pyspos_ptªs   cCsŒ|tjo|id}n|tjo|id}n|tjo|id}n|i|i|ƒ|i|ƒ|i|ƒƒSdS(Nsxsysz( sxaxissNonesselfsaxessyaxisszaxissvpossconvertsxsy(sselfsxsyszsxaxissyaxisszaxis((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pyspos³s   cCsu|iid|i|dd|i|dd|i|dƒ\}}|i ||i |i ||i fSdS(Nif0.5(sselfs projectorspointsxscalesvxsyscalesvyszscalesvzsxsysxpos_ptssize_ptsypos_pt(sselfsvxsvysvzsysx((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysvpos_pt¼scCsu|iid|i|dd|i|dd|i|dƒ\}}|i ||i |i ||i fSdS(Nif0.5(sselfs projectorspointsxscalesvxsyscalesvyszscalesvzsxsysxposssizesypos(sselfsvxsvysvzsysx((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysvposÂscCsN|iid|i|dd|i|dd|i|dƒ|i SdS(Nif0.5( sselfs projectorszindexsxscalesvxsyscalesvyszscalesvzs zindexscale(sselfsvxsvysvz((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysvzindexÈsc Cs³|iid|i|dd|i|dd|i|dd|i|dd|i|dd|i|dd|i|dd|i|dd|i| dƒ SdS(Nif0.5(sselfs projectorsanglesxscalesvx1syscalesvy1szscalesvz1svx2svy2svz2svx3svy3svz3( sselfsvx1svy1svz1svx2svy2svz2svx3svy3svz3((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysvangleÍscCs3ti|i|||ƒ|i|||ƒŒSdS(s?returns a geodesic path between two points in graph coordinatesN( spathsline_ptsselfsvpos_ptsvx1svy1svz1svx2svy2svz2(sselfsvx1svy1svz1svx2svy2svz2((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys vgeodesicØscCs3ti|i|||ƒ|i|||ƒŒSdS(sGreturns a geodesic path element between two points in graph coordinatesN( spaths lineto_ptsselfsvpos_ptsvx1svy1svz1svx2svy2svz2(sselfsvx1svy1svz1svx2svy2svz2((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys vgeodesic_elÜsc Csñ|djo>|i|d||i|||d||i||ƒSn£|djo>|i||d||i|||d||i|ƒSnX|djo>|i|||d||i|||d||iƒSn tdƒ‚dS(s`returns an error cap path for a given coordinate, lengths and point in graph coordinatesif0.5iisdirection invalidN( s coordinatesselfs vgeodesicsvxs length_ptssize_ptsvysvzs ValueError(sselfs coordinates length_ptsvxsvysvz((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysvcap_ptàs > > >c Cs¶|io:|i|ddƒ\}}|i|ddƒ\}}n7|i|ddƒ\}}|i|ddƒ\}}||}||}t i ||ƒ}||||fSdS(Nii( sselfsxordersvpos_ptsvxsx1_ptsy1_ptsx2_ptsy2_ptsdx_ptsdy_ptsmathshypotsnorm( sselfsvxsx2_ptsdy_ptsy1_ptsx1_ptsdx_ptsnormsy2_pt((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysxvtickdirectionìs   c Cs¶|io:|id|dƒ\}}|id|dƒ\}}n7|id|dƒ\}}|id|dƒ\}}||}||}t i ||ƒ}||||fSdS(Nii( sselfsyordersvpos_ptsvysx1_ptsy1_ptsx2_ptsy2_ptsdx_ptsdy_ptsmathshypotsnorm( sselfsvysdy_ptsx2_ptsx1_ptsy1_ptsdx_ptsnormsy2_pt((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysyvtickdirectionøs   cCsr|i|||ƒ\} } |i|||ƒ\} }| | } || }ti| |ƒ} | | || fSdS(N(sselfsvpos_ptsvx1svy1svz1sx1_ptsy1_ptsvx2svy2svz2sx2_ptsy2_ptsdx_ptsdy_ptsmathshypotsnorm(sselfsvx1svy1svz1svx2svy2svz2sdy_ptsy2_ptsx2_ptsx1_ptsy1_ptsdx_ptsnorm((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysvtickdirections   c Csƒtiti|i|ddƒŒti|i|ddƒŒti|i|ddƒŒti|i|ddƒŒtiƒƒSdS(Nii(spaths moveto_ptsselfsvpos_ptsvxs lineto_pts closepath(sselfsvx((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys xvgridpath s !c Csƒtiti|id|dƒŒti|id|dƒŒti|id|dƒŒti|id|dƒŒtiƒƒSdS(Nii(spaths moveto_ptsselfsvpos_ptsvys lineto_pts closepath(sselfsvy((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys yvgridpaths !c Csƒtiti|idd|ƒŒti|idd|ƒŒti|idd|ƒŒti|idd|ƒŒtiƒƒSdS(Nii(spaths moveto_ptsselfsvpos_ptsvzs lineto_pts closepath(sselfsvz((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys zvgridpaths !cs\ˆiˆi|ƒodSnˆiƒ|djo6ˆiditi‡d†‡d†ˆi ƒƒnî|djo6ˆiditi‡d†‡d†ˆi ƒƒn«|djo6ˆiditi‡d†‡d †ˆi ƒƒnh|d jo6ˆid iti‡d †‡d †ˆi ƒƒn%|d jo6ˆid iti‡d†‡d†ˆi ƒƒnâ|djo6ˆiditi‡d†‡d†ˆi ƒƒnŸ|djo6ˆiditi‡d†‡d†ˆi ƒƒn\|djo6ˆiditi‡d†‡d†ˆi ƒƒn|djo6ˆiditi‡d†‡d†ˆi ƒƒnÖ|djo6ˆiditi‡d†‡d†ˆi ƒƒn“|djo6ˆiditi‡d †‡d!†ˆi ƒƒnP|d"jo6ˆid"iti‡d†‡d#†ˆi ƒƒn t d$ƒ‚dS(%Nsxcsˆi|ˆidƒS(Ni(sselfsvpos_ptsvxsxorder(svx(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys&scs&ˆi|ˆid|dˆidƒS(Nii(sselfsvtickdirectionsvxsxorder(svx(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys'ssx2csˆi|dˆidƒS(Nii(sselfsvpos_ptsvxsxorder(svx(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys*scs&ˆi|dˆid|ˆidƒS(Nii(sselfsvtickdirectionsvxsxorder(svx(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys+ssx3csˆi|ˆidƒS(Ni(sselfsvpos_ptsvxsxorder(svx(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys.scs&ˆi|ˆid|dˆidƒS(Ni(sselfsvtickdirectionsvxsxorder(svx(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys/ssx4csˆi|dˆidƒS(Ni(sselfsvpos_ptsvxsxorder(svx(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys2scs&ˆi|dˆid|ˆidƒS(Ni(sselfsvtickdirectionsvxsxorder(svx(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys3ssycsˆiˆi|dƒS(Ni(sselfsvpos_ptsyordersvy(svy(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys6scs&ˆiˆi|ddˆi|dƒS(Nii(sselfsvtickdirectionsyordersvy(svy(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys7ssy2csˆidˆi|dƒS(Nii(sselfsvpos_ptsyordersvy(svy(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys:scs&ˆidˆi|dˆi|dƒS(Nii(sselfsvtickdirectionsyordersvy(svy(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys;ssy3csˆiˆi|dƒS(Ni(sselfsvpos_ptsyordersvy(svy(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys>scs&ˆiˆi|ddˆi|dƒS(Ni(sselfsvtickdirectionsyordersvy(svy(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys?ssy4csˆidˆi|dƒS(Ni(sselfsvpos_ptsyordersvy(svy(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysBscs&ˆidˆi|dˆi|dƒS(Ni(sselfsvtickdirectionsyordersvy(svy(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysCsszcsˆidd|ƒS(Ni(sselfsvpos_ptsvz(svz(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysFscsˆidd|dd|ƒS(Nii(sselfsvtickdirectionsvz(svz(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysGssz2csˆidd|ƒS(Nii(sselfsvpos_ptsvz(svz(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysJscsˆidd|dd|ƒS(Nii(sselfsvtickdirectionsvz(svz(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysKssz3csˆidd|ƒS(Nii(sselfsvpos_ptsvz(svz(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysNscsˆidd|dd|ƒS(Nii(sselfsvtickdirectionsvz(svz(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysOssz4csˆidd|dd|ƒS(Nii(sselfsvtickdirectionsvz(svz(sself(sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysSss#4 axis per dimension supported only( sselfsdidsdoaxispositionersaxisnamesdorangessaxess setpositioners positionersflexlineaxispos_pts xvgridpaths yvgridpaths zvgridpathsNotImplementedError(sselfsaxisname((sselfsC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysdoaxispositioner!sh                         cCsF|i|iƒodSnx$|iiƒD]}|i|ƒq+WdS(N(sselfsdidsdolayoutsaxesskeyssaxisnames doaxiscreate(sselfsaxisname((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysdolayoutXs cCs|i|iƒodSndS(N(sselfsdids dobackground(sself((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys dobackground^scCs]|i|iƒodSn|iƒ|iƒx'|iiƒD]}|i|i ƒq?WdS(N( sselfsdidsdoaxessdolayouts dobackgroundsaxessvaluessaxissinsertscanvas(sselfsaxis((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysdoaxesbs  cCs3|i|iƒodSn|iƒ|iƒ|itj oð|ii|iƒ}|i ƒ}d„}|o»||i |i |i |i|i|iiti|iiƒ|iiƒ}||i|i|i |i|i|iiti|iiƒ|iiƒ}|i|ti||ƒgƒq/ndS(Nc Csp|d||||||||d|}d||d|dd|||d|}||SdS(Nf0.5ii( spminscmaxscminsdistsposspmaxsppossinsidescpos( spminspmaxscminscmaxspossdistsinsidescpossppos((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysparentchildalignrs22( sselfsdidsdokeys dobackgroundsdostylesskeysNonespaints plotitemsscsbboxsparentchildalignsxpos_ptssize_ptsllx_ptsurx_ptshpossunitstoptshdistshinsidesxsypos_ptslly_ptsury_ptsvpossvdistsvinsidesysinsertstrafos translate_pt(sselfscsparentchildalignsysbboxsx((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysdokeyjs      * *(s__name__s __module__scentralsparallelsNones goldenmeans__init__spos_ptspossvpos_ptsvpossvzindexsvangles vgeodesics vgeodesic_elsvcap_ptsxvtickdirectionsyvtickdirectionsvtickdirections xvgridpaths yvgridpaths zvgridpathsdoaxispositionersdolayouts dobackgroundsdoaxessdokey(((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pysgraphxyzs.11V           7   (s __future__s nested_scopessmathsresstringswarningsspyxscanvasspathstrafosunits pyx.graphsstylespyx.graph.axissaxiss positionerssqrts goldenmeans styledatasplotitemsgraphsgraphxysgraphxyz(splotitemscanvassstrings nested_scopesswarningssgraphxyzsgraphsgraphxysstyles styledatasresunits goldenmeanspaths positionersaxissmathstrafo((sC/mnt/gmirror/ports/graphics/py-PyX/work/PyX-0.10/pyx/graph/graph.pys?s $  Rõ