File indexing completed on 2024-03-24 03:47:03
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 SupernovaeComponent; 0011 0012 /** 0013 * @class SupernovaeItem 0014 * This class handles supernovae in SkyMapLite 0015 * 0016 * @author Artem Fedoskin 0017 * @version 1.0 0018 */ 0019 class SupernovaeItem : public SkyItem 0020 { 0021 public: 0022 /** 0023 * @short Constructor 0024 * @param snovaComp - pointer to SupernovaeComponent that handles data 0025 * @param rootNode parent RootNode that instantiates this object 0026 */ 0027 explicit SupernovaeItem(SupernovaeComponent *snovaComp, RootNode *rootNode = nullptr); 0028 0029 /** 0030 * @short Recreate the node tree (delete old nodes and append new ones according to 0031 * SupernovaeItem::objectList()) 0032 */ 0033 void recreateList(); 0034 0035 /** Update positions and visibility of supernovae */ 0036 virtual void update() override; 0037 0038 private: 0039 SupernovaeComponent *m_snovaComp { nullptr }; 0040 };