File indexing completed on 2024-09-08 03:30:16
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 KSComet; 0011 class SkyObject; 0012 class SatellitesComponent; 0013 0014 /** 0015 * @class SatellitesItem 0016 * This class handles representation of satellites in SkyMapLite 0017 * 0018 * @author Artem Fedoskin 0019 * @version 1.0 0020 */ 0021 0022 class SatellitesItem : public SkyItem 0023 { 0024 public: 0025 /** 0026 * @short Constructor 0027 * @param satComp - pointer to SatellitesComponent that handles data 0028 * @param rootNode parent RootNode that instantiates this object 0029 */ 0030 explicit SatellitesItem(SatellitesComponent *satComp, RootNode *rootNode = nullptr); 0031 0032 /** 0033 * @short recreates the node tree (deletes old nodes and appends new ones according to 0034 * SatelliteGroups from SatellitesComponent::groups()) 0035 */ 0036 void recreateList(); 0037 0038 /** Update positions and visibility of satellites */ 0039 virtual void update() override; 0040 0041 private: 0042 SatellitesComponent *m_satComp { nullptr }; 0043 };