00001 /****************************************************************************** 00002 ** Filename: mfdefs.h 00003 ** Purpose: Definition of micro-features 00004 ** Author: Dan Johnson 00005 ** History: Mon Jan 22 08:42:13 1990, DSJ, Created. 00006 ** 00007 ** (c) Copyright Hewlett-Packard Company, 1988. 00008 ** Licensed under the Apache License, Version 2.0 (the "License"); 00009 ** you may not use this file except in compliance with the License. 00010 ** You may obtain a copy of the License at 00011 ** http://www.apache.org/licenses/LICENSE-2.0 00012 ** Unless required by applicable law or agreed to in writing, software 00013 ** distributed under the License is distributed on an "AS IS" BASIS, 00014 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 ** See the License for the specific language governing permissions and 00016 ** limitations under the License. 00017 ******************************************************************************/ 00018 #ifndef MFDEFS_H 00019 #define MFDEFS_H 00020 00024 #include "oldlist.h" 00025 #include "matchdefs.h" 00026 #include "xform2d.h" 00027 00028 /* maximum size of a bulge for length=1 is sqrt(2)/3 */ 00029 #define BULGENORMALIZER 0.942809041 00030 00031 /* definition of a list of micro-features */ 00032 typedef LIST MICROFEATURES; 00033 00034 /* definition of structure of micro-features */ 00035 #define MFSIZE 6 00036 typedef FLOAT32 MFBLOCK[MFSIZE]; 00037 typedef FLOAT32 *MICROFEATURE; 00038 00039 /* definitions of individual micro-feature parameters */ 00040 #define XPOSITION 0 00041 #define YPOSITION 1 00042 #define MFLENGTH 2 00043 #define ORIENTATION 3 00044 #define FIRSTBULGE 4 00045 #define SECONDBULGE 5 00046 00051 /* macros for accessing micro-feature lists */ 00052 #define NextFeatureOf(L) ( (MICROFEATURE) first_node ( L ) ) 00053 00057 MICROFEATURE NewMicroFeature(); 00058 00059 void FreeMicroFeatures(MICROFEATURES MicroFeatures); 00060 #endif