DeepSkyItem

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
typedef  DirtyState
 
enum  DirtyStateBit
 
enum  Flag
 
typedef  Flags
 
enum  NodeType
 
- Public Attributes inherited from QSGNode
 BasicNodeType
 
 ClipNodeType
 
 DirtyForceUpdate
 
 DirtyGeometry
 
 DirtyMaterial
 
 DirtyMatrix
 
 DirtyNodeAdded
 
 DirtyNodeRemoved
 
 DirtyOpacity
 
 DirtyPropagationMask
 
 DirtySubtreeBlocked
 
 DirtyUsePreprocess
 
 GeometryNodeType
 
 InternalReserved
 
 IsVisitableNode
 
 OpacityNodeType
 
 OwnedByParent
 
 OwnsGeometry
 
 OwnsMaterial
 
 OwnsOpaqueMaterial
 
 RenderNodeType
 
 RootNodeType
 
 TransformNodeType
 
 UsePreprocess
 

Detailed Description

Class that handles representation of Deep Sky Objects.

Author
Artem Fedoskin
Version
1.0

Definition at line 65 of file deepskyitem.h.

Constructor & Destructor Documentation

◆ DeepSkyItem()

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

Constructor.

Instantiates DSOIndexNodes for catalogs

Parameters
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 ( )
virtual

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.
    Parameters
    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 Mon Nov 4 2024 16:38:44 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.