00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef PAD_PIN_DATA_H_INCLUDED
00026 #define PAD_PIN_DATA_H_INCLUDED 1
00027
00028 #include "utilities.h"
00029
00030 typedef struct {
00031 PadOrPinType pp;
00032 CheapPointType center;
00033 int shares;
00034 Boolean taken;
00035 CheapPointType transformed_center;
00036 } ElementPadPinData;
00037
00038 ElementPadPinData* alloc_pad_pin_data_array(ElementTypePtr element,
00039 int* len_ptr);
00040 double find_non_coincident(const ElementPadPinData* ppd, int len,
00041 int* index1_ptr, int* index2_ptr);
00042 Boolean find_best_corresponding_pads_or_pins(ElementPadPinData* ppd_a,
00043 int len_a,
00044 int index1_a, int index2_a,
00045 Boolean reflect,
00046 ElementPadPinData* ppd_b,
00047 int len_b,
00048 int* index1_ptr,
00049 int* index2_ptr);
00050
00051 #endif