00001
#ifndef _MAP_POS_H_
00002
#define _MAP_POS_H_
00003
00004
00005
00006
00007
00008
00009
00010
struct FPeak2i;
00011
00012
struct Map2DPosition
00013 {
00014 MQTileID bTile;
00015
int nSegment;
00016 };
00017
00018
typedef struct Map2DPosition Map2DPosition;
00019
typedef Map2DPosition* Map2DPositionPointer;
00020
00021
int Map2DPosition_cmp(
const void *p1,
const void *p2);
00022
00023 Map2DPosition* Map2DPositionArray_create(
int nsize);
00024 Map2DPositionPointer* Map2DPositionPointerArray_create(
int nsize);
00025
00026 MQTileID* Map2DPositionArray_getTileArray(Map2DPosition* array,
int nSize,
int* nTiles);
00027 MQTileID* Map2DPositionPointerArray_getTileArray(Map2DPositionPointer* array,
int nSize,
int* nTiles);
00028
00029
int* Map2DPositionArray_getSegmentsFromTile( Map2DPosition* pos,
00030
int size,
00031 MQTileID bTile,
00032
int* nseg);
00033
00034
void Map2DPositionArray_fprint(FILE* fp, Map2DPosition* pos,
int size);
00035
void Map2DPositionArray_sort(Map2DPosition* array,
int size);
00036
00037
int* Map2DPositionPointerArray_getSegmentsFromTile( Map2DPositionPointer* pos,
00038
int size,
00039 MQTileID bTile,
00040
int* nseg);
00041
00042
int Map2DPositionPointerArray_countSpanningTiles(Map2DPositionPointer* array,
int nSize);
00043
00044 MQTileID Map2DPositionPointerArray_getSmallestTile(Map2DPositionPointer* array,
int nSize);
00045
00046 Map2DPositionPointer* Map2DPositionArray_getPointerArray(Map2DPosition* peaks,
int npeaks);
00047 Map2DPositionPointer* Map2DPositionPointerArray_copy(Map2DPositionPointer* pArray,
int nArray);
00048
00049 Map2DPositionPointer* Map2DPositionArray_getPointerArrayOfValidFPeaks(Map2DPosition* peaks,
00050
struct FPeak2i* array,
00051
int npeaks);
00052
00053
#endif
00054