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gZdddddgZ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 )Úcv_tracker_tÚheaderÚtarget_xÚtarget_yÚroi_age_secÚtarget_locatedzmbari.header_tÚdoubleZbooleanNc             C   s&   t  ¡ | _d| _d| _d| _d| _d S )Ng        F)ÚmbariÚheader_tr   r   r   r   r   )Úself© r   úBX:\800139.EyeRIS\EyeRIS.Software\ml-tracking\mbari\cv_tracker_t.pyÚ__init__   s
    
zcv_tracker_t.__init__c             C   s&   t ƒ }| t ¡ ¡ |  |¡ | ¡ S )N)r   Úwriter   Ú_get_packed_fingerprintÚ_encode_oneÚgetvalue)r   Úbufr   r   r   Úencode   s    
zcv_tracker_t.encodec          	   C   sH   | j  ¡ tj ¡ kst‚| j  |¡ | t d| j	| j
| j| j¡¡ d S )Nz>dddb)r   r   r
   r   ÚAssertionErrorr   r   ÚstructÚpackr   r   r   r   )r   r   r   r   r   r   "   s    zcv_tracker_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cv_tracker_t.decodec             C   sR   t ƒ }tj | ¡|_t d|  d¡¡\|_|_	|_
tt d|  d¡¡d ƒ|_|S )Nz>dddé   Úbé   r   )r   r
   r   r   r   r   Úunpackr   r   r   r   Úboolr   )r   r   r   r   r   r   1   s
    zcv_tracker_t._decode_onec             C   sF   t | krdS | t g }dtj |¡ d@ }|d> d@ |d?  d@ }|S )Nr   l   &Fë#&àM	 l   ÿÿÿÿ r"   é?   )r   r
   r   Ú_get_hash_recursive)ÚparentsÚ
newparentsÚtmphashr   r   r   r&   :   s     
z cv_tracker_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   C   s    
z$cv_tracker_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   