Ë
    ¯·g§  ã                   ób  — d Z ddlmZ ddlZi dej                  “dej
                  “dej                  “dej                  “dej                  “d	ej                  “d
ej                  “dej                  “dej                  “dej                  “dej                  “dej                  “dej                   “dej"                  “dej$                  “dej&                  “dej&                  “Zi ej                  d“ej
                  d“ej                  d“ej                  d“ej                  d“ej                  d“ej                  d“ej                  d“ej                  d“ej                  d“ej                  d“ej                  d “ej                   d!“ej"                  d"“ej$                  d#“ej&                  d$“Zi ej                  d%“ej
                  d&“ej                  d'“ej                  d(“ej                  d)“ej                  d*“ej                  d+“ej                  d,“ej                  d-“ej                  d.“ej                  d/“ej                  d0“ej                   d1“ej"                  d2“ej$                  d3“ej&                  d4“Zd5„ Zd>d6„Zd7„ Zd8„ Z G d9„ d:«      Zd;„ Zd<„ Zd=„ Zy)?zJ
Utility functions to mimic the template support functions for vtkVariant
é    )ÚvtkCommonCoreNÚvoidÚcharzunsigned charzsigned charÚshortzunsigned shortÚintzunsigned intÚlongzunsigned longz	long longzunsigned long longÚfloatÚdoubleÚstringÚvtkObjectBaseÚ	vtkObjectÚ ÚToCharÚToUnsignedCharÚToSignedCharÚToShortÚToUnsignedShortÚToIntÚToUnsignedIntÚToLongÚToUnsignedLongÚ
ToLongLongÚToUnsignedLongLongÚToFloatÚToDoubleÚToStringÚToVTKObjectÚIsValidÚIsCharÚIsUnsignedCharÚIsSignedCharÚIsShortÚIsUnsignedShortÚIsIntÚIsUnsignedIntÚIsLongÚIsUnsignedLongÚ
IsLongLongÚIsUnsignedLongLongÚIsFloatÚIsDoubleÚIsStringÚIsVTKObjectc                 ór   — t        t        |«      t        «      s	t        |   }t	        j
                  | |«      S )zñ
    Create a vtkVariant of the specified type, where the type is in the
    following format: 'int', 'unsigned int', etc. for numeric types,
    and 'string' for strings.  You can also use an
    integer VTK type constant for the type.
    )Ú
issubclassÚtyper   Ú_variant_type_mapr   Ú
vtkVariant©ÚvÚts     ú:lib/python3.12/site-packages/vtkmodules/util/vtkVariant.pyÚvtkVariantCreater7   C   s/   € ô ”d˜1“gœsÔ#Ü˜aÑ ˆä×#Ñ# A qÓ)Ð)ó    c                 óþ   — t        j                  | «      } |dk(  r| j                  «       }n"t        t	        |«      t
        «      s	t        |   } t        | t        |   «      «       r t        | t        |   «      «       S y)aA  
    Extract the specified value type from the vtkVariant, where the type is
    in the following format: 'int', 'unsigned int', etc. for numeric types,
    and 'string' for strings.  You can also use an
    integer VTK type constant for the type.  Set the type to 'None" to
    extract the value in its native type.
    N)
r   r2   ÚGetTyper/   r0   r   r1   ÚgetattrÚ_variant_check_mapÚ_variant_method_mapr3   s     r6   ÚvtkVariantExtractr>   P   sn   € ô 	× Ñ  Ó#€AàˆD‚yØ�I‰I‹K‰Üœ˜Q›¤Ô%Ü˜aÑ ˆà(„wˆqÔ$ QÑ'Ó(Ô*Ø1Œw�qÔ-¨aÑ0Ó1Ó3Ð3àr8   c                 óÄ   — t        t        |«      t        «      s	t        |   }t	        j
                  | |«      } | j                  «       r t        | t        |   «      «       S y)z÷
    Cast the vtkVariant to the specified value type, where the type is
    in the following format: 'int', 'unsigned int', etc. for numeric types,
    and 'string' for strings.  You can also use an
    integer VTK type constant for the type.
    N)	r/   r0   r   r1   r   r2   r   r;   r=   r3   s     r6   ÚvtkVariantCastr@   e   sR   € ô ”d˜1“gœsÔ#Ü˜aÑ ˆä× Ñ   AÓ&€Aà‡y�y„{Ø1Œw�qÔ-¨aÑ0Ó1Ó3Ð3àr8   c                 ó  — t        j                  | «      } t        j                  |«      }| j                  «       }|j                  «       }||k7  r||k  S | j                  «       }|j                  «       }|r|s||k  S  t	        | t
        |   «      «       } t	        |t
        |   «      «       }|t         j                  k(  rC|j                  «       }|j                  «       }	||	k7  r||	k  S |j                  |j                  k  S ||k  S )z<
    Compare variants by type first, and then by value.
    )	r   r2   r:   r   r;   r=   Ú
VTK_OBJECTÚGetClassNameÚ__this__)
Ús1Ús2Út1Út2Úv1Úv2Úr1Úr2Úc1Úc2s
             r6   ÚvtkVariantStrictWeakOrderrO   w   sö   € ô 
