
    FgM                        S r SSKJr  SSKJrJr  SSKJr  SSKJ	r	J
r
  SSKJr  SSKJr  SSKJr  SS	KJr  SS
KJr  \	(       a  SSKJr  \" 5        " S S\5      5       rg)zgr.Model3D() component.    )annotations)CallableSequence)Path)TYPE_CHECKINGLiteralhandle_file)document)	Component)FileData)Events)Timerc                  :  ^  \ rS rSrSr\R                  \R                  \R                  \R                  /r
\r SSSSSSSSSSSSSSSSSSSSS.                                       SU 4S	 jjjjrSS
 jrSS jrSS jrS rS rSrU =r$ )Model3D   z
Creates a component allows users to upload or view 3D Model files (.obj, .glb, .stl, .gltf, .splat, or .ply).

Guides: how-to-use-3D-model-component
N)NNN   T   )display_modeclear_colorcamera_position
zoom_speed	pan_speedheightlabel
show_labeleveryinputs	containerscale	min_widthinteractivevisibleelem_idelem_classesrenderkeyc                  > X l         U=(       d    / SQU l        X@l        Xpl        XPl        X`l        [        TU ]  UU
UU	UUUUUUUUUUS9  g)a  
Parameters:
    value: path to (.obj, .glb, .stl, .gltf, .splat, or .ply) file to show in model3D viewer. If a function is provided, the function will be called each time the app loads to set the initial value of this component.
    display_mode: the display mode of the 3D model in the scene. Can be "solid" (which renders the model as a solid object), "point_cloud", or "wireframe". For .splat, or .ply files, this parameter is ignored, as those files can only be rendered as solid objects.
    clear_color: background color of scene, should be a tuple of 4 floats between 0 and 1 representing RGBA values.
    camera_position: initial camera position of scene, provided as a tuple of `(alpha, beta, radius)`. Each value is optional. If provided, `alpha` and `beta` should be in degrees reflecting the angular position along the longitudinal and latitudinal axes, respectively. Radius corresponds to the distance from the center of the object to the camera.
    zoom_speed: the speed of zooming in and out of the scene when the cursor wheel is rotated or when screen is pinched on a mobile device. Should be a positive float, increase this value to make zooming faster, decrease to make it slower. Affects the wheelPrecision property of the camera.
    pan_speed: the speed of panning the scene when the cursor is dragged or when the screen is dragged on a mobile device. Should be a positive float, increase this value to make panning faster, decrease to make it slower. Affects the panSensibility property of the camera.
    height: The height of the model3D component, specified in pixels if a number is passed, or in CSS units if a string is passed.
    interactive: if True, will allow users to upload a file; if False, can only be used to display files. If not provided, this is inferred based on whether the component is used as an input or output.
    label: the label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to.
    show_label: if True, will display label.
    every: Continously calls `value` to recalculate it if `value` is a function (has no effect otherwise). Can provide a Timer whose tick resets `value`, or a float that provides the regular interval for the reset Timer.
    inputs: Components that are used as inputs to calculate `value` if `value` is a function (has no effect otherwise). `value` is recalculated any time the inputs change.
    container: If True, will place the component in a container - providing some extra padding around the border.
    scale: relative size compared to adjacent Components. For example if Components A and B are in a Row, and A has scale=2, and B has scale=1, A will be twice as wide as B. Should be an integer. scale applies in Rows, and to top-level Components in Blocks where fill_height=True.
    min_width: minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.
    visible: If False, component will be hidden.
    elem_id: An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.
    elem_classes: An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.
    render: If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.
    key: if assigned, will be used to assume identity across a re-render. Components that have the same key across a re-render will have their value preserved.
)r   r   r   r   )r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   valueN)r   r   r   r   r   r   super__init__)selfr)   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   	__class__s                        j/Users/admin/workspace/ai/PDFMathTranslate/myenv/lib/python3.13/site-packages/gradio/components/model3d.pyr+   Model3D.__init__    sj    j )&6,.$"!#% 	 	
    c                $    Uc  U$ UR                   $ )z
Parameters:
    payload: the uploaded file as an instance of `FileData`.
Returns:
    Passes the uploaded file as a {str} filepath to the function.
)path)r,   payloads     r.   
preprocessModel3D.preprocessl   s     ?N||r0   c                X    Uc  U$ [        [        U5      [        U5      R                  S9$ )z
Parameters:
    value: Expects function to return a {str} or {pathlib.Path} filepath of type (.obj, .glb, .stl, or .gltf)
Returns:
    The uploaded file as an instance of `FileData`.
)r2   	orig_name)r   strr   namer,   r)   s     r.   postprocessModel3D.postprocessw   s)     =LSZ4;3C3CDDr0   c                >    U(       a  [        U5      R                  $ S$ )N )r   r9   r:   s     r.   process_exampleModel3D.process_example   s    #(tE{0b0r0   c                    [        S5      $ NzThttps://raw.githubusercontent.com/gradio-app/gradio/main/demo/model3D/files/Fox.gltfr	   r,   s    r.   example_payloadModel3D.example_payload   s    b
 	
r0   c                    grB    rC   s    r.   example_valueModel3D.example_value   s    er0   )r   r   r   r   r   r   )N)(r)   zstr | Callable | Noner   z3Literal['solid', 'point_cloud', 'wireframe'] | Noner   z(tuple[float, float, float, float] | Noner   zAtuple[int | float | None, int | float | None, int | float | None]r   floatr   rJ   r   int | str | Noner   
str | Noner   bool | Noner   zTimer | float | Noner   z7Component | Sequence[Component] | set[Component] | Noner   boolr    z
int | Noner!   intr"   rM   r#   rN   r$   rL   r%   zlist[str] | str | Noner&   rN   r'   rK   )r3   FileData | NonereturnrL   )r)   str | Path | NonerQ   rP   )r)   rR   rQ   r8   )__name__
__module____qualname____firstlineno____doc__r   changeuploadeditclearEVENTSr   
data_modelr+   r4   r;   r?   rD   rH   __static_attributes____classcell__)r-   s   @r.   r   r      s    mmV]]FKKFFJ (,J
 MQ@D

 #' "&&*JN #'"/3 $9J
$J
 J	J

 >J

J
 J
 J
 !J
  !J
"  #J
$ $%J
& H'J
( )J
* +J
, -J
. !/J
0 1J
2 3J
4 -5J
6 7J
8 9J
 J
X		E1

f fr0   r   N)rW   
__future__r   collections.abcr   r   pathlibr   typingr   r   gradio_clientr
   gradio_client.documentationr   gradio.components.baser   gradio.data_classesr   gradio.eventsr   gradio.componentsr   r   rG   r0   r.   <module>rj      sL     " .  ) % 0 , (  ' 
vfi vf vfr0   