
    vj	                         d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z	 ddl
mZ ddl
mZ  e        G d d	             Zd
 Zedk(  r e        yy)zJ
Installation requirements:
    pip install trame trame-vuetify trame-vtk
    )simple)
get_server)TrameAppchange)SinglePageLayout)paraview)vuetify3c                   \    e Zd Zd	dZed        Zed        Z ed      d        Zd Z	d Z
y)
ConeAppNc                     t        j                         | _        t        j                  | j                        | _        t        j
                         | _        t        |d      | _        d| j                  _
        | j                         | _        y )Nvue3)client_typeParaView - Cone)r   ConeconeShowrepresentationRenderviewr   serverstatetrame__title	_build_uiui)selfr   s     >/DATA/.local/lib/python3.12/site-packages/trame/app/pv_demo.py__init__zConeApp.__init__   s[    KKM	$kk$))4MMO	 !V<"3

.."    c                 .    | j                   j                  S N)r   r   r   s    r   r   zConeApp.state"   s    {{   r   c                 .    | j                   j                  S r    )r   
controllerr!   s    r   ctrlzConeApp.ctrl&   s    {{%%%r   
resolutionc                 Z    || j                   _        | j                  j                          y r    )r   
Resolutionr$   view_update)r   r%   _s      r   on_resolution_changezConeApp.on_resolution_change*   s    )				r   c                 &    d| j                   _        y )N   )r   r%   r!   s    r   reset_resolutionzConeApp.reset_resolution/   s     !

r   c                    t        | j                  d      5 }| j                  j                  |j                  _        |j                  j                  d       |j                  5  t        j                          t        j                  ddddddd	
       t        j                  dd       t        j                  d| j                        5  t        j                  d       d d d        d d d        |j                   5  t        j"                  dd      5  t%        j&                  | j(                  d      }|j*                  | j                  _        |j,                  | j                  _        d d d        d d d        |cd d d        S # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   4xY w# 1 sw Y   8xY w# 1 sw Y   y xY w)NT)full_heightr   )r%   r,      <      compactzmax-width: 300px)v_modelminmaxstephide_detailsdensitystylezmx-2)verticalclasses)iconclickzmdi-undo-variantzpa-0 fill-height)fluidr<   )interactive_ratio)r   r   r$   view_reset_camerar=   r>   titleset_texttoolbarv3VSpacerVSliderVDividerVBtnr-   VIconcontent
VContainer
pv_widgetsVtkRemoteViewr   reset_cameraupdater(   )r   layout	html_views      r   r   zConeApp._build_ui2   s@   dkkt< $		 ; ;FKKLL!!"34



-!%%, T6:WW$d.C.CDHH/0 E   ]]7IJ * 8 8VW XI2;2H2HDII/,5,<,<DII) K   3 =<  ED    KJ  ' =<sn   AF;%A)FF$F,F; F/AF#0F/8	F;FFF 	F;#F,(F//F8	4F;;Gr    )__name__
__module____qualname__r   propertyr   r$   r   r*   r-   r    r   r   r   r      sR    	# ! ! & & L   "r   r   c                  P    t               } |j                  j                  di |  y )NrW   )r   r   start)kwargsapps     r   mainr\   R   s     
)CCJJvr   __main__N)__doc__r   r   	trame.appr   trame.decoratorsr   r   trame.ui.vuetify3r   trame.widgetsrM   r	   rE   r   r\   rS   rW   r   r   <module>rc      sW   
    - . 
6 6 6x zF r   