o
    ex¯g4  ã                   @   s4   d Z ddlmZ 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!!!!
é    )ÚBytesIONc                   @   s¤   e Zd Zg d¢Zg d¢Zdddddgddgddgddgddgdd	ggZd
d„ Zdd„ Zdd„ Ze	de
fdd„ƒZe	dd„ ƒZe	dd„ ƒZdZe	dd„ ƒZdd„ ZdS )Úmsg_t©Úpub_idÚpub_timestampÚpub_sequenceÚ	num_boolsÚ	bool_listÚnum_integersÚinteger_listÚ	num_realsÚ	real_listÚnum_stringsÚstring_listÚ	num_blobsÚ	blob_listÚ
num_arraysÚ
array_list)ÚstringÚdoubleÚint64_tÚint16_tzoi.bool_item_tr   zoi.integer_item_tr   zoi.real_item_tr   zoi.string_item_tr   zoi.blob_item_tr   zoi.array_item_tNr   r
   r   r   r   r   c                 C   sz   d| _ 	 d| _	 d| _	 d| _	 g | _	 d| _	 g | _	 d| _	 g | _	 d| _		 g | _
	 d| _	 g | _	 d| _	 g | _d S )NÚ g        r   r   ©Úself© r   úc/mbari/ProjectLibrary/901101_OceanImaging/2025 Scoping Study/2 Studies/LCM_DataAnalysis/oi/msg_t.pyÚ__init__   s<   zmsg_t.__init__c                 C   s&   t ƒ }| t ¡ ¡ |  |¡ | ¡ S )N)r   Úwriter   Ú_get_packed_fingerprintÚ_encode_oneÚgetvalue)r   Úbufr   r   r   ÚencodeX   s   
zmsg_t.encodec                 C   s(  | j  d¡}| t dt|ƒd ¡¡ | |¡ | d¡ | t d| j| j| j¡¡ t	| jƒD ]}| j
|  ¡ tj ¡ ks@J ‚| j
|  |¡ q0| t d| j¡¡ t	| jƒD ]}| j|  ¡ tj ¡ kshJ ‚| j|  |¡ qX| t d| j¡¡ t	| jƒD ]}| j|  ¡ tj ¡ ksJ ‚| j|  |¡ q€| t d| j¡¡ t	| jƒD ]}| j|  ¡ tj ¡ ks¸J ‚| j|  |¡ q¨| t d| j¡¡ t	| jƒD ]}| j|  ¡ tj ¡ ksàJ ‚| j|  |¡ qÐ| t d| j¡¡ t	| jƒD ]}| j|  ¡ tj ¡ ks	J ‚| j|  |¡ qød S )Núutf-8ú>Ié   ó    ú>dqhú>h)r   r#   r   ÚstructÚpackÚlenr   r   r   Úranger	   r   ÚoiÚbool_item_tr    r
   r   Úinteger_item_tr   r   Úreal_item_tr   r   Ústring_item_tr   r   Úblob_item_tr   r   Úarray_item_t)r   r"   Z_msg_t__pub_id_encodedÚi0r   r   r   r    ^   s:   

þzmsg_t._encode_oneÚdatac                 C   s<   t | dƒr| }nt| ƒ}| d¡t ¡ krtdƒ‚t |¡S )NÚreadé   zDecode error)Úhasattrr   r7   r   r   Ú
ValueErrorÚ_decode_one)r6   r"   r   r   r   Údecode|   s   

zmsg_t.decodec                 C   sÎ  t ƒ }t d|  d¡¡d }|  |¡d d…  dd¡|_t d|  d¡¡\|_|_|_g |_	t
|jƒD ]}|j	 tj | ¡¡ q3t d	|  d
¡¡d |_g |_t
|jƒD ]}|j tj | ¡¡ qTt d	|  d
¡¡d |_g |_t
|jƒD ]}|j tj | ¡¡ qut d	|  d
¡¡d |_g |_t
|jƒD ]}|j tj | ¡¡ q–t d	|  d
¡¡d |_g |_t
|jƒD ]}|j tj | ¡¡ q·t d	|  d
¡¡d |_g |_t
|jƒD ]}|j tj | ¡¡ qØ|S )Nr%   é   r   éÿÿÿÿr$   Úreplacer(   é   r)   é   )r   r*   Úunpackr7   r<   r   r   r   r   r	   r-   Úappendr.   r/   r;   r
   r   r0   r   r   r1   r   r   r2   r   r   r3   r   r   r4   )r"   r   Z_msg_t__pub_id_lenr5   r   r   r   r;   †   s8   zmsg_t._decode_onec                 C   s‚   t | v rdS | t g }dtj |¡ tj |¡ tj |¡ tj |¡ tj |¡ tj |¡ d@ }|d> d@ |d?  d@ }|S )Nr   l   =) _­h
 l   ÿÿÿÿ r&   é?   )	r   r.   r/   Ú_get_hash_recursiver0   r1   r2   r3   r4   )ÚparentsÚ
newparentsÚtmphashr   r   r   rE   ¥   s
   
Pzmsg_t._get_hash_recursivec                   C   s$   t jd u rt dt  g ¡¡t _t jS )Nú>Q)r   Ú_packed_fingerprintr*   r+   rE   r   r   r   r   r   ®   s   
zmsg_t._get_packed_fingerprintc                 C   s   t  dt ¡ ¡d S )zGet the LCM hash of the structrI   r   )r*   rB   r   r   r   r   r   r   Úget_hash´   s   zmsg_t.get_hash)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__Ú__typenames__Ú__dimensions__r   r#   r    ÚstaticmethodÚbytesr<   r;   rE   rJ   r   rK   r   r   r   r   r      s"    .D	


r   )Ú__doc__Úior   r*   r.   Úobjectr   r   r   r   r   Ú<module>   s
    