Stellarium  24.3
Public Member Functions | Static Public Member Functions | Data Fields | Protected Member Functions | Static Protected Member Functions | Protected Attributes
ZoneArray Class Referenceabstract

Manages all ZoneData structures of a given StelGeodesicGrid level. More...

#include <ZoneArray.hpp>

Public Member Functions

unsigned int getNrOfStars () const
 Get the total number of stars in this catalog.
 
virtual void updateHipIndex (HipIndexStruct hipIndex[]) const
 Dummy method that does nothing. See subclass implementation.
 
virtual void searchAround (const StelCore *core, int index, const Vec3d &v, double cosLimFov, QList< StelObjectP > &result)=0
 Pure virtual method. See subclass implementation.
 
virtual void draw (StelPainter *sPainter, int index, bool is_inside, const RCMag *rcmag_table, int limitMagIndex, StelCore *core, int maxMagStarName, float names_brightness, const QVector< SphericalCap > &boundingCaps, const bool withAberration, const Vec3f vel) const =0
 Pure virtual method. See subclass implementation.
 
bool isInitialized (void) const
 Get whether or not the catalog was successfully loaded. More...
 
void initTriangle (int index, const Vec3f &c0, const Vec3f &c1, const Vec3f &c2)
 Initialize the ZoneData struct at the given index.
 
virtual void scaleAxis ()=0
 

Static Public Member Functions

static ZoneArraycreate (const QString &extended_file_name, bool use_mmap)
 Named public constructor for ZoneArray. More...
 

Data Fields

const QString fname
 File path of the catalog.
 
const int level
 Level in StelGeodesicGrid.
 
const int mag_min
 Lower bound of magnitudes in this level. Units: millimag. May be negative for brightest stars.
 
const int mag_range
 Range of magnitudes in this level. Units: millimags.
 
const int mag_steps
 Number of steps used to describe values in mag_range. Always positive. Individual stars have their mag entries from 0..mag_steps.
 
float star_position_scale
 

Protected Member Functions

 ZoneArray (const QString &fname, QFile *file, int level, int mag_min, int mag_range, int mag_steps)
 Protected constructor. Initializes fields and does not load anything.
 

Static Protected Member Functions

static bool readFile (QFile &file, void *data, qint64 size)
 Load a catalog and display its progress on the splash screen. More...
 

Protected Attributes

unsigned int nr_of_zones
 
unsigned int nr_of_stars
 
ZoneDatazones
 
QFile * file
 

Detailed Description

Manages all ZoneData structures of a given StelGeodesicGrid level.

An instance of this class is never created directly; the named constructor returns an instance of one of its subclasses. All it really does is bootstrap the loading process.

Member Function Documentation

◆ create()

static ZoneArray* ZoneArray::create ( const QString &  extended_file_name,
bool  use_mmap 
)
static

Named public constructor for ZoneArray.

Opens a catalog, reads its header info, and creates a SpecialZoneArray or HipZoneArray for loading.

Parameters
extended_file_namepath of the star catalog to load from
use_mmapwhether or not to mmap the star catalog
Returns
an instance of SpecialZoneArray or HipZoneArray

◆ isInitialized()

bool ZoneArray::isInitialized ( void  ) const
inline

Get whether or not the catalog was successfully loaded.

Returns
true if at least one zone was loaded, otherwise false

◆ readFile()

static bool ZoneArray::readFile ( QFile &  file,
void *  data,
qint64  size 
)
staticprotected

Load a catalog and display its progress on the splash screen.

Returns
true if successful, or false if an error occurred