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ddddddd	d
dgZdddddddddddgZddddddddd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 )Úmbt_target_tÚheaderÚrange_metersÚbearing_degreesÚz_metersÚrange_validÚbearing_validÚz_validÚ
left_pix_xÚ
left_pix_yÚright_pix_xÚright_pix_yzmbari.header_tÚdoubleÚbooleanNc             C   sJ   t  ¡ | _d| _d| _d| _d| _d| _d| _d| _	d| _
d| _d| _d S )Ng        F)ÚmbariÚheader_tr   r   r   r   r   r	   r
   r   r   r   r   )Úself© r   úBX:\800139.EyeRIS\EyeRIS.Software\ml-tracking\mbari\mbt_target_t.pyÚ__init__   s    
zmbt_target_t.__init__c             C   s&   t ƒ }| t ¡ ¡ |  |¡ | ¡ S )N)r   Úwriter   Ú_get_packed_fingerprintÚ_encode_oneÚgetvalue)r   Úbufr   r   r   Úencode"   s    
zmbt_target_t.encodec             C   s`   | j  ¡ tj ¡ kst‚| j  |¡ | t d| j	| j
| j| j| j| j| j| j| j| j¡¡ d S )Nz>dddbbbdddd)r   r   r   r   ÚAssertionErrorr   r   ÚstructÚpackr   r   r   r   r	   r
   r   r   r   r   )r   r   r   r   r   r   (   s    zmbt_target_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mbt_target_t.decodec             C   s¬   t ƒ }tj | ¡|_t d|  d¡¡\|_|_	|_
tt d|  d¡¡d ƒ|_tt d|  d¡¡d ƒ|_tt d|  d¡¡d ƒ|_t d|  d¡¡\|_|_|_|_|S )Nz>dddé   Úbé   r   z>ddddé    )r   r   r   r$   r   r   Úunpackr    r   r   r   Úboolr   r	   r
   r   r   r   r   )r   r   r   r   r   r$   7   s    "zmbt_target_t._decode_onec             C   sF   t | krdS | t g }dtj |¡ d@ }|d> d@ |d?  d@ }|S )Nr   l   àã ‹O™F
 l   ÿÿÿÿ r)   é?   )r   r   r   Ú_get_hash_recursive)ÚparentsÚ
newparentsÚtmphashr   r   r   r.   C   s     
z mbt_target_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   L   s    
z$mbt_target_t._get_packed_fingerprint)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__Ú__typenames__Ú__dimensions__r   r   r   r&   Ústaticmethodr$   Ú_hashr.   r2   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   