Pcbnew: Update incorrect or incomplete copyrights in many files.
Minor code cleaning in autoroute files.
This commit is contained in:
parent
fc9e25fce7
commit
7f07b48e88
|
@ -3,6 +3,30 @@
|
||||||
* @brief Kicad: Common plot PDF Routines
|
* @brief Kicad: Common plot PDF Routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992-2012 Lorenzo Marcantonio, l.marcantonio@logossrl.com
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <appl_wxstruct.h>
|
#include <appl_wxstruct.h>
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -170,32 +170,6 @@ protected:
|
||||||
*/
|
*/
|
||||||
virtual bool isAutoSaveRequired() const;
|
virtual bool isAutoSaveRequired() const;
|
||||||
|
|
||||||
/**
|
|
||||||
* Function propagate
|
|
||||||
* Used now only in autoplace calculations
|
|
||||||
* Uses the routing matrix to fill the cells within the zone
|
|
||||||
* Search and mark cells within the zone, and agree with DRC options.
|
|
||||||
* Requirements:
|
|
||||||
* Start from an initial point, to fill zone
|
|
||||||
* The zone must have no "copper island"
|
|
||||||
* Algorithm:
|
|
||||||
* If the current cell has a neighbor flagged as "cell in the zone", it
|
|
||||||
* become a cell in the zone
|
|
||||||
* The first point in the zone is the starting point
|
|
||||||
* 4 searches within the matrix are made:
|
|
||||||
* 1 - Left to right and top to bottom
|
|
||||||
* 2 - Right to left and top to bottom
|
|
||||||
* 3 - bottom to top and Right to left
|
|
||||||
* 4 - bottom to top and Left to right
|
|
||||||
* Given the current cell, for each search, we consider the 2 neighbor cells
|
|
||||||
* the previous cell on the same line and the previous cell on the same column.
|
|
||||||
*
|
|
||||||
* This function can request some iterations
|
|
||||||
* Iterations are made until no cell is added to the zone.
|
|
||||||
* @return: added cells count (i.e. which the attribute CELL_is_ZONE is set)
|
|
||||||
*/
|
|
||||||
int propagate();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function duplicateZone
|
* Function duplicateZone
|
||||||
* duplicates the given zone.
|
* duplicates the given zone.
|
||||||
|
@ -1460,7 +1434,7 @@ public:
|
||||||
* The cost is the longest ratsnest distance with penalty for connections
|
* The cost is the longest ratsnest distance with penalty for connections
|
||||||
* approaching 45 degrees.
|
* approaching 45 degrees.
|
||||||
*/
|
*/
|
||||||
float Compute_Ratsnest_PlaceModule( wxDC* DC );
|
double Compute_Ratsnest_PlaceModule( wxDC* DC );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function GenPlaceBoard
|
* Function GenPlaceBoard
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
*
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,9 +1,16 @@
|
||||||
|
/**
|
||||||
|
* @file autoplac.cpp
|
||||||
|
* @brief Routiness to automatically place MODULES on a board.
|
||||||
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see change_log.txt for contributors.
|
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see change_log.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
@ -23,11 +30,6 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* @file autoplac.cpp
|
|
||||||
* @brief Routiness to automatically place MODULES on a board.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
|
@ -77,8 +79,6 @@ static const float OrientPenality[11] =
|
||||||
#define OCCUPED_By_MODULE -1
|
#define OCCUPED_By_MODULE -1
|
||||||
|
|
||||||
|
|
||||||
static EDA_RECT bbbox; // boards bounding box
|
|
||||||
|
|
||||||
static wxPoint CurrPosition; // Current position of the current module placement
|
static wxPoint CurrPosition; // Current position of the current module placement
|
||||||
static bool AutoPlaceShowAll = true;
|
static bool AutoPlaceShowAll = true;
|
||||||
|
|
||||||
|
@ -86,28 +86,18 @@ float MinCout;
|
||||||
|
|
||||||
static int TstModuleOnBoard( BOARD* Pcb, MODULE* Module, bool TstOtherSide );
|
static int TstModuleOnBoard( BOARD* Pcb, MODULE* Module, bool TstOtherSide );
|
||||||
|
|
||||||
static void CreateKeepOutRectangle( BOARD* Pcb,
|
static void CreateKeepOutRectangle( int ux0, int uy0, int ux1, int uy1,
|
||||||
int ux0,
|
int marge, int aKeepOut, int aLayerMask );
|
||||||
int uy0,
|
|
||||||
int ux1,
|
|
||||||
int uy1,
|
|
||||||
int marge,
|
|
||||||
int aKeepOut,
|
|
||||||
int aLayerMask );
|
|
||||||
|
|
||||||
static MODULE* PickModule( PCB_EDIT_FRAME* pcbframe, wxDC* DC );
|
static MODULE* PickModule( PCB_EDIT_FRAME* pcbframe, wxDC* DC );
|
||||||
|
static int propagate();
|
||||||
|
|
||||||
void PCB_EDIT_FRAME::AutoPlaceModule( MODULE* Module, int place_mode, wxDC* DC )
|
void PCB_EDIT_FRAME::AutoPlaceModule( MODULE* Module, int place_mode, wxDC* DC )
|
||||||
{
|
{
|
||||||
int ii, activ;
|
MODULE* currModule = NULL;
|
||||||
MODULE* ThisModule = NULL;
|
|
||||||
wxPoint PosOK;
|
wxPoint PosOK;
|
||||||
wxPoint memopos;
|
wxPoint memopos;
|
||||||
int error;
|
int error;
|
||||||
int NbModules = 0;
|
|
||||||
int NbTotalModules = 0;
|
|
||||||
float Pas;
|
|
||||||
int lay_tmp_TOP, lay_tmp_BOTTOM;
|
int lay_tmp_TOP, lay_tmp_BOTTOM;
|
||||||
|
|
||||||
// Undo: init list
|
// Undo: init list
|
||||||
|
@ -122,27 +112,27 @@ void PCB_EDIT_FRAME::AutoPlaceModule( MODULE* Module, int place_mode, wxDC* DC )
|
||||||
|
|
||||||
switch( place_mode )
|
switch( place_mode )
|
||||||
{
|
{
|
||||||
case PLACE_1_MODULE:
|
case PLACE_1_MODULE:
|
||||||
ThisModule = Module;
|
currModule = Module;
|
||||||
|
|
||||||
if( ThisModule == NULL )
|
if( currModule == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ThisModule->m_ModuleStatus &= ~(MODULE_is_PLACED | MODULE_to_PLACE);
|
currModule->m_ModuleStatus &= ~(MODULE_is_PLACED | MODULE_to_PLACE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PLACE_OUT_OF_BOARD:
|
case PLACE_OUT_OF_BOARD:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PLACE_ALL:
|
case PLACE_ALL:
|
||||||
if( !IsOK( this, _( "Footprints NOT LOCKED will be moved" ) ) )
|
if( !IsOK( this, _( "Footprints NOT LOCKED will be moved" ) ) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PLACE_INCREMENTAL:
|
case PLACE_INCREMENTAL:
|
||||||
if( !IsOK( this, _( "Footprints NOT PLACED will be moved" ) ) )
|
if( !IsOK( this, _( "Footprints NOT PLACED will be moved" ) ) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -158,18 +148,10 @@ void PCB_EDIT_FRAME::AutoPlaceModule( MODULE* Module, int place_mode, wxDC* DC )
|
||||||
RoutingMatrix.m_GridRouting = 10*IU_PER_MILS; // Min value = 1/1000 inch
|
RoutingMatrix.m_GridRouting = 10*IU_PER_MILS; // Min value = 1/1000 inch
|
||||||
|
|
||||||
/* Compute module parameters used in auto place */
|
/* Compute module parameters used in auto place */
|
||||||
Module = GetBoard()->m_Modules;
|
|
||||||
NbTotalModules = 0;
|
|
||||||
|
|
||||||
for( ; Module != NULL; Module = Module->Next() )
|
|
||||||
{
|
|
||||||
Module->CalculateBoundingBox();
|
|
||||||
NbTotalModules ++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( GenPlaceBoard() == 0 )
|
if( GenPlaceBoard() == 0 )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
int moduleCount = 0;
|
||||||
Module = GetBoard()->m_Modules;
|
Module = GetBoard()->m_Modules;
|
||||||
|
|
||||||
for( ; Module != NULL; Module = Module->Next() )
|
for( ; Module != NULL; Module = Module->Next() )
|
||||||
|
@ -179,10 +161,10 @@ void PCB_EDIT_FRAME::AutoPlaceModule( MODULE* Module, int place_mode, wxDC* DC )
|
||||||
switch( place_mode )
|
switch( place_mode )
|
||||||
{
|
{
|
||||||
case PLACE_1_MODULE:
|
case PLACE_1_MODULE:
|
||||||
if( ThisModule == Module )
|
if( currModule == Module )
|
||||||
{
|
{
|
||||||
// Module will be placed, add to undo.
|
// Module will be placed, add to undo.
|
||||||
picker.SetItem( ThisModule );
|
picker.SetItem( currModule );
|
||||||
newList.PushItem( picker );
|
newList.PushItem( picker );
|
||||||
|
|
||||||
Module->m_ModuleStatus |= MODULE_to_PLACE;
|
Module->m_ModuleStatus |= MODULE_to_PLACE;
|
||||||
|
@ -191,12 +173,12 @@ void PCB_EDIT_FRAME::AutoPlaceModule( MODULE* Module, int place_mode, wxDC* DC )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PLACE_OUT_OF_BOARD:
|
case PLACE_OUT_OF_BOARD:
|
||||||
Module->m_ModuleStatus &= ~MODULE_is_PLACED;
|
Module->SetIsPlaced( false );
|
||||||
|
|
||||||
if( Module->m_ModuleStatus & MODULE_is_LOCKED )
|
if( Module->IsLocked() )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if( !bbbox.Contains( Module->m_Pos ) )
|
if( !RoutingMatrix.m_BrdBox.Contains( Module->m_Pos ) )
|
||||||
{
|
{
|
||||||
// Module will be placed, add to undo.
|
// Module will be placed, add to undo.
|
||||||
picker.SetItem( Module );
|
picker.SetItem( Module );
|
||||||
|
@ -208,9 +190,9 @@ void PCB_EDIT_FRAME::AutoPlaceModule( MODULE* Module, int place_mode, wxDC* DC )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PLACE_ALL:
|
case PLACE_ALL:
|
||||||
Module->m_ModuleStatus &= ~MODULE_is_PLACED;
|
Module->SetIsPlaced( false );
|
||||||
|
|
||||||
if( Module->m_ModuleStatus & MODULE_is_LOCKED )
|
if( Module->IsLocked() )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// Module will be placed, add to undo.
|
// Module will be placed, add to undo.
|
||||||
|
@ -221,9 +203,9 @@ void PCB_EDIT_FRAME::AutoPlaceModule( MODULE* Module, int place_mode, wxDC* DC )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PLACE_INCREMENTAL:
|
case PLACE_INCREMENTAL:
|
||||||
if( Module->m_ModuleStatus & MODULE_is_LOCKED )
|
if( Module->IsLocked() )
|
||||||
{
|
{
|
||||||
Module->m_ModuleStatus &= ~MODULE_is_PLACED;
|
Module->SetIsPlaced( false );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -242,7 +224,7 @@ void PCB_EDIT_FRAME::AutoPlaceModule( MODULE* Module, int place_mode, wxDC* DC )
|
||||||
|
|
||||||
if( Module->m_ModuleStatus & MODULE_to_PLACE ) // Erase from screen
|
if( Module->m_ModuleStatus & MODULE_to_PLACE ) // Erase from screen
|
||||||
{
|
{
|
||||||
NbModules++;
|
moduleCount++;
|
||||||
Module->Draw( m_canvas, DC, GR_XOR );
|
Module->Draw( m_canvas, DC, GR_XOR );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -251,26 +233,25 @@ void PCB_EDIT_FRAME::AutoPlaceModule( MODULE* Module, int place_mode, wxDC* DC )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Undo: commit
|
// Undo command: commit list
|
||||||
if( newList.GetCount() )
|
if( newList.GetCount() )
|
||||||
SaveCopyInUndoList( newList, UR_CHANGED );
|
SaveCopyInUndoList( newList, UR_CHANGED );
|
||||||
|
|
||||||
activ = 0;
|
int cnt = 0;
|
||||||
Pas = 100.0;
|
int ii;
|
||||||
|
wxString msg;
|
||||||
if( NbModules )
|
|
||||||
Pas = 100.0 / (float) NbModules;
|
|
||||||
|
|
||||||
while( ( Module = PickModule( this, DC ) ) != NULL )
|
while( ( Module = PickModule( this, DC ) ) != NULL )
|
||||||
{
|
{
|
||||||
float BestScore;
|
// Display some info about activity, module placement can take a while:
|
||||||
DisplayActivity( (int) (activ * Pas), wxEmptyString ); activ++;
|
msg.Printf( _("Place module %d of %d"), cnt, moduleCount );
|
||||||
|
SetStatusText( msg );
|
||||||
|
|
||||||
/* Display fill area of interest, barriers, penalties. */
|
/* Display fill area of interest, barriers, penalties. */
|
||||||
DrawInfoPlace( DC );
|
DrawInfoPlace( DC );
|
||||||
|
|
||||||
error = GetOptimalModulePlacement( Module, DC );
|
error = GetOptimalModulePlacement( Module, DC );
|
||||||
BestScore = MinCout;
|
float BestScore = MinCout;
|
||||||
PosOK = CurrPosition;
|
PosOK = CurrPosition;
|
||||||
|
|
||||||
if( error == ESC )
|
if( error == ESC )
|
||||||
|
@ -366,13 +347,13 @@ end_of_tst:
|
||||||
Module->CalculateBoundingBox();
|
Module->CalculateBoundingBox();
|
||||||
|
|
||||||
GenModuleOnBoard( Module );
|
GenModuleOnBoard( Module );
|
||||||
Module->m_ModuleStatus |= MODULE_is_PLACED;
|
Module->SetIsPlaced( true );
|
||||||
Module->m_ModuleStatus &= ~MODULE_to_PLACE;
|
Module->m_ModuleStatus &= ~MODULE_to_PLACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
CurrPosition = memopos;
|
CurrPosition = memopos;
|
||||||
|
|
||||||
RoutingMatrix.UnInitBoard();
|
RoutingMatrix.UnInitRoutingMatrix();
|
||||||
|
|
||||||
Route_Layer_TOP = lay_tmp_TOP;
|
Route_Layer_TOP = lay_tmp_TOP;
|
||||||
Route_Layer_BOTTOM = lay_tmp_BOTTOM;
|
Route_Layer_BOTTOM = lay_tmp_BOTTOM;
|
||||||
|
@ -400,11 +381,11 @@ void PCB_EDIT_FRAME::DrawInfoPlace( wxDC* DC )
|
||||||
|
|
||||||
for( ii = 0; ii < RoutingMatrix.m_Nrows; ii++ )
|
for( ii = 0; ii < RoutingMatrix.m_Nrows; ii++ )
|
||||||
{
|
{
|
||||||
oy = bbbox.GetY() + ( ii * RoutingMatrix.m_GridRouting );
|
oy = RoutingMatrix.m_BrdBox.GetY() + ( ii * RoutingMatrix.m_GridRouting );
|
||||||
|
|
||||||
for( jj = 0; jj < RoutingMatrix.m_Ncols; jj++ )
|
for( jj = 0; jj < RoutingMatrix.m_Ncols; jj++ )
|
||||||
{
|
{
|
||||||
ox = bbbox.GetX() + (jj * RoutingMatrix.m_GridRouting);
|
ox = RoutingMatrix.m_BrdBox.GetX() + (jj * RoutingMatrix.m_GridRouting);
|
||||||
color = BLACK;
|
color = BLACK;
|
||||||
|
|
||||||
top_state = GetCell( ii, jj, TOP );
|
top_state = GetCell( ii, jj, TOP );
|
||||||
|
@ -434,37 +415,20 @@ void PCB_EDIT_FRAME::DrawInfoPlace( wxDC* DC )
|
||||||
|
|
||||||
int PCB_EDIT_FRAME::GenPlaceBoard()
|
int PCB_EDIT_FRAME::GenPlaceBoard()
|
||||||
{
|
{
|
||||||
int jj, ii;
|
|
||||||
int NbCells;
|
int NbCells;
|
||||||
EDA_ITEM* PtStruct;
|
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
||||||
RoutingMatrix.UnInitBoard();
|
RoutingMatrix.UnInitRoutingMatrix();
|
||||||
|
|
||||||
bbbox = GetBoard()->ComputeBoundingBox( true );
|
EDA_RECT bbox = GetBoard()->ComputeBoundingBox( true );
|
||||||
|
|
||||||
if( bbbox.GetWidth() == 0 && bbbox.GetHeight() == 0 )
|
if( bbox.GetWidth() == 0 || bbox.GetHeight() == 0 )
|
||||||
{
|
{
|
||||||
DisplayError( this, _( "No PCB edge found, unknown board size!" ) );
|
DisplayError( this, _( "No PCB edge found, unknown board size!" ) );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The boundary box must have its start point on placing grid: */
|
RoutingMatrix.ComputeMatrixSize( GetBoard(), true );
|
||||||
bbbox.SetX( bbbox.GetX() - ( bbbox.GetX() % RoutingMatrix.m_GridRouting ) );
|
|
||||||
bbbox.SetY( bbbox.GetY() - ( bbbox.GetY() % RoutingMatrix.m_GridRouting ) );
|
|
||||||
|
|
||||||
/* The boundary box must have its end point on placing grid: */
|
|
||||||
wxPoint end = bbbox.GetEnd();
|
|
||||||
end.x -= end.x % RoutingMatrix.m_GridRouting;
|
|
||||||
end.x += RoutingMatrix.m_GridRouting;
|
|
||||||
end.y -= end.y % RoutingMatrix.m_GridRouting;
|
|
||||||
end.y += RoutingMatrix.m_GridRouting;
|
|
||||||
bbbox.SetEnd( end );
|
|
||||||
|
|
||||||
Nrows = bbbox.GetHeight() / RoutingMatrix.m_GridRouting;
|
|
||||||
Ncols = bbbox.GetWidth() / RoutingMatrix.m_GridRouting;
|
|
||||||
/* get a small margin for memory allocation: */
|
|
||||||
Ncols += 2; Nrows += 2;
|
|
||||||
NbCells = Ncols * Nrows;
|
NbCells = Ncols * Nrows;
|
||||||
|
|
||||||
m_messagePanel->EraseMsgBox();
|
m_messagePanel->EraseMsgBox();
|
||||||
|
@ -478,10 +442,7 @@ int PCB_EDIT_FRAME::GenPlaceBoard()
|
||||||
/* Choose the number of board sides. */
|
/* Choose the number of board sides. */
|
||||||
Nb_Sides = TWO_SIDES;
|
Nb_Sides = TWO_SIDES;
|
||||||
|
|
||||||
m_messagePanel->SetMessage( 22, wxT( "S" ),
|
RoutingMatrix.InitRoutingMatrix();
|
||||||
( Nb_Sides == TWO_SIDES ) ? wxT( "2" ) : wxT( "1" ), WHITE );
|
|
||||||
|
|
||||||
RoutingMatrix.InitBoard();
|
|
||||||
|
|
||||||
/* Display memory usage. */
|
/* Display memory usage. */
|
||||||
msg.Printf( wxT( "%d" ), RoutingMatrix.m_MemSize / 1024 );
|
msg.Printf( wxT( "%d" ), RoutingMatrix.m_MemSize / 1024 );
|
||||||
|
@ -495,13 +456,14 @@ int PCB_EDIT_FRAME::GenPlaceBoard()
|
||||||
Route_Layer_TOP = LAYER_N_FRONT;
|
Route_Layer_TOP = LAYER_N_FRONT;
|
||||||
|
|
||||||
/* Place the edge layer segments */
|
/* Place the edge layer segments */
|
||||||
PtStruct = GetBoard()->m_Drawings;
|
|
||||||
TRACK TmpSegm( NULL );
|
TRACK TmpSegm( NULL );
|
||||||
|
|
||||||
TmpSegm.SetLayer( -1 );
|
TmpSegm.SetLayer( -1 );
|
||||||
TmpSegm.SetNet( -1 );
|
TmpSegm.SetNet( -1 );
|
||||||
TmpSegm.m_Width = RoutingMatrix.m_GridRouting / 2;
|
TmpSegm.m_Width = RoutingMatrix.m_GridRouting / 2;
|
||||||
|
|
||||||
|
EDA_ITEM* PtStruct = GetBoard()->m_Drawings;
|
||||||
|
|
||||||
for( ; PtStruct != NULL; PtStruct = PtStruct->Next() )
|
for( ; PtStruct != NULL; PtStruct = PtStruct->Next() )
|
||||||
{
|
{
|
||||||
DRAWSEGMENT* DrawSegm;
|
DRAWSEGMENT* DrawSegm;
|
||||||
|
@ -529,21 +491,16 @@ int PCB_EDIT_FRAME::GenPlaceBoard()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Init the point of attachment to the area. */
|
// Mark cells of the routing matrix to CELL_is_ZONE
|
||||||
|
// (i.e. availlable cell to place a module )
|
||||||
|
// Init a starting point of attachment to the area.
|
||||||
OrCell( Nrows / 2, Ncols / 2, BOTTOM, CELL_is_ZONE );
|
OrCell( Nrows / 2, Ncols / 2, BOTTOM, CELL_is_ZONE );
|
||||||
|
|
||||||
/* Fill bottom layer zones. */
|
// find and mark all other availlable cells:
|
||||||
ii = 1;
|
for( int ii = 1; ii != 0; )
|
||||||
jj = 1;
|
|
||||||
|
|
||||||
while( ii )
|
|
||||||
{
|
|
||||||
msg.Printf( wxT( "%d" ), jj++ );
|
|
||||||
m_messagePanel->SetMessage( 50, _( "Loop" ), msg, CYAN );
|
|
||||||
ii = propagate();
|
ii = propagate();
|
||||||
}
|
|
||||||
|
|
||||||
/* Initialize top layer. */
|
// Initialize top layer. to the same value as the bottom layer
|
||||||
if( RoutingMatrix.m_BoardSide[TOP] )
|
if( RoutingMatrix.m_BoardSide[TOP] )
|
||||||
memcpy( RoutingMatrix.m_BoardSide[TOP], RoutingMatrix.m_BoardSide[BOTTOM],
|
memcpy( RoutingMatrix.m_BoardSide[TOP], RoutingMatrix.m_BoardSide[BOTTOM],
|
||||||
NbCells * sizeof(MATRIX_CELL) );
|
NbCells * sizeof(MATRIX_CELL) );
|
||||||
|
@ -566,29 +523,29 @@ void PCB_EDIT_FRAME::GenModuleOnBoard( MODULE* Module )
|
||||||
oy = Module->m_BoundaryBox.GetY() - marge;
|
oy = Module->m_BoundaryBox.GetY() - marge;
|
||||||
fy = Module->m_BoundaryBox.GetBottom() + marge;
|
fy = Module->m_BoundaryBox.GetBottom() + marge;
|
||||||
|
|
||||||
if( ox < bbbox.GetX() )
|
if( ox < RoutingMatrix.m_BrdBox.GetX() )
|
||||||
ox = bbbox.GetX();
|
ox = RoutingMatrix.m_BrdBox.GetX();
|
||||||
|
|
||||||
if( ox > bbbox.GetRight() )
|
if( ox > RoutingMatrix.m_BrdBox.GetRight() )
|
||||||
ox = bbbox.GetRight();
|
ox = RoutingMatrix.m_BrdBox.GetRight();
|
||||||
|
|
||||||
if( fx < bbbox.GetX() )
|
if( fx < RoutingMatrix.m_BrdBox.GetX() )
|
||||||
fx = bbbox.GetX();
|
fx = RoutingMatrix.m_BrdBox.GetX();
|
||||||
|
|
||||||
if( fx > bbbox.GetRight() )
|
if( fx > RoutingMatrix.m_BrdBox.GetRight() )
|
||||||
fx = bbbox.GetRight();
|
fx = RoutingMatrix.m_BrdBox.GetRight();
|
||||||
|
|
||||||
if( oy < bbbox.GetY() )
|
if( oy < RoutingMatrix.m_BrdBox.GetY() )
|
||||||
oy = bbbox.GetY();
|
oy = RoutingMatrix.m_BrdBox.GetY();
|
||||||
|
|
||||||
if( oy > bbbox.GetBottom() )
|
if( oy > RoutingMatrix.m_BrdBox.GetBottom() )
|
||||||
oy = bbbox.GetBottom();
|
oy = RoutingMatrix.m_BrdBox.GetBottom();
|
||||||
|
|
||||||
if( fy < bbbox.GetY() )
|
if( fy < RoutingMatrix.m_BrdBox.GetY() )
|
||||||
fy = bbbox.GetY();
|
fy = RoutingMatrix.m_BrdBox.GetY();
|
||||||
|
|
||||||
if( fy > bbbox.GetBottom() )
|
if( fy > RoutingMatrix.m_BrdBox.GetBottom() )
|
||||||
fy = bbbox.GetBottom();
|
fy = RoutingMatrix.m_BrdBox.GetBottom();
|
||||||
|
|
||||||
layerMask = 0;
|
layerMask = 0;
|
||||||
|
|
||||||
|
@ -614,7 +571,7 @@ void PCB_EDIT_FRAME::GenModuleOnBoard( MODULE* Module )
|
||||||
|
|
||||||
/* Trace clearance. */
|
/* Trace clearance. */
|
||||||
marge = ( RoutingMatrix.m_GridRouting * Module->m_PadNum ) / GAIN;
|
marge = ( RoutingMatrix.m_GridRouting * Module->m_PadNum ) / GAIN;
|
||||||
CreateKeepOutRectangle( GetBoard(), ox, oy, fx, fy, marge, KEEP_OUT_MARGIN, layerMask );
|
CreateKeepOutRectangle( ox, oy, fx, fy, marge, KEEP_OUT_MARGIN, layerMask );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -625,14 +582,17 @@ int PCB_EDIT_FRAME::GetOptimalModulePlacement( MODULE* aModule, wxDC* aDC )
|
||||||
int error = 1;
|
int error = 1;
|
||||||
int showRat = 0;
|
int showRat = 0;
|
||||||
wxPoint LastPosOK;
|
wxPoint LastPosOK;
|
||||||
float mincout, cout, Score;
|
double mincout, cout, Score;
|
||||||
int keepOut;
|
int keepOut;
|
||||||
bool TstOtherSide;
|
bool TstOtherSide;
|
||||||
|
bool showRats = g_Show_Module_Ratsnest;
|
||||||
|
|
||||||
|
g_Show_Module_Ratsnest = false;
|
||||||
|
|
||||||
aModule->DisplayInfo( this );
|
aModule->DisplayInfo( this );
|
||||||
|
|
||||||
LastPosOK.x = bbbox.GetX();
|
LastPosOK.x = RoutingMatrix.m_BrdBox.GetX();
|
||||||
LastPosOK.y = bbbox.GetY();
|
LastPosOK.y = RoutingMatrix.m_BrdBox.GetY();
|
||||||
|
|
||||||
cx = aModule->m_Pos.x; cy = aModule->m_Pos.y;
|
cx = aModule->m_Pos.x; cy = aModule->m_Pos.y;
|
||||||
ox = aModule->m_BoundaryBox.GetX() - cx;
|
ox = aModule->m_BoundaryBox.GetX() - cx;
|
||||||
|
@ -640,8 +600,8 @@ int PCB_EDIT_FRAME::GetOptimalModulePlacement( MODULE* aModule, wxDC* aDC )
|
||||||
oy = aModule->m_BoundaryBox.GetY() - cy;
|
oy = aModule->m_BoundaryBox.GetY() - cy;
|
||||||
fy = aModule->m_BoundaryBox.GetHeight() + oy;
|
fy = aModule->m_BoundaryBox.GetHeight() + oy;
|
||||||
|
|
||||||
CurrPosition.x = bbbox.GetX() - ox;
|
CurrPosition.x = RoutingMatrix.m_BrdBox.GetX() - ox;
|
||||||
CurrPosition.y = bbbox.GetY() - oy;
|
CurrPosition.y = RoutingMatrix.m_BrdBox.GetY() - oy;
|
||||||
|
|
||||||
/* Module placement on grid. */
|
/* Module placement on grid. */
|
||||||
CurrPosition.x -= CurrPosition.x % RoutingMatrix.m_GridRouting;
|
CurrPosition.x -= CurrPosition.x % RoutingMatrix.m_GridRouting;
|
||||||
|
@ -680,7 +640,7 @@ int PCB_EDIT_FRAME::GetOptimalModulePlacement( MODULE* aModule, wxDC* aDC )
|
||||||
mincout = -1.0;
|
mincout = -1.0;
|
||||||
SetStatusText( wxT( "Score ??, pos ??" ) );
|
SetStatusText( wxT( "Score ??, pos ??" ) );
|
||||||
|
|
||||||
for( ; CurrPosition.x < bbbox.GetRight() - fx;
|
for( ; CurrPosition.x < RoutingMatrix.m_BrdBox.GetRight() - fx;
|
||||||
CurrPosition.x += RoutingMatrix.m_GridRouting )
|
CurrPosition.x += RoutingMatrix.m_GridRouting )
|
||||||
{
|
{
|
||||||
wxYield();
|
wxYield();
|
||||||
|
@ -700,14 +660,14 @@ int PCB_EDIT_FRAME::GetOptimalModulePlacement( MODULE* aModule, wxDC* aDC )
|
||||||
DrawModuleOutlines( m_canvas, aDC, aModule );
|
DrawModuleOutlines( m_canvas, aDC, aModule );
|
||||||
|
|
||||||
g_Offset_Module.x = cx - CurrPosition.x;
|
g_Offset_Module.x = cx - CurrPosition.x;
|
||||||
CurrPosition.y = bbbox.GetY() - oy;
|
CurrPosition.y = RoutingMatrix.m_BrdBox.GetY() - oy;
|
||||||
|
|
||||||
/* Placement on grid. */
|
/* Placement on grid. */
|
||||||
CurrPosition.y -= CurrPosition.y % RoutingMatrix.m_GridRouting;
|
CurrPosition.y -= CurrPosition.y % RoutingMatrix.m_GridRouting;
|
||||||
|
|
||||||
DrawModuleOutlines( m_canvas, aDC, aModule );
|
DrawModuleOutlines( m_canvas, aDC, aModule );
|
||||||
|
|
||||||
for( ; CurrPosition.y < bbbox.GetBottom() - fy;
|
for( ; CurrPosition.y < RoutingMatrix.m_BrdBox.GetBottom() - fy;
|
||||||
CurrPosition.y += RoutingMatrix.m_GridRouting )
|
CurrPosition.y += RoutingMatrix.m_GridRouting )
|
||||||
{
|
{
|
||||||
/* Erase traces. */
|
/* Erase traces. */
|
||||||
|
@ -724,21 +684,21 @@ int PCB_EDIT_FRAME::GetOptimalModulePlacement( MODULE* aModule, wxDC* aDC )
|
||||||
DrawModuleOutlines( m_canvas, aDC, aModule );
|
DrawModuleOutlines( m_canvas, aDC, aModule );
|
||||||
keepOut = TstModuleOnBoard( GetBoard(), aModule, TstOtherSide );
|
keepOut = TstModuleOnBoard( GetBoard(), aModule, TstOtherSide );
|
||||||
|
|
||||||
if( keepOut >= 0 ) /* c a d if the module can be placed. */
|
if( keepOut >= 0 ) // i.e. if the module can be put here
|
||||||
{
|
{
|
||||||
error = 0;
|
error = 0;
|
||||||
build_ratsnest_module( aModule );
|
build_ratsnest_module( aModule );
|
||||||
cout = Compute_Ratsnest_PlaceModule( aDC );
|
cout = Compute_Ratsnest_PlaceModule( aDC );
|
||||||
showRat = 1;
|
showRat = 1;
|
||||||
Score = cout + (float) keepOut;
|
Score = cout + keepOut;
|
||||||
|
|
||||||
if( (mincout >= Score ) || (mincout < 0 ) )
|
if( (mincout >= Score ) || (mincout < 0 ) )
|
||||||
{
|
{
|
||||||
LastPosOK = CurrPosition;
|
LastPosOK = CurrPosition;
|
||||||
mincout = Score;
|
mincout = Score;
|
||||||
wxString msg;
|
wxString msg;
|
||||||
msg.Printf( wxT( "Score %d, pos %3.4f, %3.4f" ),
|
msg.Printf( wxT( "Score %g, pos %3.4f, %3.4f" ),
|
||||||
(int) mincout,
|
mincout,
|
||||||
(float) LastPosOK.x / 10000,
|
(float) LastPosOK.x / 10000,
|
||||||
(float) LastPosOK.y / 10000 );
|
(float) LastPosOK.y / 10000 );
|
||||||
SetStatusText( msg );
|
SetStatusText( msg );
|
||||||
|
@ -754,6 +714,8 @@ int PCB_EDIT_FRAME::GetOptimalModulePlacement( MODULE* aModule, wxDC* aDC )
|
||||||
|
|
||||||
DrawModuleOutlines( m_canvas, aDC, aModule ); /* erasing the last traces */
|
DrawModuleOutlines( m_canvas, aDC, aModule ); /* erasing the last traces */
|
||||||
|
|
||||||
|
g_Show_Module_Ratsnest = showRats;
|
||||||
|
|
||||||
if( showRat )
|
if( showRat )
|
||||||
Compute_Ratsnest_PlaceModule( aDC );
|
Compute_Ratsnest_PlaceModule( aDC );
|
||||||
|
|
||||||
|
@ -832,16 +794,16 @@ int TstRectangle( BOARD* Pcb, int ux0, int uy0, int ux1, int uy1, int side )
|
||||||
* (ux, ux .. y0, y1):
|
* (ux, ux .. y0, y1):
|
||||||
* (Sum of cells in terms of distance)
|
* (Sum of cells in terms of distance)
|
||||||
*/
|
*/
|
||||||
unsigned int CalculateKeepOutArea( BOARD* Pcb, int ux0, int uy0, int ux1, int uy1, int side )
|
unsigned int CalculateKeepOutArea( int ux0, int uy0, int ux1, int uy1, int side )
|
||||||
{
|
{
|
||||||
int row, col;
|
int row, col;
|
||||||
int row_min, row_max, col_min, col_max;
|
int row_min, row_max, col_min, col_max;
|
||||||
unsigned int keepOut;
|
unsigned int keepOut;
|
||||||
|
|
||||||
ux0 -= Pcb->GetBoundingBox().GetX();
|
ux0 -= RoutingMatrix.m_BrdBox.GetX();
|
||||||
uy0 -= Pcb->GetBoundingBox().GetY();
|
uy0 -= RoutingMatrix.m_BrdBox.GetY();
|
||||||
ux1 -= Pcb->GetBoundingBox().GetX();
|
ux1 -= RoutingMatrix.m_BrdBox.GetX();
|
||||||
uy1 -= Pcb->GetBoundingBox().GetY();
|
uy1 -= RoutingMatrix.m_BrdBox.GetY();
|
||||||
|
|
||||||
row_max = uy1 / RoutingMatrix.m_GridRouting;
|
row_max = uy1 / RoutingMatrix.m_GridRouting;
|
||||||
col_max = ux1 / RoutingMatrix.m_GridRouting;
|
col_max = ux1 / RoutingMatrix.m_GridRouting;
|
||||||
|
@ -917,15 +879,15 @@ int TstModuleOnBoard( BOARD* Pcb, MODULE* Module, bool TstOtherSide )
|
||||||
|
|
||||||
marge = ( RoutingMatrix.m_GridRouting * Module->m_PadNum ) / GAIN;
|
marge = ( RoutingMatrix.m_GridRouting * Module->m_PadNum ) / GAIN;
|
||||||
|
|
||||||
return CalculateKeepOutArea( Pcb, ox - marge, oy - marge, fx + marge, fy + marge, side );
|
return CalculateKeepOutArea( ox - marge, oy - marge, fx + marge, fy + marge, side );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
float PCB_EDIT_FRAME::Compute_Ratsnest_PlaceModule( wxDC* DC )
|
double PCB_EDIT_FRAME::Compute_Ratsnest_PlaceModule( wxDC* DC )
|
||||||
{
|
{
|
||||||
double cout, icout;
|
double cout, icout;
|
||||||
int ox, oy;
|
wxPoint start; // start point of a ratsnest
|
||||||
int fx, fy;
|
wxPoint end; // end point of a ratsnest
|
||||||
int dx, dy;
|
int dx, dy;
|
||||||
|
|
||||||
if( ( GetBoard()->m_Status_Pcb & RATSNEST_ITEM_LOCAL_OK ) == 0 )
|
if( ( GetBoard()->m_Status_Pcb & RATSNEST_ITEM_LOCAL_OK ) == 0 )
|
||||||
|
@ -942,60 +904,58 @@ float PCB_EDIT_FRAME::Compute_Ratsnest_PlaceModule( wxDC* DC )
|
||||||
{
|
{
|
||||||
RATSNEST_ITEM* pt_local_rats_nest = &GetBoard()->m_LocalRatsnest[ii];
|
RATSNEST_ITEM* pt_local_rats_nest = &GetBoard()->m_LocalRatsnest[ii];
|
||||||
|
|
||||||
if( !( pt_local_rats_nest->m_Status & LOCAL_RATSNEST_ITEM ) )
|
if( ( pt_local_rats_nest->m_Status & LOCAL_RATSNEST_ITEM ) )
|
||||||
|
continue; // Skip ratsnest between 2 pads of the current module
|
||||||
|
|
||||||
|
// Skip modules not inside the board area
|
||||||
|
MODULE * module = pt_local_rats_nest->m_PadEnd->GetParent();
|
||||||
|
if( !RoutingMatrix.m_BrdBox.Contains( module->GetPosition() ) )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
start = pt_local_rats_nest->m_PadStart->GetPosition() - g_Offset_Module;
|
||||||
|
end = pt_local_rats_nest->m_PadEnd->GetPosition();
|
||||||
|
|
||||||
|
if( AutoPlaceShowAll )
|
||||||
{
|
{
|
||||||
ox = pt_local_rats_nest->m_PadStart->GetPosition().x - g_Offset_Module.x;
|
GRLine( m_canvas->GetClipBox(), DC, start, end, 0, color );
|
||||||
oy = pt_local_rats_nest->m_PadStart->GetPosition().y - g_Offset_Module.y;
|
|
||||||
fx = pt_local_rats_nest->m_PadEnd->GetPosition().x;
|
|
||||||
fy = pt_local_rats_nest->m_PadEnd->GetPosition().y;
|
|
||||||
|
|
||||||
if( AutoPlaceShowAll )
|
|
||||||
{
|
|
||||||
GRLine( m_canvas->GetClipBox(), DC, ox, oy, fx, fy, 0, color );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Cost of the ratsnest. */
|
|
||||||
dx = fx - ox;
|
|
||||||
dy = fy - oy;
|
|
||||||
|
|
||||||
dx = abs( dx );
|
|
||||||
dy = abs( dy );
|
|
||||||
|
|
||||||
if( dx < dy )
|
|
||||||
EXCHG( dx, dy ); /* dx >= dy */
|
|
||||||
|
|
||||||
/* Cost of the longest connection. */
|
|
||||||
icout = (float) dx * dx;
|
|
||||||
|
|
||||||
/* Cost of inclination. */
|
|
||||||
icout += 3 * (float) dy * dy;
|
|
||||||
icout = sqrt( icout );
|
|
||||||
cout += icout; /* Total cost = sum of costs of each connection. */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Cost of the ratsnest. */
|
||||||
|
dx = end.x - start.x;
|
||||||
|
dy = end.y - start.y;
|
||||||
|
|
||||||
|
dx = abs( dx );
|
||||||
|
dy = abs( dy );
|
||||||
|
|
||||||
|
// ttry to have always dx >= dy to calculate the cost of the rastsnet
|
||||||
|
if( dx < dy )
|
||||||
|
EXCHG( dx, dy );
|
||||||
|
|
||||||
|
// Cost of the connection = lenght + penalty due to the slope
|
||||||
|
// dx is the biggest lenght relative to the X or Y axis
|
||||||
|
// the penalty is max for 45 degrees ratsnests,
|
||||||
|
// and 0 for horizontal or vertical ratsnests.
|
||||||
|
// For Horizontal and Vertical ratsnests, dy = 0;
|
||||||
|
icout = hypot( (double) dx, (double) dy * 2.0 );
|
||||||
|
cout += icout; /* Total cost = sum of costs of each connection. */
|
||||||
}
|
}
|
||||||
|
|
||||||
return (float) cout;
|
return cout;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function CreateKeepOutRectangle
|
* Function CreateKeepOutRectangle
|
||||||
* builds the cost map.
|
* builds the cost map:
|
||||||
* Cells ( in Dist mao ) inside the rect x0,y0 a x1,y1 are
|
* Cells ( in Dist map ) inside the rect x0,y0 a x1,y1 are
|
||||||
* incremented by value aKeepOut
|
* incremented by value aKeepOut
|
||||||
* Cell outside this rectangle, but inside the rectangle
|
* Cell outside this rectangle, but inside the rectangle
|
||||||
* x0,y0 -marge to x1,y1 + marge sont incrementede by a decreasing value
|
* x0,y0 -marge to x1,y1 + marge are incremented by a decreasing value
|
||||||
* (aKeepOut ... 0). The decreasing value de pends on the distance to the first rectangle
|
* (aKeepOut ... 0). The decreasing value de pends on the distance to the first rectangle
|
||||||
* Therefore the cost is high in rect x0,y0 a x1,y1, and decrease outside this rectangle
|
* Therefore the cost is high in rect x0,y0 a x1,y1, and decrease outside this rectangle
|
||||||
*/
|
*/
|
||||||
static void CreateKeepOutRectangle( BOARD* Pcb,
|
void CreateKeepOutRectangle( int ux0, int uy0, int ux1, int uy1,
|
||||||
int ux0,
|
int marge, int aKeepOut, int aLayerMask )
|
||||||
int uy0,
|
|
||||||
int ux1,
|
|
||||||
int uy1,
|
|
||||||
int marge,
|
|
||||||
int aKeepOut,
|
|
||||||
int aLayerMask )
|
|
||||||
{
|
{
|
||||||
int row, col;
|
int row, col;
|
||||||
int row_min, row_max, col_min, col_max, pmarge;
|
int row_min, row_max, col_min, col_max, pmarge;
|
||||||
|
@ -1012,10 +972,10 @@ static void CreateKeepOutRectangle( BOARD* Pcb,
|
||||||
if( trace == 0 )
|
if( trace == 0 )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ux0 -= Pcb->GetBoundingBox().GetX();
|
ux0 -= RoutingMatrix.m_BrdBox.GetX();
|
||||||
uy0 -= Pcb->GetBoundingBox().GetY();
|
uy0 -= RoutingMatrix.m_BrdBox.GetY();
|
||||||
ux1 -= Pcb->GetBoundingBox().GetX();
|
ux1 -= RoutingMatrix.m_BrdBox.GetX();
|
||||||
uy1 -= Pcb->GetBoundingBox().GetY();
|
uy1 -= RoutingMatrix.m_BrdBox.GetY();
|
||||||
|
|
||||||
ux0 -= marge; ux1 += marge;
|
ux0 -= marge; ux1 += marge;
|
||||||
uy0 -= marge; uy1 += marge;
|
uy0 -= marge; uy1 += marge;
|
||||||
|
@ -1187,7 +1147,31 @@ static MODULE* PickModule( PCB_EDIT_FRAME* pcbframe, wxDC* DC )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int PCB_EDIT_FRAME::propagate()
|
/**
|
||||||
|
* Function propagate
|
||||||
|
* Used only in autoplace calculations
|
||||||
|
* Uses the routing matrix to fill the cells within the zone
|
||||||
|
* Search and mark cells within the zone, and agree with DRC options.
|
||||||
|
* Requirements:
|
||||||
|
* Start from an initial point, to fill zone
|
||||||
|
* The zone must have no "copper island"
|
||||||
|
* Algorithm:
|
||||||
|
* If the current cell has a neighbor flagged as "cell in the zone", it
|
||||||
|
* become a cell in the zone
|
||||||
|
* The first point in the zone is the starting point
|
||||||
|
* 4 searches within the matrix are made:
|
||||||
|
* 1 - Left to right and top to bottom
|
||||||
|
* 2 - Right to left and top to bottom
|
||||||
|
* 3 - bottom to top and Right to left
|
||||||
|
* 4 - bottom to top and Left to right
|
||||||
|
* Given the current cell, for each search, we consider the 2 neighbor cells
|
||||||
|
* the previous cell on the same line and the previous cell on the same column.
|
||||||
|
*
|
||||||
|
* This function can request some iterations
|
||||||
|
* Iterations are made until no cell is added to the zone.
|
||||||
|
* @return: added cells count (i.e. which the attribute CELL_is_ZONE is set)
|
||||||
|
*/
|
||||||
|
int propagate()
|
||||||
{
|
{
|
||||||
int row, col;
|
int row, col;
|
||||||
long current_cell, old_cell_H;
|
long current_cell, old_cell_H;
|
||||||
|
@ -1195,10 +1179,6 @@ int PCB_EDIT_FRAME::propagate()
|
||||||
int nbpoints = 0;
|
int nbpoints = 0;
|
||||||
|
|
||||||
#define NO_CELL_ZONE (HOLE | CELL_is_EDGE | CELL_is_ZONE)
|
#define NO_CELL_ZONE (HOLE | CELL_is_EDGE | CELL_is_ZONE)
|
||||||
wxString msg;
|
|
||||||
|
|
||||||
m_messagePanel->SetMessage( 57, wxT( "Detect" ), msg, CYAN );
|
|
||||||
m_messagePanel->SetMessage( -1, wxEmptyString, wxT( "1" ), CYAN );
|
|
||||||
|
|
||||||
pt_cell_V.reserve( MAX( Nrows, Ncols ) );
|
pt_cell_V.reserve( MAX( Nrows, Ncols ) );
|
||||||
fill( pt_cell_V.begin(), pt_cell_V.end(), 0 );
|
fill( pt_cell_V.begin(), pt_cell_V.end(), 0 );
|
||||||
|
@ -1227,7 +1207,6 @@ int PCB_EDIT_FRAME::propagate()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Search from right to left and top to bottom/
|
// Search from right to left and top to bottom/
|
||||||
m_messagePanel->SetMessage( -1, wxEmptyString, wxT( "2" ), CYAN );
|
|
||||||
fill( pt_cell_V.begin(), pt_cell_V.end(), 0 );
|
fill( pt_cell_V.begin(), pt_cell_V.end(), 0 );
|
||||||
|
|
||||||
for( row = 0; row < Nrows; row++ )
|
for( row = 0; row < Nrows; row++ )
|
||||||
|
@ -1253,7 +1232,6 @@ int PCB_EDIT_FRAME::propagate()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Search from bottom to top and right to left.
|
// Search from bottom to top and right to left.
|
||||||
m_messagePanel->SetMessage( -1, wxEmptyString, wxT( "3" ), CYAN );
|
|
||||||
fill( pt_cell_V.begin(), pt_cell_V.end(), 0 );
|
fill( pt_cell_V.begin(), pt_cell_V.end(), 0 );
|
||||||
|
|
||||||
for( col = Ncols - 1; col >= 0; col-- )
|
for( col = Ncols - 1; col >= 0; col-- )
|
||||||
|
@ -1279,7 +1257,6 @@ int PCB_EDIT_FRAME::propagate()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Search from bottom to top and left to right.
|
// Search from bottom to top and left to right.
|
||||||
m_messagePanel->SetMessage( -1, wxEmptyString, wxT( "4" ), CYAN );
|
|
||||||
fill( pt_cell_V.begin(), pt_cell_V.end(), 0 );
|
fill( pt_cell_V.begin(), pt_cell_V.end(), 0 );
|
||||||
|
|
||||||
for( col = 0; col < Ncols; col++ )
|
for( col = 0; col < Ncols; col++ )
|
||||||
|
|
|
@ -3,6 +3,33 @@
|
||||||
* @brief Autorouting command and control.
|
* @brief Autorouting command and control.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see change_log.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
|
@ -156,10 +183,10 @@ void PCB_EDIT_FRAME::Autoroute( wxDC* DC, int mode )
|
||||||
if( Route_Layer_TOP != Route_Layer_BOTTOM )
|
if( Route_Layer_TOP != Route_Layer_BOTTOM )
|
||||||
Nb_Sides = TWO_SIDES;
|
Nb_Sides = TWO_SIDES;
|
||||||
|
|
||||||
if( RoutingMatrix.InitBoard() < 0 )
|
if( RoutingMatrix.InitRoutingMatrix() < 0 )
|
||||||
{
|
{
|
||||||
wxMessageBox( _( "No memory for autorouting" ) );
|
wxMessageBox( _( "No memory for autorouting" ) );
|
||||||
RoutingMatrix.UnInitBoard(); /* Free memory. */
|
RoutingMatrix.UnInitRoutingMatrix(); /* Free memory. */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,7 +206,7 @@ void PCB_EDIT_FRAME::Autoroute( wxDC* DC, int mode )
|
||||||
/* Free memory. */
|
/* Free memory. */
|
||||||
FreeQueue();
|
FreeQueue();
|
||||||
InitWork(); /* Free memory for the list of router connections. */
|
InitWork(); /* Free memory for the list of router connections. */
|
||||||
RoutingMatrix.UnInitBoard();
|
RoutingMatrix.UnInitRoutingMatrix();
|
||||||
stop = time( NULL ) - start;
|
stop = time( NULL ) - start;
|
||||||
msg.Printf( wxT( "time = %d second%s" ), stop, ( stop == 1 ) ? wxT( "" ) : wxT( "s" ) );
|
msg.Printf( wxT( "time = %d second%s" ), stop, ( stop == 1 ) ? wxT( "" ) : wxT( "s" ) );
|
||||||
SetStatusText( msg );
|
SetStatusText( msg );
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see change_log.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
@ -95,7 +97,7 @@ public:
|
||||||
* cells */
|
* cells */
|
||||||
DIR_CELL* m_DirSide[MAX_SIDES_COUNT]; /* header of blocks of chars:pointers back to
|
DIR_CELL* m_DirSide[MAX_SIDES_COUNT]; /* header of blocks of chars:pointers back to
|
||||||
* source */
|
* source */
|
||||||
bool m_InitBoardDone;
|
bool m_InitMatrixDone;
|
||||||
int m_Layers;
|
int m_Layers;
|
||||||
int m_GridRouting; // Size of grid for autoplace/autoroute
|
int m_GridRouting; // Size of grid for autoplace/autoroute
|
||||||
EDA_RECT m_BrdBox; // Actual board bounding box
|
EDA_RECT m_BrdBox; // Actual board bounding box
|
||||||
|
@ -110,8 +112,11 @@ public:
|
||||||
* Function ComputeMatrixSize
|
* Function ComputeMatrixSize
|
||||||
* calculates the number of rows and columns of dimensions of \a aPcb for routing and
|
* calculates the number of rows and columns of dimensions of \a aPcb for routing and
|
||||||
* automatic calculation of area.
|
* automatic calculation of area.
|
||||||
|
* @param aPcb = the physical board
|
||||||
|
* @param aUseBoardEdgesOnly = true to use board edges only,
|
||||||
|
* = false to use the full board bounding box (default)
|
||||||
*/
|
*/
|
||||||
bool ComputeMatrixSize( BOARD* aPcb );
|
bool ComputeMatrixSize( BOARD* aPcb, bool aUseBoardEdgesOnly = false );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function InitBoard
|
* Function InitBoard
|
||||||
|
@ -119,9 +124,9 @@ public:
|
||||||
*
|
*
|
||||||
* @return the amount of memory used or -1 if default.
|
* @return the amount of memory used or -1 if default.
|
||||||
*/
|
*/
|
||||||
int InitBoard();
|
int InitRoutingMatrix();
|
||||||
|
|
||||||
void UnInitBoard();
|
void UnInitRoutingMatrix();
|
||||||
};
|
};
|
||||||
|
|
||||||
extern MATRIX_ROUTING_HEAD RoutingMatrix; /* 2-sided board */
|
extern MATRIX_ROUTING_HEAD RoutingMatrix; /* 2-sided board */
|
||||||
|
@ -143,8 +148,6 @@ class RATSNEST_ITEM;
|
||||||
class TRACK;
|
class TRACK;
|
||||||
|
|
||||||
|
|
||||||
int Propagation( PCB_EDIT_FRAME* frame );
|
|
||||||
|
|
||||||
/* Initialize a color value, the cells included in the board edge of the
|
/* Initialize a color value, the cells included in the board edge of the
|
||||||
* pad surface by pt_pad, with the margin reserved for isolation and the
|
* pad surface by pt_pad, with the margin reserved for isolation and the
|
||||||
* half width of the runway
|
* half width of the runway
|
||||||
|
|
|
@ -2,6 +2,36 @@
|
||||||
* @file cell.h
|
* @file cell.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see change_log.txt for contributors.
|
||||||
|
*
|
||||||
|
* First copyright (C) Randy Nevin, 1989 (see PCBCA package)
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifndef _CELL_H_
|
#ifndef _CELL_H_
|
||||||
#define _CELL_H_
|
#define _CELL_H_
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,30 @@
|
||||||
* @brief Routines to calculate PCB editor auto routing distances.
|
* @brief Routines to calculate PCB editor auto routing distances.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* First copyright (C) Randy Nevin, 1989 (see PCBCA package)
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
#include <autorout.h>
|
#include <autorout.h>
|
||||||
#include <cell.h>
|
#include <cell.h>
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,33 @@
|
||||||
* @brief PCB editor autorouting and "graphics" routines.
|
* @brief PCB editor autorouting and "graphics" routines.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see change_log.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
|
|
|
@ -1,9 +1,13 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
*
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see change_log.txt for contributors.
|
||||||
|
*
|
||||||
|
* First copyright (C) Randy Nevin, 1989 (see PCBCA package)
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
@ -23,6 +27,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file queue.cpp
|
* @file queue.cpp
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see change_log.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
@ -44,14 +46,15 @@
|
||||||
#include <class_pcb_text.h>
|
#include <class_pcb_text.h>
|
||||||
|
|
||||||
|
|
||||||
bool MATRIX_ROUTING_HEAD::ComputeMatrixSize( BOARD* aPcb )
|
bool MATRIX_ROUTING_HEAD::ComputeMatrixSize( BOARD* aPcb, bool aUseBoardEdgesOnly )
|
||||||
{
|
{
|
||||||
aPcb->ComputeBoundingBox();
|
aPcb->ComputeBoundingBox( aUseBoardEdgesOnly );
|
||||||
|
|
||||||
// The boundary box must have its start point on routing grid:
|
// The boundary box must have its start point on routing grid:
|
||||||
m_BrdBox = aPcb->GetBoundingBox();
|
m_BrdBox = aPcb->GetBoundingBox();
|
||||||
|
|
||||||
m_BrdBox.Offset( -(m_BrdBox.GetX() % m_GridRouting), -(m_BrdBox.GetY() % m_GridRouting) );
|
m_BrdBox.SetX( m_BrdBox.GetX() - ( m_BrdBox.GetX() % m_GridRouting ) );
|
||||||
|
m_BrdBox.SetY( m_BrdBox.GetY() - ( m_BrdBox.GetY() % m_GridRouting ) );
|
||||||
|
|
||||||
// The boundary box must have its end point on routing grid:
|
// The boundary box must have its end point on routing grid:
|
||||||
wxPoint end = m_BrdBox.GetEnd();
|
wxPoint end = m_BrdBox.GetEnd();
|
||||||
|
@ -71,7 +74,9 @@ bool MATRIX_ROUTING_HEAD::ComputeMatrixSize( BOARD* aPcb )
|
||||||
|
|
||||||
/* get a small margin for memory allocation: */
|
/* get a small margin for memory allocation: */
|
||||||
Ncols += 1;
|
Ncols += 1;
|
||||||
|
m_Nrows = Nrows;
|
||||||
Nrows += 1;
|
Nrows += 1;
|
||||||
|
m_Ncols = Ncols;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -79,10 +84,10 @@ bool MATRIX_ROUTING_HEAD::ComputeMatrixSize( BOARD* aPcb )
|
||||||
|
|
||||||
MATRIX_ROUTING_HEAD::MATRIX_ROUTING_HEAD()
|
MATRIX_ROUTING_HEAD::MATRIX_ROUTING_HEAD()
|
||||||
{
|
{
|
||||||
m_BoardSide[0] = m_BoardSide[1] = NULL;
|
m_BoardSide[0] = m_BoardSide[1] = NULL;
|
||||||
m_DistSide[0] = m_DistSide[1] = NULL;
|
m_DistSide[0] = m_DistSide[1] = NULL;
|
||||||
m_DirSide[0] = m_DirSide[1] = NULL;
|
m_DirSide[0] = m_DirSide[1] = NULL;
|
||||||
m_InitBoardDone = false;
|
m_InitMatrixDone = false;
|
||||||
m_Layers = MAX_SIDES_COUNT;
|
m_Layers = MAX_SIDES_COUNT;
|
||||||
m_Nrows = m_Ncols = 0;
|
m_Nrows = m_Ncols = 0;
|
||||||
m_MemSize = 0;
|
m_MemSize = 0;
|
||||||
|
@ -94,7 +99,7 @@ MATRIX_ROUTING_HEAD::~MATRIX_ROUTING_HEAD()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int MATRIX_ROUTING_HEAD::InitBoard()
|
int MATRIX_ROUTING_HEAD::InitRoutingMatrix()
|
||||||
{
|
{
|
||||||
int ii, kk;
|
int ii, kk;
|
||||||
|
|
||||||
|
@ -103,9 +108,10 @@ int MATRIX_ROUTING_HEAD::InitBoard()
|
||||||
m_Nrows = Nrows;
|
m_Nrows = Nrows;
|
||||||
m_Ncols = Ncols;
|
m_Ncols = Ncols;
|
||||||
|
|
||||||
m_InitBoardDone = true; /* we have been called */
|
m_InitMatrixDone = true; // we have been called
|
||||||
|
|
||||||
ii = (Nrows + 1) * (Ncols + 1);
|
// give a small margin for memory allocation:
|
||||||
|
ii = (Nrows + 1) * (Ncols + 1);
|
||||||
|
|
||||||
for( kk = 0; kk < m_Layers; kk++ )
|
for( kk = 0; kk < m_Layers; kk++ )
|
||||||
{
|
{
|
||||||
|
@ -113,21 +119,21 @@ int MATRIX_ROUTING_HEAD::InitBoard()
|
||||||
m_DistSide[kk] = NULL;
|
m_DistSide[kk] = NULL;
|
||||||
m_DirSide[kk] = NULL;
|
m_DirSide[kk] = NULL;
|
||||||
|
|
||||||
/* allocate Board & initialize everything to empty */
|
/* allocate matrix & initialize everything to empty */
|
||||||
m_BoardSide[kk] = (MATRIX_CELL*) operator new( ii * sizeof(MATRIX_CELL) );
|
m_BoardSide[kk] = (MATRIX_CELL*) operator new( ii * sizeof(MATRIX_CELL) );
|
||||||
memset( m_BoardSide[kk], 0, ii * sizeof(MATRIX_CELL) );
|
memset( m_BoardSide[kk], 0, ii * sizeof(MATRIX_CELL) );
|
||||||
|
|
||||||
if( m_BoardSide[kk] == NULL )
|
if( m_BoardSide[kk] == NULL )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
/***** allocate Distances *****/
|
// allocate Distances
|
||||||
m_DistSide[kk] = (DIST_CELL*) operator new( ii * sizeof(DIST_CELL) );
|
m_DistSide[kk] = (DIST_CELL*) operator new( ii * sizeof(DIST_CELL) );
|
||||||
memset( m_DistSide[kk], 0, ii * sizeof(DIST_CELL) );
|
memset( m_DistSide[kk], 0, ii * sizeof(DIST_CELL) );
|
||||||
|
|
||||||
if( m_DistSide[kk] == NULL )
|
if( m_DistSide[kk] == NULL )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
/***** allocate Dir (chars) *****/
|
// allocate Dir (chars)
|
||||||
m_DirSide[kk] = (char*) operator new( ii );
|
m_DirSide[kk] = (char*) operator new( ii );
|
||||||
memset( m_DirSide[kk], 0, ii );
|
memset( m_DirSide[kk], 0, ii );
|
||||||
|
|
||||||
|
@ -141,29 +147,29 @@ int MATRIX_ROUTING_HEAD::InitBoard()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void MATRIX_ROUTING_HEAD::UnInitBoard()
|
void MATRIX_ROUTING_HEAD::UnInitRoutingMatrix()
|
||||||
{
|
{
|
||||||
int ii;
|
int ii;
|
||||||
|
|
||||||
m_InitBoardDone = false;
|
m_InitMatrixDone = false;
|
||||||
|
|
||||||
for( ii = 0; ii < MAX_SIDES_COUNT; ii++ )
|
for( ii = 0; ii < MAX_SIDES_COUNT; ii++ )
|
||||||
{
|
{
|
||||||
/***** de-allocate Dir matrix *****/
|
// de-allocate Dir matrix
|
||||||
if( m_DirSide[ii] )
|
if( m_DirSide[ii] )
|
||||||
{
|
{
|
||||||
delete m_DirSide[ii];
|
delete m_DirSide[ii];
|
||||||
m_DirSide[ii] = NULL;
|
m_DirSide[ii] = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** de-allocate Distances matrix *****/
|
// de-allocate Distances matrix
|
||||||
if( m_DistSide[ii] )
|
if( m_DistSide[ii] )
|
||||||
{
|
{
|
||||||
delete m_DistSide[ii];
|
delete m_DistSide[ii];
|
||||||
m_DistSide[ii] = NULL;
|
m_DistSide[ii] = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**** de-allocate cells matrix *****/
|
// de-allocate cells matrix
|
||||||
if( m_BoardSide[ii] )
|
if( m_BoardSide[ii] )
|
||||||
{
|
{
|
||||||
delete m_BoardSide[ii];
|
delete m_BoardSide[ii];
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
*
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see change_log.txt for contributors.
|
||||||
|
*
|
||||||
|
* First copyright (C) Randy Nevin, 1989 (see PCBCA package)
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
@ -23,6 +26,9 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* see "Autorouting With the A* Algorithm" (Dr.Dobbs journal)
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file solve.cpp
|
* @file solve.cpp
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,9 +1,13 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
*
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see change_log.txt for contributors.
|
||||||
|
*
|
||||||
|
* First copyright (C) Randy Nevin, 1989 (see PCBCA package)
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
@ -23,6 +27,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file work.cpp
|
* @file work.cpp
|
||||||
* @brief Automatic routing routines
|
* @brief Automatic routing routines
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -2,6 +2,31 @@
|
||||||
/* board editor: undo and redo functions for board editor */
|
/* board editor: undo and redo functions for board editor */
|
||||||
/*************************************************************/
|
/*************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
|
|
|
@ -3,6 +3,33 @@
|
||||||
* @brief BOARD class functions.
|
* @brief BOARD class functions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,31 @@
|
||||||
* @brief BOARD_CONNECTED_ITEM class functions.
|
* @brief BOARD_CONNECTED_ITEM class functions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,31 @@
|
||||||
* @brief Class BOARD_ITEM definition and some basic functions.
|
* @brief Class BOARD_ITEM definition and some basic functions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jean-pierre.charras@gipsa-lab.inpg.fr
|
* Copyright (C) 2004 Jean-Pierre Charras, jean-pierre.charras@gipsa-lab.inpg.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,8 +1,32 @@
|
||||||
/*****************************************************************************/
|
/**
|
||||||
/* Functions to handle markers used to show something (usually a drc problem) */
|
* @file class_marker_pcb.cpp
|
||||||
/*****************************************************************************/
|
* @brief Functions to handle markers used to show something (usually a drc problem)
|
||||||
|
*/
|
||||||
|
|
||||||
/* file class_marker.cpp */
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <gr_basic.h>
|
#include <gr_basic.h>
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,6 +1,31 @@
|
||||||
/*************************************************************************/
|
/**
|
||||||
/* NETINFO_ITEM class, to handle info on nets (netnames, net constraints */
|
* @brief NETINFO_ITEM class, to handle info on nets: netnames, net constraints
|
||||||
/*************************************************************************/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <gr_basic.h>
|
#include <gr_basic.h>
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2009 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,18 +1,31 @@
|
||||||
/******************************************************/
|
/**
|
||||||
/* class ZONE_SETTINGS used to handle zones parameters */
|
* @brief class ZONE_SETTINGS used to handle zones parameters
|
||||||
/******************************************************/
|
|
||||||
|
|
||||||
#ifndef WX_PRECOMP
|
|
||||||
#include <wx/wx.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* For compilers that support precompilation:
|
|
||||||
*/
|
*/
|
||||||
#include <wx/wxprec.h>
|
|
||||||
|
|
||||||
#ifdef __BORLANDC__
|
/*
|
||||||
#pragma hdrstop
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
#endif
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,32 @@
|
||||||
* except for tracks (see class_track.cpp).
|
* except for tracks (see class_track.cpp).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
|
|
|
@ -6,8 +6,9 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2011 Jean-Pierre Charras, jean-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
*
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
* as published by the Free Software Foundation; either version 2
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
|
|
@ -3,6 +3,31 @@
|
||||||
* @brief Dialog and code for editing a dimension object.
|
* @brief Dialog and code for editing a dimension object.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <gr_basic.h>
|
#include <gr_basic.h>
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -3,6 +3,30 @@
|
||||||
* @brief Import functions to import footprints from a gpcb (Newlib) library.
|
* @brief Import functions to import footprints from a gpcb (Newlib) library.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <wxstruct.h>
|
#include <wxstruct.h>
|
||||||
#include <kicad_string.h>
|
#include <kicad_string.h>
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2009-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
*
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
* as published by the Free Software Foundation; either version 2
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2010-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
*
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
* as published by the Free Software Foundation; either version 2
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
@ -515,20 +516,16 @@ void DrawModuleOutlines( EDA_DRAW_PANEL* panel, wxDC* DC, MODULE* module )
|
||||||
|
|
||||||
module->DrawEdgesOnly( panel, DC, g_Offset_Module, GR_XOR );
|
module->DrawEdgesOnly( panel, DC, g_Offset_Module, GR_XOR );
|
||||||
|
|
||||||
if( g_Show_Pads_Module_in_Move )
|
// Show pads in sketch mode to speedu up drawings
|
||||||
{
|
pad_fill_tmp = DisplayOpt.DisplayPadFill;
|
||||||
pad_fill_tmp = DisplayOpt.DisplayPadFill;
|
DisplayOpt.DisplayPadFill = true;
|
||||||
DisplayOpt.DisplayPadFill = true;
|
|
||||||
|
|
||||||
pt_pad = module->m_Pads;
|
pt_pad = module->m_Pads;
|
||||||
|
|
||||||
for( ; pt_pad != NULL; pt_pad = pt_pad->Next() )
|
for( ; pt_pad != NULL; pt_pad = pt_pad->Next() )
|
||||||
{
|
pt_pad->Draw( panel, DC, GR_XOR, g_Offset_Module );
|
||||||
pt_pad->Draw( panel, DC, GR_XOR, g_Offset_Module );
|
|
||||||
}
|
|
||||||
|
|
||||||
DisplayOpt.DisplayPadFill = pad_fill_tmp;
|
DisplayOpt.DisplayPadFill = pad_fill_tmp;
|
||||||
}
|
|
||||||
|
|
||||||
if( g_Show_Module_Ratsnest && panel )
|
if( g_Show_Module_Ratsnest && panel )
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
@ -54,7 +55,6 @@ bool Drc_On = true;
|
||||||
bool g_AutoDeleteOldTrack = true;
|
bool g_AutoDeleteOldTrack = true;
|
||||||
bool g_Drag_Pistes_On;
|
bool g_Drag_Pistes_On;
|
||||||
bool g_Show_Module_Ratsnest;
|
bool g_Show_Module_Ratsnest;
|
||||||
bool g_Show_Pads_Module_in_Move = true;
|
|
||||||
bool g_Raccord_45_Auto = true;
|
bool g_Raccord_45_Auto = true;
|
||||||
bool g_Alternate_Track_Posture = false;
|
bool g_Alternate_Track_Posture = false;
|
||||||
bool g_Track_45_Only_Allowed = true; // True to allow horiz, vert. and 45deg only tracks
|
bool g_Track_45_Only_Allowed = true; // True to allow horiz, vert. and 45deg only tracks
|
||||||
|
|
|
@ -53,7 +53,6 @@ extern bool Drc_On;
|
||||||
extern bool g_AutoDeleteOldTrack;
|
extern bool g_AutoDeleteOldTrack;
|
||||||
extern bool g_Drag_Pistes_On;
|
extern bool g_Drag_Pistes_On;
|
||||||
extern bool g_Show_Module_Ratsnest;
|
extern bool g_Show_Module_Ratsnest;
|
||||||
extern bool g_Show_Pads_Module_in_Move;
|
|
||||||
extern bool g_Raccord_45_Auto;
|
extern bool g_Raccord_45_Auto;
|
||||||
extern bool g_Track_45_Only_Allowed;
|
extern bool g_Track_45_Only_Allowed;
|
||||||
extern bool g_Alternate_Track_Posture;
|
extern bool g_Alternate_Track_Posture;
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2005 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,6 +1,31 @@
|
||||||
/*************************/
|
/**
|
||||||
/* tool_onrightclick.cpp */
|
* @file tool_onrightclick.cpp
|
||||||
/*************************/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2005 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2007-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -2,6 +2,30 @@
|
||||||
* @file xchgmod.cpp
|
* @file xchgmod.cpp
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
|
|
|
@ -2,6 +2,29 @@
|
||||||
* @file zone_filling_algorithm.cpp:
|
* @file zone_filling_algorithm.cpp:
|
||||||
* Algorithms used to fill a zone defined by a polygon and a filling starting point.
|
* Algorithms used to fill a zone defined by a polygon and a filling starting point.
|
||||||
*/
|
*/
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <algorithm> // sort
|
#include <algorithm> // sort
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
|
|
@ -1,6 +1,29 @@
|
||||||
/**
|
/**
|
||||||
* @file zones_convert_brd_items_to_polygons_with_Boost.cpp
|
* @file zones_convert_brd_items_to_polygons_with_Boost.cpp
|
||||||
*/
|
*/
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
/* Functions to convert some board items to polygons
|
/* Functions to convert some board items to polygons
|
||||||
* (pads, tracks ..)
|
* (pads, tracks ..)
|
||||||
|
|
|
@ -2,6 +2,30 @@
|
||||||
* @file zones_convert_to_polygons_aux_functions.cpp
|
* @file zones_convert_to_polygons_aux_functions.cpp
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <polygons_defs.h>
|
#include <polygons_defs.h>
|
||||||
#include <PolyLine.h>
|
#include <PolyLine.h>
|
||||||
|
|
|
@ -1,8 +1,29 @@
|
||||||
/**
|
/**
|
||||||
* @file zones_polygons_insulated_copper_islands.cpp
|
* @file zones_polygons_insulated_copper_islands.cpp
|
||||||
*/
|
*/
|
||||||
|
/*
|
||||||
using namespace std;
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
|
|
|
@ -2,7 +2,29 @@
|
||||||
* @file zones_polygons_test_connections.cpp
|
* @file zones_polygons_test_connections.cpp
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using namespace std;
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <algorithm> // sort
|
#include <algorithm> // sort
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,32 @@
|
||||||
* some pieces of code come from FreePCB.
|
* some pieces of code come from FreePCB.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr
|
||||||
|
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* Some code comes from FreePCB.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
|
|
Loading…
Reference in New Issue