B
    E3[€  ã               @   sR   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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gZdd	d	d
dddgZddgdgddg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 )Ú	example_tÚ	timestampÚpositionÚorientationÚ
num_rangesÚrangesÚnameÚenabledZint64_tZdoubleZint32_tZint16_tÚstringZbooleanNé   é   c             C   sJ   d| _ dd„ tdƒD ƒ| _dd„ tdƒD ƒ| _d| _g | _d| _d| _d S )	Nr   c             S   s   g | ]}d ‘qS )g        © )Ú.0Údim0r   r   ú>C:\Users\mkemp\Documents\Python\test_of_lcm\exlcm\example_t.pyú
<listcomp>   s    z&example_t.__init__.<locals>.<listcomp>r   c             S   s   g | ]}d ‘qS )g        r   )r   r   r   r   r   r      s    r   Ú F)r   Úranger   r   r   r   r	   r
   )Úselfr   r   r   Ú__init__   s    zexample_t.__init__c             C   s&   t ƒ }| t ¡ ¡ |  |¡ | ¡ S )N)r   Úwriter   Ú_get_packed_fingerprintÚ_encode_oneÚgetvalue)r   Úbufr   r   r   Úencode   s    
zexample_t.encodec             C   sÞ   |  t d| j¡¡ |  tjd| jd d… žŽ ¡ |  tjd| jd d… žŽ ¡ |  t d| j¡¡ |  tjd| j f| jd | j… žŽ ¡ | j 	d¡}|  t d	t
|ƒd
 ¡¡ |  |¡ |  d¡ |  t d| j¡¡ d S )Nz>qú>3dr   ú>4dr   z>iz>%dhzutf-8z>Ié   ó    z>b)r   )r   )r   ÚstructÚpackr   r   r   r   r   r	   r   Úlenr
   )r   r   Z_example_t__name_encodedr   r   r   r   "   s    (

zexample_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example_t.decodec             C   sÐ   t ƒ }t d|  d¡¡d |_t d|  d¡¡|_t d|  d¡¡|_t d|  d	¡¡d |_t d
|j |  |jd ¡¡|_t d|  d	¡¡d }|  |¡d d…  	dd¡|_
tt d|  d¡¡d ƒ|_|S )Nz>qr%   r   z>3dé   z>4dé    z>ir   z>%dhé   z>Iéÿÿÿÿzutf-8ÚreplaceÚbr   )r   r!   Zunpackr$   r   r   r   r   r   r*   r	   Úboolr
   )r   r   Z_example_t__name_lenr   r   r   r(   8   s     zexample_t._decode_onec             C   s,   t | krdS d}|d> d@ |d?  d@ }|S )Nr   l   ‹*÷a¦xT] r   l   ÿÿÿÿ é?   )r   )ZparentsZtmphashr   r   r   Ú_get_hash_recursiveF   s
     zexample_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"   r3   r   r   r   r   r   N   s    
z!example_t._get_packed_fingerprint)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__Z__typenames__Z__dimensions__r   r   r   r*   Ústaticmethodr(   Ú_hashr3   r4   r   r   r   r   r   r      s    	r   )	Ú__doc__ZcStringIO.StringIOÚStringIOr   ÚImportErrorÚior!   Úobjectr   r   r   r   r   Ú<module>   s   