
    	e                     N   d Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZ ddlmZmZ ddlmZ ddlmZ dd	lmZ d
dlmZ ej         dZ G d de          Ze G d de                      Z  G d de           Z! G d de           Z" G d de           Z#dS )z;
Defines custom VTKPlot bokeh model to render VTK objects.
    )enumeration)abstract)AnyBoolBytesDictEnumFloatInstanceIntListNullableOverridePositiveString)ColorMapperModel   )config)bundled_files)classproperty   )HTMLBoxz/vtk.js@20.0.1/vtk.jsc                       e Zd ZdZ ed          Z ed          Z eed          Z	 ed          Z
 e            Z ed          Z eee          Z eee          Z eee          ZdS )VTKAxesz 
    A Bokeh model for axes
    r   default   g?TN)__name__
__module____qualname____doc__r
   axes_opacityr   digitsr   fontsizegrid_opacityr   originr   	show_gridr   r   xtickerytickerzticker     0lib/python3.11/site-packages/panel/models/vtk.pyr   r      s          5###LS^^^FxR(((H5%%%LSUUFT"""Id63Gd63Gd63GGGr-   r   c                   J   e Zd ZdZegZed             Zed             Zdedd         idddiidZ	 e
e          Z eee          Z e e
e                    Z ed	
          Z ed
          Z ed
          Z ed	
          Z e eee                    ZdS )AbstractVTKPlotzw
    Abstract Bokeh model for vtk plots that wraps around a vtk-js library and
    renders it inside a Bokeh plot.
    c                 *    t          t                    S )N)r   r0   clss    r.   __javascript__zAbstractVTKPlot.__javascript__4   s    _---r-   c                     d| j         iS )Nvtk)r4   r2   s    r.   __js_skip__zAbstractVTKPlot.__js_skip__8   s    s)**r-   r6   Nexports)pathsshimi,  r   F)r   r    r!   r"   vtk_cdn__javascript_raw__r   r4   r7   __js_require__r   r   axesr   r   r   camerar   r   color_mappersr   heightr   orientation_widgetinteractive_orientation_widgetwidthannotationsr,   r-   r.   r0   r0   +   s#        
 ". . ]. + + ]+ "&Iu%
 N 8GDT&#FD+..//MXc"""Fe,,,%)T%%8%8%8"HS!!!E$ttFC(())KKKr-   r0   c                       e Zd ZdZ eee          Z ee          Z	 e
d          Z e
d          Z e
dd          Z eeed          ZdS )	VTKSynchronizedPlotz6
    Bokeh model for plotting a VTK render window
    Fr   z@If true when scene change all the render is rebuilt from scratchr   helpz*The serialized vtk.js scene on json formatrJ   N)r   r    r!   r"   r   r   r   arraysr   arrays_processedr   enable_keybindingsone_time_resetrebuildr   scener,   r-   r.   rH   rH   U   s          T&%  FtF||e,,,T%(((Nd5'mnnnGD#STTTEEEr-   rH   c                   D    e Zd ZdZ eed          Z ed          ZdS )	VTKJSPlotzK
    Bokeh model for plotting a 3D scene saved in the `.vtk-js` format
    zThe serialized vtk.js datarK   Fr   N)	r   r    r!   r"   r   r   datar   rN   r,   r-   r.   rS   rS   g   sD          8F!ABBBDe,,,r-   rS   c                      e Zd ZdZ ed          Z ed          Z edd          Z	 e
 eee                    Z ed	          Z ed
          Z ed          Z ed          Z e eddd                    Z eee          Z ed          Z ed          Z ed
          Z ed          Z ed          Z ed          Z ed          Z ed          Z ed          Z ed          Z dS )VTKVolumePlotzS
    Bokeh model dedicated to plot a volumetric object with the help of vtk-js
    g?r   zColormap NamerK   TzL
        If True the volume controller panel options is expanded in the viewrI   gffffff?Ffast_linearlinearnearestr   z#52576eg?r   g333333?g       @N)!r   r    r!   r"   r
   ambientr   colormapr   controller_expandedr   r   r   rT   diffusedisplay_slicesdisplay_volumeedge_gradientr	   r   interpolationmappernan_opacityrender_backgroundrescalesamplingshadowr   slice_islice_jslice_kspecularspecular_powerr,   r-   r.   rV   rV   q   s         eC   Gv?+++H$t 3O P P P 8DD%%&&DeC   GT%(((NT$'''NE#&&&MD]8IFFGGMT&#F%"""Ky111d5!!!GuS!!!HT$Fc!nnnGc!nnnGc!nnnGuS!!!HU2&&&NNNr-   rV   N)$r"   bokeh.core.enumsr   bokeh.core.has_propsr   bokeh.core.propertiesr   r   r   r   r	   r
   r   r   r   r   r   r   r   bokeh.modelsr   r   r   io.resourcesr   utilr   layoutr   npm_cdnr<   r   r0   rH   rS   rV   r,   r-   r.   <module>ru      s.    ) ( ( ( ( ( ) ) ) ) ) )                              , + + + + + + +       ( ( ( ( ( (                  ^
2
2
2         e      0 
%* %* %* %* %*g %* %* 
%*RU U U U U/ U U U$- - - - - - - -,' ,' ,' ,' ,'O ,' ,' ,' ,' ,'r-   