
    pj                     B   d dl Z d dlZd dlZd dlZej                  j                  dd      Z ej                  e      ej                  d<   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mZmZ  e j,                  e      ZddgfdZddgfdZddgfdZd Zy)    NVTK_MODULE_NAME
vtkmodules
vtk_module)vtkCompositeDataGeometryFilter)vtkDataSetSurfaceFilter   )extract_required_fieldsget_array_description)
class_name)	serialize)reference_idwrap_idget_js_array_typeNormalsTCoordsc                 0   |r~|j                         rmi }i }t        |j                         j                               }|dvrd|v rdnd|d<   t        |j                         j                         |fi |}	d|	d<   |	|d<   |j	                         rd|j	                         j                         j                         d	kD  r5t        |j	                         j                         |      }
|
|d
<   d|d
   d<   |j                         rd|j                         j                         j                         d	kD  r5t        |j                         j                         |      }||d<   d|d   d<   |j                         rd|j                         j                         j                         d	kD  r5t        |j                         j                         |      }||d<   d|d   d<   |j                         rd|j                         j                         j                         d	kD  r5t        |j                         j                         |      }||d<   d|d   d<   g |d<   t        |d   | |||       t        |       |t        |      |dS t        j                  d       y )N)Float32ArrayFloat64Array32r   r   dataType	vtkPointsvtkClasspointsr   vertsvtkCellArraylinespolysstripsfieldsparentidtype
propertieszThis dataset has no points!)	GetPointsr   GetDatar
   GetVertsGetNumberOfTuplesGetLinesGetPolys	GetStripsr	   r   r   loggerdebug)r!   dataset
dataset_idcontextdepthrequested_fieldsr$   convertjs_point_typesr   _verts_lines_polys_stripss                 S/DATA/.local/lib/python3.12/site-packages/trame_vtk/modules/vtk/serializers/data.pypolydata_serializerr:      s    7$$&
 *7+<+<+>+F+F+HI!AA"&."8n J ''')7
6=
 )z%
8 '"2"2"4"<"<">"P"P"RUV"V*7+;+;+=+E+E+GQF"(Jw.<Jw
+ '"2"2"4"<"<">"P"P"RUV"V*7+;+;+=+E+E+GQF"(Jw.<Jw
+ '"2"2"4"<"<">"P"P"RUV"V*7+;+;+=+E+E+GQF"(Jw.<Jw
+ !!#++-??AAE+G,=,=,?,G,G,I7SG#*Jx /=Jx ,  "
8x &'7<L	

 #6*w'$	
 	
 LL./    c                 ^   d }|j                  d      r<t               }|j                  |       |j                          |j	                         }nO|j                  d      r<t               }|j                  |       |j                          |j	                         }nd }t        | |||||      S )NvtkCompositeDataSetvtkUnstructuredGrid)IsAr   SetInputDataUpdate	GetOutputr   r:   )r!   data_objectdata_object_idr0   r1   r2   r.   gfs           r9   merge_to_polydata_serializerrF   Y   s     G,-+-
$
		,,.	.	/$&
$
		,,. %9I r;   c           	      N   t        |d      r7t        d      D cg c]"  }|j                         j                  d|      $ }}ng d}g }t	        || ||d       t        |       |t        |      |j                         |j                         |j                         ||ddS c c}w )NGetDirectionMatrix	   r   )	r   r   r   r   r   r   r   r   r   *)spacingoriginextent	directionr   r    )
hasattrrangerH   
GetElementr	   r   r   
GetSpacing	GetOrigin	GetExtent)	r!   r.   r/   r0   r1   r2   irN   r   s	            r9   imagedata_serializerrV   z   s     w,-LQRSHUHqW//1<<QBH	U/	 FFFGWcB v&7#))+'')'')"
	  Vs   'B"c                    |j                         }d }d }g }g }	i }
|rd }t        |d      st        j                  d       n|j	                         }|rMt        |      }t        |||||dz         }|r.|	j                  |       |j                  dt        |      gg       d }t        |d      r|j                         }nt        j                  d       |rMt        |      }t        |||||dz         }|r.|	j                  |       |j                  dt        |      gg       |j                         rXdgd	z  }|j                         }t        d
      D ]/  }t        d
      D ]  }|d
|z  z   }|j                  ||      ||<   ! 1 ||
d<   |dk(  s|r{|ryt        |       |t        |      ||j                         |j                         |j!                         |j#                         |j%                         |j'                         d|
||	dS y )N	GetMapperz+This actor does not have a GetMapper methodr   	setMapperGetPropertyz-This actor does not have a GetProperty methodsetPropertyr         
userMatrix)
visibilitypickabledragable	useBoundsrL   positionscale)r!   r"   r#   r$   callsdependencies)GetVisibilityrO   r,   r-   rX   r   r   appendr   rZ   GetUserMatrixrP   rQ   r   GetPickableGetDragableGetUseBoundsrS   GetPositionGetScale)r!   actoractor_idr0   r1   actor_visibilitymapper_instanceproperty_instancere   rf   add_onmapper	mapper_idpropprop_iduser_matrixmatrixrU   jidxs                       r9   generic_volume_serializerr}      s"    **,OELFuk*LLFG__&F$V,I'vy'5ST9UO##O4kGI,>+?@A5-($$&DLLHI"4(G )%wQR S ##$56mgg.>-?@A cBh$$&qA1X!a%i#)#4#4Q#:C     +|15F"6*u% /!--/!--/"//1//+!--/)  (%
 	
* r;   )loggingos	importlibsysenvirongetvtk_module_nameimport_modulemodulesvtk_module.vtkFiltersGeometryr   r   helpersr	   r
   registryr   r   utilsr   r   r   	getLogger__name__r,   r:   rF   rV   r}    r;   r9   <module>r      s     	  
**..!2LA3I33ODL  H A C     ; ;			8	$ DMiBX>T  +D DMiBX:Er;   