§
    OŠtj»	  ã                   óT   — d dl mZmZ d dlmZmZ d dlmZ dgZ G d„ de¦  «        Z	dS )é    )ÚABCÚabstractmethod)ÚSymbolÚsympify)ÚPointÚBodyBasec                   ó6  — e Zd ZdZdd„Zd„ Zd„ Zed„ ¦   «         Zed„ ¦   «         Z	e	j
        d„ ¦   «         Z	ed	„ ¦   «         Zej
        d
„ ¦   «         Zed„ ¦   «         Zej
        d„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         ZdS )r   z%Abstract class for body type objects.Nc                 óä   — t          |t          ¦  «        st          d¦  «        ‚|| _        |€t	          |› d�¦  «        }|€t          |› d�¦  «        }|| _        || _        d| _        g | _	        d S )NzSupply a valid name.Ú_massÚ_masscenterr   )
Ú
isinstanceÚstrÚ	TypeErrorÚ_namer   r   ÚmassÚ
masscenterÚpotential_energyÚpoints)ÚselfÚnamer   r   s       ú_/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/physics/mechanics/body_base.pyÚ__init__zBodyBase.__init__
   s�   € õ ˜$¥Ñ$Ô$ð 	4ÝÐ2Ñ3Ô3Ð3ØˆŒ
Øˆ<Ý˜T˜.˜.˜.Ñ)Ô)ˆDØÐÝ $Ð3Ð3Ð3Ñ4Ô4ˆJØˆŒ	Ø$ˆŒØ !ˆÔØˆŒˆˆó    c                 ó   — | j         S ©N)r   ©r   s    r   Ú__str__zBodyBase.__str__   s
   € ØŒyÐr   c           	      óž   — | j         j        › dt          | j        ¦  «        › dt          | j        ¦  «        › dt          | j        ¦  «        › d�S )Nú(z, masscenter=z, mass=ú))Ú	__class__Ú__name__Úreprr   r   r   r   s    r   Ú__repr__zBodyBase.__repr__   sh   € Ø”>Ô*ð Dð D­T°$´)©_¬_ð Dð DÝ˜œÑ(Ô(ðDð DÝ15°d´i±´ðDð Dð Dð 	Er   c                 ó   — | j         S )zThe name of the body.)r   r   s    r   r   zBodyBase.name    ó   € ð ŒzÐr   c                 ó   — | j         S )zThe body's center of mass.)r   r   s    r   r   zBodyBase.masscenter%   s   € ð ÔÐr   c                 ó\   — t          |t          ¦  «        st          d¦  «        ‚|| _        d S )Nz1The body's center of mass must be a Point object.)r   r   r   r   )r   Úpoints     r   r   zBodyBase.masscenter*   s2   € å˜%¥Ñ'Ô'ð 	QÝÐOÑPÔPÐPØ ˆÔÐÐr   c                 ó   — | j         S )zThe body's mass.)r   r   s    r   r   zBodyBase.mass0   r&   r   c                 ó.   — t          |¦  «        | _        d S r   )r   r   )r   r   s     r   r   zBodyBase.mass5   s   € å˜T‘]”]ˆŒ
ˆ
ˆ
r   c                 ó   — | j         S )as  The potential energy of the body.

        Examples
        ========

        >>> from sympy.physics.mechanics import Particle, Point
        >>> from sympy import symbols
        >>> m, g, h = symbols('m g h')
        >>> O = Point('O')
        >>> P = Particle('P', O, m)
        >>> P.potential_energy = m * g * h
        >>> P.potential_energy
        g*h*m

        )Ú_potential_energyr   s    r   r   zBodyBase.potential_energy9   s   € ð" Ô%Ð%r   c                 ó.   — t          |¦  «        | _        d S r   )r   r-   )r   Úscalars     r   r   zBodyBase.potential_energyL   s   € å!(¨¡¤ˆÔÐÐr   c                 ó   — d S r   © ©r   Úframes     r   Úkinetic_energyzBodyBase.kinetic_energyP   ó   € àˆr   c                 ó   — d S r   r1   r2   s     r   Úlinear_momentumzBodyBase.linear_momentumT   r5   r   c                 ó   — d S r   r1   ©r   r)   r3   s      r   Úangular_momentumzBodyBase.angular_momentumX   r5   r   c                 ó   — d S r   r1   r9   s      r   Úparallel_axiszBodyBase.parallel_axis\   r5   r   )NN)r"   Ú
__module__Ú__qualname__Ú__doc__r   r   r$   Úpropertyr   r   Úsetterr   r   r   r4   r7   r:   r<   r1   r   r   r   r      s‚  € € € € € Ø/Ð/ðð ð ð ðð ð ðEð Eð Eð ðð ñ „Xðð ð ð  ñ „Xð ð Ôð!ð !ñ Ôð!ð
 ðð ñ „Xðð 
„[ð#ð #ñ „[ð#ð ð&ð &ñ „Xð&ð$ Ôð1ð 1ñ Ôð1ð ðð ñ „^ðð ðð ñ „^ðð ðð ñ „^ðð ðð ñ „^ðð ð r   N)
Úabcr   r   Úsympyr   r   Úsympy.physics.vectorr   Ú__all__r   r1   r   r   ú<module>rF      sŒ   ðØ #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø !Ð !Ð !Ð !Ð !Ð !Ð !Ð !Ø &Ð &Ð &Ð &Ð &Ð &àˆ,€ðVð Vð Vð Vð Vˆsñ Vô Vð Vð Vð Vr   