Commit 7c5feb61 authored by charras's avatar charras
Browse files

pcbnew: insulated islands in copper pour removed

parent 2ffa0897
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -5,6 +5,18 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with
email address.

2008-oct-11 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+pcbnew:
    More about copper zones filled without grid (by polygons)
    Currently for tests only (work in progress).
    now working
        thermal reliefs.
        texts on copper zones.
        Removing insulated copper islands.
    currently : not implemented:
        trapezoidal pads

2008-oct-07 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+pcbnew:
+1 −1
Original line number Diff line number Diff line
@@ -570,7 +570,7 @@ enum main_id {
	ID_POPUP_PCB_PLACE_ZONE_OUTLINES,
	ID_POPUP_PCB_DRAG_ZONE_OUTLINE_SEGMENT,
	ID_POPUP_PCB_PLACE_DRAGGED_ZONE_OUTLINE_SEGMENT,
	ID_POPUP_ZONE_UNUSED3,
	ID_POPUP_PCB_REMOVE_FILLED_AREAS,
	ID_POPUP_ZONE_UNUSED4,

	ID_POPUP_PCB_DELETE_MARKER,
+1 −0
Original line number Diff line number Diff line
@@ -143,6 +143,7 @@ set(PCBNEW_SRCS
    zones_by_polygon.cpp
    zones_convert_brd_items_to_polygons.cpp
    zone_filling_algorithm.cpp
    zones_polygons_insulated_copper_islands.cpp
    zones_test_and_combine_areas.cpp
    )

+7 −1
Original line number Diff line number Diff line
@@ -101,6 +101,12 @@ public:

    EDA_Rect GetBoundingBox();

    /**
     * Function Test_For_Copper_Island_And_Remove__Insulated_Islands
     * Remove insulated copper islands found in m_FilledPolysList.
     * @param aPcb = the board to analyse
     */
    void Test_For_Copper_Island_And_Remove_Insulated_Islands( BOARD* aPcb );

    /**
     * Function DrawWhileCreateOutline
+17 −0
Original line number Diff line number Diff line
@@ -68,6 +68,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
    case ID_POPUP_PCB_STOP_CURRENT_EDGE_ZONE:
    case ID_POPUP_PCB_DELETE_ZONE_LAST_CREATED_CORNER:
    case ID_POPUP_PCB_FILL_ALL_ZONES:
    case ID_POPUP_PCB_REMOVE_FILLED_AREAS:
    case ID_POPUP_PCB_PLACE_ZONE_CORNER:
    case ID_POPUP_PCB_PLACE_ZONE_OUTLINES:
    case ID_POPUP_PCB_EDIT_ZONE_PARAMS:
@@ -543,6 +544,22 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
        Fill_All_Zones( &dc );
        break;
    
    case ID_POPUP_PCB_REMOVE_FILLED_AREAS: // Remove all zones :
        if( m_Pcb->m_Zone )
        {
            m_Pcb->m_Zone->DeleteStructList();
            m_Pcb->m_Zone = NULL;
            m_Pcb->m_NbSegmZone = 0;
        }
        for( int ii = 0; ii < m_Pcb->GetAreaCount(); ii++ )
        {
            ZONE_CONTAINER* zone_container = m_Pcb->GetArea( ii );
            zone_container->m_FilledPolysList.clear();;
        }
        GetScreen()->SetModify();
        DrawPanel->Refresh();
        break;

    case ID_POPUP_PCB_FILL_ZONE:
        DrawPanel->MouseToCursorSchema();
        Fill_Zone( &dc, (ZONE_CONTAINER*) GetCurItem() );
Loading