pad-pin-data.h

00001 /*
00002  * pad-pin-data
00003  *
00004  * Copyright 2008 Dean Ferreyra <dferreyra@igc.org>, All rights reserved
00005  *
00006  * This file is part of Footprint-Update.
00007  * 
00008  * Footprint-Update is free software: you can redistribute it and/or modify
00009  * it under the terms of the GNU General Public License as published by
00010  * the Free Software Foundation, either version 3 of the License, or
00011  * (at your option) any later version.
00012  * 
00013  * Footprint-Update is distributed in the hope that it will be useful,
00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016  * GNU General Public License for more details.
00017  * 
00018  * You should have received a copy of the GNU General Public License
00019  * along with Footprint-Update.  If not, see <http://www.gnu.org/licenses/>.
00020  *
00021  * $Id: pad-pin-data.h,v 1.2 2008-05-22 04:52:13 dean Exp $
00022  * Dean Ferreyra
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

Generated on Tue Aug 17 15:28:04 2010 for pcb-plugins by  doxygen 1.4.6-NO