+
    i	                     N    ^ RI HtHt ^ RIHtHt ^ RIHt R.t ! R R]4      t	R# )    )ABCabstractmethod)Symbolsympify)PointBodyBasec                   &  a  ] tR t^t o RtRR ltR tR t]R 4       t	]R 4       t
]
P                  R 4       t
]R	 4       t]P                  R
 4       t]R 4       t]P                  R 4       t]R 4       t]R 4       t]R 4       t]R 4       tRtV tR# )r   z%Abstract class for body type objects.Nc                    \        V\        4      '       g   \        R 4      hWn        Vf   \	        V R24      pVf   \        V R24      pW0n        W n        ^ V n        . V n	        R# )zSupply a valid name.N_mass_masscenter)

isinstancestr	TypeError_namer   r   mass
masscenterpotential_energypoints)selfnamer   r   s   &&&&_/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/physics/mechanics/body_base.py__init__BodyBase.__init__
   sg     $$$233
<TF%.)D${34J	$ !    c                    V P                   # N)r   r   s   &r   __str__BodyBase.__str__   s    yyr   c           	         V P                   P                   R \        V P                  4       R\        V P                  4       R\        V P
                  4       R2# )(z, masscenter=z, mass=))	__class____name__reprr   r   r   r   s   &r   __repr__BodyBase.__repr__   sO    >>**+1T$))_,=]()dii0AD 	Er   c                    V P                   # )zThe name of the body.)r   r   s   &r   r   BodyBase.name         zzr   c                    V P                   # )zThe body's center of mass.)r   r   s   &r   r   BodyBase.masscenter%   s     r   c                T    \        V\        4      '       g   \        R 4      hWn        R# )z1The body's center of mass must be a Point object.N)r   r   r   r   )r   points   &&r   r   r,   *   s!    %''OPP r   c                    V P                   # )zThe body's mass.)r   r   s   &r   r   BodyBase.mass0   r*   r   c                &    \        V4      V n        R # r   )r   r   )r   r   s   &&r   r   r0   5   s    T]
r   c                    V P                   # )a  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   BodyBase.potential_energy9   s    " %%%r   c                &    \        V4      V n        R # r   )r   r3   )r   scalars   &&r   r   r4   L   s    !(r   c                    R # r    r   frames   &&r   kinetic_energyBodyBase.kinetic_energyP       r   c                    R # r   r8   r9   s   &&r   linear_momentumBodyBase.linear_momentumT   r=   r   c                    R # r   r8   r   r.   r:   s   &&&r   angular_momentumBodyBase.angular_momentumX   r=   r   c                    R # r   r8   rB   s   &&&r   parallel_axisBodyBase.parallel_axis\   r=   r   )r   r   r   r3   r   r   r   r   )NN)r$   
__module____qualname____firstlineno____doc__r   r   r&   propertyr   r   setterr   r   r   r;   r?   rC   rF   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s    /E       ! !
   
[[# # & &$ 1 1        r   N)
abcr   r   sympyr   r   sympy.physics.vectorr   __all__r   r8   r   r   <module>rU      s#    # ! &,Vs Vr   