Loading pcbnew/router/length_tuner_tool.cpp +21 −12 Original line number Diff line number Diff line Loading @@ -147,6 +147,16 @@ void LENGTH_TUNER_TOOL::handleCommonEvents( const TOOL_EVENT& aEvent ) } } void LENGTH_TUNER_TOOL::updateStatusPopup( PNS_TUNE_STATUS_POPUP& aPopup ) { wxPoint p = wxGetMousePosition(); p.x += 20; p.y += 20; aPopup.Update( m_router ); aPopup.Move( p ); } void LENGTH_TUNER_TOOL::performTuning() { Loading @@ -170,13 +180,18 @@ void LENGTH_TUNER_TOOL::performTuning() return; } PNS_MEANDER_PLACER_BASE* placer = static_cast<PNS_MEANDER_PLACER_BASE*>( m_router->Placer() ); placer->UpdateSettings( m_savedMeanderSettings ); VECTOR2I end( m_startSnapPoint ); PNS_TUNE_STATUS_POPUP statusPopup( m_frame ); statusPopup.Popup(); PNS_MEANDER_PLACER* placer = static_cast<PNS_MEANDER_PLACER*>( m_router->Placer() ); VECTOR2I end; m_router->Move( end, NULL ); updateStatusPopup( statusPopup ); placer->UpdateSettings( m_savedMeanderSettings ); while( OPT_TOOL_EVENT evt = Wait() ) { Loading @@ -191,14 +206,8 @@ void LENGTH_TUNER_TOOL::performTuning() { end = evt->Position(); m_router->Move( end, NULL ); updateStatusPopup( statusPopup ); wxPoint p = wxGetMousePosition(); p.x += 20; p.y += 20; statusPopup.Update( m_router ); statusPopup.Move( p ); } else if( evt->IsClick( BUT_LEFT ) ) { Loading pcbnew/router/length_tuner_tool.h +3 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,9 @@ private: void performTuning( ); int mainLoop( PNS_ROUTER_MODE aMode ); void handleCommonEvents( const TOOL_EVENT& aEvent ); void updateStatusPopup ( PNS_TUNE_STATUS_POPUP& aPopup ); PNS_MEANDER_SETTINGS m_savedMeanderSettings; }; Loading pcbnew/router/pns_meander_placer_base.cpp +15 −1 Original line number Diff line number Diff line Loading @@ -64,7 +64,20 @@ void PNS_MEANDER_PLACER_BASE::cutTunedLine( const SHAPE_LINE_CHAIN& aOrigin, SHAPE_LINE_CHAIN& aTuned, SHAPE_LINE_CHAIN& aPost ) { VECTOR2I n = aOrigin.NearestPoint( aCursorPos ); VECTOR2I cp ( aCursorPos ); if ( cp == aTuneStart ) // we don't like tuning segments with 0 length { int idx = aOrigin.FindSegment( cp ); if( idx >= 0 ) { const SEG& s = aOrigin.CSegment( idx ); cp += (s.B - s.A).Resize(2); } else cp += VECTOR2I (2, 5); // some arbitrary value that is not 45 degrees oriented } VECTOR2I n = aOrigin.NearestPoint( cp ); VECTOR2I m = aOrigin.NearestPoint( aTuneStart ); SHAPE_LINE_CHAIN l( aOrigin ); Loading @@ -84,6 +97,7 @@ void PNS_MEANDER_PLACER_BASE::cutTunedLine( const SHAPE_LINE_CHAIN& aOrigin, aPre = l.Slice( 0, i_start ); aPost = l.Slice( i_end, -1 ); aTuned = l.Slice( i_start, i_end ); aTuned.Simplify(); } Loading Loading
pcbnew/router/length_tuner_tool.cpp +21 −12 Original line number Diff line number Diff line Loading @@ -147,6 +147,16 @@ void LENGTH_TUNER_TOOL::handleCommonEvents( const TOOL_EVENT& aEvent ) } } void LENGTH_TUNER_TOOL::updateStatusPopup( PNS_TUNE_STATUS_POPUP& aPopup ) { wxPoint p = wxGetMousePosition(); p.x += 20; p.y += 20; aPopup.Update( m_router ); aPopup.Move( p ); } void LENGTH_TUNER_TOOL::performTuning() { Loading @@ -170,13 +180,18 @@ void LENGTH_TUNER_TOOL::performTuning() return; } PNS_MEANDER_PLACER_BASE* placer = static_cast<PNS_MEANDER_PLACER_BASE*>( m_router->Placer() ); placer->UpdateSettings( m_savedMeanderSettings ); VECTOR2I end( m_startSnapPoint ); PNS_TUNE_STATUS_POPUP statusPopup( m_frame ); statusPopup.Popup(); PNS_MEANDER_PLACER* placer = static_cast<PNS_MEANDER_PLACER*>( m_router->Placer() ); VECTOR2I end; m_router->Move( end, NULL ); updateStatusPopup( statusPopup ); placer->UpdateSettings( m_savedMeanderSettings ); while( OPT_TOOL_EVENT evt = Wait() ) { Loading @@ -191,14 +206,8 @@ void LENGTH_TUNER_TOOL::performTuning() { end = evt->Position(); m_router->Move( end, NULL ); updateStatusPopup( statusPopup ); wxPoint p = wxGetMousePosition(); p.x += 20; p.y += 20; statusPopup.Update( m_router ); statusPopup.Move( p ); } else if( evt->IsClick( BUT_LEFT ) ) { Loading
pcbnew/router/length_tuner_tool.h +3 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,9 @@ private: void performTuning( ); int mainLoop( PNS_ROUTER_MODE aMode ); void handleCommonEvents( const TOOL_EVENT& aEvent ); void updateStatusPopup ( PNS_TUNE_STATUS_POPUP& aPopup ); PNS_MEANDER_SETTINGS m_savedMeanderSettings; }; Loading
pcbnew/router/pns_meander_placer_base.cpp +15 −1 Original line number Diff line number Diff line Loading @@ -64,7 +64,20 @@ void PNS_MEANDER_PLACER_BASE::cutTunedLine( const SHAPE_LINE_CHAIN& aOrigin, SHAPE_LINE_CHAIN& aTuned, SHAPE_LINE_CHAIN& aPost ) { VECTOR2I n = aOrigin.NearestPoint( aCursorPos ); VECTOR2I cp ( aCursorPos ); if ( cp == aTuneStart ) // we don't like tuning segments with 0 length { int idx = aOrigin.FindSegment( cp ); if( idx >= 0 ) { const SEG& s = aOrigin.CSegment( idx ); cp += (s.B - s.A).Resize(2); } else cp += VECTOR2I (2, 5); // some arbitrary value that is not 45 degrees oriented } VECTOR2I n = aOrigin.NearestPoint( cp ); VECTOR2I m = aOrigin.NearestPoint( aTuneStart ); SHAPE_LINE_CHAIN l( aOrigin ); Loading @@ -84,6 +97,7 @@ void PNS_MEANDER_PLACER_BASE::cutTunedLine( const SHAPE_LINE_CHAIN& aOrigin, aPre = l.Slice( 0, i_start ); aPost = l.Slice( i_end, -1 ); aTuned = l.Slice( i_start, i_end ); aTuned.Simplify(); } Loading