File indexing completed on 2024-04-21 03:44:30

0001 /*
0002     SPDX-FileCopyrightText: 2010 Henry de Valence <hdevalence@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifdef _WIN32
0008 #include <windows.h>
0009 #endif
0010 
0011 #include "azimuthalequidistantprojector.h"
0012 
0013 AzimuthalEquidistantProjector::AzimuthalEquidistantProjector(const ViewParams &p) : Projector(p)
0014 {
0015     updateClipPoly();
0016 }
0017 
0018 Projector::Projection AzimuthalEquidistantProjector::type() const
0019 {
0020     return AzimuthalEquidistant;
0021 }
0022 
0023 double AzimuthalEquidistantProjector::radius() const
0024 {
0025     return 1.57079633;
0026 }
0027 
0028 double AzimuthalEquidistantProjector::projectionK(double x) const
0029 {
0030     double crad = acos(x);
0031     return ((crad != 0) ? crad / sin(crad) : 1); // This handles the 0/0 case. The limit of x / sin(x) is 1 as x -> 0.
0032 }
0033 
0034 double AzimuthalEquidistantProjector::projectionL(double x) const
0035 {
0036     return x;
0037 }