Commit 2a0524e1 authored by jean-pierre charras's avatar jean-pierre charras
Browse files

Pcbnew: fixed a serious bug in zone filling, for pads with hole but not on all layers

parents e1b5d49f c580d5d7
Loading
Loading
Loading
Loading
+9 −0
Original line number Original line Diff line number Diff line
@@ -4,6 +4,15 @@ KiCad ChangeLog 2010
Please add newer entries at the top, list the date and your name with
Please add newer entries at the top, list the date and your name with
email address.
email address.


2010-jun-24 UPDATE Wayne Stambaugh <stambaughw@verizon.net>
================================================================================
++EESchema component library and hierarchical sheet label object improvements.
  * Continue component library class clean up and encapsulation work.
  * Change hierarchical sheet label container to boost::vector_ptr.
  * Encapsulate hierarchical label handling in hierarchical sheet class.
  * Convert some missed occurrences of wxString::GetData() to GetChars( wxString ).
  * Fix some minor code formatting issues.

2010-jun-23, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
2010-jun-23, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
================================================================================
================================================================================
++eeschema:
++eeschema:
+6 −6
Original line number Original line Diff line number Diff line
@@ -71,7 +71,7 @@ private:
    void OnLoadFile( wxCommandEvent& event );
    void OnLoadFile( wxCommandEvent& event );
    void OnExportEeschema( wxCommandEvent& event );
    void OnExportEeschema( wxCommandEvent& event );
    void OnExportPcbnew( wxCommandEvent& event );
    void OnExportPcbnew( wxCommandEvent& event );
    void Binarize( int aThreshold );
    void Binarize( double aThreshold );     // aThreshold = 0.0 (black level) to 1.0 (white level)
	void OnOptionsSelection( wxCommandEvent& event );
	void OnOptionsSelection( wxCommandEvent& event );
	void OnThresholdChange( wxScrollEvent& event );
	void OnThresholdChange( wxScrollEvent& event );
    void NegateGreyscaleImage( );
    void NegateGreyscaleImage( );
@@ -196,18 +196,18 @@ void BM2CMP_FRAME::OnLoadFile( wxCommandEvent& event )
    m_Greyscale_Bitmap = wxBitmap( m_Greyscale_Image );
    m_Greyscale_Bitmap = wxBitmap( m_Greyscale_Image );


    m_NB_Image  = m_Greyscale_Image;
    m_NB_Image  = m_Greyscale_Image;
    Binarize( m_sliderThreshold->GetValue() );
    Binarize( (double)m_sliderThreshold->GetValue()/m_sliderThreshold->GetMax() );
    Refresh();
    Refresh();
}
}




void BM2CMP_FRAME::Binarize( int aThreshold )
void BM2CMP_FRAME::Binarize( double aThreshold )
{
{
    unsigned int  pixin;
    unsigned int  pixin;
    unsigned char pixout;
    unsigned char pixout;
    int           h = m_Greyscale_Image.GetHeight();
    int           h = m_Greyscale_Image.GetHeight();
    int           w = m_Greyscale_Image.GetWidth();
    int           w = m_Greyscale_Image.GetWidth();
    unsigned int  threshold = (aThreshold * 256) / 10;
    unsigned int  threshold = (int)(aThreshold * 256);


    for( int y = 1; y < h; y++ )
    for( int y = 1; y < h; y++ )
        for( int x = 1; x < w; x++ )
        for( int x = 1; x < w; x++ )
@@ -243,13 +243,13 @@ void BM2CMP_FRAME::OnOptionsSelection( wxCommandEvent& event )
{
{
    NegateGreyscaleImage( );
    NegateGreyscaleImage( );
    m_Greyscale_Bitmap = wxBitmap( m_Greyscale_Image );
    m_Greyscale_Bitmap = wxBitmap( m_Greyscale_Image );
    Binarize( m_sliderThreshold->GetValue() );
    Binarize( (double)m_sliderThreshold->GetValue()/m_sliderThreshold->GetMax() );
    Refresh();
    Refresh();
}
}


void BM2CMP_FRAME::OnThresholdChange( wxScrollEvent& event )
void BM2CMP_FRAME::OnThresholdChange( wxScrollEvent& event )
{
{
    Binarize( m_sliderThreshold->GetValue() );
    Binarize( (double)m_sliderThreshold->GetValue()/m_sliderThreshold->GetMax() );
    Refresh();
    Refresh();
}
}


+1 −1
Original line number Original line Diff line number Diff line
@@ -87,7 +87,7 @@ BM2CMP_FRAME_BASE::BM2CMP_FRAME_BASE( wxWindow* parent, wxWindowID id, const wxS
	m_ThresholdText->Wrap( -1 );
	m_ThresholdText->Wrap( -1 );
	brightSizer->Add( m_ThresholdText, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
	brightSizer->Add( m_ThresholdText, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
	
	
	m_sliderThreshold = new wxSlider( this, wxID_ANY, 5, 0, 10, wxDefaultPosition, wxDefaultSize, wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_LABELS|wxSL_TOP );
	m_sliderThreshold = new wxSlider( this, wxID_ANY, 25, 0, 50, wxDefaultPosition, wxDefaultSize, wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_TOP );
	brightSizer->Add( m_sliderThreshold, 0, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	brightSizer->Add( m_sliderThreshold, 0, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	
	
	bMainSizer->Add( brightSizer, 0, wxEXPAND, 5 );
	bMainSizer->Add( brightSizer, 0, wxEXPAND, 5 );
+3 −3
Original line number Original line Diff line number Diff line
@@ -670,7 +670,7 @@
                                <property name="font"></property>
                                <property name="font"></property>
                                <property name="hidden">0</property>
                                <property name="hidden">0</property>
                                <property name="id">wxID_ANY</property>
                                <property name="id">wxID_ANY</property>
                                <property name="maxValue">10</property>
                                <property name="maxValue">50</property>
                                <property name="maximum_size"></property>
                                <property name="maximum_size"></property>
                                <property name="minValue">0</property>
                                <property name="minValue">0</property>
                                <property name="minimum_size"></property>
                                <property name="minimum_size"></property>
@@ -678,10 +678,10 @@
                                <property name="permission">protected</property>
                                <property name="permission">protected</property>
                                <property name="pos"></property>
                                <property name="pos"></property>
                                <property name="size"></property>
                                <property name="size"></property>
                                <property name="style">wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_LABELS|wxSL_TOP</property>
                                <property name="style">wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_TOP</property>
                                <property name="subclass"></property>
                                <property name="subclass"></property>
                                <property name="tooltip"></property>
                                <property name="tooltip"></property>
                                <property name="value">5</property>
                                <property name="value">25</property>
                                <property name="window_extra_style"></property>
                                <property name="window_extra_style"></property>
                                <property name="window_name"></property>
                                <property name="window_name"></property>
                                <property name="window_style"></property>
                                <property name="window_style"></property>
+1 −1
Original line number Original line Diff line number Diff line
update=23/06/2010 18:43:01
update=24/06/2010 21:06:23
last_client=pcbnew
last_client=pcbnew
[general]
[general]
version=1
version=1
Loading