Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

catalogxref.cpp File Reference

#include <cctype>
#include <algorithm>
#include <celutil/util.h>
#include "catalogxref.h"
#include "stardb.h"

Include dependency graph for catalogxref.cpp:

Go to the source code of this file.

Functions

bool operator< (const CatalogCrossReference::Entry &a, const CatalogCrossReference::Entry &b)
CatalogCrossReferenceReadCatalogCrossReference (istream &in, const StarDatabase &stardb)
static uint32 readUint32 (istream &in)


Function Documentation

bool operator< const CatalogCrossReference::Entry a,
const CatalogCrossReference::Entry b
 

Definition at line 39 of file catalogxref.cpp.

00041 {
00042     return a.catalogNumber < b.catalogNumber;
00043 }

CatalogCrossReference* ReadCatalogCrossReference istream &  in,
const StarDatabase stardb
 

Definition at line 152 of file catalogxref.cpp.

References CatalogCrossReference::addEntry(), readUint32(), and CatalogCrossReference::reserve().

00154 {
00155     CatalogCrossReference* xref = new CatalogCrossReference();
00156 
00157     uint32 nEntries = readUint32(in);
00158     if (!in.good())
00159     {
00160         delete xref;
00161         return NULL;
00162     }
00163 
00164     xref->reserve(nEntries);
00165 
00166     for (uint32 i = 0; i < nEntries; i++)
00167     {
00168         uint32 catNo1 = readUint32(in);
00169         uint32 catNo2 = readUint32(in);
00170         Star* star = stardb.find(catNo2);
00171         if (star != NULL)
00172             xref->addEntry(catNo1, star);
00173     }
00174 
00175     return xref;
00176 }

static uint32 readUint32 istream &  in  )  [static]
 

Definition at line 143 of file catalogxref.cpp.

Referenced by TextureFont::load(), and ReadCatalogCrossReference().

00144 {
00145     unsigned char b[4];
00146     in.read(reinterpret_cast<char*>(b), 4);
00147     return ((uint32) b[3] << 24) + ((uint32) b[2] << 16)
00148         + ((uint32) b[1] << 8) + (uint32) b[0];
00149 }


Generated on Sat Jan 14 22:30:39 2006 for Celestia by  doxygen 1.4.1