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 "equator.h"
0009 #include "../skyitem.h"
0010 
0011 class KSAsteroid;
0012 class LineListIndex;
0013 
0014 /**
0015  * @class EquatorItem
0016  *
0017  * @short Represents Equator in SkyMapLite
0018  *
0019  * @author Artem Fedoskin
0020  * @version 1.0
0021  */
0022 class EquatorItem : public SkyItem
0023 {
0024   public:
0025     /**
0026      * @short Constructor. Creates TrixelNodes for lines and LabelNodes for compass labels
0027      * @param equatorComp Equator that needs to be represented in SkyMapLite
0028      * @param rootNode parent RootNode that instantiated this object
0029      */
0030 
0031     EquatorItem(Equator *equatorComp, RootNode *rootNode);
0032 
0033     /**
0034      * @short updates positions of lines and compass labels
0035      */
0036     virtual void update();
0037 
0038   private:
0039     Equator *m_equatorComp { nullptr };
0040     //Holds compass labels each associated with SkyPoint that is coordinate of this label
0041     QMap<SkyPoint *, LabelNode *> m_compassLabels;
0042 };