00001 #ifndef _PEAK_GROUP_ITERATOR_H_
00002 #define _PEAK_GROUP_ITERATOR_H_
00003
00004 typedef struct
00005 {
00006 unsigned int state: 2;
00007
00008 FPeakFormat fformat;
00009 FILE *pFile;
00010 fpos_t datastart;
00011 fpos_t curr_pos;
00012
00013 int curve;
00014
00015 } PEAK_GROUP_ITERATOR;
00016
00017 typedef PEAK_GROUP_ITERATOR PeakGroupIterator;
00018
00019 #define HEADER_FOUND 0x01
00020 #define DATA_FOUND 0x0E
00021 #define MEMORY_ALLOCATED 0x02
00022 #define MEMORY_NOT_ALLOCATED 0x0D
00023
00024
00025 #define PEAKGROUPFILE_HEADER_START "PEAK_GROUP"
00026
00027
00028 void PeakGroupIterator_init(PeakGroupIterator* iter);
00029
00030
00031 int PeakGroupIterator_loadHeader(PeakGroupIterator* iter, PeakGroupFile* header);
00032 int PeakGroupIterator_getNextPeakGroup(PeakGroupIterator* iter,
00033 PeakGroup* peakgroup,
00034 FPeak2i* array);
00035
00036 int PeakGroupIterator_getNextPeakGroupMultiple(PeakGroupIterator* iter,
00037 PeakGroup* peakgroup,
00038 FPeak2i* array1,
00039 Map2DPosition* array2);
00040
00041
00042 int PeakGroupIterator_loadHeader2(PeakGroupIterator* iter, PeakGroupFile* header);
00043 int PeakGroupIterator_getNextPeakGroup2(PeakGroupIterator* iter,
00044 PeakGroup* peakgroup,
00045 FPeak2i* array1,
00046 Map2DPosition* array2);
00047 #endif
00048
00049
00050
00051