;i `dZddlmZmZddlmZddlmZm Z m Z Gdde j Z dS) z Vector.py - Extension of QVector3D which adds a few missing methods. Copyright 2010 Luke Campagnola Distributed under MIT/X11 license. See license.txt for more information. )acosdegrees) functions)QT_LIBQtCoreQtGuic<eZdZdZdZdZdZdZdZdZ dZ d S) Vectorz8Extension of QVector3D which adds a few helpful methods.c|}t|dkrt|dtjrQt |dt |ddf}nt|dtjs t|dtjrQt |d t |d df}n@t|ddrt|dtj sxt|d}t|dkr|dt|dkr%t!dt|dz|}nt|dtj rM|d |d |df}n$t|dkr|d|ddf}tj j|g|RdS)a Handle additional constructions of a Vector ============== ================================================================================================ **Arguments:** *args* Could be any of: * 3 numerics (x, y, and z) * 2 numerics (x, y, and `0` assumed for z) * Either of the previous in a list-like collection * 1 QSizeF (`0` assumed for z) * 1 QPointF (`0` assumed for z) * Any other valid QVector3D init args. ============== ================================================================================================ rr __getitem__z-Cannot init Vector with sequence of length %dN)len isinstancerQSizeFfloatwidthheightQPointQPointFxyhasattrr QVector3Dlistappend Exceptionz__init__)selfargsinitArgsvalss DC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\pyqtgraph/Vector.pyr zVector.__init__s  t99>>$q'6=11 A!$q'--//22E$q'..:J:J4K4KQODGV]33 Az$q'6>7Z7Z A!$q'))++..d1giikk0B0BAFa-00 ADGU_9]9] ADG}}t99>>KKNNNt99>>#$SVYZ^_`ZaVbVb$bcccDGU_55 A799;;Q T!WYY[[@ YY!^^Qa!,H  1111111cdS)Nrr!s r%__len__zVector.__len__3sqr&c|dkr|S|dkr|S|dkr|Stdt |zNrrrzPoint has no index %s)rrr IndexErrorstr)r!is r%r zVector.__getitem__6s^ 666688O !VV6688O !VV6688O4s1vv=>> >r&c|dkr||S|dkr||S|dkr||Stdt |zr,)setXsetYsetZr-r.)r!r/rs r% __setitem__zVector.__setitem__@sg 6699Q<<  !VV99Q<<  !VV99Q<< 4s1vv=>> >r&c#K|V|V|VdSN)rrrr)s r%__iter__zVector.__iter__Js=ffhhffhhffhhr&c|}|}|dks|dkrdSttjtj||||zz dd}t|S)zBReturns the angle in degrees between this vector and the vector a.gNgg?)lengthrfn clip_scalarr r dotProductr)r!an1n2radss r%anglez Vector.angleOsx [[]] XXZZ 88rRxx4BN5?#=#=dA#F#F"r'#RTXZ]^^__t}}r&ctt|t|t|Sr6)r absrrrr)s r%__abs__zVector.__abs__\s>c$&&((mmS]]CMMBBBr&N) __name__ __module__ __qualname____doc__r r*r r4r7rArDr(r&r%r r sBB"2"2"2H??????   CCCCCr&r N) rHmathrrrr:Qtrrr rr r(r&r%rLs %%%%%%%%%%QCQCQCQCQCU_QCQCQCQCQCr&