Loading eeschema/bus-wire-junction.cpp +25 −26 Original line number Original line Diff line number Diff line Loading @@ -88,7 +88,7 @@ static void DrawSegment( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPosi if( g_HVLines ) /* Coerce the line to vertical or horizontal one: */ if( g_HVLines ) /* Coerce the line to vertical or horizontal one: */ ComputeBreakPoint( CurrentLine, endpos ); ComputeBreakPoint( CurrentLine, endpos ); else else CurrentLine->m_End = endpos; CurrentLine->SetEndPoint( endpos ); segment = CurrentLine; segment = CurrentLine; Loading Loading @@ -201,7 +201,7 @@ void SCH_EDIT_FRAME::BeginSegment( wxDC* DC, int type ) if( nextsegment ) if( nextsegment ) { { newsegment = new SCH_LINE( *nextsegment ); newsegment = new SCH_LINE( *nextsegment ); nextsegment->m_Start = newsegment->m_End; nextsegment->SetStartPoint( newsegment->GetEndPoint() ); nextsegment->SetNext( NULL ); nextsegment->SetNext( NULL ); nextsegment->SetBack( newsegment ); nextsegment->SetBack( newsegment ); newsegment->SetNext( nextsegment ); newsegment->SetNext( nextsegment ); Loading @@ -210,10 +210,10 @@ void SCH_EDIT_FRAME::BeginSegment( wxDC* DC, int type ) else else { { newsegment = new SCH_LINE( *oldsegment ); newsegment = new SCH_LINE( *oldsegment ); newsegment->m_Start = oldsegment->m_End; newsegment->SetStartPoint( oldsegment->GetEndPoint() ); } } newsegment->m_End = cursorpos; newsegment->SetEndPoint( cursorpos ); oldsegment->ClearFlags( IS_NEW ); oldsegment->ClearFlags( IS_NEW ); oldsegment->SetFlags( SELECTED ); oldsegment->SetFlags( SELECTED ); newsegment->SetFlags( IS_NEW ); newsegment->SetFlags( IS_NEW ); Loading @@ -224,7 +224,7 @@ void SCH_EDIT_FRAME::BeginSegment( wxDC* DC, int type ) * Create a junction if needed. Note: a junction can be needed later, * Create a junction if needed. Note: a junction can be needed later, * if the new segment is merged (after a cleanup) with an older one * if the new segment is merged (after a cleanup) with an older one * (tested when the connection will be finished)*/ * (tested when the connection will be finished)*/ if( oldsegment->m_Start == s_ConnexionStartPoint ) if( oldsegment->GetStartPoint() == s_ConnexionStartPoint ) { { if( GetScreen()->IsJunctionNeeded( s_ConnexionStartPoint ) ) if( GetScreen()->IsJunctionNeeded( s_ConnexionStartPoint ) ) AddJunction( DC, s_ConnexionStartPoint ); AddJunction( DC, s_ConnexionStartPoint ); Loading Loading @@ -288,14 +288,14 @@ void SCH_EDIT_FRAME::EndSegment( wxDC* DC ) wxPoint end_point, alt_end_point; wxPoint end_point, alt_end_point; /* A junction can be needed to connect the last segment /* A junction can be needed to connect the last segment * usually to m_End coordinate. * usually to m_end coordinate. * But if the last segment is removed by a cleanup, because of redundancy, * But if the last segment is removed by a cleanup, because of redundancy, * a junction can be needed to connect the previous segment m_End * a junction can be needed to connect the previous segment m_end * coordinate with is also the lastsegment->m_Start coordinate */ * coordinate with is also the lastsegment->m_start coordinate */ if( lastsegment ) if( lastsegment ) { { end_point = lastsegment->m_End; end_point = lastsegment->GetEndPoint(); alt_end_point = lastsegment->m_Start; alt_end_point = lastsegment->GetStartPoint(); } } GetScreen()->SchematicCleanUp( DrawPanel ); GetScreen()->SchematicCleanUp( DrawPanel ); Loading Loading @@ -373,37 +373,36 @@ static void ComputeBreakPoint( SCH_LINE* aSegment, const wxPoint& aPosition ) if( nextsegment == NULL ) if( nextsegment == NULL ) return; return; #if 0 #if 0 if( ABS( middle_position.x - aSegment->m_Start.x ) < if( ABS( middle_position.x - aSegment->GetStartPoint().x ) < ABS( middle_position.y - aSegment->m_Start.y ) ) ABS( middle_position.y - aSegment->GetStartPoint().y ) ) middle_position.x = aSegment->m_Start.x; middle_position.x = aSegment->GetStartPoint().x; else else middle_position.y = aSegment->m_Start.y; middle_position.y = aSegment->GetStartPoint().y; #else #else int iDx = aSegment->m_End.x - aSegment->m_Start.x; int iDx = aSegment->GetEndPoint().x - aSegment->GetStartPoint().x; int iDy = aSegment->m_End.y - aSegment->m_Start.y; int iDy = aSegment->GetEndPoint().y - aSegment->GetStartPoint().y; if( iDy != 0 ) // keep the first segment orientation (currently horizontal) if( iDy != 0 ) // keep the first segment orientation (currently horizontal) { { middle_position.x = aSegment->m_Start.x; middle_position.x = aSegment->GetStartPoint().x; } } else if( iDx != 0 ) // keep the first segment orientation (currently vertical) else if( iDx != 0 ) // keep the first segment orientation (currently vertical) { { middle_position.y = aSegment->m_Start.y; middle_position.y = aSegment->GetStartPoint().y; } } else else { { if( ABS( middle_position.x - aSegment->m_Start.x ) < if( ABS( middle_position.x - aSegment->GetStartPoint().x ) < ABS( middle_position.y - aSegment->m_Start.y ) ) ABS( middle_position.y - aSegment->GetStartPoint().y ) ) middle_position.x = aSegment->m_Start.x; middle_position.x = aSegment->GetStartPoint().x; else else middle_position.y = aSegment->m_Start.y; middle_position.y = aSegment->GetStartPoint().y; } } #endif #endif aSegment->m_End = middle_position; aSegment->SetEndPoint( middle_position ); nextsegment->SetStartPoint( middle_position ); nextsegment->m_Start = middle_position; nextsegment->SetEndPoint( aPosition ); nextsegment->m_End = aPosition; } } Loading eeschema/onrightclick.cpp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -578,7 +578,7 @@ void AddMenusForWire( wxMenu* PopMenu, SCH_LINE* Wire, SCH_EDIT_FRAME* frame ) AddMenuItem( PopMenu, ID_POPUP_SCH_ADD_LABEL, msg, KiBitmap( add_line_label_xpm ) ); AddMenuItem( PopMenu, ID_POPUP_SCH_ADD_LABEL, msg, KiBitmap( add_line_label_xpm ) ); // Add global label command only if the cursor is over one end of the wire. // Add global label command only if the cursor is over one end of the wire. if( ( pos == Wire->m_Start ) || ( pos == Wire->m_End ) ) if( Wire->IsEndPoint( pos ) ) AddMenuItem( PopMenu, ID_POPUP_SCH_ADD_GLABEL, _( "Add Global Label" ), AddMenuItem( PopMenu, ID_POPUP_SCH_ADD_GLABEL, _( "Add Global Label" ), KiBitmap( add_glabel_xpm ) ); KiBitmap( add_glabel_xpm ) ); } } Loading Loading @@ -608,7 +608,7 @@ void AddMenusForBus( wxMenu* PopMenu, SCH_LINE* Bus, SCH_EDIT_FRAME* frame ) AddMenuItem( PopMenu, ID_POPUP_SCH_ADD_LABEL, msg, KiBitmap( add_line_label_xpm ) ); AddMenuItem( PopMenu, ID_POPUP_SCH_ADD_LABEL, msg, KiBitmap( add_line_label_xpm ) ); // Add global label command only if the cursor is over one end of the bus. // Add global label command only if the cursor is over one end of the bus. if( ( pos == Bus->m_Start ) || ( pos == Bus->m_End ) ) if( Bus->IsEndPoint( pos ) ) AddMenuItem( PopMenu, ID_POPUP_SCH_ADD_GLABEL, _( "Add Global Label" ), AddMenuItem( PopMenu, ID_POPUP_SCH_ADD_GLABEL, _( "Add Global Label" ), KiBitmap( add_glabel_xpm ) ); KiBitmap( add_glabel_xpm ) ); } } Loading eeschema/sch_junction.cpp +26 −26 Original line number Original line Diff line number Diff line Loading @@ -46,9 +46,9 @@ SCH_JUNCTION::SCH_JUNCTION( const wxPoint& pos ) : SCH_ITEM( NULL, SCH_JUNCTION_T ) SCH_ITEM( NULL, SCH_JUNCTION_T ) { { #define DRAWJUNCTION_DIAMETER 32 /* Diameter of junction symbol between wires */ #define DRAWJUNCTION_DIAMETER 32 /* Diameter of junction symbol between wires */ m_Pos = pos; m_pos = pos; m_Layer = LAYER_JUNCTION; m_Layer = LAYER_JUNCTION; m_Size.x = m_Size.y = DRAWJUNCTION_DIAMETER; m_size.x = m_size.y = DRAWJUNCTION_DIAMETER; #undef DRAWJUNCTION_DIAMETER #undef DRAWJUNCTION_DIAMETER } } Loading @@ -56,8 +56,8 @@ SCH_JUNCTION::SCH_JUNCTION( const wxPoint& pos ) : SCH_JUNCTION::SCH_JUNCTION( const SCH_JUNCTION& aJunction ) : SCH_JUNCTION::SCH_JUNCTION( const SCH_JUNCTION& aJunction ) : SCH_ITEM( aJunction ) SCH_ITEM( aJunction ) { { m_Pos = aJunction.m_Pos; m_pos = aJunction.m_pos; m_Size = aJunction.m_Size; m_size = aJunction.m_size; } } Loading @@ -65,7 +65,7 @@ bool SCH_JUNCTION::Save( FILE* aFile ) const { { bool success = true; bool success = true; if( fprintf( aFile, "Connection ~ %-4d %-4d\n", m_Pos.x, m_Pos.y ) == EOF ) if( fprintf( aFile, "Connection ~ %-4d %-4d\n", m_pos.x, m_pos.y ) == EOF ) { { success = false; success = false; } } Loading @@ -86,8 +86,8 @@ void SCH_JUNCTION::SwapData( SCH_ITEM* aItem ) wxT( "Cannot swap junction data with invalid item." ) ); wxT( "Cannot swap junction data with invalid item." ) ); SCH_JUNCTION* item = (SCH_JUNCTION*) aItem; SCH_JUNCTION* item = (SCH_JUNCTION*) aItem; EXCHG( m_Pos, item->m_Pos ); EXCHG( m_pos, item->m_pos ); EXCHG( m_Size, item->m_Size ); EXCHG( m_size, item->m_size ); } } Loading @@ -99,7 +99,7 @@ bool SCH_JUNCTION::Load( LINE_READER& aLine, wxString& aErrorMsg ) while( (*line != ' ' ) && *line ) while( (*line != ' ' ) && *line ) line++; line++; if( sscanf( line, "%s %d %d", name, &m_Pos.x, &m_Pos.y ) != 3 ) if( sscanf( line, "%s %d %d", name, &m_pos.x, &m_pos.y ) != 3 ) { { aErrorMsg.Printf( wxT( "Eeschema file connection load error at line %d, aborted" ), aErrorMsg.Printf( wxT( "Eeschema file connection load error at line %d, aborted" ), aLine.LineNumber() ); aLine.LineNumber() ); Loading @@ -115,8 +115,8 @@ EDA_RECT SCH_JUNCTION::GetBoundingBox() const { { EDA_RECT rect; EDA_RECT rect; rect.SetOrigin( m_Pos ); rect.SetOrigin( m_pos ); rect.Inflate( ( GetPenSize() + m_Size.x ) / 2 ); rect.Inflate( ( GetPenSize() + m_size.x ) / 2 ); return rect; return rect; } } Loading @@ -134,36 +134,36 @@ void SCH_JUNCTION::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffs GRSetDrawMode( aDC, aDrawMode ); GRSetDrawMode( aDC, aDrawMode ); GRFilledCircle( &aPanel->m_ClipBox, aDC, m_Pos.x + aOffset.x, m_Pos.y + aOffset.y, GRFilledCircle( &aPanel->m_ClipBox, aDC, m_pos.x + aOffset.x, m_pos.y + aOffset.y, ( m_Size.x / 2 ), 0, color, color ); ( m_size.x / 2 ), 0, color, color ); } } void SCH_JUNCTION::Mirror_X( int aXaxis_position ) void SCH_JUNCTION::Mirror_X( int aXaxis_position ) { { m_Pos.y -= aXaxis_position; m_pos.y -= aXaxis_position; NEGATE( m_Pos.y ); NEGATE( m_pos.y ); m_Pos.y += aXaxis_position; m_pos.y += aXaxis_position; } } void SCH_JUNCTION::Mirror_Y( int aYaxis_position ) void SCH_JUNCTION::Mirror_Y( int aYaxis_position ) { { m_Pos.x -= aYaxis_position; m_pos.x -= aYaxis_position; NEGATE( m_Pos.x ); NEGATE( m_pos.x ); m_Pos.x += aYaxis_position; m_pos.x += aYaxis_position; } } void SCH_JUNCTION::Rotate( wxPoint rotationPoint ) void SCH_JUNCTION::Rotate( wxPoint rotationPoint ) { { RotatePoint( &m_Pos, rotationPoint, 900 ); RotatePoint( &m_pos, rotationPoint, 900 ); } } void SCH_JUNCTION::GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList ) void SCH_JUNCTION::GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList ) { { DANGLING_END_ITEM item( JUNCTION_END, this, m_Pos ); DANGLING_END_ITEM item( JUNCTION_END, this, m_pos ); aItemList.push_back( item ); aItemList.push_back( item ); } } Loading @@ -172,7 +172,7 @@ bool SCH_JUNCTION::IsSelectStateChanged( const wxRect& aRect ) { { bool previousState = IsSelected(); bool previousState = IsSelected(); if( aRect.Contains( m_Pos ) ) if( aRect.Contains( m_pos ) ) m_Flags |= SELECTED; m_Flags |= SELECTED; else else m_Flags &= ~SELECTED; m_Flags &= ~SELECTED; Loading @@ -183,7 +183,7 @@ bool SCH_JUNCTION::IsSelectStateChanged( const wxRect& aRect ) void SCH_JUNCTION::GetConnectionPoints( vector< wxPoint >& aPoints ) const void SCH_JUNCTION::GetConnectionPoints( vector< wxPoint >& aPoints ) const { { aPoints.push_back( m_Pos ); aPoints.push_back( m_pos ); } } Loading @@ -196,7 +196,7 @@ void SCH_JUNCTION::GetNetListItem( vector<NETLIST_OBJECT*>& aNetListItems, item->m_SheetListInclude = *aSheetPath; item->m_SheetListInclude = *aSheetPath; item->m_Comp = (SCH_ITEM*) this; item->m_Comp = (SCH_ITEM*) this; item->m_Type = NET_JUNCTION; item->m_Type = NET_JUNCTION; item->m_Start = item->m_End = m_Pos; item->m_Start = item->m_End = m_pos; aNetListItems.push_back( item ); aNetListItems.push_back( item ); } } Loading @@ -208,7 +208,7 @@ void SCH_JUNCTION::Show( int nestLevel, std::ostream& os ) // XML output: // XML output: wxString s = GetClass(); wxString s = GetClass(); NestedSpace( nestLevel, os ) << '<' << s.Lower().mb_str() << m_Pos << "/>\n"; NestedSpace( nestLevel, os ) << '<' << s.Lower().mb_str() << m_pos << "/>\n"; } } #endif #endif Loading Loading @@ -238,12 +238,12 @@ bool SCH_JUNCTION::doHitTest( const EDA_RECT& aRect, bool aContained, int aAccur bool SCH_JUNCTION::doIsConnected( const wxPoint& aPosition ) const bool SCH_JUNCTION::doIsConnected( const wxPoint& aPosition ) const { { return m_Pos == aPosition; return m_pos == aPosition; } } void SCH_JUNCTION::doPlot( PLOTTER* aPlotter ) void SCH_JUNCTION::doPlot( PLOTTER* aPlotter ) { { aPlotter->set_color( ReturnLayerColor( GetLayer() ) ); aPlotter->set_color( ReturnLayerColor( GetLayer() ) ); aPlotter->circle( m_Pos, m_Size.x, FILLED_SHAPE ); aPlotter->circle( m_pos, m_size.x, FILLED_SHAPE ); } } eeschema/sch_junction.h +5 −7 Original line number Original line Diff line number Diff line Loading @@ -36,10 +36,8 @@ class SCH_JUNCTION : public SCH_ITEM class SCH_JUNCTION : public SCH_ITEM { { wxPoint m_Pos; /* XY coordinates of connection. */ wxPoint m_pos; /* XY coordinates of connection. */ wxSize m_size; public: wxSize m_Size; public: public: SCH_JUNCTION( const wxPoint& pos = wxPoint( 0, 0 ) ); SCH_JUNCTION( const wxPoint& pos = wxPoint( 0, 0 ) ); Loading Loading @@ -94,7 +92,7 @@ public: */ */ virtual void Move( const wxPoint& aMoveVector ) virtual void Move( const wxPoint& aMoveVector ) { { m_Pos += aMoveVector; m_pos += aMoveVector; } } /** /** Loading Loading @@ -133,8 +131,8 @@ private: virtual bool doIsConnected( const wxPoint& aPosition ) const; virtual bool doIsConnected( const wxPoint& aPosition ) const; virtual EDA_ITEM* doClone() const; virtual EDA_ITEM* doClone() const; virtual void doPlot( PLOTTER* aPlotter ); virtual void doPlot( PLOTTER* aPlotter ); virtual wxPoint doGetPosition() const { return m_Pos; } virtual wxPoint doGetPosition() const { return m_pos; } virtual void doSetPosition( const wxPoint& aPosition ) { m_Pos = aPosition; } virtual void doSetPosition( const wxPoint& aPosition ) { m_pos = aPosition; } }; }; Loading eeschema/sch_line.cpp +98 −98 Original line number Original line Diff line number Diff line Loading @@ -47,10 +47,10 @@ SCH_LINE::SCH_LINE( const wxPoint& pos, int layer ) : SCH_LINE::SCH_LINE( const wxPoint& pos, int layer ) : SCH_ITEM( NULL, SCH_LINE_T ) SCH_ITEM( NULL, SCH_LINE_T ) { { m_Start = pos; m_start = pos; m_End = pos; m_end = pos; m_Width = 0; // Default thickness used m_width = 0; // Default thickness used m_StartIsDangling = m_EndIsDangling = false; m_startIsDangling = m_endIsDangling = false; switch( layer ) switch( layer ) { { Loading @@ -72,10 +72,10 @@ SCH_LINE::SCH_LINE( const wxPoint& pos, int layer ) : SCH_LINE::SCH_LINE( const SCH_LINE& aLine ) : SCH_LINE::SCH_LINE( const SCH_LINE& aLine ) : SCH_ITEM( aLine ) SCH_ITEM( aLine ) { { m_Start = aLine.m_Start; m_start = aLine.m_start; m_End = aLine.m_End; m_end = aLine.m_end; m_Width = aLine.m_Width; m_width = aLine.m_width; m_StartIsDangling = m_EndIsDangling = false; m_startIsDangling = m_endIsDangling = false; } } Loading @@ -89,13 +89,13 @@ void SCH_LINE::Move( const wxPoint& aOffset ) { { if( (m_Flags & STARTPOINT) == 0 && aOffset != wxPoint( 0, 0 ) ) if( (m_Flags & STARTPOINT) == 0 && aOffset != wxPoint( 0, 0 ) ) { { m_Start += aOffset; m_start += aOffset; SetModified(); SetModified(); } } if( (m_Flags & ENDPOINT) == 0 && aOffset != wxPoint( 0, 0 ) ) if( (m_Flags & ENDPOINT) == 0 && aOffset != wxPoint( 0, 0 ) ) { { m_End += aOffset; m_end += aOffset; SetModified(); SetModified(); } } } } Loading @@ -107,12 +107,12 @@ void SCH_LINE::Show( int nestLevel, std::ostream& os ) const { { NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() << " layer=\"" << m_Layer << '"' << " layer=\"" << m_Layer << '"' << " width=\"" << m_Width << '"' << " width=\"" << m_width << '"' << " startIsDangling=\"" << m_StartIsDangling << " startIsDangling=\"" << m_startIsDangling << '"' << " endIsDangling=\"" << '"' << " endIsDangling=\"" << m_EndIsDangling << '"' << ">" << m_endIsDangling << '"' << ">" << " <start" << m_Start << "/>" << " <start" << m_start << "/>" << " <end" << m_End << "/>" << "</" << " <end" << m_end << "/>" << "</" << GetClass().Lower().mb_str() << ">\n"; << GetClass().Lower().mb_str() << ">\n"; } } Loading @@ -123,11 +123,11 @@ EDA_RECT SCH_LINE::GetBoundingBox() const { { int width = 25; int width = 25; int xmin = MIN( m_Start.x, m_End.x ) - width; int xmin = MIN( m_start.x, m_end.x ) - width; int ymin = MIN( m_Start.y, m_End.y ) - width; int ymin = MIN( m_start.y, m_end.y ) - width; int xmax = MAX( m_Start.x, m_End.x ) + width; int xmax = MAX( m_start.x, m_end.x ) + width; int ymax = MAX( m_Start.y, m_End.y ) + width; int ymax = MAX( m_start.y, m_end.y ) + width; // return a rectangle which is [pos,dim) in nature. therefore the +1 // return a rectangle which is [pos,dim) in nature. therefore the +1 EDA_RECT ret( wxPoint( xmin, ymin ), wxSize( xmax - xmin + 1, ymax - ymin + 1 ) ); EDA_RECT ret( wxPoint( xmin, ymin ), wxSize( xmax - xmin + 1, ymax - ymin + 1 ) ); Loading @@ -138,7 +138,7 @@ EDA_RECT SCH_LINE::GetBoundingBox() const double SCH_LINE::GetLength() const double SCH_LINE::GetLength() const { { return GetLineLength( m_Start, m_End ); return GetLineLength( m_start, m_end ); } } Loading @@ -160,8 +160,8 @@ bool SCH_LINE::Save( FILE* aFile ) const success = false; success = false; } } if( fprintf( aFile, "\t%-4d %-4d %-4d %-4d\n", m_Start.x, m_Start.y, if( fprintf( aFile, "\t%-4d %-4d %-4d %-4d\n", m_start.x, m_start.y, m_End.x, m_End.y ) == EOF ) m_end.x, m_end.y ) == EOF ) { { success = false; success = false; } } Loading Loading @@ -196,7 +196,7 @@ bool SCH_LINE::Load( LINE_READER& aLine, wxString& aErrorMsg ) m_Layer = LAYER_BUS; m_Layer = LAYER_BUS; if( !aLine.ReadLine() || sscanf( (char*) aLine, "%d %d %d %d ", if( !aLine.ReadLine() || sscanf( (char*) aLine, "%d %d %d %d ", &m_Start.x, &m_Start.y, &m_End.x, &m_End.y ) != 4 ) &m_start.x, &m_start.y, &m_end.x, &m_end.y ) != 4 ) { { aErrorMsg.Printf( wxT( "Eeschema file Segment struct error at line %d, aborted" ), aErrorMsg.Printf( wxT( "Eeschema file Segment struct error at line %d, aborted" ), aLine.LineNumber() ); aLine.LineNumber() ); Loading @@ -210,9 +210,9 @@ bool SCH_LINE::Load( LINE_READER& aLine, wxString& aErrorMsg ) int SCH_LINE::GetPenSize() const int SCH_LINE::GetPenSize() const { { int pensize = ( m_Width == 0 ) ? g_DrawDefaultLineThickness : m_Width; int pensize = ( m_width == 0 ) ? g_DrawDefaultLineThickness : m_width; if( m_Layer == LAYER_BUS && m_Width == 0 ) if( m_Layer == LAYER_BUS && m_width == 0 ) { { pensize = wxRound( g_DrawDefaultLineThickness * BUS_WIDTH_EXPAND ); pensize = wxRound( g_DrawDefaultLineThickness * BUS_WIDTH_EXPAND ); pensize = MAX( pensize, 3 ); pensize = MAX( pensize, 3 ); Loading @@ -235,8 +235,8 @@ void SCH_LINE::Draw( EDA_DRAW_PANEL* panel, wxDC* DC, const wxPoint& offset, GRSetDrawMode( DC, DrawMode ); GRSetDrawMode( DC, DrawMode ); wxPoint start = m_Start; wxPoint start = m_start; wxPoint end = m_End; wxPoint end = m_end; if( ( m_Flags & STARTPOINT ) == 0 ) if( ( m_Flags & STARTPOINT ) == 0 ) start += offset; start += offset; Loading @@ -248,40 +248,40 @@ void SCH_LINE::Draw( EDA_DRAW_PANEL* panel, wxDC* DC, const wxPoint& offset, else else GRLine( &panel->m_ClipBox, DC, start, end, width, color ); GRLine( &panel->m_ClipBox, DC, start, end, width, color ); if( m_StartIsDangling ) if( m_startIsDangling ) DrawDanglingSymbol( panel, DC, start, color ); DrawDanglingSymbol( panel, DC, start, color ); if( m_EndIsDangling ) if( m_endIsDangling ) DrawDanglingSymbol( panel, DC, end, color ); DrawDanglingSymbol( panel, DC, end, color ); } } void SCH_LINE::Mirror_X( int aXaxis_position ) void SCH_LINE::Mirror_X( int aXaxis_position ) { { m_Start.y -= aXaxis_position; m_start.y -= aXaxis_position; NEGATE( m_Start.y ); NEGATE( m_start.y ); m_Start.y += aXaxis_position; m_start.y += aXaxis_position; m_End.y -= aXaxis_position; m_end.y -= aXaxis_position; NEGATE( m_End.y ); NEGATE( m_end.y ); m_End.y += aXaxis_position; m_end.y += aXaxis_position; } } void SCH_LINE::Mirror_Y( int aYaxis_position ) void SCH_LINE::Mirror_Y( int aYaxis_position ) { { m_Start.x -= aYaxis_position; m_start.x -= aYaxis_position; NEGATE( m_Start.x ); NEGATE( m_start.x ); m_Start.x += aYaxis_position; m_start.x += aYaxis_position; m_End.x -= aYaxis_position; m_end.x -= aYaxis_position; NEGATE( m_End.x ); NEGATE( m_end.x ); m_End.x += aYaxis_position; m_end.x += aYaxis_position; } } void SCH_LINE::Rotate( wxPoint rotationPoint ) void SCH_LINE::Rotate( wxPoint rotationPoint ) { { RotatePoint( &m_Start, rotationPoint, 900 ); RotatePoint( &m_start, rotationPoint, 900 ); RotatePoint( &m_End, rotationPoint, 900 ); RotatePoint( &m_end, rotationPoint, 900 ); } } Loading @@ -293,54 +293,54 @@ bool SCH_LINE::MergeOverlap( SCH_LINE* aLine ) if( this == aLine || GetLayer() != aLine->GetLayer() ) if( this == aLine || GetLayer() != aLine->GetLayer() ) return false; return false; // Search for a common end, and modify coordinates to ensure RefSegm->m_End // Search for a common end, and modify coordinates to ensure RefSegm->m_end // == TstSegm->m_Start // == TstSegm->m_start if( m_Start == aLine->m_Start ) if( m_start == aLine->m_start ) { { if( m_End == aLine->m_End ) if( m_end == aLine->m_end ) return true; return true; EXCHG( m_Start, m_End ); EXCHG( m_start, m_end ); } } else if( m_Start == aLine->m_End ) else if( m_start == aLine->m_end ) { { EXCHG( m_Start, m_End ); EXCHG( m_start, m_end ); EXCHG( aLine->m_Start, aLine->m_End ); EXCHG( aLine->m_start, aLine->m_end ); } } else if( m_End == aLine->m_End ) else if( m_end == aLine->m_end ) { { EXCHG( aLine->m_Start, aLine->m_End ); EXCHG( aLine->m_start, aLine->m_end ); } } else if( m_End != aLine->m_Start ) else if( m_end != aLine->m_start ) { { // No common end point, segments cannot be merged. // No common end point, segments cannot be merged. return false; return false; } } /* Test alignment: */ /* Test alignment: */ if( m_Start.y == m_End.y ) // Horizontal segment if( m_start.y == m_end.y ) // Horizontal segment { { if( aLine->m_Start.y == aLine->m_End.y ) if( aLine->m_start.y == aLine->m_end.y ) { { m_End = aLine->m_End; m_end = aLine->m_end; return true; return true; } } } } else if( m_Start.x == m_End.x ) // Vertical segment else if( m_start.x == m_end.x ) // Vertical segment { { if( aLine->m_Start.x == aLine->m_End.x ) if( aLine->m_start.x == aLine->m_end.x ) { { m_End = aLine->m_End; m_end = aLine->m_end; return true; return true; } } } } else else { { if( atan2( (double) ( m_Start.x - m_End.x ), (double) ( m_Start.y - m_End.y ) ) if( atan2( (double) ( m_start.x - m_end.x ), (double) ( m_start.y - m_end.y ) ) == atan2( (double) ( aLine->m_Start.x - aLine->m_End.x ), == atan2( (double) ( aLine->m_start.x - aLine->m_end.x ), (double) ( aLine->m_Start.y - aLine->m_End.y ) ) ) (double) ( aLine->m_start.y - aLine->m_end.y ) ) ) { { m_End = aLine->m_End; m_end = aLine->m_end; return true; return true; } } } } Loading @@ -357,11 +357,11 @@ void SCH_LINE::GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList ) if( ( GetLayer() == LAYER_BUS ) || ( GetLayer() == LAYER_WIRE ) ) if( ( GetLayer() == LAYER_BUS ) || ( GetLayer() == LAYER_WIRE ) ) { { DANGLING_END_ITEM item( (GetLayer() == LAYER_BUS) ? BUS_START_END : WIRE_START_END, this, DANGLING_END_ITEM item( (GetLayer() == LAYER_BUS) ? BUS_START_END : WIRE_START_END, this, m_Start ); m_start ); aItemList.push_back( item ); aItemList.push_back( item ); DANGLING_END_ITEM item1( (GetLayer() == LAYER_BUS) ? BUS_END_END : WIRE_END_END, this, DANGLING_END_ITEM item1( (GetLayer() == LAYER_BUS) ? BUS_END_END : WIRE_END_END, this, m_End ); m_end ); aItemList.push_back( item1 ); aItemList.push_back( item1 ); } } } } Loading @@ -369,10 +369,10 @@ void SCH_LINE::GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList ) bool SCH_LINE::IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList ) bool SCH_LINE::IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList ) { { bool previousStartState = m_StartIsDangling; bool previousStartState = m_startIsDangling; bool previousEndState = m_EndIsDangling; bool previousEndState = m_endIsDangling; m_StartIsDangling = m_EndIsDangling = true; m_startIsDangling = m_endIsDangling = true; if( GetLayer() == LAYER_WIRE ) if( GetLayer() == LAYER_WIRE ) { { Loading @@ -381,23 +381,23 @@ bool SCH_LINE::IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemLi if( item.GetItem() == this ) if( item.GetItem() == this ) continue; continue; if( m_Start == item.GetPosition() ) if( m_start == item.GetPosition() ) m_StartIsDangling = false; m_startIsDangling = false; if( m_End == item.GetPosition() ) if( m_end == item.GetPosition() ) m_EndIsDangling = false; m_endIsDangling = false; if( (m_StartIsDangling == false) && (m_EndIsDangling == false) ) if( (m_startIsDangling == false) && (m_endIsDangling == false) ) break; break; } } } } else if( GetLayer() == LAYER_BUS || GetLayer() == LAYER_NOTES ) else if( GetLayer() == LAYER_BUS || GetLayer() == LAYER_NOTES ) { { // Lines on the notes layer and the bus layer cannot be tested for dangling ends. // Lines on the notes layer and the bus layer cannot be tested for dangling ends. previousStartState = previousEndState = m_StartIsDangling = m_EndIsDangling = false; previousStartState = previousEndState = m_startIsDangling = m_endIsDangling = false; } } return ( previousStartState != m_StartIsDangling ) || ( previousEndState != m_EndIsDangling ); return ( previousStartState != m_startIsDangling ) || ( previousEndState != m_endIsDangling ); } } Loading @@ -405,17 +405,17 @@ bool SCH_LINE::IsSelectStateChanged( const wxRect& aRect ) { { bool previousState = IsSelected(); bool previousState = IsSelected(); if( aRect.Contains( m_Start ) && aRect.Contains( m_End ) ) if( aRect.Contains( m_start ) && aRect.Contains( m_end ) ) { { m_Flags |= SELECTED; m_Flags |= SELECTED; m_Flags &= ~(STARTPOINT | ENDPOINT); m_Flags &= ~(STARTPOINT | ENDPOINT); } } else if( aRect.Contains( m_Start ) ) else if( aRect.Contains( m_start ) ) { { m_Flags &= ~STARTPOINT; m_Flags &= ~STARTPOINT; m_Flags |= ( SELECTED | ENDPOINT ); m_Flags |= ( SELECTED | ENDPOINT ); } } else if( aRect.Contains( m_End ) ) else if( aRect.Contains( m_end ) ) { { m_Flags &= ~ENDPOINT; m_Flags &= ~ENDPOINT; m_Flags |= ( SELECTED | STARTPOINT ); m_Flags |= ( SELECTED | STARTPOINT ); Loading @@ -440,8 +440,8 @@ bool SCH_LINE::IsConnectable() const void SCH_LINE::GetConnectionPoints( vector< wxPoint >& aPoints ) const void SCH_LINE::GetConnectionPoints( vector< wxPoint >& aPoints ) const { { aPoints.push_back( m_Start ); aPoints.push_back( m_start ); aPoints.push_back( m_End ); aPoints.push_back( m_end ); } } Loading @@ -449,9 +449,9 @@ wxString SCH_LINE::GetSelectMenuText() const { { wxString menuText, txtfmt, orient; wxString menuText, txtfmt, orient; if( m_Start.x == m_End.x ) if( m_start.x == m_end.x ) orient = _("Vert."); orient = _("Vert."); else if( m_Start.y == m_End.y ) else if( m_start.y == m_end.y ) orient = _("Horiz."); orient = _("Horiz."); switch( m_Layer ) switch( m_Layer ) Loading @@ -473,10 +473,10 @@ wxString SCH_LINE::GetSelectMenuText() const } } menuText.Printf( txtfmt, GetChars( orient ), menuText.Printf( txtfmt, GetChars( orient ), GetChars(CoordinateToString( m_Start.x, EESCHEMA_INTERNAL_UNIT )), GetChars(CoordinateToString( m_start.x, EESCHEMA_INTERNAL_UNIT )), GetChars(CoordinateToString( m_Start.y, EESCHEMA_INTERNAL_UNIT )), GetChars(CoordinateToString( m_start.y, EESCHEMA_INTERNAL_UNIT )), GetChars(CoordinateToString( m_End.x, EESCHEMA_INTERNAL_UNIT )), GetChars(CoordinateToString( m_end.x, EESCHEMA_INTERNAL_UNIT )), GetChars(CoordinateToString( m_End.y, EESCHEMA_INTERNAL_UNIT )) ); GetChars(CoordinateToString( m_end.y, EESCHEMA_INTERNAL_UNIT )) ); return menuText; return menuText; } } Loading Loading @@ -504,8 +504,8 @@ void SCH_LINE::GetNetListItem( vector<NETLIST_OBJECT*>& aNetListItems, item->m_SheetList = *aSheetPath; item->m_SheetList = *aSheetPath; item->m_SheetListInclude = *aSheetPath; item->m_SheetListInclude = *aSheetPath; item->m_Comp = (SCH_ITEM*) this; item->m_Comp = (SCH_ITEM*) this; item->m_Start = m_Start; item->m_Start = m_start; item->m_End = m_End; item->m_End = m_end; if( GetLayer() == LAYER_BUS ) if( GetLayer() == LAYER_BUS ) { { Loading @@ -530,11 +530,11 @@ bool SCH_LINE::operator <( const SCH_ITEM& aItem ) const if( GetLength() != line->GetLength() ) if( GetLength() != line->GetLength() ) return GetLength() < line->GetLength(); return GetLength() < line->GetLength(); if( m_Start.x != line->m_Start.x ) if( m_start.x != line->m_start.x ) return m_Start.x < line->m_Start.x; return m_start.x < line->m_start.x; if( m_Start.y != line->m_Start.y ) if( m_start.y != line->m_start.y ) return m_Start.y < line->m_Start.y; return m_start.y < line->m_start.y; return false; return false; } } Loading @@ -542,7 +542,7 @@ bool SCH_LINE::operator <( const SCH_ITEM& aItem ) const bool SCH_LINE::doHitTest( const wxPoint& aPoint, int aAccuracy ) const bool SCH_LINE::doHitTest( const wxPoint& aPoint, int aAccuracy ) const { { return TestSegmentHit( aPoint, m_Start, m_End, aAccuracy ); return TestSegmentHit( aPoint, m_start, m_end, aAccuracy ); } } Loading Loading @@ -576,8 +576,8 @@ void SCH_LINE::doPlot( PLOTTER* aPlotter ) if( m_Layer == LAYER_NOTES ) if( m_Layer == LAYER_NOTES ) aPlotter->set_dash( true ); aPlotter->set_dash( true ); aPlotter->move_to( m_Start ); aPlotter->move_to( m_start ); aPlotter->finish_to( m_End ); aPlotter->finish_to( m_end ); if( m_Layer == LAYER_NOTES ) if( m_Layer == LAYER_NOTES ) aPlotter->set_dash( false ); aPlotter->set_dash( false ); Loading @@ -586,6 +586,6 @@ void SCH_LINE::doPlot( PLOTTER* aPlotter ) void SCH_LINE::doSetPosition( const wxPoint& aPosition ) void SCH_LINE::doSetPosition( const wxPoint& aPosition ) { { m_End = m_End - ( m_Start - aPosition ); m_end = m_end - ( m_start - aPosition ); m_Start = aPosition; m_start = aPosition; } } Loading
eeschema/bus-wire-junction.cpp +25 −26 Original line number Original line Diff line number Diff line Loading @@ -88,7 +88,7 @@ static void DrawSegment( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPosi if( g_HVLines ) /* Coerce the line to vertical or horizontal one: */ if( g_HVLines ) /* Coerce the line to vertical or horizontal one: */ ComputeBreakPoint( CurrentLine, endpos ); ComputeBreakPoint( CurrentLine, endpos ); else else CurrentLine->m_End = endpos; CurrentLine->SetEndPoint( endpos ); segment = CurrentLine; segment = CurrentLine; Loading Loading @@ -201,7 +201,7 @@ void SCH_EDIT_FRAME::BeginSegment( wxDC* DC, int type ) if( nextsegment ) if( nextsegment ) { { newsegment = new SCH_LINE( *nextsegment ); newsegment = new SCH_LINE( *nextsegment ); nextsegment->m_Start = newsegment->m_End; nextsegment->SetStartPoint( newsegment->GetEndPoint() ); nextsegment->SetNext( NULL ); nextsegment->SetNext( NULL ); nextsegment->SetBack( newsegment ); nextsegment->SetBack( newsegment ); newsegment->SetNext( nextsegment ); newsegment->SetNext( nextsegment ); Loading @@ -210,10 +210,10 @@ void SCH_EDIT_FRAME::BeginSegment( wxDC* DC, int type ) else else { { newsegment = new SCH_LINE( *oldsegment ); newsegment = new SCH_LINE( *oldsegment ); newsegment->m_Start = oldsegment->m_End; newsegment->SetStartPoint( oldsegment->GetEndPoint() ); } } newsegment->m_End = cursorpos; newsegment->SetEndPoint( cursorpos ); oldsegment->ClearFlags( IS_NEW ); oldsegment->ClearFlags( IS_NEW ); oldsegment->SetFlags( SELECTED ); oldsegment->SetFlags( SELECTED ); newsegment->SetFlags( IS_NEW ); newsegment->SetFlags( IS_NEW ); Loading @@ -224,7 +224,7 @@ void SCH_EDIT_FRAME::BeginSegment( wxDC* DC, int type ) * Create a junction if needed. Note: a junction can be needed later, * Create a junction if needed. Note: a junction can be needed later, * if the new segment is merged (after a cleanup) with an older one * if the new segment is merged (after a cleanup) with an older one * (tested when the connection will be finished)*/ * (tested when the connection will be finished)*/ if( oldsegment->m_Start == s_ConnexionStartPoint ) if( oldsegment->GetStartPoint() == s_ConnexionStartPoint ) { { if( GetScreen()->IsJunctionNeeded( s_ConnexionStartPoint ) ) if( GetScreen()->IsJunctionNeeded( s_ConnexionStartPoint ) ) AddJunction( DC, s_ConnexionStartPoint ); AddJunction( DC, s_ConnexionStartPoint ); Loading Loading @@ -288,14 +288,14 @@ void SCH_EDIT_FRAME::EndSegment( wxDC* DC ) wxPoint end_point, alt_end_point; wxPoint end_point, alt_end_point; /* A junction can be needed to connect the last segment /* A junction can be needed to connect the last segment * usually to m_End coordinate. * usually to m_end coordinate. * But if the last segment is removed by a cleanup, because of redundancy, * But if the last segment is removed by a cleanup, because of redundancy, * a junction can be needed to connect the previous segment m_End * a junction can be needed to connect the previous segment m_end * coordinate with is also the lastsegment->m_Start coordinate */ * coordinate with is also the lastsegment->m_start coordinate */ if( lastsegment ) if( lastsegment ) { { end_point = lastsegment->m_End; end_point = lastsegment->GetEndPoint(); alt_end_point = lastsegment->m_Start; alt_end_point = lastsegment->GetStartPoint(); } } GetScreen()->SchematicCleanUp( DrawPanel ); GetScreen()->SchematicCleanUp( DrawPanel ); Loading Loading @@ -373,37 +373,36 @@ static void ComputeBreakPoint( SCH_LINE* aSegment, const wxPoint& aPosition ) if( nextsegment == NULL ) if( nextsegment == NULL ) return; return; #if 0 #if 0 if( ABS( middle_position.x - aSegment->m_Start.x ) < if( ABS( middle_position.x - aSegment->GetStartPoint().x ) < ABS( middle_position.y - aSegment->m_Start.y ) ) ABS( middle_position.y - aSegment->GetStartPoint().y ) ) middle_position.x = aSegment->m_Start.x; middle_position.x = aSegment->GetStartPoint().x; else else middle_position.y = aSegment->m_Start.y; middle_position.y = aSegment->GetStartPoint().y; #else #else int iDx = aSegment->m_End.x - aSegment->m_Start.x; int iDx = aSegment->GetEndPoint().x - aSegment->GetStartPoint().x; int iDy = aSegment->m_End.y - aSegment->m_Start.y; int iDy = aSegment->GetEndPoint().y - aSegment->GetStartPoint().y; if( iDy != 0 ) // keep the first segment orientation (currently horizontal) if( iDy != 0 ) // keep the first segment orientation (currently horizontal) { { middle_position.x = aSegment->m_Start.x; middle_position.x = aSegment->GetStartPoint().x; } } else if( iDx != 0 ) // keep the first segment orientation (currently vertical) else if( iDx != 0 ) // keep the first segment orientation (currently vertical) { { middle_position.y = aSegment->m_Start.y; middle_position.y = aSegment->GetStartPoint().y; } } else else { { if( ABS( middle_position.x - aSegment->m_Start.x ) < if( ABS( middle_position.x - aSegment->GetStartPoint().x ) < ABS( middle_position.y - aSegment->m_Start.y ) ) ABS( middle_position.y - aSegment->GetStartPoint().y ) ) middle_position.x = aSegment->m_Start.x; middle_position.x = aSegment->GetStartPoint().x; else else middle_position.y = aSegment->m_Start.y; middle_position.y = aSegment->GetStartPoint().y; } } #endif #endif aSegment->m_End = middle_position; aSegment->SetEndPoint( middle_position ); nextsegment->SetStartPoint( middle_position ); nextsegment->m_Start = middle_position; nextsegment->SetEndPoint( aPosition ); nextsegment->m_End = aPosition; } } Loading
eeschema/onrightclick.cpp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -578,7 +578,7 @@ void AddMenusForWire( wxMenu* PopMenu, SCH_LINE* Wire, SCH_EDIT_FRAME* frame ) AddMenuItem( PopMenu, ID_POPUP_SCH_ADD_LABEL, msg, KiBitmap( add_line_label_xpm ) ); AddMenuItem( PopMenu, ID_POPUP_SCH_ADD_LABEL, msg, KiBitmap( add_line_label_xpm ) ); // Add global label command only if the cursor is over one end of the wire. // Add global label command only if the cursor is over one end of the wire. if( ( pos == Wire->m_Start ) || ( pos == Wire->m_End ) ) if( Wire->IsEndPoint( pos ) ) AddMenuItem( PopMenu, ID_POPUP_SCH_ADD_GLABEL, _( "Add Global Label" ), AddMenuItem( PopMenu, ID_POPUP_SCH_ADD_GLABEL, _( "Add Global Label" ), KiBitmap( add_glabel_xpm ) ); KiBitmap( add_glabel_xpm ) ); } } Loading Loading @@ -608,7 +608,7 @@ void AddMenusForBus( wxMenu* PopMenu, SCH_LINE* Bus, SCH_EDIT_FRAME* frame ) AddMenuItem( PopMenu, ID_POPUP_SCH_ADD_LABEL, msg, KiBitmap( add_line_label_xpm ) ); AddMenuItem( PopMenu, ID_POPUP_SCH_ADD_LABEL, msg, KiBitmap( add_line_label_xpm ) ); // Add global label command only if the cursor is over one end of the bus. // Add global label command only if the cursor is over one end of the bus. if( ( pos == Bus->m_Start ) || ( pos == Bus->m_End ) ) if( Bus->IsEndPoint( pos ) ) AddMenuItem( PopMenu, ID_POPUP_SCH_ADD_GLABEL, _( "Add Global Label" ), AddMenuItem( PopMenu, ID_POPUP_SCH_ADD_GLABEL, _( "Add Global Label" ), KiBitmap( add_glabel_xpm ) ); KiBitmap( add_glabel_xpm ) ); } } Loading
eeschema/sch_junction.cpp +26 −26 Original line number Original line Diff line number Diff line Loading @@ -46,9 +46,9 @@ SCH_JUNCTION::SCH_JUNCTION( const wxPoint& pos ) : SCH_ITEM( NULL, SCH_JUNCTION_T ) SCH_ITEM( NULL, SCH_JUNCTION_T ) { { #define DRAWJUNCTION_DIAMETER 32 /* Diameter of junction symbol between wires */ #define DRAWJUNCTION_DIAMETER 32 /* Diameter of junction symbol between wires */ m_Pos = pos; m_pos = pos; m_Layer = LAYER_JUNCTION; m_Layer = LAYER_JUNCTION; m_Size.x = m_Size.y = DRAWJUNCTION_DIAMETER; m_size.x = m_size.y = DRAWJUNCTION_DIAMETER; #undef DRAWJUNCTION_DIAMETER #undef DRAWJUNCTION_DIAMETER } } Loading @@ -56,8 +56,8 @@ SCH_JUNCTION::SCH_JUNCTION( const wxPoint& pos ) : SCH_JUNCTION::SCH_JUNCTION( const SCH_JUNCTION& aJunction ) : SCH_JUNCTION::SCH_JUNCTION( const SCH_JUNCTION& aJunction ) : SCH_ITEM( aJunction ) SCH_ITEM( aJunction ) { { m_Pos = aJunction.m_Pos; m_pos = aJunction.m_pos; m_Size = aJunction.m_Size; m_size = aJunction.m_size; } } Loading @@ -65,7 +65,7 @@ bool SCH_JUNCTION::Save( FILE* aFile ) const { { bool success = true; bool success = true; if( fprintf( aFile, "Connection ~ %-4d %-4d\n", m_Pos.x, m_Pos.y ) == EOF ) if( fprintf( aFile, "Connection ~ %-4d %-4d\n", m_pos.x, m_pos.y ) == EOF ) { { success = false; success = false; } } Loading @@ -86,8 +86,8 @@ void SCH_JUNCTION::SwapData( SCH_ITEM* aItem ) wxT( "Cannot swap junction data with invalid item." ) ); wxT( "Cannot swap junction data with invalid item." ) ); SCH_JUNCTION* item = (SCH_JUNCTION*) aItem; SCH_JUNCTION* item = (SCH_JUNCTION*) aItem; EXCHG( m_Pos, item->m_Pos ); EXCHG( m_pos, item->m_pos ); EXCHG( m_Size, item->m_Size ); EXCHG( m_size, item->m_size ); } } Loading @@ -99,7 +99,7 @@ bool SCH_JUNCTION::Load( LINE_READER& aLine, wxString& aErrorMsg ) while( (*line != ' ' ) && *line ) while( (*line != ' ' ) && *line ) line++; line++; if( sscanf( line, "%s %d %d", name, &m_Pos.x, &m_Pos.y ) != 3 ) if( sscanf( line, "%s %d %d", name, &m_pos.x, &m_pos.y ) != 3 ) { { aErrorMsg.Printf( wxT( "Eeschema file connection load error at line %d, aborted" ), aErrorMsg.Printf( wxT( "Eeschema file connection load error at line %d, aborted" ), aLine.LineNumber() ); aLine.LineNumber() ); Loading @@ -115,8 +115,8 @@ EDA_RECT SCH_JUNCTION::GetBoundingBox() const { { EDA_RECT rect; EDA_RECT rect; rect.SetOrigin( m_Pos ); rect.SetOrigin( m_pos ); rect.Inflate( ( GetPenSize() + m_Size.x ) / 2 ); rect.Inflate( ( GetPenSize() + m_size.x ) / 2 ); return rect; return rect; } } Loading @@ -134,36 +134,36 @@ void SCH_JUNCTION::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffs GRSetDrawMode( aDC, aDrawMode ); GRSetDrawMode( aDC, aDrawMode ); GRFilledCircle( &aPanel->m_ClipBox, aDC, m_Pos.x + aOffset.x, m_Pos.y + aOffset.y, GRFilledCircle( &aPanel->m_ClipBox, aDC, m_pos.x + aOffset.x, m_pos.y + aOffset.y, ( m_Size.x / 2 ), 0, color, color ); ( m_size.x / 2 ), 0, color, color ); } } void SCH_JUNCTION::Mirror_X( int aXaxis_position ) void SCH_JUNCTION::Mirror_X( int aXaxis_position ) { { m_Pos.y -= aXaxis_position; m_pos.y -= aXaxis_position; NEGATE( m_Pos.y ); NEGATE( m_pos.y ); m_Pos.y += aXaxis_position; m_pos.y += aXaxis_position; } } void SCH_JUNCTION::Mirror_Y( int aYaxis_position ) void SCH_JUNCTION::Mirror_Y( int aYaxis_position ) { { m_Pos.x -= aYaxis_position; m_pos.x -= aYaxis_position; NEGATE( m_Pos.x ); NEGATE( m_pos.x ); m_Pos.x += aYaxis_position; m_pos.x += aYaxis_position; } } void SCH_JUNCTION::Rotate( wxPoint rotationPoint ) void SCH_JUNCTION::Rotate( wxPoint rotationPoint ) { { RotatePoint( &m_Pos, rotationPoint, 900 ); RotatePoint( &m_pos, rotationPoint, 900 ); } } void SCH_JUNCTION::GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList ) void SCH_JUNCTION::GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList ) { { DANGLING_END_ITEM item( JUNCTION_END, this, m_Pos ); DANGLING_END_ITEM item( JUNCTION_END, this, m_pos ); aItemList.push_back( item ); aItemList.push_back( item ); } } Loading @@ -172,7 +172,7 @@ bool SCH_JUNCTION::IsSelectStateChanged( const wxRect& aRect ) { { bool previousState = IsSelected(); bool previousState = IsSelected(); if( aRect.Contains( m_Pos ) ) if( aRect.Contains( m_pos ) ) m_Flags |= SELECTED; m_Flags |= SELECTED; else else m_Flags &= ~SELECTED; m_Flags &= ~SELECTED; Loading @@ -183,7 +183,7 @@ bool SCH_JUNCTION::IsSelectStateChanged( const wxRect& aRect ) void SCH_JUNCTION::GetConnectionPoints( vector< wxPoint >& aPoints ) const void SCH_JUNCTION::GetConnectionPoints( vector< wxPoint >& aPoints ) const { { aPoints.push_back( m_Pos ); aPoints.push_back( m_pos ); } } Loading @@ -196,7 +196,7 @@ void SCH_JUNCTION::GetNetListItem( vector<NETLIST_OBJECT*>& aNetListItems, item->m_SheetListInclude = *aSheetPath; item->m_SheetListInclude = *aSheetPath; item->m_Comp = (SCH_ITEM*) this; item->m_Comp = (SCH_ITEM*) this; item->m_Type = NET_JUNCTION; item->m_Type = NET_JUNCTION; item->m_Start = item->m_End = m_Pos; item->m_Start = item->m_End = m_pos; aNetListItems.push_back( item ); aNetListItems.push_back( item ); } } Loading @@ -208,7 +208,7 @@ void SCH_JUNCTION::Show( int nestLevel, std::ostream& os ) // XML output: // XML output: wxString s = GetClass(); wxString s = GetClass(); NestedSpace( nestLevel, os ) << '<' << s.Lower().mb_str() << m_Pos << "/>\n"; NestedSpace( nestLevel, os ) << '<' << s.Lower().mb_str() << m_pos << "/>\n"; } } #endif #endif Loading Loading @@ -238,12 +238,12 @@ bool SCH_JUNCTION::doHitTest( const EDA_RECT& aRect, bool aContained, int aAccur bool SCH_JUNCTION::doIsConnected( const wxPoint& aPosition ) const bool SCH_JUNCTION::doIsConnected( const wxPoint& aPosition ) const { { return m_Pos == aPosition; return m_pos == aPosition; } } void SCH_JUNCTION::doPlot( PLOTTER* aPlotter ) void SCH_JUNCTION::doPlot( PLOTTER* aPlotter ) { { aPlotter->set_color( ReturnLayerColor( GetLayer() ) ); aPlotter->set_color( ReturnLayerColor( GetLayer() ) ); aPlotter->circle( m_Pos, m_Size.x, FILLED_SHAPE ); aPlotter->circle( m_pos, m_size.x, FILLED_SHAPE ); } }
eeschema/sch_junction.h +5 −7 Original line number Original line Diff line number Diff line Loading @@ -36,10 +36,8 @@ class SCH_JUNCTION : public SCH_ITEM class SCH_JUNCTION : public SCH_ITEM { { wxPoint m_Pos; /* XY coordinates of connection. */ wxPoint m_pos; /* XY coordinates of connection. */ wxSize m_size; public: wxSize m_Size; public: public: SCH_JUNCTION( const wxPoint& pos = wxPoint( 0, 0 ) ); SCH_JUNCTION( const wxPoint& pos = wxPoint( 0, 0 ) ); Loading Loading @@ -94,7 +92,7 @@ public: */ */ virtual void Move( const wxPoint& aMoveVector ) virtual void Move( const wxPoint& aMoveVector ) { { m_Pos += aMoveVector; m_pos += aMoveVector; } } /** /** Loading Loading @@ -133,8 +131,8 @@ private: virtual bool doIsConnected( const wxPoint& aPosition ) const; virtual bool doIsConnected( const wxPoint& aPosition ) const; virtual EDA_ITEM* doClone() const; virtual EDA_ITEM* doClone() const; virtual void doPlot( PLOTTER* aPlotter ); virtual void doPlot( PLOTTER* aPlotter ); virtual wxPoint doGetPosition() const { return m_Pos; } virtual wxPoint doGetPosition() const { return m_pos; } virtual void doSetPosition( const wxPoint& aPosition ) { m_Pos = aPosition; } virtual void doSetPosition( const wxPoint& aPosition ) { m_pos = aPosition; } }; }; Loading
eeschema/sch_line.cpp +98 −98 Original line number Original line Diff line number Diff line Loading @@ -47,10 +47,10 @@ SCH_LINE::SCH_LINE( const wxPoint& pos, int layer ) : SCH_LINE::SCH_LINE( const wxPoint& pos, int layer ) : SCH_ITEM( NULL, SCH_LINE_T ) SCH_ITEM( NULL, SCH_LINE_T ) { { m_Start = pos; m_start = pos; m_End = pos; m_end = pos; m_Width = 0; // Default thickness used m_width = 0; // Default thickness used m_StartIsDangling = m_EndIsDangling = false; m_startIsDangling = m_endIsDangling = false; switch( layer ) switch( layer ) { { Loading @@ -72,10 +72,10 @@ SCH_LINE::SCH_LINE( const wxPoint& pos, int layer ) : SCH_LINE::SCH_LINE( const SCH_LINE& aLine ) : SCH_LINE::SCH_LINE( const SCH_LINE& aLine ) : SCH_ITEM( aLine ) SCH_ITEM( aLine ) { { m_Start = aLine.m_Start; m_start = aLine.m_start; m_End = aLine.m_End; m_end = aLine.m_end; m_Width = aLine.m_Width; m_width = aLine.m_width; m_StartIsDangling = m_EndIsDangling = false; m_startIsDangling = m_endIsDangling = false; } } Loading @@ -89,13 +89,13 @@ void SCH_LINE::Move( const wxPoint& aOffset ) { { if( (m_Flags & STARTPOINT) == 0 && aOffset != wxPoint( 0, 0 ) ) if( (m_Flags & STARTPOINT) == 0 && aOffset != wxPoint( 0, 0 ) ) { { m_Start += aOffset; m_start += aOffset; SetModified(); SetModified(); } } if( (m_Flags & ENDPOINT) == 0 && aOffset != wxPoint( 0, 0 ) ) if( (m_Flags & ENDPOINT) == 0 && aOffset != wxPoint( 0, 0 ) ) { { m_End += aOffset; m_end += aOffset; SetModified(); SetModified(); } } } } Loading @@ -107,12 +107,12 @@ void SCH_LINE::Show( int nestLevel, std::ostream& os ) const { { NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() << " layer=\"" << m_Layer << '"' << " layer=\"" << m_Layer << '"' << " width=\"" << m_Width << '"' << " width=\"" << m_width << '"' << " startIsDangling=\"" << m_StartIsDangling << " startIsDangling=\"" << m_startIsDangling << '"' << " endIsDangling=\"" << '"' << " endIsDangling=\"" << m_EndIsDangling << '"' << ">" << m_endIsDangling << '"' << ">" << " <start" << m_Start << "/>" << " <start" << m_start << "/>" << " <end" << m_End << "/>" << "</" << " <end" << m_end << "/>" << "</" << GetClass().Lower().mb_str() << ">\n"; << GetClass().Lower().mb_str() << ">\n"; } } Loading @@ -123,11 +123,11 @@ EDA_RECT SCH_LINE::GetBoundingBox() const { { int width = 25; int width = 25; int xmin = MIN( m_Start.x, m_End.x ) - width; int xmin = MIN( m_start.x, m_end.x ) - width; int ymin = MIN( m_Start.y, m_End.y ) - width; int ymin = MIN( m_start.y, m_end.y ) - width; int xmax = MAX( m_Start.x, m_End.x ) + width; int xmax = MAX( m_start.x, m_end.x ) + width; int ymax = MAX( m_Start.y, m_End.y ) + width; int ymax = MAX( m_start.y, m_end.y ) + width; // return a rectangle which is [pos,dim) in nature. therefore the +1 // return a rectangle which is [pos,dim) in nature. therefore the +1 EDA_RECT ret( wxPoint( xmin, ymin ), wxSize( xmax - xmin + 1, ymax - ymin + 1 ) ); EDA_RECT ret( wxPoint( xmin, ymin ), wxSize( xmax - xmin + 1, ymax - ymin + 1 ) ); Loading @@ -138,7 +138,7 @@ EDA_RECT SCH_LINE::GetBoundingBox() const double SCH_LINE::GetLength() const double SCH_LINE::GetLength() const { { return GetLineLength( m_Start, m_End ); return GetLineLength( m_start, m_end ); } } Loading @@ -160,8 +160,8 @@ bool SCH_LINE::Save( FILE* aFile ) const success = false; success = false; } } if( fprintf( aFile, "\t%-4d %-4d %-4d %-4d\n", m_Start.x, m_Start.y, if( fprintf( aFile, "\t%-4d %-4d %-4d %-4d\n", m_start.x, m_start.y, m_End.x, m_End.y ) == EOF ) m_end.x, m_end.y ) == EOF ) { { success = false; success = false; } } Loading Loading @@ -196,7 +196,7 @@ bool SCH_LINE::Load( LINE_READER& aLine, wxString& aErrorMsg ) m_Layer = LAYER_BUS; m_Layer = LAYER_BUS; if( !aLine.ReadLine() || sscanf( (char*) aLine, "%d %d %d %d ", if( !aLine.ReadLine() || sscanf( (char*) aLine, "%d %d %d %d ", &m_Start.x, &m_Start.y, &m_End.x, &m_End.y ) != 4 ) &m_start.x, &m_start.y, &m_end.x, &m_end.y ) != 4 ) { { aErrorMsg.Printf( wxT( "Eeschema file Segment struct error at line %d, aborted" ), aErrorMsg.Printf( wxT( "Eeschema file Segment struct error at line %d, aborted" ), aLine.LineNumber() ); aLine.LineNumber() ); Loading @@ -210,9 +210,9 @@ bool SCH_LINE::Load( LINE_READER& aLine, wxString& aErrorMsg ) int SCH_LINE::GetPenSize() const int SCH_LINE::GetPenSize() const { { int pensize = ( m_Width == 0 ) ? g_DrawDefaultLineThickness : m_Width; int pensize = ( m_width == 0 ) ? g_DrawDefaultLineThickness : m_width; if( m_Layer == LAYER_BUS && m_Width == 0 ) if( m_Layer == LAYER_BUS && m_width == 0 ) { { pensize = wxRound( g_DrawDefaultLineThickness * BUS_WIDTH_EXPAND ); pensize = wxRound( g_DrawDefaultLineThickness * BUS_WIDTH_EXPAND ); pensize = MAX( pensize, 3 ); pensize = MAX( pensize, 3 ); Loading @@ -235,8 +235,8 @@ void SCH_LINE::Draw( EDA_DRAW_PANEL* panel, wxDC* DC, const wxPoint& offset, GRSetDrawMode( DC, DrawMode ); GRSetDrawMode( DC, DrawMode ); wxPoint start = m_Start; wxPoint start = m_start; wxPoint end = m_End; wxPoint end = m_end; if( ( m_Flags & STARTPOINT ) == 0 ) if( ( m_Flags & STARTPOINT ) == 0 ) start += offset; start += offset; Loading @@ -248,40 +248,40 @@ void SCH_LINE::Draw( EDA_DRAW_PANEL* panel, wxDC* DC, const wxPoint& offset, else else GRLine( &panel->m_ClipBox, DC, start, end, width, color ); GRLine( &panel->m_ClipBox, DC, start, end, width, color ); if( m_StartIsDangling ) if( m_startIsDangling ) DrawDanglingSymbol( panel, DC, start, color ); DrawDanglingSymbol( panel, DC, start, color ); if( m_EndIsDangling ) if( m_endIsDangling ) DrawDanglingSymbol( panel, DC, end, color ); DrawDanglingSymbol( panel, DC, end, color ); } } void SCH_LINE::Mirror_X( int aXaxis_position ) void SCH_LINE::Mirror_X( int aXaxis_position ) { { m_Start.y -= aXaxis_position; m_start.y -= aXaxis_position; NEGATE( m_Start.y ); NEGATE( m_start.y ); m_Start.y += aXaxis_position; m_start.y += aXaxis_position; m_End.y -= aXaxis_position; m_end.y -= aXaxis_position; NEGATE( m_End.y ); NEGATE( m_end.y ); m_End.y += aXaxis_position; m_end.y += aXaxis_position; } } void SCH_LINE::Mirror_Y( int aYaxis_position ) void SCH_LINE::Mirror_Y( int aYaxis_position ) { { m_Start.x -= aYaxis_position; m_start.x -= aYaxis_position; NEGATE( m_Start.x ); NEGATE( m_start.x ); m_Start.x += aYaxis_position; m_start.x += aYaxis_position; m_End.x -= aYaxis_position; m_end.x -= aYaxis_position; NEGATE( m_End.x ); NEGATE( m_end.x ); m_End.x += aYaxis_position; m_end.x += aYaxis_position; } } void SCH_LINE::Rotate( wxPoint rotationPoint ) void SCH_LINE::Rotate( wxPoint rotationPoint ) { { RotatePoint( &m_Start, rotationPoint, 900 ); RotatePoint( &m_start, rotationPoint, 900 ); RotatePoint( &m_End, rotationPoint, 900 ); RotatePoint( &m_end, rotationPoint, 900 ); } } Loading @@ -293,54 +293,54 @@ bool SCH_LINE::MergeOverlap( SCH_LINE* aLine ) if( this == aLine || GetLayer() != aLine->GetLayer() ) if( this == aLine || GetLayer() != aLine->GetLayer() ) return false; return false; // Search for a common end, and modify coordinates to ensure RefSegm->m_End // Search for a common end, and modify coordinates to ensure RefSegm->m_end // == TstSegm->m_Start // == TstSegm->m_start if( m_Start == aLine->m_Start ) if( m_start == aLine->m_start ) { { if( m_End == aLine->m_End ) if( m_end == aLine->m_end ) return true; return true; EXCHG( m_Start, m_End ); EXCHG( m_start, m_end ); } } else if( m_Start == aLine->m_End ) else if( m_start == aLine->m_end ) { { EXCHG( m_Start, m_End ); EXCHG( m_start, m_end ); EXCHG( aLine->m_Start, aLine->m_End ); EXCHG( aLine->m_start, aLine->m_end ); } } else if( m_End == aLine->m_End ) else if( m_end == aLine->m_end ) { { EXCHG( aLine->m_Start, aLine->m_End ); EXCHG( aLine->m_start, aLine->m_end ); } } else if( m_End != aLine->m_Start ) else if( m_end != aLine->m_start ) { { // No common end point, segments cannot be merged. // No common end point, segments cannot be merged. return false; return false; } } /* Test alignment: */ /* Test alignment: */ if( m_Start.y == m_End.y ) // Horizontal segment if( m_start.y == m_end.y ) // Horizontal segment { { if( aLine->m_Start.y == aLine->m_End.y ) if( aLine->m_start.y == aLine->m_end.y ) { { m_End = aLine->m_End; m_end = aLine->m_end; return true; return true; } } } } else if( m_Start.x == m_End.x ) // Vertical segment else if( m_start.x == m_end.x ) // Vertical segment { { if( aLine->m_Start.x == aLine->m_End.x ) if( aLine->m_start.x == aLine->m_end.x ) { { m_End = aLine->m_End; m_end = aLine->m_end; return true; return true; } } } } else else { { if( atan2( (double) ( m_Start.x - m_End.x ), (double) ( m_Start.y - m_End.y ) ) if( atan2( (double) ( m_start.x - m_end.x ), (double) ( m_start.y - m_end.y ) ) == atan2( (double) ( aLine->m_Start.x - aLine->m_End.x ), == atan2( (double) ( aLine->m_start.x - aLine->m_end.x ), (double) ( aLine->m_Start.y - aLine->m_End.y ) ) ) (double) ( aLine->m_start.y - aLine->m_end.y ) ) ) { { m_End = aLine->m_End; m_end = aLine->m_end; return true; return true; } } } } Loading @@ -357,11 +357,11 @@ void SCH_LINE::GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList ) if( ( GetLayer() == LAYER_BUS ) || ( GetLayer() == LAYER_WIRE ) ) if( ( GetLayer() == LAYER_BUS ) || ( GetLayer() == LAYER_WIRE ) ) { { DANGLING_END_ITEM item( (GetLayer() == LAYER_BUS) ? BUS_START_END : WIRE_START_END, this, DANGLING_END_ITEM item( (GetLayer() == LAYER_BUS) ? BUS_START_END : WIRE_START_END, this, m_Start ); m_start ); aItemList.push_back( item ); aItemList.push_back( item ); DANGLING_END_ITEM item1( (GetLayer() == LAYER_BUS) ? BUS_END_END : WIRE_END_END, this, DANGLING_END_ITEM item1( (GetLayer() == LAYER_BUS) ? BUS_END_END : WIRE_END_END, this, m_End ); m_end ); aItemList.push_back( item1 ); aItemList.push_back( item1 ); } } } } Loading @@ -369,10 +369,10 @@ void SCH_LINE::GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList ) bool SCH_LINE::IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList ) bool SCH_LINE::IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList ) { { bool previousStartState = m_StartIsDangling; bool previousStartState = m_startIsDangling; bool previousEndState = m_EndIsDangling; bool previousEndState = m_endIsDangling; m_StartIsDangling = m_EndIsDangling = true; m_startIsDangling = m_endIsDangling = true; if( GetLayer() == LAYER_WIRE ) if( GetLayer() == LAYER_WIRE ) { { Loading @@ -381,23 +381,23 @@ bool SCH_LINE::IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemLi if( item.GetItem() == this ) if( item.GetItem() == this ) continue; continue; if( m_Start == item.GetPosition() ) if( m_start == item.GetPosition() ) m_StartIsDangling = false; m_startIsDangling = false; if( m_End == item.GetPosition() ) if( m_end == item.GetPosition() ) m_EndIsDangling = false; m_endIsDangling = false; if( (m_StartIsDangling == false) && (m_EndIsDangling == false) ) if( (m_startIsDangling == false) && (m_endIsDangling == false) ) break; break; } } } } else if( GetLayer() == LAYER_BUS || GetLayer() == LAYER_NOTES ) else if( GetLayer() == LAYER_BUS || GetLayer() == LAYER_NOTES ) { { // Lines on the notes layer and the bus layer cannot be tested for dangling ends. // Lines on the notes layer and the bus layer cannot be tested for dangling ends. previousStartState = previousEndState = m_StartIsDangling = m_EndIsDangling = false; previousStartState = previousEndState = m_startIsDangling = m_endIsDangling = false; } } return ( previousStartState != m_StartIsDangling ) || ( previousEndState != m_EndIsDangling ); return ( previousStartState != m_startIsDangling ) || ( previousEndState != m_endIsDangling ); } } Loading @@ -405,17 +405,17 @@ bool SCH_LINE::IsSelectStateChanged( const wxRect& aRect ) { { bool previousState = IsSelected(); bool previousState = IsSelected(); if( aRect.Contains( m_Start ) && aRect.Contains( m_End ) ) if( aRect.Contains( m_start ) && aRect.Contains( m_end ) ) { { m_Flags |= SELECTED; m_Flags |= SELECTED; m_Flags &= ~(STARTPOINT | ENDPOINT); m_Flags &= ~(STARTPOINT | ENDPOINT); } } else if( aRect.Contains( m_Start ) ) else if( aRect.Contains( m_start ) ) { { m_Flags &= ~STARTPOINT; m_Flags &= ~STARTPOINT; m_Flags |= ( SELECTED | ENDPOINT ); m_Flags |= ( SELECTED | ENDPOINT ); } } else if( aRect.Contains( m_End ) ) else if( aRect.Contains( m_end ) ) { { m_Flags &= ~ENDPOINT; m_Flags &= ~ENDPOINT; m_Flags |= ( SELECTED | STARTPOINT ); m_Flags |= ( SELECTED | STARTPOINT ); Loading @@ -440,8 +440,8 @@ bool SCH_LINE::IsConnectable() const void SCH_LINE::GetConnectionPoints( vector< wxPoint >& aPoints ) const void SCH_LINE::GetConnectionPoints( vector< wxPoint >& aPoints ) const { { aPoints.push_back( m_Start ); aPoints.push_back( m_start ); aPoints.push_back( m_End ); aPoints.push_back( m_end ); } } Loading @@ -449,9 +449,9 @@ wxString SCH_LINE::GetSelectMenuText() const { { wxString menuText, txtfmt, orient; wxString menuText, txtfmt, orient; if( m_Start.x == m_End.x ) if( m_start.x == m_end.x ) orient = _("Vert."); orient = _("Vert."); else if( m_Start.y == m_End.y ) else if( m_start.y == m_end.y ) orient = _("Horiz."); orient = _("Horiz."); switch( m_Layer ) switch( m_Layer ) Loading @@ -473,10 +473,10 @@ wxString SCH_LINE::GetSelectMenuText() const } } menuText.Printf( txtfmt, GetChars( orient ), menuText.Printf( txtfmt, GetChars( orient ), GetChars(CoordinateToString( m_Start.x, EESCHEMA_INTERNAL_UNIT )), GetChars(CoordinateToString( m_start.x, EESCHEMA_INTERNAL_UNIT )), GetChars(CoordinateToString( m_Start.y, EESCHEMA_INTERNAL_UNIT )), GetChars(CoordinateToString( m_start.y, EESCHEMA_INTERNAL_UNIT )), GetChars(CoordinateToString( m_End.x, EESCHEMA_INTERNAL_UNIT )), GetChars(CoordinateToString( m_end.x, EESCHEMA_INTERNAL_UNIT )), GetChars(CoordinateToString( m_End.y, EESCHEMA_INTERNAL_UNIT )) ); GetChars(CoordinateToString( m_end.y, EESCHEMA_INTERNAL_UNIT )) ); return menuText; return menuText; } } Loading Loading @@ -504,8 +504,8 @@ void SCH_LINE::GetNetListItem( vector<NETLIST_OBJECT*>& aNetListItems, item->m_SheetList = *aSheetPath; item->m_SheetList = *aSheetPath; item->m_SheetListInclude = *aSheetPath; item->m_SheetListInclude = *aSheetPath; item->m_Comp = (SCH_ITEM*) this; item->m_Comp = (SCH_ITEM*) this; item->m_Start = m_Start; item->m_Start = m_start; item->m_End = m_End; item->m_End = m_end; if( GetLayer() == LAYER_BUS ) if( GetLayer() == LAYER_BUS ) { { Loading @@ -530,11 +530,11 @@ bool SCH_LINE::operator <( const SCH_ITEM& aItem ) const if( GetLength() != line->GetLength() ) if( GetLength() != line->GetLength() ) return GetLength() < line->GetLength(); return GetLength() < line->GetLength(); if( m_Start.x != line->m_Start.x ) if( m_start.x != line->m_start.x ) return m_Start.x < line->m_Start.x; return m_start.x < line->m_start.x; if( m_Start.y != line->m_Start.y ) if( m_start.y != line->m_start.y ) return m_Start.y < line->m_Start.y; return m_start.y < line->m_start.y; return false; return false; } } Loading @@ -542,7 +542,7 @@ bool SCH_LINE::operator <( const SCH_ITEM& aItem ) const bool SCH_LINE::doHitTest( const wxPoint& aPoint, int aAccuracy ) const bool SCH_LINE::doHitTest( const wxPoint& aPoint, int aAccuracy ) const { { return TestSegmentHit( aPoint, m_Start, m_End, aAccuracy ); return TestSegmentHit( aPoint, m_start, m_end, aAccuracy ); } } Loading Loading @@ -576,8 +576,8 @@ void SCH_LINE::doPlot( PLOTTER* aPlotter ) if( m_Layer == LAYER_NOTES ) if( m_Layer == LAYER_NOTES ) aPlotter->set_dash( true ); aPlotter->set_dash( true ); aPlotter->move_to( m_Start ); aPlotter->move_to( m_start ); aPlotter->finish_to( m_End ); aPlotter->finish_to( m_end ); if( m_Layer == LAYER_NOTES ) if( m_Layer == LAYER_NOTES ) aPlotter->set_dash( false ); aPlotter->set_dash( false ); Loading @@ -586,6 +586,6 @@ void SCH_LINE::doPlot( PLOTTER* aPlotter ) void SCH_LINE::doSetPosition( const wxPoint& aPosition ) void SCH_LINE::doSetPosition( const wxPoint& aPosition ) { { m_End = m_End - ( m_Start - aPosition ); m_end = m_end - ( m_start - aPosition ); m_Start = aPosition; m_start = aPosition; } }