Stellarium  0.20.4
Public Member Functions | Protected Member Functions | Protected Attributes
SpecialZoneArray< Star > Class Template Reference

Implements all the virtual methods in ZoneArray. More...

#include <ZoneArray.hpp>

Public Member Functions

 SpecialZoneArray (QFile *file, bool byte_swap, bool use_mmap, int level, int mag_min, int mag_range, int mag_steps)
 Handles loading of the meaty part of star catalogs. More...
 
- Public Member Functions inherited from ZoneArray
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.
 
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.
 

Protected Member Functions

SpecialZoneData< Star > * getZones (void) const
 Get an array of all SpecialZoneData objects in this catalog.
 
virtual void draw (StelPainter *sPainter, int index, bool isInsideViewport, const RCMag *rcmag_table, int limitMagIndex, StelCore *core, int maxMagStarName, float names_brightness, bool designationUsage, const QVector< SphericalCap > &boundingCaps) const
 Draw stars and their names onto the viewport. More...
 
virtual void scaleAxis ()
 
virtual void searchAround (const StelCore *core, int index, const Vec3d &v, double cosLimFov, QList< StelObjectP > &result)
 Pure virtual method. See subclass implementation.
 
- Protected Member Functions inherited from ZoneArray
 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.
 

Protected Attributes

Star * stars
 
- Protected Attributes inherited from ZoneArray
unsigned int nr_of_zones
 
unsigned int nr_of_stars
 
ZoneDatazones
 
QFile * file
 

Additional Inherited Members

- Static Public Member Functions inherited from ZoneArray
static ZoneArraycreate (const QString &extended_file_name, bool use_mmap)
 Named public constructor for ZoneArray. More...
 
- Data Fields inherited from ZoneArray
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
 
- Static Protected Member Functions inherited from ZoneArray
static bool readFile (QFile &file, void *data, qint64 size)
 Load a catalog and display its progress on the splash screen. More...
 

Detailed Description

template<class Star>
class SpecialZoneArray< Star >

Is only separate from ZoneArray because ZoneArray decides on the template parameter.

Template Parameters
Stareither Star1, Star2 or Star3, depending on the brightness of stars in this catalog.

Constructor & Destructor Documentation

◆ SpecialZoneArray()

template<class Star>
SpecialZoneArray< Star >::SpecialZoneArray ( QFile *  file,
bool  byte_swap,
bool  use_mmap,
int  level,
int  mag_min,
int  mag_range,
int  mag_steps 
)
Parameters
filecatalog to load from
byte_swapwhether to switch endianness of catalog data
use_mmapwhether or not to mmap the star catalog
levellevel in StelGeodesicGrid
mag_minlower bound of magnitudes
mag_rangerange of magnitudes
mag_stepsnumber of steps used to describe values in range

Member Function Documentation

◆ draw()

template<class Star>
virtual void SpecialZoneArray< Star >::draw ( StelPainter sPainter,
int  index,
bool  isInsideViewport,
const RCMag rcmag_table,
int  limitMagIndex,
StelCore core,
int  maxMagStarName,
float  names_brightness,
bool  designationUsage,
const QVector< SphericalCap > &  boundingCaps 
) const
protectedvirtual
Parameters
sPainterthe painter to use
indexzone index to draw
isInsideViewportwhether the zone is inside the current viewport
rcmag_tabletable of magnitudes
limitMagIndexindex from rcmag_table at which stars are not visible anymore
corecore to use for drawing
maxMagStarNamemagnitude limit of stars that display labels
names_brightnessbrightness of labels

Implements ZoneArray.