Pcbnew: added Vesa Solonen's patch to enhance thermal reliefs shapes.
This commit is contained in:
parent
72dbdf7faa
commit
fbdd340647
|
@ -9,7 +9,7 @@ COMMON_GLOBL wxString g_BuildVersion
|
|||
# include "config.h"
|
||||
(wxT(KICAD_SVN_VERSION))
|
||||
# else
|
||||
(wxT("(20090107-unstable)")) /* main program version */
|
||||
(wxT("(20090122-unstable)")) /* main program version */
|
||||
# endif
|
||||
#endif
|
||||
;
|
||||
|
@ -20,7 +20,7 @@ COMMON_GLOBL wxString g_BuildAboutVersion
|
|||
# include "config.h"
|
||||
(wxT(KICAD_ABOUT_VERSION))
|
||||
# else
|
||||
(wxT("(20090107-unstable)")) /* svn date & rev (normally overridden) */
|
||||
(wxT("(20090122-unstable)")) /* svn date & rev (normally overridden) */
|
||||
# endif
|
||||
#endif
|
||||
;
|
||||
|
|
|
@ -40,7 +40,7 @@ public:
|
|||
* for instance:
|
||||
* the schematic editor uses a common section (zoom hotkeys list ..) and a specific section
|
||||
* the library editor uses the same common section and a specific section
|
||||
* this feature avoid duplications and made hotkey file config easier to understand ane edit
|
||||
* this feature avoid duplications and made hotkey file config easier to understand and edit
|
||||
*/
|
||||
struct Ki_HotkeyInfoSectionDescriptor
|
||||
{
|
||||
|
|
|
@ -17,24 +17,24 @@
|
|||
// the boost libs have a workaround for the typeof problem
|
||||
#ifdef _MSC_VER
|
||||
#if ( _MSC_VER <= 1310 ) // 6.5 7.0 and 7.1 use the msvc bug
|
||||
#include <boost/typeof/ msvc/typeof_ impl.hpp>
|
||||
#include <boost/typeof/msvc/typeof_impl.hpp>
|
||||
#else // 8.0 or greater
|
||||
#include <boost/typeof/ typeof.hpp>
|
||||
#include <boost/typeof/typeof.hpp>
|
||||
// we have to register the types used with the typeof keyword with boost
|
||||
BOOST_TYPEOF_ REGISTER_ TYPE(wxPoint) ;
|
||||
BOOST_TYPEOF_ REGISTER_ TYPE(wxSize) ;
|
||||
BOOST_TYPEOF_ REGISTER_ TYPE(wxString) ;
|
||||
class DrawSheetLabelStruc t;
|
||||
BOOST_TYPEOF_ REGISTER_ TYPE(DrawSheetLa belStruct *);
|
||||
BOOST_TYPEOF_REGISTER_TYPE(wxPoint) ;
|
||||
BOOST_TYPEOF_REGISTER_TYPE(wxSize) ;
|
||||
BOOST_TYPEOF_REGISTER_TYPE(wxString) ;
|
||||
class DrawSheetLabelStruct;
|
||||
BOOST_TYPEOF_REGISTER_TYPE(DrawSheetLabelStruct *);
|
||||
class EDA_BaseStruct;
|
||||
BOOST_TYPEOF_ REGISTER_ TYPE(EDA_ BaseStruct *);
|
||||
BOOST_TYPEOF_REGISTER_TYPE(EDA_BaseStruct *);
|
||||
class D_PAD;
|
||||
BOOST_TYPEOF_ REGISTER_ TYPE(D_PAD *);
|
||||
BOOST_TYPEOF_ REGISTER_ TYPE(const D_PAD *);
|
||||
BOOST_TYPEOF_REGISTER_TYPE(D_PAD *);
|
||||
BOOST_TYPEOF_REGISTER_TYPE(const D_PAD *);
|
||||
class BOARD_ITEM;
|
||||
BOOST_TYPEOF_ REGISTER_ TYPE(BOARD_ ITEM *);
|
||||
BOOST_TYPEOF_REGISTER_TYPE(BOARD_ITEM *);
|
||||
#endif // _MSC_VER <= 1310
|
||||
#define typeof(expr) BOOST_TYPEOF( expr)
|
||||
#define typeof(expr) BOOST_TYPEOF(expr)
|
||||
#endif // def _MSC_VER
|
||||
|
||||
inline double round(double x)
|
||||
|
|
|
@ -369,7 +369,7 @@ void ZONE_CONTAINER::AddClearanceAreasPolygonsToPolysList( BOARD* aPcb )
|
|||
}
|
||||
|
||||
// compute north, south, west and east points for zone connection.
|
||||
// Add a small value to ensure point is inside zone, not on an edge
|
||||
// Add a small value to ensure point is inside (or outside) zone, not on an edge
|
||||
wxPoint ptTest[4];
|
||||
ptTest[0] = wxPoint( 0, 3 + dy + m_ZoneMinThickness / 2 );
|
||||
ptTest[1] = wxPoint( 0, -(3 + dy + m_ZoneMinThickness / 2) );
|
||||
|
@ -936,9 +936,11 @@ void AddThermalReliefPadPolygon( Bool_Engine* aBooleng,
|
|||
|
||||
// The first point of polygon buffer is left lower corner, second the crosspoint of thermal spoke sides,
|
||||
// the third is upper right corner and the rest are rounding vertices going anticlockwise. Note the inveted Y-axis in CG.
|
||||
corners_buffer.push_back( wxPoint( -dx, -copper_thickness.y / 2 ) );
|
||||
corners_buffer.push_back( wxPoint( -dx , -(aThermalGap / 4 + copper_thickness.y / 2) ) ); // Adds small miters to zone
|
||||
corners_buffer.push_back( wxPoint( -(dx - aThermalGap / 4) , -copper_thickness.y / 2 ) ); // fill and spoke corner
|
||||
corners_buffer.push_back( wxPoint( -copper_thickness.x / 2, -copper_thickness.y / 2 ) );
|
||||
corners_buffer.push_back( wxPoint( -copper_thickness.x / 2, -dy ) );
|
||||
corners_buffer.push_back( wxPoint( -copper_thickness.x / 2, -(dy - aThermalGap / 4) ) );
|
||||
corners_buffer.push_back( wxPoint( -(aThermalGap / 4 + copper_thickness.x / 2), -dy ) );
|
||||
|
||||
angle = aPad.m_Orient;
|
||||
int rounding_radius = (int) ( aThermalGap * s_Correction ); // Corner rounding radius
|
||||
|
|
Loading…
Reference in New Issue