Search for usage in LXR

DeepSkyItem Class Reference

#include <deepskyitem.h>

Inheritance diagram for DeepSkyItem:

Public Member Functions

 DeepSkyItem (DeepSkyComponent *dsoComp, RootNode *rootNode)
virtual void update ()
void updateDeepSkyNode (DSOIndexNode *node, bool drawObject, MeshIterator *region, bool drawImage=false)
- Public Member Functions inherited from SkyItem
 SkyItem (LabelsItem::label_t labelType, RootNode *rootNode=nullptr)
virtual ~SkyItem ()
virtual void hide () override
void hideLabels ()
LabelsItem::label_t labelType ()
RootNoderootNode ()
virtual void show () override
- Public Member Functions inherited from SkyOpacityNode
bool visible ()
- Public Member Functions inherited from QSGOpacityNode
qreal opacity () const const
void setOpacity (qreal opacity)
- Public Member Functions inherited from QSGNode
void appendChildNode (QSGNode *node)
QSGNodechildAtIndex (int i) const const
int childCount () const const
QSGNodefirstChild () const const
Flags flags () const const
void insertChildNodeAfter (QSGNode *node, QSGNode *after)
void insertChildNodeBefore (QSGNode *node, QSGNode *before)
virtual bool isSubtreeBlocked () const const
QSGNodelastChild () const const
void markDirty (DirtyState bits)
QSGNodenextSibling () const const
QSGNodeparent () const const
void prependChildNode (QSGNode *node)
virtual void preprocess ()
QSGNodepreviousSibling () const const
void removeAllChildNodes ()
void removeChildNode (QSGNode *node)
void setFlag (Flag f, bool enabled)
void setFlags (Flags f, bool enabled)
NodeType type () const const

Additional Inherited Members

- Public Types inherited from QSGNode
enum  DirtyStateBit
enum  Flag
enum  NodeType
- Public Attributes inherited from QSGNode
typedef DirtyState
typedef Flags

Detailed Description

Class that handles representation of Deep Sky Objects.

Artem Fedoskin

Definition at line 65 of file deepskyitem.h.

Constructor & Destructor Documentation

◆ DeepSkyItem()

DeepSkyItem::DeepSkyItem ( DeepSkyComponent * dsoComp,
RootNode * rootNode )


Instantiates DSOIndexNodes for catalogs

dsoComppointer to DeepSkyComponent that handles data
rootNodeparent RootNode that instantiated this object

Definition at line 62 of file deepskyitem.cpp.

Member Function Documentation

◆ update()

void DeepSkyItem::update ( )

Call update on all DSOIndexNodes (catalogs)

Implements SkyItem.

Definition at line 112 of file deepskyitem.cpp.

◆ updateDeepSkyNode()

void DeepSkyItem::updateDeepSkyNode ( DSOIndexNode * node,
bool drawObject,
MeshIterator * region,
bool drawImage = false )

update all nodes needed to represent DSO in the given DSOIndexNode In this function we perform some tricks to reduce memory consumption:

  1. Each TrixelNode has hideCount() function that returns the number of updates, during which this TrixelNode was hidden. Whenever TrixelNode becomes visible this counter is set to 0 and is not being incremented.
  2. Based on the zoom level we calculate the limit for hideCount. If hideCount() of particular TrixelNode is larger than the limit, we delete all nodes of this TrixelNode.
  3. If DSOTrixelNode is visible, we iterate over its DeepSkyObjects and DeepSkyNodes. If hideCount of DeepSkyNode is larger than the limit we delete it. If DeepSkyObject is visible but no DeepSkyNode to represent this object is created, we instantiate a new one.
    node- DSOIndexNode(catalog) that should be updated
    drawObject- true if objects from this catalog should be drawn, false otherwise
    region- MeshIterator that should be used to iterate over visible trixels
    drawImage- true if images for objects should be drawn, false otherwise

Definition at line 130 of file deepskyitem.cpp.

The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Jul 19 2024 11:51:35 by doxygen 1.11.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.