void HDFRegionTableReader::GetMinMaxHoleNumber(UInt &minHole, UInt &maxHole) { // Hole numbers may not be sorted ascendingly, so do not // return the first and last hole numbers as the min and max. UInt saveCurRow = curRow; curRow = 0; bool init = false; RegionAnnotation annotation; while (GetNext(annotation) == 1) { UInt curHole = annotation.GetHoleNumber(); if (not init) { minHole = maxHole = curHole; init = true; } else { minHole = (minHole > curHole)?(curHole):(minHole); maxHole = (maxHole < curHole)?(curHole):(maxHole); } } curRow = saveCurRow; }
bool HDFRegionsWriter::Write(const RegionAnnotation &annotation) { try { regionsArray_.WriteRow(annotation.row, HDFRegionsWriter::NCOLS); } catch (H5::Exception &e) { std::ostringstream sout; sout << "Failed to write region annotation " << annotation.GetHoleNumber(); AddErrorMessage(sout.str()); return false; } ++curRow_; return true; }