StarBlock::StarBlock( int nstars ) : faintMag(-5), brightMag(35), parent(0), prev(0), next(0), drawID(0), nStars(0), stars(nstars, StarObject()) { }
StarBlock::StarBlock( int nstars ) : faintMag(-5), brightMag(35), parent(0), prev(0), next(0), drawID(0), nStars(0), #ifdef KSTARS_LITE stars(nstars,StarNode()) #else stars(nstars, StarObject()) #endif { } void StarBlock::reset() { if( parent ) parent->releaseBlock( this ); parent = NULL; faintMag = -5.0; brightMag = 35.0; nStars = 0; } StarBlock::~StarBlock() { if( parent ) parent -> releaseBlock( this ); } #ifdef KSTARS_LITE StarNode* StarBlock::addStar(const starData& data) { if(isFull()) return 0; StarNode& node = stars[nStars++]; StarObject& star = node.star; star.init(&data); if( star.mag() > faintMag ) faintMag = star.mag(); if( star.mag() < brightMag ) brightMag = star.mag(); return &node; } StarNode* StarBlock::addStar(const deepStarData& data) { if(isFull()) return 0; StarNode& node = stars[nStars++]; StarObject& star = node.star; star.init(&data); if( star.mag() > faintMag ) faintMag = star.mag(); if( star.mag() < brightMag ) brightMag = star.mag(); return &node; } #else StarObject* StarBlock::addStar(const starData& data) { if(isFull()) return 0; StarObject& star = stars[nStars++]; star.init(&data); if( star.mag() > faintMag ) faintMag = star.mag(); if( star.mag() < brightMag ) brightMag = star.mag(); return ☆ } StarObject* StarBlock::addStar(const deepStarData& data) { if(isFull()) return 0; StarObject& star = stars[nStars++]; star.init(&data); if( star.mag() > faintMag ) faintMag = star.mag(); if( star.mag() < brightMag ) brightMag = star.mag(); return ☆ }