00001 00019 #ifndef MFDEFS_H 00020 #define MFDEFS_H 00021 00022 /* ================= 00023 Include Files and Type Defines 00024 ==================== */ 00025 #include "oldlist.h" 00026 #include "matchdefs.h" 00027 #include "xform2d.h" 00028 00030 #define BULGENORMALIZER 0.942809041 00031 00036 typedef LIST MICROFEATURES; 00037 00038 #define MFSIZE 6 00043 typedef FLOAT32 MFBLOCK[MFSIZE]; 00044 00048 typedef FLOAT32 *MICROFEATURE; 00049 00050 /* definitions of individual micro-feature parameters */ 00051 #define XPOSITION 0 00052 #define YPOSITION 1 00053 #define MFLENGTH 2 00054 #define ORIENTATION 3 00055 #define FIRSTBULGE 4 00056 #define SECONDBULGE 5 00057 00058 /* ================= 00059 Macros 00060 ==================== */ 00061 /* macros for accessing micro-feature parameters */ 00062 #define CenterX(M) ( (M)[XPOSITION] ) 00063 #define CenterY(M) ( (M)[YPOSITION] ) 00064 #define LengthOf(M) ( (M)[MFLENGTH] ) 00065 #define OrientationOf(M) ( (M)[ORIENTATION] ) 00066 #define FirstBulgeOf(M) ( (M)[FIRSTBULGE] ) 00067 #define SecondBulgeOf(M) ( (M)[SECONDBULGE] ) 00068 00070 #define NextFeatureOf(L) ( (MICROFEATURE) first( L ) ) 00071 00072 /* ================= 00073 Public Function Prototypes 00074 ==================== */ 00075 MICROFEATURE NewMicroFeature(); 00076 00077 void FreeMicroFeatures(MICROFEATURES MicroFeatures); 00078 #endif