;i,XddlZddlmZddlmZddlmZGddejZ dS)N) functions)QtGui)Vectorc,eZdZdZdZddZdZdZdS) Transform3DzB Extension of QMatrix4x4 with some helpful methods added. ct|dkrt|dtttjfr5d|dD}t|dkrt dnGt|dtjr't|d }tjj |g|RdS)Nrrcg|] }|D]}| Sr ).0yxs IC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\pyqtgraph/Transform3D.py z(Transform3D.__init__..s%666aA66q6666z5Single argument to Transform3D must have 16 elements.) len isinstancelisttuplenpndarray TypeErrorr QMatrix4x4 copyDataTo__init__)selfargss rrzTransform3D.__init__ s t99>>$q'D%#<== 26647666t99??#$[\\\#DGU%566 2DG..0011 !$.......rcx|dkr:tj|ddS|dkrftj|dd}|d|d<|dddf|dddf<|ddddfSt d)NrzArgument 'nd' must be 2 or 3)rarrayrreshape Exception)rndms rmatrixzTransform3D.matrixs 778DOO--..66q;; ; 1WW**++33Aa88AQ4AaDqqqsVAaaacFRaRU8O:;; ;rcft|tjr|jddvr|jdkrt j||S|jdkrtj |t|}tj | | |gd|jdSdSt|tt frtj |t|}t#|| | |gdt%|Stj ||S)zZ Extends QMatrix4x4.map() to allow mapping (3, ...) arrays of coordinates r)r"rr"rN)rrrshapendimfntransformCoordinatesrrmaprr#rr zrrtyper)robjvs rr.zTransform3D.map"sG c2: & & 339Q<5+@+@x1}}.tS999Q$((vc{{;;xqssuu 566} ! }EEdE] + + 3 $$T6#;;77A499acceeQSSUUACCEE233ISXXI> >#''c22 2rchtj|\}}t||fS)N)rrinvertedr)rinvbs rr4zTransform3D.inverted2s/!**400Q3""rN)r)__name__ __module__ __qualname____doc__rr(r.r4r rrrrs_ / / / < < < <333 #####rr) numpyrrr,Qtrrrrr rrr>s~,#,#,#,#,#%",#,#,#,#,#r