
    Ncg#                     .    d dl mZ d dlZ G d de      Zy)    )BaseTraceHierarchyTypeNc                       e Zd ZdZdZh 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j                  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	 	 	 	 	 	 	 	 d fd	Z xZS )Lighting
isosurfacezisosurface.lighting>   ambientdiffusefresnelspecular	roughnessfacenormalsepsilonvertexnormalsepsilonc                     | d   S )a  
        Ambient light increases overall color visibility but can wash
        out the image.

        The 'ambient' property is a number and may be specified as:
          - An int or float in the interval [0, 1]

        Returns
        -------
        int|float
        r    selfs    a/var/www/html/bid-api/venv/lib/python3.12/site-packages/plotly/graph_objs/isosurface/_lighting.pyr   zLighting.ambient        I    c                     || d<   y )Nr   r   r   vals     r   r   zLighting.ambient&       Yr   c                     | d   S )a  
        Represents the extent that incident rays are reflected in a
        range of angles.

        The 'diffuse' property is a number and may be specified as:
          - An int or float in the interval [0, 1]

        Returns
        -------
        int|float
        r   r   r   s    r   r   zLighting.diffuse,   r   r   c                     || d<   y )Nr   r   r   s     r   r   zLighting.diffuse;   r   r   c                     | d   S )a)  
        Epsilon for face normals calculation avoids math issues arising
        from degenerate geometry.

        The 'facenormalsepsilon' property is a number and may be specified as:
          - An int or float in the interval [0, 1]

        Returns
        -------
        int|float
        r   r   r   s    r   r   zLighting.facenormalsepsilonA   s     ())r   c                     || d<   y )Nr   r   r   s     r   r   zLighting.facenormalsepsilonP   s    %(!"r   c                     | d   S )au  
        Represents the reflectance as a dependency of the viewing
        angle; e.g. paper is reflective when viewing it from the edge
        of the paper (almost 90 degrees), causing shine.

        The 'fresnel' property is a number and may be specified as:
          - An int or float in the interval [0, 5]

        Returns
        -------
        int|float
        r	   r   r   s    r   r	   zLighting.fresnelV   s     Ir   c                     || d<   y )Nr	   r   r   s     r   r	   zLighting.fresnelf   r   r   c                     | d   S )a#  
        Alters specular reflection; the rougher the surface, the wider
        and less contrasty the shine.

        The 'roughness' property is a number and may be specified as:
          - An int or float in the interval [0, 1]

        Returns
        -------
        int|float
        r   r   r   s    r   r   zLighting.roughnessl   s     K  r   c                     || d<   y )Nr   r   r   s     r   r   zLighting.roughness{   s    [r   c                     | d   S )a!  
        Represents the level that incident rays are reflected in a
        single direction, causing shine.

        The 'specular' property is a number and may be specified as:
          - An int or float in the interval [0, 2]

        Returns
        -------
        int|float
        r
   r   r   s    r   r
   zLighting.specular   s     Jr   c                     || d<   y )Nr
   r   r   s     r   r
   zLighting.specular   s    Zr   c                     | d   S )a-  
        Epsilon for vertex normals calculation avoids math issues
        arising from degenerate geometry.

        The 'vertexnormalsepsilon' property is a number and may be specified as:
          - An int or float in the interval [0, 1]

        Returns
        -------
        int|float
        r   r   r   s    r   r   zLighting.vertexnormalsepsilon   s     *++r   c                     || d<   y )Nr   r   r   s     r   r   zLighting.vertexnormalsepsilon   s    '*#$r   c                      y)Na          ambient
            Ambient light increases overall color visibility but
            can wash out the image.
        diffuse
            Represents the extent that incident rays are reflected
            in a range of angles.
        facenormalsepsilon
            Epsilon for face normals calculation avoids math issues
            arising from degenerate geometry.
        fresnel
            Represents the reflectance as a dependency of the
            viewing angle; e.g. paper is reflective when viewing it
            from the edge of the paper (almost 90 degrees), causing
            shine.
        roughness
            Alters specular reflection; the rougher the surface,
            the wider and less contrasty the shine.
        specular
            Represents the level that incident rays are reflected
            in a single direction, causing shine.
        vertexnormalsepsilon
            Epsilon for vertex normals calculation avoids math
            issues arising from degenerate geometry.
        r   r   s    r   _prop_descriptionszLighting._prop_descriptions   s    r   c	           	      X   t         t        |   d       d|	v r|	d   | _        y|i }nXt	        || j
                        r|j                         }n1t	        |t              rt        j                  |      }nt        d      |	j                  dd      | _        |	j                  dd      | _        |j                  d	d      }
||n|
}
|
|
| d	<   |j                  d
d      }
||n|
}
|
|
| d
<   |j                  dd      }
||n|
}
|
|
| d<   |j                  dd      }
||n|
}
|
|
| d<   |j                  dd      }
||n|
}
|
|
| d<   |j                  dd      }
||n|
}
|
|
| d<   |j                  dd      }
||n|
}
|
|
| d<    | j                  di t        |fi |	 d| _        y)a,  
        Construct a new Lighting object

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.isosurface.Lighting`
        ambient
            Ambient light increases overall color visibility but
            can wash out the image.
        diffuse
            Represents the extent that incident rays are reflected
            in a range of angles.
        facenormalsepsilon
            Epsilon for face normals calculation avoids math issues
            arising from degenerate geometry.
        fresnel
            Represents the reflectance as a dependency of the
            viewing angle; e.g. paper is reflective when viewing it
            from the edge of the paper (almost 90 degrees), causing
            shine.
        roughness
            Alters specular reflection; the rougher the surface,
            the wider and less contrasty the shine.
        specular
            Represents the level that incident rays are reflected
            in a single direction, causing shine.
        vertexnormalsepsilon
            Epsilon for vertex normals calculation avoids math
            issues arising from degenerate geometry.

        Returns
        -------
        Lighting
        lighting_parentNzThe first argument to the plotly.graph_objs.isosurface.Lighting
constructor must be a dict or
an instance of :class:`plotly.graph_objs.isosurface.Lighting`skip_invalidF	_validateTr   r   r   r	   r   r
   r   r   )superr   __init__r)   
isinstance	__class__to_plotly_jsondict_copycopy
ValueErrorpop_skip_invalidr+   _process_kwargs)r   argr   r   r   r	   r   r
   r   kwargs_vr/   s              r   r-   zLighting.__init__   s    b 	h&z2!),DL ;CT^^,$$&CT"**S/CA  $ZZ>K6 WWY%+W> DOWWY%+W> DOWW)40#5#Ar>)+D%&WWY%+W> DOWW[$'#/YR> "DWWZ&!-X2>!DWW+T2%9%E!2>+-D'( 	3tC2623 #r   )NNNNNNNN)__name__
__module____qualname___parent_path_str	_path_str_valid_propspropertyr   setterr   r   r	   r   r
   r   r&   r-   __classcell__)r/   s   @r   r   r      s    $%IL   ^^ 
   ^^ 
 * * ) )
   ^^ 
 ! !    
     __ 
 , ,   + !+
  : !q# q#r   r   )plotly.basedatatypesr   _BaseTraceHierarchyTyper3   r2   r   r   r   r   <module>rF      s    R s#& s#r   