×	!Ñ	! "Ó	%€BÜ	×	!Ñ	! "Ó	%€Bà	�‰‹€BØ	�‰‹€Bð 
ˆR‚xØ�B‰wˆà	�‰‹€BØ	�‰‹€Bñ ™Ø�B‰wˆð 
.Œ�Ô(¨Ñ,Ó	-Ó	/€BØ	-Œ�Ô(¨Ñ,Ó	-Ó	/€Bð 
Œ]×%Ñ%Ò%Ø�_‰_ÓˆØ�_‰_ÓˆØ�Š8Ø˜‘7ˆNà—;‘; §¡Ñ,Ð,à�‰7€Nr8   c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚvtkVariantStrictWeakOrderKeyz2A key method (class, actually) for use with sort()c                 ó   — || _         y ©N)Úobj)ÚselfrT   Úargss      r6   Ú__init__z%vtkVariantStrictWeakOrderKey.__init__ž   s	   € Øˆ�r8   c                 ó.   — t        | j                  |«      S rS   )rO   rT   )rU   Úothers     r6   Ú__lt__z#vtkVariantStrictWeakOrderKey.__lt__    s   € Ü(¨¯©°5Ó9Ð9r8   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rW   rZ   © r8   r6   rQ   rQ   œ   s   „ Ù<òó:r8   rQ   c                 ób  — t        j                  | «      } t        j                  |«      }| j                  «       }|j                  «       }||k7  ry| j                  «       }|j                  «       }|s|sy||k7  ry t	        | t
        |   «      «       } t	        |t
        |   «      «       }||k(  S )zC
    Check two variants for strict equality of type and value.
    FT)r   r2   r:   r   r;   r=   )rE   rF   rG   rH   rI   rJ   rK   rL   s           r6   ÚvtkVariantStrictEqualityra   ¤   sª   € ô 
×	!Ñ	! "Ó	%€BÜ	×	!Ñ	! "Ó	%€Bà	�‰‹€BØ	�‰‹€Bð 
ˆR‚xØà	�‰‹€BØ	�‰‹€Bñ ™ØØ	ˆrŠØð 
.Œ�Ô(¨Ñ,Ó	-Ó	/€BØ	-Œ�Ô(¨Ñ,Ó	-Ó	/€Bà�"‰HÐr8   c                 óX   — t        j                  | «      t        j                  |«      k  S )z!
    Return true if s1 < s2.
    ©r   r2   ©rE   rF   s     r6   ÚvtkVariantLessThanre   Â   s%   € ô ×$Ñ$ RÓ(¬=×+CÑ+CÀBÓ+GÑGÐHr8   c                 óX   — t        j                  | «      t        j                  |«      k(  S )z"
    Return true if s1 == s2.
    rc   rd   s     r6   ÚvtkVariantEqualrg   É   s%   € ô ×$Ñ$ RÓ(¬M×,DÑ,DÀRÓ,HÑHÐIr8   rS   )r^   Ú
vtkmodulesr   ÚsysÚVTK_VOIDÚVTK_CHARÚVTK_UNSIGNED_CHARÚVTK_SIGNED_CHARÚ	VTK_SHORTÚVTK_UNSIGNED_SHORTÚVTK_INTÚVTK_UNSIGNED_INTÚVTK_LONGÚVTK_UNSIGNED_LONGÚVTK_LONG_LONGÚVTK_UNSIGNED_LONG_LONGÚ	VTK_FLOATÚ
VTK_DOUBLEÚ
VTK_STRINGrB   r1   r=   r<   r7   r>   r@   rO   rQ   ra   re   rg   r_   r8   r6   Ú<module>ry      sÈ  ðñõ %Û 
ðØ
ˆ]×#Ñ#ðà
ˆ]×#Ñ#ðð �m×5Ñ5ðð �M×1Ñ1ð	ð
 ˆm×%Ñ%ðð �}×7Ñ7ðð 
ˆM×!Ñ!ðð �]×3Ñ3ðð ˆ]×#Ñ#ðð �m×5Ñ5ðð �-×-Ñ-ðð ˜=×?Ñ?ðð ˆm×%Ñ%ðð ˆ}×'Ñ'ðð ˆ}×'Ñ'ðð  �m×.Ñ.ð!ð" �-×*Ñ*ð#Ð ð(Ø×Ñ˜Rðà×Ñ˜Xðð ×#Ñ#Ð&6ðð ×!Ñ! Nð	ð
 ×Ñ˜iðð ×$Ñ$Ð'8ðð ×Ñ˜Gðð ×"Ñ" _ðð ×Ñ˜Xðð ×#Ñ#Ð&6ðð ×Ñ ,ðð ×(Ñ(Ð+?ðð ×Ñ˜iðð ×Ñ˜zðð ×Ñ˜zðð  ×Ñ˜}ð!Ð ð&Ø×Ñ˜Yðà×Ñ˜Xðð ×#Ñ#Ð&6ðð ×!Ñ! Nð	ð
 ×Ñ˜iðð ×$Ñ$Ð'8ðð ×Ñ˜Gðð ×"Ñ" _ðð ×Ñ˜Xðð ×#Ñ#Ð&6ðð ×Ñ ,ðð ×(Ñ(Ð+?ðð ×Ñ˜iðð ×Ñ˜zðð ×Ñ˜zðð  ×Ñ˜}ð!Ð ò(
*óò*ò$"÷J:ñ :òò<IóJr8   