Loading change_log.txt +15 −0 Original line number Original line Diff line number Diff line Loading @@ -6,6 +6,21 @@ Please add newer entries at the top, list the date and your name with email address. email address. 2008-Feb-11 UPDATE Dick Hollenbeck <dick@softplc.com> ================================================================================ +pcbnew * Added case TYPETRACK, TYPEVIA, and TYPEMODULE support to Board::Add() so that we can over time hide more of the storage architecture of a BOARD and isolate those dependencies in fewer places. * Fixed some pad orientation issues in specctra_export. * Added VIA_MICROVIA & VIA_BLIND_BURIED support to SPECCTRA::makeVIA(). * Commented out the specctra design import menu choice for now, don't have time or need for this import. * Specctra export adds 1/2 mil to clearance rules for freerouter so that the routed board clears our DRC checker OK. * Session import seems done now. 2008-Feb-7 UPDATE Dick Hollenbeck <dick@softplc.com> 2008-Feb-7 UPDATE Dick Hollenbeck <dick@softplc.com> ================================================================================ ================================================================================ +pcbnew +pcbnew Loading gerbview/undelete.cpp +14 −13 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,8 @@ void WinEDA_GerberFrame::UnDeleteItem( wxDC* DC ) /* Restitution d'un element (MODULE ou TRACK ) Efface /* Restitution d'un element (MODULE ou TRACK ) Efface */ */ { { EDA_BaseStruct* PtStruct, * PtNext; BOARD_ITEM* item; BOARD_ITEM* next; TRACK* pt_track; TRACK* pt_track; int net_code; int net_code; Loading @@ -28,25 +29,25 @@ void WinEDA_GerberFrame::UnDeleteItem( wxDC* DC ) return; return; g_UnDeleteStackPtr--; g_UnDeleteStackPtr--; PtStruct = g_UnDeleteStack[g_UnDeleteStackPtr]; item = g_UnDeleteStack[g_UnDeleteStackPtr]; if( PtStruct == NULL ) if( item == NULL ) return; // Ne devrait pas se produire return; // Ne devrait pas se produire switch( PtStruct->Type() ) switch( item->Type() ) { { case TYPEVIA: case TYPEVIA: case TYPETRACK: case TYPETRACK: for( ; PtStruct != NULL; PtStruct = PtNext ) for( ; item; item = next ) { { PtNext = PtStruct->Pnext; next = item->Next(); PtStruct->SetState( DELETED, OFF ); /* Effacement du bit DELETED */ item->SetState( DELETED, OFF ); /* Effacement du bit DELETED */ Trace_Segment( DrawPanel, DC, (TRACK*) PtStruct, GR_OR ); Trace_Segment( DrawPanel, DC, (TRACK*) item, GR_OR ); } } PtStruct = g_UnDeleteStack[g_UnDeleteStackPtr]; item = g_UnDeleteStack[g_UnDeleteStackPtr]; net_code = ( (TRACK*) PtStruct )->GetNet(); net_code = ((TRACK*) item)->GetNet(); pt_track = ( (TRACK*) PtStruct )->GetBestInsertPoint( m_Pcb ); ( (TRACK*) PtStruct )->Insert( m_Pcb, pt_track ); m_Pcb->Add( item ); g_UnDeleteStack[g_UnDeleteStackPtr] = NULL; g_UnDeleteStack[g_UnDeleteStackPtr] = NULL; break; break; Loading pcbnew/class_board.cpp +168 −148 Original line number Original line Diff line number Diff line Loading @@ -142,6 +142,26 @@ void BOARD::Add( BOARD_ITEM* aBoardItem, int aControl ) m_ZoneDescriptorList.push_back( (ZONE_CONTAINER*) aBoardItem ); m_ZoneDescriptorList.push_back( (ZONE_CONTAINER*) aBoardItem ); break; break; case TYPETRACK: case TYPEVIA: { TRACK* insertAid = ((TRACK*)aBoardItem)->GetBestInsertPoint( this ); ((TRACK*)aBoardItem)->Insert( this, insertAid ); } break; case TYPEMODULE: // this is an insert, not an append which may also be needed. { aBoardItem->Pback = this; BOARD_ITEM* next = m_Modules; aBoardItem->Pnext = next; if( next ) next->Pback = aBoardItem; m_Modules = (MODULE*) aBoardItem; } break; // other types may use linked list // other types may use linked list default: default: wxFAIL_MSG( wxT("BOARD::Add() needs work") ); wxFAIL_MSG( wxT("BOARD::Add() needs work") ); Loading pcbnew/class_board.h +191 −189 Original line number Original line Diff line number Diff line Loading @@ -71,6 +71,8 @@ public: * @param aControl An int which can vary how the item is added. * @param aControl An int which can vary how the item is added. */ */ void Add( BOARD_ITEM* aBoardItem, int aControl = 0 ); void Add( BOARD_ITEM* aBoardItem, int aControl = 0 ); #define ADD_APPEND 1 ///< aControl flag for Add( aControl ), appends not inserts /** /** * Function Delete * Function Delete Loading pcbnew/classpcb.cpp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -150,7 +150,7 @@ EDA_BoardDesignSettings::EDA_BoardDesignSettings() m_ViaDrill = 250; // defualt via drill (for the entire board) m_ViaDrill = 250; // defualt via drill (for the entire board) m_ViaDrillCustomValue = 250; // via drill for vias which must have a defined drill value m_ViaDrillCustomValue = 250; // via drill for vias which must have a defined drill value m_CurrentViaSize = 450; // Current via size m_CurrentViaSize = 450; // Current via size m_CurrentViaType = VIA_THROUGH; // via type (VIA_BLIND_BURIED, VIA_TROUGHT VIA_MICROVIA) m_CurrentViaType = VIA_THROUGH; // via type (VIA_BLIND_BURIED, VIA_THROUGH VIA_MICROVIA) m_CurrentTrackWidth = 170; // current track width m_CurrentTrackWidth = 170; // current track width m_UseConnectedTrackWidth = false; // if true, when creating a new track starting on an existing track, use this track width m_UseConnectedTrackWidth = false; // if true, when creating a new track starting on an existing track, use this track width m_MicroViaDrill = 50; // micro via drill (for the entire board) m_MicroViaDrill = 50; // micro via drill (for the entire board) Loading Loading
change_log.txt +15 −0 Original line number Original line Diff line number Diff line Loading @@ -6,6 +6,21 @@ Please add newer entries at the top, list the date and your name with email address. email address. 2008-Feb-11 UPDATE Dick Hollenbeck <dick@softplc.com> ================================================================================ +pcbnew * Added case TYPETRACK, TYPEVIA, and TYPEMODULE support to Board::Add() so that we can over time hide more of the storage architecture of a BOARD and isolate those dependencies in fewer places. * Fixed some pad orientation issues in specctra_export. * Added VIA_MICROVIA & VIA_BLIND_BURIED support to SPECCTRA::makeVIA(). * Commented out the specctra design import menu choice for now, don't have time or need for this import. * Specctra export adds 1/2 mil to clearance rules for freerouter so that the routed board clears our DRC checker OK. * Session import seems done now. 2008-Feb-7 UPDATE Dick Hollenbeck <dick@softplc.com> 2008-Feb-7 UPDATE Dick Hollenbeck <dick@softplc.com> ================================================================================ ================================================================================ +pcbnew +pcbnew Loading
gerbview/undelete.cpp +14 −13 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,8 @@ void WinEDA_GerberFrame::UnDeleteItem( wxDC* DC ) /* Restitution d'un element (MODULE ou TRACK ) Efface /* Restitution d'un element (MODULE ou TRACK ) Efface */ */ { { EDA_BaseStruct* PtStruct, * PtNext; BOARD_ITEM* item; BOARD_ITEM* next; TRACK* pt_track; TRACK* pt_track; int net_code; int net_code; Loading @@ -28,25 +29,25 @@ void WinEDA_GerberFrame::UnDeleteItem( wxDC* DC ) return; return; g_UnDeleteStackPtr--; g_UnDeleteStackPtr--; PtStruct = g_UnDeleteStack[g_UnDeleteStackPtr]; item = g_UnDeleteStack[g_UnDeleteStackPtr]; if( PtStruct == NULL ) if( item == NULL ) return; // Ne devrait pas se produire return; // Ne devrait pas se produire switch( PtStruct->Type() ) switch( item->Type() ) { { case TYPEVIA: case TYPEVIA: case TYPETRACK: case TYPETRACK: for( ; PtStruct != NULL; PtStruct = PtNext ) for( ; item; item = next ) { { PtNext = PtStruct->Pnext; next = item->Next(); PtStruct->SetState( DELETED, OFF ); /* Effacement du bit DELETED */ item->SetState( DELETED, OFF ); /* Effacement du bit DELETED */ Trace_Segment( DrawPanel, DC, (TRACK*) PtStruct, GR_OR ); Trace_Segment( DrawPanel, DC, (TRACK*) item, GR_OR ); } } PtStruct = g_UnDeleteStack[g_UnDeleteStackPtr]; item = g_UnDeleteStack[g_UnDeleteStackPtr]; net_code = ( (TRACK*) PtStruct )->GetNet(); net_code = ((TRACK*) item)->GetNet(); pt_track = ( (TRACK*) PtStruct )->GetBestInsertPoint( m_Pcb ); ( (TRACK*) PtStruct )->Insert( m_Pcb, pt_track ); m_Pcb->Add( item ); g_UnDeleteStack[g_UnDeleteStackPtr] = NULL; g_UnDeleteStack[g_UnDeleteStackPtr] = NULL; break; break; Loading
pcbnew/class_board.cpp +168 −148 Original line number Original line Diff line number Diff line Loading @@ -142,6 +142,26 @@ void BOARD::Add( BOARD_ITEM* aBoardItem, int aControl ) m_ZoneDescriptorList.push_back( (ZONE_CONTAINER*) aBoardItem ); m_ZoneDescriptorList.push_back( (ZONE_CONTAINER*) aBoardItem ); break; break; case TYPETRACK: case TYPEVIA: { TRACK* insertAid = ((TRACK*)aBoardItem)->GetBestInsertPoint( this ); ((TRACK*)aBoardItem)->Insert( this, insertAid ); } break; case TYPEMODULE: // this is an insert, not an append which may also be needed. { aBoardItem->Pback = this; BOARD_ITEM* next = m_Modules; aBoardItem->Pnext = next; if( next ) next->Pback = aBoardItem; m_Modules = (MODULE*) aBoardItem; } break; // other types may use linked list // other types may use linked list default: default: wxFAIL_MSG( wxT("BOARD::Add() needs work") ); wxFAIL_MSG( wxT("BOARD::Add() needs work") ); Loading
pcbnew/class_board.h +191 −189 Original line number Original line Diff line number Diff line Loading @@ -71,6 +71,8 @@ public: * @param aControl An int which can vary how the item is added. * @param aControl An int which can vary how the item is added. */ */ void Add( BOARD_ITEM* aBoardItem, int aControl = 0 ); void Add( BOARD_ITEM* aBoardItem, int aControl = 0 ); #define ADD_APPEND 1 ///< aControl flag for Add( aControl ), appends not inserts /** /** * Function Delete * Function Delete Loading
pcbnew/classpcb.cpp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -150,7 +150,7 @@ EDA_BoardDesignSettings::EDA_BoardDesignSettings() m_ViaDrill = 250; // defualt via drill (for the entire board) m_ViaDrill = 250; // defualt via drill (for the entire board) m_ViaDrillCustomValue = 250; // via drill for vias which must have a defined drill value m_ViaDrillCustomValue = 250; // via drill for vias which must have a defined drill value m_CurrentViaSize = 450; // Current via size m_CurrentViaSize = 450; // Current via size m_CurrentViaType = VIA_THROUGH; // via type (VIA_BLIND_BURIED, VIA_TROUGHT VIA_MICROVIA) m_CurrentViaType = VIA_THROUGH; // via type (VIA_BLIND_BURIED, VIA_THROUGH VIA_MICROVIA) m_CurrentTrackWidth = 170; // current track width m_CurrentTrackWidth = 170; // current track width m_UseConnectedTrackWidth = false; // if true, when creating a new track starting on an existing track, use this track width m_UseConnectedTrackWidth = false; // if true, when creating a new track starting on an existing track, use this track width m_MicroViaDrill = 50; // micro via drill (for the entire board) m_MicroViaDrill = 50; // micro via drill (for the entire board) Loading