File indexing completed on 2024-04-28 15:10:46

0001 /*
0002     SPDX-FileCopyrightText: 2016 Artem Fedoskin <afedoskin3@gmail.com>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #pragma once
0007 
0008 #include "../skyitem.h"
0009 
0010 class Ecliptic;
0011 
0012 /**
0013  * @class EclipticItem
0014  *
0015  * @short Represents Ecliptic in SkyMapLite
0016  * @author Artem Fedoskin
0017  * @version 1.0
0018  */
0019 class EclipticItem : public SkyItem
0020 {
0021   public:
0022     /**
0023      * @short Constructor. Creates TrixelNodes for lines and LabelNodes for compass labels
0024      * @param eclipticComp Ecliptic that needs to be represented in SkyMapLite
0025      * @param rootNode parent RootNode that instantiated this object
0026      */
0027     EclipticItem(Ecliptic *eclipticComp, RootNode *rootNode);
0028 
0029     /** @short updates positions of lines and compass labels */
0030     virtual void update() override;
0031 
0032   private:
0033     Ecliptic *m_eclipticComp { nullptr };
0034 
0035     //Holds compass labels each associated with SkyPoint that is coordinate of this label
0036     QMap<SkyPoint *, LabelNode *> m_compassLabels;
0037 };