;i dZddlmZddlZddlmZmZmZm Z ddl m Z m Z dZ GddejZejde Zeed ed d d eZee e ed d eeeZee dz e dz d eeeZeeedkrejdSdS)z= Demonstrate using QPainter on a subclass of GLGraphicsItem. N) GLAxisItemGLGraphicsItem GLGridItem GLViewWidget)QtCoreQtGui c0eZdZfdZdZdZdZxZS) GLPainterItemc t|dd}||dS)N glOptionsadditive)super__init__pop setGLOptions)selfkwdsglopts __class__s TC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\pyqtgraph/examples/GLPainterItem.pyrzGLPainterItem.__init__sF +z22 &!!!!!cjtjtj}tjtj}|j|jz}t j|}tj | }t j}| |||| ||zSN)GL glGetDoublevGL_MODELVIEW_MATRIXGL_PROJECTION_MATRIXTr QMatrix4x4raveltolistrQRectFviewrectviewportleftbottomwidthheight)r modelview projectionmvpr%ndc_to_viewports rcompute_projectionz GLPainterItem.compute_projectionsOB$:;; _R%<== lY[(syy{{113344}TYY[[--//00*,,  dkkmmTZZ\\DKKMM>ZZZ$$rc|tj|}|||dSr) setupGLStaterQPainterr$drawend)rpainters rpaintzGLPainterItem.paint sN .-- ' rc F|tjjj|t jjj t jjj z| }tjj }|||j|jzd|||j|jzd|||j|jzd| }g}|d}|d|dd|dd|ddd D]#}||d ||d$| }|d |dd|dd|ddd |} |||j|jz| |} t6d z} t9| | dzD]|} t9| | dzD]e} | | kr| | krt j| | d}| |}| |ddf}dS)NTRBLBRcenterz center : (z.1fz, ))distancefov elevationazimuthz : zxyz : ( r)!setPenrQt GlobalColorwhitesetRenderHintsrr2 RenderHint AntialiasingTextAntialiasingr$r% AlignmentFlagdrawTextAlignTop AlignRight AlignBottom AlignLeft cameraParamsappendxyzcameraPositionjoinr/SIZErange QVector3DmaptoPointF drawEllipse)rr5r%afoptslinesr;keyxyzinfoprojecthsizexiyivec3poss rr3zGLPainterItem.draw'svy,2333u~8EHaHrrsssyy{{!! Y $r{R]:DAAAr~  5 5C LLC33DI333 4 4 4 4iikk((** KsuuwwKKKceeggKKKSUUWWKKKKLLLyyr{R\94@@@))++ a(( / /BUFE!G,, / /%<rsQQQQQQQQQQQQ&&&&&&&& :/:/:/:/:/N1:/:/:/z  !"""lnn 5666rR;;; :<<tAq H :<<aa### H MOO  I z BGIIIIIr