o
    g                  	   @   s   d dl mZmZ ddlmZmZmZmZ ddlm	Z	 ddl
mZ G dd dZe Zeeje	eeeee d	d
 ZdddZejZejje d dS )   )axes	docstring   )
AitoffAxes
HammerAxesLambertAxesMollweideAxes)	PolarAxes    )Axes3Dc                   @   s0   e Zd ZdZdd Zdd Zdd Zdd	 Zd
S )ProjectionRegistryz?A mapping of registered projection names to projection classes.c                 C   s
   i | _ d S N_all_projection_typesself r   ]/home/ubuntu/cloudmapper/venv/lib/python3.10/site-packages/matplotlib/projections/__init__.py__init__
   s   
zProjectionRegistry.__init__c                 G   s   |D ]
}|j }|| j|< qdS )z"Register a new set of projections.N)namer   )r   projections
projectionr   r   r   r   register   s   zProjectionRegistry.registerc                 C   s
   | j | S )z'Get a projection class from its *name*.r   )r   r   r   r   r   get_projection_class      
z'ProjectionRegistry.get_projection_classc                 C   s
   t | jS )z9Return the names of all projections currently registered.)sortedr   r   r   r   r   get_projection_names   r   z'ProjectionRegistry.get_projection_namesN)__name__
__module____qualname____doc__r   r   r   r   r   r   r   r   r      s    r   c                 C   s   t |  d S r   )projection_registryr   )clsr   r   r   register_projection(   s   r#   Nc              
   C   s@   | du rd} zt | W S  ty } ztd|  |d}~ww )z|
    Get a projection class from its name.

    If *projection* is None, a standard rectilinear projection is returned.
    NrectilinearzUnknown projection %r)r!   r   KeyError
ValueError)r   errr   r   r   r   ,   s   r   )projection_namesr   ) r   r   geor   r   r   r   polarr	   mpl_toolkits.mplot3dr   r   r!   r   Axesr#   r   r   interpdupdater   r   r   r   <module>   s&    
