File indexing completed on 2024-03-24 03:47:02
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 #include <memory> 0011 0012 class DeepStarComponent; 0013 class SkyMesh; 0014 class StarBlockFactory; 0015 class StarBlockList; 0016 0017 /** 0018 * @class DeepStarItem 0019 * 0020 * @short This class handles representation of unnamed stars in SkyMapLite 0021 * 0022 * @author Artem Fedoskin 0023 * @version 1.0 0024 */ 0025 class DeepStarItem : public SkyItem 0026 { 0027 public: 0028 /** 0029 * @short Constructor. Instantiates nodes for static stars 0030 * @param deepStarComp - pointer to DeepStarComponent that handles data 0031 * @param rootNode - parent RootNode that instantiated this object 0032 */ 0033 DeepStarItem(DeepStarComponent *deepStarComp, RootNode *rootNode); 0034 0035 /** 0036 * @short updates all trixels that contain stars 0037 */ 0038 virtual void update(); 0039 0040 private: 0041 SkyMesh *m_skyMesh { nullptr }; 0042 StarBlockFactory *m_StarBlockFactory { nullptr }; 0043 0044 DeepStarComponent *m_deepStarComp { nullptr }; 0045 QVector<std::shared_ptr<StarBlockList>> *m_starBlockList { nullptr }; 0046 bool m_staticStars { false }; 0047 };