Exemple #1
0
StarBlock::StarBlock( int nstars ) :
    faintMag(-5),
    brightMag(35),
    parent(0),
    prev(0),
    next(0),
    drawID(0),
    nStars(0),
    stars(nstars, StarObject())
{ }
Exemple #2
0
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 &star;
}

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 &star;
}