1 /*
2     SPDX-FileCopyrightText: 2016 Artem Fedoskin <afedoskin3@gmail.com>
3     SPDX-License-Identifier: GPL-2.0-or-later
4 */
5 
6 #pragma once
7 
8 #include "equator.h"
9 #include "../skyitem.h"
10 
11 class KSAsteroid;
12 class LineListIndex;
13 
14 /**
15  * @class EquatorItem
16  *
17  * @short Represents Equator in SkyMapLite
18  *
19  * @author Artem Fedoskin
20  * @version 1.0
21  */
22 class EquatorItem : public SkyItem
23 {
24   public:
25     /**
26      * @short Constructor. Creates TrixelNodes for lines and LabelNodes for compass labels
27      * @param equatorComp Equator that needs to be represented in SkyMapLite
28      * @param rootNode parent RootNode that instantiated this object
29      */
30 
31     EquatorItem(Equator *equatorComp, RootNode *rootNode);
32 
33     /**
34      * @short updates positions of lines and compass labels
35      */
36     virtual void update();
37 
38   private:
39     Equator *m_equatorComp { nullptr };
40     //Holds compass labels each associated with SkyPoint that is coordinate of this label
41     QMap<SkyPoint *, LabelNode *> m_compassLabels;
42 };
43