a
    Df                     @   s   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 deZeG dd deZ G dd de Z!G dd de Z"G d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@30.1.0/vtk.jsc                   @   sh   e Zd ZdZeddZeddZeeddZ	eddZ
e Zed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	   Zaxes_opacityr   digitsr   ZfontsizeZgrid_opacityr   originr   Z	show_gridr   r   ZxtickerZytickerZzticker r#   r#   ]/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/panel/models/vtk.pyr      s   





r   c                   @   s   e Zd ZdZegZedd Zed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dZeddZeddZed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                 C   s   t tS )N)r   r%   clsr#   r#   r$   __javascript__5   s    zAbstractVTKPlot.__javascript__c                 C   s
   d| j iS )Nvtk)r(   r&   r#   r#   r$   __js_skip__9   s    zAbstractVTKPlot.__js_skip__r)   Nexports)pathsshimi,  r   F)r   r   r   r    vtk_cdnZ__javascript_raw__r   r(   r*   Z__js_require__r
   r   Zaxesr   r   r   Zcamerar   r   Zcolor_mappersr   heightr   Zorientation_widgetZinteractive_orientation_widgetwidthannotationsr#   r#   r#   r$   r%   ,   s$   






r%   c                   @   sP   e Zd ZdZeeeZeeZ	e
ddZe
ddZe
dddZeeed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r5   N)r   r   r   r    r   r   r   Zarraysr   Zarrays_processedr   enable_keybindingsZone_time_resetZrebuildr   Zscener#   r#   r#   r$   r3   V   s   


r3   c                   @   s2   e Zd ZdZeeddZeeddZe	ddZ
dS )	VTKJSPlotzK
    Bokeh model for plotting a 3D scene saved in the `.vtk-js` format
    zThe serialized vtk.js datar6   zThe data URLFr   N)r   r   r   r    r   r   datar   Zdata_urlr   r7   r#   r#   r#   r$   r8   h   s   r8   c                   @   s   e Zd ZdZeddZeddZedddZ	e
eeeZed	dZed
dZeddZeddZeedddZeeeZeddZeddZed
dZeddZeddZeddZeddZeddZeddZeddZ dS )VTKVolumePlotzS
    Bokeh model dedicated to plot a volumetric object with the help of vtk-js
    g?r   zColormap Namer6   TzL
        If True the volume controller panel options is expanded in the viewr4   gffffff?FZfast_linearZlinearZnearestr   z#52576eg?r   g333333?g       @N)!r   r   r   r    r	   Zambientr   Zcolormapr   Zcontroller_expandedr   r   r   r9   ZdiffuseZdisplay_slicesZdisplay_volumeZedge_gradientr   r   interpolationZmapperZnan_opacityZrender_backgroundZrescaleZsamplingZshadowr   Zslice_iZslice_jZslice_kZspecularZspecular_powerr#   r#   r#   r$   r:   t   s*   















r:   N)$r    Zbokeh.core.enumsr   Zbokeh.core.has_propsr   Zbokeh.core.propertiesr   r   r   r   r   r	   r
   r   r   r   r   r   r   Zbokeh.modelsr   r   r   Zio.resourcesr   utilr   Zlayoutr   Znpm_cdnr/   r   r%   r3   r8   r:   r#   r#   r#   r$   <module>   s   <)