
    ,jp                        d dl mZmZmZ d dlmZmZ ddlmZm	Z	 d dl
mZ ej        dej        dej        dej        d	ej        d
ej        dej        dej        dej        dej        dej        diZej        dej        dej        dej        dej        dej        dej        dej         dej!        di	Z"ed         Z#ed         Z$ G d de          Z% G d de%e          Z& G d de%e          Z'dS )    )OptionalLiteralSequence)ProtocolSelf   )VectorBoundBoxNPLANECYLINDERCONESPHERETORUSBEZIERBSPLINE
REVOLUTION	EXTRUSIONOFFSETOTHERLINECIRCLEELLIPSE	HYPERBOLAPARABOLA)VertexEdgeWireFaceShellSolid	CompSolidCompound)r   r   r   r    r"   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c                   \    e Zd ZdefdZdefdZdefdZde	fdZ
d	dee	         defdZdS )
ShapeProtocolreturnc                     d S N selfs    [/DATA/AppData/hermes/venv/lib/python3.11/site-packages/cadquery/occ_impl/shape_protocols.py	ShapeTypezShapeProtocol.ShapeType@           c                     d S r'   r(   r)   s    r+   geomTypezShapeProtocol.geomTypeC   r-   r.   c                     d S r'   r(   r)   s    r+   CenterzShapeProtocol.CenterF   r-   r.   c                     d S r'   r(   r)   s    r+   AreazShapeProtocol.AreaI   r-   r.   N	tolerancec                     d S r'   r(   )r*   r5   s     r+   BoundingBoxzShapeProtocol.BoundingBoxL   r-   r.   r'   )__name__
__module____qualname__Shapesr,   Geomsr0   r	   r2   floatr4   r   r
   r7   r(   r.   r+   r$   r$   ?   s        6    %        e     Xe_       r.   r$   c                   J    e Zd Z	 ddeded         defdZdefdZdefd	Zd
S )Shape1DProtocol      ?lengthpmode)rA   	parameterr%   c                     d S r'   r(   )r*   rB   rC   s      r+   	tangentAtzShape1DProtocol.tangentAtQ   s	     	r.   c                     d S r'   r(   r)   s    r+   radiuszShape1DProtocol.radiusV   r-   r.   c                     d S r'   r(   r)   s    r+   LengthzShape1DProtocol.LengthY   r-   r.   N)r@   rA   )	r8   r9   r:   r=   r   r	   rF   rH   rJ   r(   r.   r+   r?   r?   P   s        EM $+,A$B	   
          r.   r?   c                   \    e Zd Zddee         defdZededee         de	fd            Z
dS )	FaceProtocolNvr%   c                     d S r'   r(   )r*   rM   s     r+   normalAtzFaceProtocol.normalAt^   r-   r.   wwsc                     d S r'   r(   )clsrP   rQ   s      r+   makeFromWireszFaceProtocol.makeFromWiresa   s    r.   r'   )r8   r9   r:   r   r	   rO   classmethodr$   r   r   rT   r(   r.   r+   rL   rL   ]   sz         (6* f     m -1H T    [  r.   rL   )(typingr   r   r   typing_extensionsr   r   geomr	   r
   OCP.GeomAbsGeomAbsgaGeomAbs_PlaneGeomAbs_CylinderGeomAbs_ConeGeomAbs_SphereGeomAbs_TorusGeomAbs_BezierSurfaceGeomAbs_BSplineSurfaceGeomAbs_SurfaceOfRevolutionGeomAbs_SurfaceOfExtrusionGeomAbs_OffsetSurfaceGeomAbs_OtherSurfacegeom_LUT_FACEGeomAbs_LineGeomAbs_CircleGeomAbs_EllipseGeomAbs_HyperbolaGeomAbs_ParabolaGeomAbs_BezierCurveGeomAbs_BSplineCurveGeomAbs_OffsetCurveGeomAbs_OtherCurvegeom_LUT_EDGEr;   r<   r$   r?   rL   r(   r.   r+   <module>rr      s   . . . . . . . . . . , , , , , , , , " " " " " " " "       gOVxghy"L!;hW OVx	+HYH7
 
O
 		2    H   "
 
 
 
 
mX 
 
 
    =(     r.   