Kstars

equirectangularprojector.h
1/*
2 SPDX-FileCopyrightText: 2010 Henry de Valence <hdevalence@gmail.com>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#ifndef EQUIRECTANGULARPROJECTOR_H
8#define EQUIRECTANGULARPROJECTOR_H
9
10#include "projector.h"
11
12/**
13 * @class EquirectangularProjector
14 *
15 * Implememntation of <a href="https://en.wikipedia.org/wiki/Equirectangular_projection">Equirectangular projection</a>
16 *
17 */
19{
20 public:
21 explicit EquirectangularProjector(const ViewParams &p);
22 Projection type() const override;
23 double radius() const override;
24 bool unusablePoint(const QPointF &p) const override;
25 Eigen::Vector2f toScreenVec(const SkyPoint *o, bool oRefract = true, bool *onVisibleHemisphere = nullptr) const override;
26 SkyPoint fromScreen(const QPointF &p, dms *LST, const dms *lat, bool onlyAltAz = false) const override;
27 QVector<Eigen::Vector2f> groundPoly(SkyPoint *labelpoint = nullptr, bool *drawLabel = nullptr) const override;
28 void updateClipPoly() override;
29};
30
31#endif // EQUIRECTANGULARPROJECTOR_H
Implememntation of Equirectangular projection
SkyPoint fromScreen(const QPointF &p, dms *LST, const dms *lat, bool onlyAltAz=false) const override
Determine RA, Dec coordinates of the pixel at (dx, dy), which are the screen pixel coordinate offsets...
void updateClipPoly() override
updateClipPoly calculate the clipping polygen given the current FOV.
Projection type() const override
Return the type of this projection.
double radius() const override
Get the radius of this projection's sky circle.
Eigen::Vector2f toScreenVec(const SkyPoint *o, bool oRefract=true, bool *onVisibleHemisphere=nullptr) const override
Given the coordinates of the SkyPoint argument, determine the pixel coordinates in the SkyMap.
bool unusablePoint(const QPointF &p) const override
Check if the current point on screen is a valid point on the sky.
QVector< Eigen::Vector2f > groundPoly(SkyPoint *labelpoint=nullptr, bool *drawLabel=nullptr) const override
Get the ground polygon.
The Projector class is the primary class that serves as an interface to handle projections.
Definition projector.h:58
The sky coordinates of a point in the sky.
Definition skypoint.h:45
This is just a container that holds information needed to do projections.
Definition projector.h:37
An angle, stored as degrees, but expressible in many ways.
Definition dms.h:38
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Dec 20 2024 11:53:00 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.