7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-21 10:31:40 +00:00

Revert "Allow a no-connect to connect to a single pin (but not multiple pins)."

This reverts commit ee4a6127c6.
This commit is contained in:
Seth Hillbrand 2025-03-07 08:10:04 -08:00
parent 0fae6a0db0
commit 2b557c5497
8 changed files with 11 additions and 25 deletions

View File

@ -1332,8 +1332,8 @@ void CONNECTION_GRAPH::updateItemConnectivity( const SCH_SHEET_PATH& aSheet,
bus_connection_ok = !busLine || connected_item->GetLayer() == LAYER_BUS;
}
if( connected_item->ConnectionPropagatesTo( aSheet, test_item ) &&
test_item->ConnectionPropagatesTo( aSheet, connected_item ) &&
if( connected_item->ConnectionPropagatesTo( test_item ) &&
test_item->ConnectionPropagatesTo( connected_item ) &&
bus_connection_ok )
{
connected_item->AddConnectionTo( aSheet, test_item );

View File

@ -541,8 +541,7 @@ bool SCH_BUS_ENTRY_BASE::operator <( const SCH_ITEM& aItem ) const
}
bool SCH_BUS_WIRE_ENTRY::ConnectionPropagatesTo( const SCH_SHEET_PATH& aSheet,
const SCH_ITEM* aItem ) const
bool SCH_BUS_WIRE_ENTRY::ConnectionPropagatesTo( const EDA_ITEM* aItem ) const
{
// Don't generate connections between bus entries and buses, since there is
// a connectivity change at that point (e.g. A[7..0] to A7)

View File

@ -198,8 +198,7 @@ public:
EDA_ITEM* Clone() const override;
virtual bool ConnectionPropagatesTo( const SCH_SHEET_PATH& aSheet,
const SCH_ITEM* aItem ) const override;
virtual bool ConnectionPropagatesTo( const EDA_ITEM* aItem ) const override;
BITMAPS GetMenuImage() const override;

View File

@ -515,11 +515,7 @@ public:
/**
* Return true if this item should propagate connection info to \a aItem.
*/
virtual bool ConnectionPropagatesTo( const SCH_SHEET_PATH& aSheet,
const SCH_ITEM* aItem ) const
{
return true;
}
virtual bool ConnectionPropagatesTo( const EDA_ITEM* aItem ) const { return true; }
bool IsConnectivityDirty() const { return m_connectivity_dirty; }

View File

@ -670,7 +670,7 @@ std::vector<VECTOR2I> SCH_LINE::GetConnectionPoints() const
}
bool SCH_LINE::ConnectionPropagatesTo( const SCH_SHEET_PATH& aSheet, const SCH_ITEM* aItem ) const
bool SCH_LINE::ConnectionPropagatesTo( const EDA_ITEM* aItem ) const
{
switch( aItem->Type() )
{

View File

@ -277,8 +277,7 @@ public:
std::vector<VECTOR2I> GetConnectionPoints() const override;
bool ConnectionPropagatesTo( const SCH_SHEET_PATH& aSheet,
const SCH_ITEM* aItem ) const override;
bool ConnectionPropagatesTo( const EDA_ITEM* aItem ) const override;
void GetSelectedPoints( std::vector<VECTOR2I>& aPoints ) const;

View File

@ -1387,19 +1387,13 @@ bool SCH_PIN::HasConnectivityChanges( const SCH_ITEM* aItem,
}
bool SCH_PIN::ConnectionPropagatesTo( const SCH_SHEET_PATH& aSheet, const SCH_ITEM* aItem ) const
bool SCH_PIN::ConnectionPropagatesTo( const EDA_ITEM* aItem ) const
{
if( !m_libPin )
return false;
if( m_libPin->GetType() == ELECTRICAL_PINTYPE::PT_NC )
{
// A no-connect can be connected to a single pin. It is not allowed to connect
// multiple pins together.
return aItem->Connection( &aSheet )->Members().empty();
}
return true;
// Reciprocal checking is done in CONNECTION_GRAPH anyway
return m_libPin->GetType() != ELECTRICAL_PINTYPE::PT_NC;
}

View File

@ -295,8 +295,7 @@ public:
return m_isDangling && GetPosition() == aPos;
}
bool ConnectionPropagatesTo( const SCH_SHEET_PATH& aSheet,
const SCH_ITEM* aItem ) const override;
bool ConnectionPropagatesTo( const EDA_ITEM* aItem ) const override;
const wxString& GetOperatingPoint() const { return m_operatingPoint; }
void SetOperatingPoint( const wxString& aText ) { m_operatingPoint = aText; }