Formatting.

This commit is contained in:
Jeff Young 2021-09-20 15:35:45 +01:00
parent dc1fd3d9ba
commit 40b4e5c024
2 changed files with 55 additions and 52 deletions

View File

@ -118,7 +118,7 @@ static EDA_RECT getSheetBbox( SCH_SHEET* aSheet )
{ {
EDA_RECT bbox; EDA_RECT bbox;
for( auto item : aSheet->GetScreen()->Items() ) for( SCH_ITEM* item : aSheet->GetScreen()->Items() )
bbox.Merge( item->GetBoundingBox() ); bbox.Merge( item->GetBoundingBox() );
return bbox; return bbox;
@ -180,7 +180,7 @@ void SCH_EAGLE_PLUGIN::loadLayerDefs( wxXmlNode* aLayers )
} }
// match layers based on their names // match layers based on their names
for( const auto& elayer : eagleLayers ) for( const ELAYER& elayer : eagleLayers )
{ {
/** /**
* Layers in KiCad schematics are not actually layers, but abstract groups mainly used to * Layers in KiCad schematics are not actually layers, but abstract groups mainly used to
@ -596,7 +596,8 @@ void SCH_EAGLE_PLUGIN::loadSchematic( wxXmlNode* aSchematicNode )
if( !sheetNode ) if( !sheetNode )
return; return;
auto count_nodes = []( wxXmlNode* aNode ) -> unsigned auto count_nodes =
[]( wxXmlNode* aNode ) -> unsigned
{ {
unsigned count = 0; unsigned count = 0;
@ -945,9 +946,11 @@ void SCH_EAGLE_PLUGIN::loadSheet( wxXmlNode* aSheetNode, int aSheetIndex )
translation.y = translation.y - translation.y % Mils2iu( 100 ); translation.y = translation.y - translation.y % Mils2iu( 100 );
// Add global net labels for the named power input pins in this sheet // Add global net labels for the named power input pins in this sheet
for( auto item : m_currentSheet->GetScreen()->Items().OfType( SCH_SYMBOL_T ) ) for( SCH_ITEM* item : m_currentSheet->GetScreen()->Items().OfType( SCH_SYMBOL_T ) )
addImplicitConnections( static_cast<SCH_SYMBOL*>( item ), m_currentSheet->GetScreen(), {
true ); SCH_SYMBOL* symbol = static_cast<SCH_SYMBOL*>( item );
addImplicitConnections( symbol, m_currentSheet->GetScreen(), true );
}
m_connPoints.clear(); m_connPoints.clear();
@ -957,7 +960,7 @@ void SCH_EAGLE_PLUGIN::loadSheet( wxXmlNode* aSheetNode, int aSheetIndex )
std::copy( m_currentSheet->GetScreen()->Items().begin(), std::copy( m_currentSheet->GetScreen()->Items().begin(),
m_currentSheet->GetScreen()->Items().end(), std::back_inserter( allItems ) ); m_currentSheet->GetScreen()->Items().end(), std::back_inserter( allItems ) );
for( auto item : allItems ) for( SCH_ITEM* item : allItems )
{ {
item->SetPosition( item->GetPosition() + translation ); item->SetPosition( item->GetPosition() + translation );
item->ClearFlags(); item->ClearFlags();
@ -1002,8 +1005,8 @@ void SCH_EAGLE_PLUGIN::loadFrame( wxXmlNode* aFrameNode, std::vector<SCH_LINE*>&
} }
void SCH_EAGLE_PLUGIN::loadSegments( void SCH_EAGLE_PLUGIN::loadSegments( wxXmlNode* aSegmentsNode, const wxString& netName,
wxXmlNode* aSegmentsNode, const wxString& netName, const wxString& aNetClass ) const wxString& aNetClass )
{ {
// Loop through all segments // Loop through all segments
wxXmlNode* currentSegment = aSegmentsNode->GetChildren(); wxXmlNode* currentSegment = aSegmentsNode->GetChildren();
@ -1035,14 +1038,14 @@ void SCH_EAGLE_PLUGIN::loadSegments(
// Test for intersections with other wires // Test for intersections with other wires
SEG thisWire( wire->GetStartPoint(), wire->GetEndPoint() ); SEG thisWire( wire->GetStartPoint(), wire->GetEndPoint() );
for( auto& desc : m_segments ) for( SEG_DESC& desc : m_segments )
{ {
if( !desc.labels.empty() && desc.labels.front()->GetText() == netName ) if( !desc.labels.empty() && desc.labels.front()->GetText() == netName )
continue; // no point in saving intersections of the same net continue; // no point in saving intersections of the same net
for( const auto& seg : desc.segs ) for( const SEG& seg : desc.segs )
{ {
auto intersection = thisWire.Intersect( seg, true ); OPT_VECTOR2I intersection = thisWire.Intersect( seg, true );
if( intersection ) if( intersection )
m_wireIntersections.push_back( *intersection ); m_wireIntersections.push_back( *intersection );
@ -1126,7 +1129,7 @@ SCH_LINE* SCH_EAGLE_PLUGIN::loadWire( wxXmlNode* aWireNode )
{ {
std::unique_ptr<SCH_LINE> wire = std::make_unique<SCH_LINE>(); std::unique_ptr<SCH_LINE> wire = std::make_unique<SCH_LINE>();
auto ewire = EWIRE( aWireNode ); EWIRE ewire = EWIRE( aWireNode );
wire->SetLayer( kiCadLayer( ewire.layer ) ); wire->SetLayer( kiCadLayer( ewire.layer ) );
@ -1151,8 +1154,8 @@ SCH_JUNCTION* SCH_EAGLE_PLUGIN::loadJunction( wxXmlNode* aJunction )
{ {
std::unique_ptr<SCH_JUNCTION> junction = std::make_unique<SCH_JUNCTION>(); std::unique_ptr<SCH_JUNCTION> junction = std::make_unique<SCH_JUNCTION>();
auto ejunction = EJUNCTION( aJunction ); EJUNCTION ejunction = EJUNCTION( aJunction );
wxPoint pos( ejunction.x.ToSchUnits(), -ejunction.y.ToSchUnits() ); wxPoint pos( ejunction.x.ToSchUnits(), -ejunction.y.ToSchUnits() );
junction->SetPosition( pos ); junction->SetPosition( pos );
@ -1162,7 +1165,7 @@ SCH_JUNCTION* SCH_EAGLE_PLUGIN::loadJunction( wxXmlNode* aJunction )
SCH_TEXT* SCH_EAGLE_PLUGIN::loadLabel( wxXmlNode* aLabelNode, const wxString& aNetName ) SCH_TEXT* SCH_EAGLE_PLUGIN::loadLabel( wxXmlNode* aLabelNode, const wxString& aNetName )
{ {
auto elabel = ELABEL( aLabelNode, aNetName ); ELABEL elabel = ELABEL( aLabelNode, aNetName );
wxPoint elabelpos( elabel.x.ToSchUnits(), -elabel.y.ToSchUnits() ); wxPoint elabelpos( elabel.x.ToSchUnits(), -elabel.y.ToSchUnits() );
// Determine if the label is local or global depending on // Determine if the label is local or global depending on
@ -1205,8 +1208,9 @@ SCH_TEXT* SCH_EAGLE_PLUGIN::loadLabel( wxXmlNode* aLabelNode, const wxString& aN
} }
std::pair<VECTOR2I, const SEG*> SCH_EAGLE_PLUGIN::findNearestLinePoint( std::pair<VECTOR2I, const SEG*>
const wxPoint& aPoint, const std::vector<SEG>& aLines ) const SCH_EAGLE_PLUGIN::findNearestLinePoint( const wxPoint& aPoint,
const std::vector<SEG>& aLines ) const
{ {
VECTOR2I nearestPoint; VECTOR2I nearestPoint;
const SEG* nearestLine = nullptr; const SEG* nearestLine = nullptr;
@ -1216,7 +1220,7 @@ std::pair<VECTOR2I, const SEG*> SCH_EAGLE_PLUGIN::findNearestLinePoint(
// Find the nearest start, middle or end of a line from the list of lines. // Find the nearest start, middle or end of a line from the list of lines.
for( const SEG& line : aLines ) for( const SEG& line : aLines )
{ {
auto testpoint = line.A; VECTOR2I testpoint = line.A;
d = sqrt( abs( ( ( aPoint.x - testpoint.x ) ^ 2 ) + ( ( aPoint.y - testpoint.y ) ^ 2 ) ) ); d = sqrt( abs( ( ( aPoint.x - testpoint.x ) ^ 2 ) + ( ( aPoint.y - testpoint.y ) ^ 2 ) ) );
if( d < mindistance ) if( d < mindistance )
@ -1253,8 +1257,7 @@ std::pair<VECTOR2I, const SEG*> SCH_EAGLE_PLUGIN::findNearestLinePoint(
void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode ) void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode )
{ {
auto einstance = EINSTANCE( aInstanceNode ); EINSTANCE einstance = EINSTANCE( aInstanceNode );
SCH_SCREEN* screen = m_currentSheet->GetScreen(); SCH_SCREEN* screen = m_currentSheet->GetScreen();
// Find the part in the list for the sheet. // Find the part in the list for the sheet.
@ -1357,7 +1360,7 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode )
for( const auto& a : epart->attribute ) for( const auto& a : epart->attribute )
{ {
auto field = symbol->AddField( *symbol->GetField( VALUE_FIELD ) ); SCH_FIELD* field = symbol->AddField( *symbol->GetField( VALUE_FIELD ) );
field->SetName( a.first ); field->SetName( a.first );
field->SetText( a.second ); field->SetText( a.second );
field->SetVisible( false ); field->SetVisible( false );
@ -1365,7 +1368,7 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode )
for( const auto& a : epart->variant ) for( const auto& a : epart->variant )
{ {
auto field = symbol->AddField( *symbol->GetField( VALUE_FIELD ) ); SCH_FIELD* field = symbol->AddField( *symbol->GetField( VALUE_FIELD ) );
field->SetName( "VARIANT_" + a.first ); field->SetName( "VARIANT_" + a.first );
field->SetText( a.second ); field->SetText( a.second );
field->SetVisible( false ); field->SetVisible( false );
@ -1381,7 +1384,7 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode )
{ {
if( attributeNode->GetName() == "attribute" ) if( attributeNode->GetName() == "attribute" )
{ {
auto attr = EATTR( attributeNode ); EATTR attr = EATTR( attributeNode );
SCH_FIELD* field = nullptr; SCH_FIELD* field = nullptr;
if( attr.name.Lower() == "name" ) if( attr.name.Lower() == "name" )
@ -1422,8 +1425,8 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode )
int reldegrees = ( absdegrees - rotation + 360.0 ); int reldegrees = ( absdegrees - rotation + 360.0 );
reldegrees %= 360; reldegrees %= 360;
eagleToKicadAlignment( eagleToKicadAlignment( (EDA_TEXT*) field, align, reldegrees, mirror, spin,
(EDA_TEXT*) field, align, reldegrees, mirror, spin, absdegrees ); absdegrees );
} }
} }
else if( attributeNode->GetName() == "variant" ) else if( attributeNode->GetName() == "variant" )
@ -1433,7 +1436,7 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode )
if( attributeNode->GetAttribute( "name", &variant ) if( attributeNode->GetAttribute( "name", &variant )
&& attributeNode->GetAttribute( "value", &value ) ) && attributeNode->GetAttribute( "value", &value ) )
{ {
auto field = symbol->AddField( *symbol->GetField( VALUE_FIELD ) ); SCH_FIELD* field = symbol->AddField( *symbol->GetField( VALUE_FIELD ) );
field->SetName( "VARIANT_" + variant ); field->SetName( "VARIANT_" + variant );
field->SetText( value ); field->SetText( value );
field->SetVisible( false ); field->SetVisible( false );
@ -1463,7 +1466,7 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode )
std::vector<LIB_PIN*> pins; std::vector<LIB_PIN*> pins;
symbol->GetLibPins( pins ); symbol->GetLibPins( pins );
for( const auto& pin : pins ) for( const LIB_PIN* pin : pins )
m_connPoints[symbol->GetPinPhysicalPosition( pin )].emplace( pin ); m_connPoints[symbol->GetPinPhysicalPosition( pin )].emplace( pin );
symbol->ClearFlags(); symbol->ClearFlags();
@ -1622,7 +1625,7 @@ bool SCH_EAGLE_PLUGIN::loadSymbol( wxXmlNode* aSymbolNode, std::unique_ptr<LIB_S
if( aDevice->connects.size() != 0 ) if( aDevice->connects.size() != 0 )
{ {
for( const auto& connect : aDevice->connects ) for( const ECONNECT& connect : aDevice->connects )
{ {
if( connect.gate == aGateName && pin->GetName() == connect.pin ) if( connect.gate == aGateName && pin->GetName() == connect.pin )
{ {
@ -1725,8 +1728,8 @@ bool SCH_EAGLE_PLUGIN::loadSymbol( wxXmlNode* aSymbolNode, std::unique_ptr<LIB_S
} }
LIB_CIRCLE* SCH_EAGLE_PLUGIN::loadSymbolCircle( LIB_CIRCLE* SCH_EAGLE_PLUGIN::loadSymbolCircle( std::unique_ptr<LIB_SYMBOL>& aSymbol,
std::unique_ptr<LIB_SYMBOL>& aSymbol, wxXmlNode* aCircleNode, int aGateNumber ) wxXmlNode* aCircleNode, int aGateNumber )
{ {
// Parse the circle properties // Parse the circle properties
ECIRCLE c( aCircleNode ); ECIRCLE c( aCircleNode );
@ -1742,8 +1745,8 @@ LIB_CIRCLE* SCH_EAGLE_PLUGIN::loadSymbolCircle(
} }
LIB_RECTANGLE* SCH_EAGLE_PLUGIN::loadSymbolRectangle( LIB_RECTANGLE* SCH_EAGLE_PLUGIN::loadSymbolRectangle( std::unique_ptr<LIB_SYMBOL>& aSymbol,
std::unique_ptr<LIB_SYMBOL>& aSymbol, wxXmlNode* aRectNode, int aGateNumber ) wxXmlNode* aRectNode, int aGateNumber )
{ {
ERECT rect( aRectNode ); ERECT rect( aRectNode );
@ -1761,10 +1764,10 @@ LIB_RECTANGLE* SCH_EAGLE_PLUGIN::loadSymbolRectangle(
} }
LIB_ITEM* SCH_EAGLE_PLUGIN::loadSymbolWire( LIB_ITEM* SCH_EAGLE_PLUGIN::loadSymbolWire( std::unique_ptr<LIB_SYMBOL>& aSymbol,
std::unique_ptr<LIB_SYMBOL>& aSymbol, wxXmlNode* aWireNode, int aGateNumber ) wxXmlNode* aWireNode, int aGateNumber )
{ {
auto ewire = EWIRE( aWireNode ); EWIRE ewire = EWIRE( aWireNode );
wxPoint begin, end; wxPoint begin, end;
@ -1846,8 +1849,8 @@ LIB_ITEM* SCH_EAGLE_PLUGIN::loadSymbolWire(
} }
LIB_POLYLINE* SCH_EAGLE_PLUGIN::loadSymbolPolyLine( LIB_POLYLINE* SCH_EAGLE_PLUGIN::loadSymbolPolyLine( std::unique_ptr<LIB_SYMBOL>& aSymbol,
std::unique_ptr<LIB_SYMBOL>& aSymbol, wxXmlNode* aPolygonNode, int aGateNumber ) wxXmlNode* aPolygonNode, int aGateNumber )
{ {
std::unique_ptr<LIB_POLYLINE> polyLine = std::make_unique<LIB_POLYLINE>( aSymbol.get() ); std::unique_ptr<LIB_POLYLINE> polyLine = std::make_unique<LIB_POLYLINE>( aSymbol.get() );
@ -1874,8 +1877,8 @@ LIB_POLYLINE* SCH_EAGLE_PLUGIN::loadSymbolPolyLine(
} }
LIB_PIN* SCH_EAGLE_PLUGIN::loadPin( LIB_PIN* SCH_EAGLE_PLUGIN::loadPin( std::unique_ptr<LIB_SYMBOL>& aSymbol, wxXmlNode* aPin,
std::unique_ptr<LIB_SYMBOL>& aSymbol, wxXmlNode* aPin, EPIN* aEPin, int aGateNumber ) EPIN* aEPin, int aGateNumber )
{ {
std::unique_ptr<LIB_PIN> pin = std::make_unique<LIB_PIN>( aSymbol.get() ); std::unique_ptr<LIB_PIN> pin = std::make_unique<LIB_PIN>( aSymbol.get() );
pin->SetPosition( wxPoint( aEPin->x.ToSchUnits(), aEPin->y.ToSchUnits() ) ); pin->SetPosition( wxPoint( aEPin->x.ToSchUnits(), aEPin->y.ToSchUnits() ) );
@ -1971,8 +1974,8 @@ LIB_PIN* SCH_EAGLE_PLUGIN::loadPin(
} }
LIB_TEXT* SCH_EAGLE_PLUGIN::loadSymbolText( LIB_TEXT* SCH_EAGLE_PLUGIN::loadSymbolText( std::unique_ptr<LIB_SYMBOL>& aSymbol,
std::unique_ptr<LIB_SYMBOL>& aSymbol, wxXmlNode* aLibText, int aGateNumber ) wxXmlNode* aLibText, int aGateNumber )
{ {
std::unique_ptr<LIB_TEXT> libtext = std::make_unique<LIB_TEXT>( aSymbol.get() ); std::unique_ptr<LIB_TEXT> libtext = std::make_unique<LIB_TEXT>( aSymbol.get() );
ETEXT etext( aLibText ); ETEXT etext( aLibText );
@ -2255,7 +2258,7 @@ void SCH_EAGLE_PLUGIN::adjustNetLabels()
m_wireIntersections.end(), aPos ); m_wireIntersections.end(), aPos );
}; };
for( auto& segDesc : m_segments ) for( SEG_DESC& segDesc : m_segments )
{ {
for( SCH_TEXT* label : segDesc.labels ) for( SCH_TEXT* label : segDesc.labels )
{ {
@ -2268,8 +2271,8 @@ void SCH_EAGLE_PLUGIN::adjustNetLabels()
// Move the label to the nearest wire // Move the label to the nearest wire
if( !segAttached ) if( !segAttached )
{ {
std::tie( labelPos, segAttached ) = std::tie( labelPos, segAttached ) = findNearestLinePoint( label->GetPosition(),
findNearestLinePoint( label->GetPosition(), segDesc.segs ); segDesc.segs );
if( !segAttached ) // we cannot do anything if( !segAttached ) // we cannot do anything
continue; continue;
@ -2333,14 +2336,14 @@ bool SCH_EAGLE_PLUGIN::CheckHeader( const wxString& aFileName )
} }
void SCH_EAGLE_PLUGIN::moveLabels( SCH_ITEM* aWire, const wxPoint& aNewEndPoint ) void SCH_EAGLE_PLUGIN::moveLabels( SCH_LINE* aWire, const wxPoint& aNewEndPoint )
{ {
for( auto item : m_currentSheet->GetScreen()->Items().Overlapping( aWire->GetBoundingBox() ) ) for( SCH_ITEM* item : m_currentSheet->GetScreen()->Items().Overlapping( aWire->GetBoundingBox() ) )
{ {
if( item->Type() == SCH_LABEL_T || item->Type() == SCH_GLOBAL_LABEL_T ) if( item->Type() == SCH_LABEL_T || item->Type() == SCH_GLOBAL_LABEL_T )
{ {
if( TestSegmentHit( item->GetPosition(), ( (SCH_LINE*) aWire )->GetStartPoint(), if( TestSegmentHit( item->GetPosition(), aWire->GetStartPoint(), aWire->GetEndPoint(),
( (SCH_LINE*) aWire )->GetEndPoint(), 0 ) ) 0 ) )
{ {
item->SetPosition( aNewEndPoint ); item->SetPosition( aNewEndPoint );
} }
@ -2899,7 +2902,7 @@ const SEG* SCH_EAGLE_PLUGIN::SEG_DESC::LabelAttached( const SCH_TEXT* aLabel ) c
{ {
VECTOR2I labelPos( aLabel->GetPosition() ); VECTOR2I labelPos( aLabel->GetPosition() );
for( const auto& seg : segs ) for( const SEG& seg : segs )
{ {
if( seg.Contains( labelPos ) ) if( seg.Contains( labelPos ) )
return &seg; return &seg;
@ -2942,7 +2945,7 @@ void SCH_EAGLE_PLUGIN::addImplicitConnections( SCH_SYMBOL* aSymbol, SCH_SCREEN*
std::set<int> missingUnits; std::set<int> missingUnits;
// Search all units for pins creating implicit connections // Search all units for pins creating implicit connections
for( const auto& pin : pins ) for( const LIB_PIN* pin : pins )
{ {
if( pin->GetType() == ELECTRICAL_PINTYPE::PT_POWER_IN ) if( pin->GetType() == ELECTRICAL_PINTYPE::PT_POWER_IN )
{ {

View File

@ -116,7 +116,7 @@ private:
void countNets( wxXmlNode* aSchematicNode ); void countNets( wxXmlNode* aSchematicNode );
/// Move any labels on the wire to the new end point of the wire. /// Move any labels on the wire to the new end point of the wire.
void moveLabels( SCH_ITEM* aWire, const wxPoint& aNewEndPoint ); void moveLabels( SCH_LINE* aWire, const wxPoint& aNewEndPoint );
/// This function finds best way to place a bus entry symbol for when an Eagle wire segment /// This function finds best way to place a bus entry symbol for when an Eagle wire segment
/// ends on an Eagle bus segment. /// ends on an Eagle bus segment.