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 }