Kstars

deepstaritem.h
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 "skyitem.h"
9
10#include <memory>
11
13class SkyMesh;
15class StarBlockList;
16
17/**
18 * @class DeepStarItem
19 *
20 * @short This class handles representation of unnamed stars in SkyMapLite
21 *
22 * @author Artem Fedoskin
23 * @version 1.0
24 */
25class DeepStarItem : public SkyItem
26{
27 public:
28 /**
29 * @short Constructor. Instantiates nodes for static stars
30 * @param deepStarComp - pointer to DeepStarComponent that handles data
31 * @param rootNode - parent RootNode that instantiated this object
32 */
34
35 /**
36 * @short updates all trixels that contain stars
37 */
38 virtual void update();
39
40 private:
41 SkyMesh *m_skyMesh { nullptr };
42 StarBlockFactory *m_StarBlockFactory { nullptr };
43
44 DeepStarComponent *m_deepStarComp { nullptr };
45 QVector<std::shared_ptr<StarBlockList>> *m_starBlockList { nullptr };
46 bool m_staticStars { false };
47};
Stores and manages unnamed stars, most of which are dynamically loaded into memory.
This class handles representation of unnamed stars in SkyMapLite.
DeepStarItem(DeepStarComponent *deepStarComp, RootNode *rootNode)
Constructor.
virtual void update()
updates all trixels that contain stars
A QSGClipNode derived class used as a container for holding pointers to nodes and for clipping.
Definition rootnode.h:60
This is an interface for implementing SkyItems that represent SkyComponent derived objects on the Sky...
Definition skyitem.h:30
RootNode * rootNode()
Definition skyitem.h:57
Provides an interface to the Hierarchical Triangular Mesh (HTM) library written by A.
Definition skymesh.h:74
A factory that creates StarBlocks and recycles them in an LRU Cache.
Maintains a list of StarBlocks that contain the stars lying in a single trixel.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 17:04:46 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.