} /* BuildDecodeRecs */ override public int LengthNextScanLine() { bool eol = false; int scanLineLen = 0; ushort rec = GetNextRecord(); int recCount = 0; while ((!eof) && (!eol)) { recCount++; Sipper3DecodeRec dr = decodeRecs[rec]; if (dr.ImageData()) { scanLineLen += dr.PixelSpaceNeeded(); if (dr.Eol()) { eol = true; } else { rec = GetNextRecord(); } } else { rec = GetNextRecord(); } } return(scanLineLen); } /* LengthNextScanLine */
} /* LengthNextScanLine */ override public void SkipNextScanLine() { bool eol = false; ushort rec = GetNextRecord(); while ((!eof) && (!eol)) { Sipper3DecodeRec dr = decodeRecs[rec]; if (dr.ImageData()) { if (dr.Eol()) { eol = true; } else { rec = GetNextRecord(); } } else { if (instrumentDataManager != null) { instrumentDataManager.ReportData(dr, (int)lastScanLineNum); } rec = GetNextRecord(); } } } /* SkipNextScanLine */
} /* SkipNextScanLine */ override public void ReadNextScanLine(byte[] scanLine) { bool eol = false; int idx = 0; bool bwImageryFound = false; ushort rec = GetNextRecord(); while ((!eof) && (!eol)) { Sipper3DecodeRec dr = decodeRecs[rec]; if (dr.ImageData()) { if (!dr.GrayScale()) { bwImageryFound = true; } dr.AddToScanLine(scanLine, ref idx); if (dr.Eol()) { eol = true; } else { rec = GetNextRecord(); } } else { if (instrumentDataManager != null) { instrumentDataManager.ReportData(dr, (int)lastScanLineNum); } rec = GetNextRecord(); } } if (bwImageryFound) { scanLine[10] = 255; scanLine[11] = 255; scanLine[12] = 255; scanLine[13] = 255; scanLine[14] = 255; scanLine[15] = 255; scanLine[16] = 255; scanLine[17] = 255; scanLine[18] = 255; scanLine[19] = 255; scanLine[20] = 255; scanLine[21] = 255; scanLine[22] = 255; scanLine[23] = 255; scanLine[24] = 255; scanLine[25] = 255; scanLine[26] = 255; scanLine[27] = 255; scanLine[28] = 255; scanLine[29] = 255; } } /* ReadNextScanLine */