Fix handling of filled circle in eagle importer (was only partly fixed)

Partly fixed in 4fc692f04b, but missed
that there is a loadPlain where I need to handle this case as well.
This commit is contained in:
Thomas Pointhuber 2019-07-12 21:18:42 +02:00 committed by Wayne Stambaugh
parent c68b83e1bb
commit 5f438b7a85
1 changed files with 12 additions and 2 deletions

View File

@ -645,12 +645,22 @@ void EAGLE_PLUGIN::loadPlain( wxXmlNode* aGraphics )
DRAWSEGMENT* dseg = new DRAWSEGMENT( m_board ); DRAWSEGMENT* dseg = new DRAWSEGMENT( m_board );
m_board->Add( dseg, ADD_APPEND ); m_board->Add( dseg, ADD_APPEND );
int width = c.width.ToPcbUnits();
int radius = c.radius.ToPcbUnits();
// with == 0 means filled circle
if( width <= 0 )
{
width = radius;
radius = radius / 2;
}
dseg->SetShape( S_CIRCLE ); dseg->SetShape( S_CIRCLE );
dseg->SetTimeStamp( EagleTimeStamp( gr ) ); dseg->SetTimeStamp( EagleTimeStamp( gr ) );
dseg->SetLayer( layer ); dseg->SetLayer( layer );
dseg->SetStart( wxPoint( kicad_x( c.x ), kicad_y( c.y ) ) ); dseg->SetStart( wxPoint( kicad_x( c.x ), kicad_y( c.y ) ) );
dseg->SetEnd( wxPoint( kicad_x( c.x + c.radius ), kicad_y( c.y ) ) ); dseg->SetEnd( wxPoint( kicad_x( c.x ) + radius, kicad_y( c.y ) ) );
dseg->SetWidth( c.width.ToPcbUnits() ); dseg->SetWidth( width );
} }
m_xpath->pop(); m_xpath->pop();
} }