OIArrayPtr COI_ARRAY::read() { string array_name = ReadKey<string>("ARRNAME"); string frame = ReadKey<string>("FRAME"); vector<double> xyz = ReadXYZ(); vector<OIStationPtr> stations = ReadStations(); // Now create an OIStationPtr and return it OIArrayPtr tmp(new COIArray(array_name, frame, xyz, stations)); return tmp; }
void ImageXYZ::ReadXYZ(FILE* stream, bool transparent, int& width, int& height, void*& pixels) { fseek(stream, 0, SEEK_END); long size = ftell(stream); fseek(stream, 0, SEEK_SET); std::vector<uint8_t> buffer(size); long size_read = fread((void*) &buffer.front(), 1, size, stream); if (size_read != size) { Output::Error("Error reading XYZ file."); return; } ReadXYZ(&buffer.front(), (unsigned) size, transparent, width, height, pixels); }