23 #ifndef _ZONEARRAY_HPP_ 24 #define _ZONEARRAY_HPP_ 26 #include "ZoneData.hpp" 29 #include "StelCore.hpp" 30 #include "StelSkyDrawer.hpp" 31 #include "StarMgr.hpp" 46 # if (defined(__sgi) && defined(_COMPILER_VERSION)) 47 # define MAP_NORESERVE MAP_AUTORESRV 50 # define MAP_NORESERVE 0 55 #define NR_OF_HIP 120416 56 #define FILE_MAGIC 0x835f040a 57 #define FILE_MAGIC_OTHER_ENDIAN 0x0a045f83 58 #define FILE_MAGIC_NATIVE 0x835f040b 59 #define MAX_MAJOR_FILE_VERSION 0 85 static ZoneArray *create(
const QString &extended_file_name,
bool use_mmap);
98 virtual void searchAround(
const StelCore* core,
int index,
const Vec3d &v,
double cosLimFov,
99 QList<StelObjectP > &result) = 0;
102 virtual void draw(
StelPainter* sPainter,
int index,
bool is_inside,
104 int maxMagStarName,
float names_brightness,
105 const QVector<SphericalCap>& boundingCaps)
const = 0;
112 void initTriangle(
int index,
const Vec3f &c0,
const Vec3f &c1,
const Vec3f &c2);
114 virtual void scaleAxis() = 0;
131 float star_position_scale;
136 static bool readFile(QFile& file,
void *data, qint64 size);
139 ZoneArray(
const QString& fname, QFile* file,
int level,
int mag_min,
int mag_range,
int mag_steps);
140 unsigned int nr_of_zones;
141 unsigned int nr_of_stars;
163 SpecialZoneArray(QFile* file,
bool byte_swap,
bool use_mmap,
int level,
int mag_min,
164 int mag_range,
int mag_steps);
182 virtual void draw(
StelPainter* sPainter,
int index,
bool isInsideViewport,
184 int maxMagStarName,
float names_brightness,
185 const QVector<SphericalCap>& boundingCaps)
const;
187 virtual void scaleAxis();
188 virtual void searchAround(
const StelCore* core,
int index,
const Vec3d &v,
double cosLimFov,
189 QList<StelObjectP > &result);
203 int level,
int mag_min,
int mag_range,
int mag_steps)
205 mag_min,mag_range,mag_steps) {}
212 #endif // _ZONEARRAY_HPP_ const int mag_range
Range of magnitudes in this level. Units: millimags.
Container for Hipparcos information.
Manages all ZoneData structures of a given StelGeodesicGrid level.
const int level
Level in StelGeodesicGrid.
SpecialZoneData< Star > * getZones(void) const
Get an array of all SpecialZoneData objects in this catalog.
Main class for Stellarium core processing.
bool isInitialized(void) const
Get whether or not the catalog was successfully loaded.
Contains the 2 parameters necessary to draw a star on screen.
Provides functions for performing openGL drawing operations.
const int mag_min
Lower bound of magnitudes in this level. Units: millimag. May be negative for brightest stars...
unsigned int getNrOfStars() const
Get the total number of stars in this catalog.
ZoneArray of Hipparcos stars.
const int mag_steps
Number of steps used to describe values in mag_range. Always positive. Individual stars have their ma...
virtual void updateHipIndex(HipIndexStruct hipIndex[]) const
Dummy method that does nothing. See subclass implementation.
const QString fname
File path of the catalog.