B
    ?=^›  ã               @   sZ   d Z yddlmZ W n  ek
r4   ddlmZ Y nX ddlZddlZG dd„ de	ƒZ
dS )zYLCM type definitions
This file automatically generated by lcm.
DO NOT MODIFY BY HAND!!!!
é    N)ÚBytesIOc               @   s„   e Zd ZddgZddgZddgZdd„ Zdd	„ Zd
d„ Zdd„ Z	e
e	ƒZ	dd„ Ze
eƒZdZdd„ Ze
eƒZdZdd„ Ze
eƒZdS )Ú
lcm_dval_tÚheaderÚvalzmbari.header_tÚdoubleNc             C   s   t  ¡ | _d| _d S )Ng        )ÚmbariÚheader_tr   r   )Úself© r
   ú@X:\800139.EyeRIS\EyeRIS.Software\ml-tracking\mbari\lcm_dval_t.pyÚ__init__   s    
zlcm_dval_t.__init__c             C   s&   t ƒ }| t ¡ ¡ |  |¡ | ¡ S )N)r   Úwriter   Ú_get_packed_fingerprintÚ_encode_oneÚgetvalue)r	   Úbufr
   r
   r   Úencode   s    
zlcm_dval_t.encodec             C   s<   | j  ¡ tj ¡ kst‚| j  |¡ | t d| j	¡¡ d S )Nz>d)
r   r   r   r   ÚAssertionErrorr   r   ÚstructÚpackr   )r	   r   r
   r
   r   r      s    zlcm_dval_t._encode_onec             C   s<   t | dƒr| }nt| ƒ}| d¡t ¡ kr2tdƒ‚t |¡S )NÚreadé   zDecode error)Úhasattrr   r   r   r   Ú
ValueErrorÚ_decode_one)Údatar   r
   r
   r   Údecode$   s    
zlcm_dval_t.decodec             C   s0   t ƒ }tj | ¡|_t d|  d¡¡d |_|S )Nz>dr   r   )	r   r   r   r   r   r   Úunpackr   r   )r   r	   r
   r
   r   r   .   s    zlcm_dval_t._decode_onec             C   sF   t | krdS | t g }dtj |¡ d@ }|d> d@ |d?  d@ }|S )Nr   l   _=õ­BÉA l   ÿÿÿÿ é   é?   )r   r   r   Ú_get_hash_recursive)ÚparentsÚ
newparentsÚtmphashr
   r
   r   r    6   s     
zlcm_dval_t._get_hash_recursivec               C   s$   t jd krt dt  g ¡¡t _t jS )Nz>Q)r   Ú_packed_fingerprintr   r   r    r
   r
   r
   r   r   ?   s    
z"lcm_dval_t._get_packed_fingerprint)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__Ú__typenames__Ú__dimensions__r   r   r   r   Ústaticmethodr   Ú_hashr    r$   r   r
   r
   r
   r   r      s    r   )Ú__doc__ZcStringIO.StringIOÚStringIOr   ÚImportErrorÚior   Úmbari.header_tr   Úobjectr   r
   r
   r
   r   Ú<module>   s   