WSABinaryFileReader.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #include "Datum.h"
00007 #include "FileHeader.h"
00008 #include "FileObjectReader.h"
00009
00010 #include "WSABinaryFileReader.h"
00011
00012 class Object;
00013
00014 WSABinaryFileReader::WSABinaryFileReader()
00015 : FileObjectReader()
00016 {
00017 }
00018
00019 Object* WSABinaryFileReader::read(FILE* aFilePtr)
00020 {
00021 Object* theObjectPtr = 0;
00022 static const unsigned int cBufferSize = 24;
00023 static char bufferAry[cBufferSize];
00024 double orthoSD = 0;
00025 double decSD = 0;
00026
00027 if (cBufferSize == fread(bufferAry,
00028 sizeof(char),
00029 cBufferSize,
00030 aFilePtr))
00031 {
00032 unsigned long long id = *((unsigned long long *) (&bufferAry[0]));
00033 double ra = *((double *) (&bufferAry[8]));
00034 double dec = *((double *) (&bufferAry[16]));
00035
00036 theObjectPtr = new Datum(id, ra, orthoSD, dec, decSD);
00037 }
00038
00039 return theObjectPtr;
00040 }
00041