U
    Y»{jž  ã                   @   s(   d dl mZ d dlZG dd„ deƒZdS )é    )ÚBaseTraceHierarchyTypeNc                       sÂ   e Zd ZdZdZdddddhZedd	„ ƒZejd
d	„ ƒZedd„ ƒZ	e	jdd„ ƒZ	edd„ ƒZ
e
jdd„ ƒZ
edd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZd‡ fdd„	Z‡  ZS )ÚLightingZsurfacezsurface.lightingÚambientÚdiffuseÚfresnelÚ	roughnessÚspecularc                 C   s   | 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   © ©Úselfr	   r	   úb/var/www/html/bwave/python/venv/lib/python3.8/site-packages/plotly/graph_objs/surface/_lighting.pyr      s    zLighting.ambientc                 C   s   || d< d S )Nr   r	   ©r   Úvalr	   r	   r   r      s    c                 C   s   | 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
   r	   r	   r   r   $   s    zLighting.diffusec                 C   s   || d< d S )Nr   r	   r   r	   r	   r   r   3   s    c                 C   s   | 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
   r	   r	   r   r   9   s    zLighting.fresnelc                 C   s   || d< d S )Nr   r	   r   r	   r	   r   r   I   s    c                 C   s   | 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
   r	   r	   r   r   O   s    zLighting.roughnessc                 C   s   || d< d S )Nr   r	   r   r	   r	   r   r   ^   s    c                 C   s   | 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
   r	   r	   r   r   d   s    zLighting.specularc                 C   s   || d< d S )Nr   r	   r   r	   r	   r   r   s   s    c                 C   s   dS )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.
        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.
        r	   r
   r	   r	   r   Ú_prop_descriptionsy   s    zLighting._prop_descriptionsNc           	         sˆ  t t| ƒ d¡ d|kr&|d | _dS |dkr4i }n4t|| jƒrJ| ¡ }nt|tƒr`t 	|¡}nt
dƒ‚| dd¡| _| dd¡| _| d	d¡}|dk	rœ|n|}|dk	r°|| d	< | d
d¡}|dk	rÈ|n|}|dk	rÜ|| d
< | dd¡}|dk	rô|n|}|dk	�r
|| d< | dd¡}|dk	�r$|n|}|dk	�r:|| d< | dd¡}|dk	�rT|n|}|dk	�rj|| d< | jf t|f|ŽŽ d| _dS )a  
        Construct a new Lighting object

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.surface.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.
        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.

        Returns
        -------
        Lighting
        ZlightingÚ_parentNz•The first argument to the plotly.graph_objs.surface.Lighting
constructor must be a dict or
an instance of :class:`plotly.graph_objs.surface.Lighting`Zskip_invalidFÚ	_validateTr   r   r   r   r   )Úsuperr   Ú__init__r   Ú
isinstanceÚ	__class__Zto_plotly_jsonÚdictÚ_copyÚcopyÚ
ValueErrorÚpopZ_skip_invalidr   Z_process_kwargs)	r   Úargr   r   r   r   r   ÚkwargsÚ_v©r   r	   r   r   �   sJ    )


ÿ	


zLighting.__init__)NNNNNN)Ú__name__Ú
__module__Ú__qualname__Z_parent_path_strZ	_path_strZ_valid_propsÚpropertyr   Úsetterr   r   r   r   r   r   Ú__classcell__r	   r	   r   r   r      s@   










      ùr   )Zplotly.basedatatypesr   Z_BaseTraceHierarchyTyper   r   r   r	   r	   r	   r   Ú<module>   s   