123 std::vector<FT_PATH> paths;
125 auto cnAlgo = connectivity->GetConnectivityAlgo();
132 p.net = endpoint.parent->GetNetCode();
133 p.from = endpoint.parent;
139 for(
auto &
path : paths )
142 auto netName =
path.from->GetNetname();
144 wxString fromName =
path.from->GetParent()->GetReference() +
"-" +
path.from->GetName();
148 auto padCandidates = connectivity->GetConnectedItems(
path.from, onlyRouting );
149 PAD* toPad =
nullptr;
151 for(
auto pitem : padCandidates )
153 if( pitem ==
path.from )
159 const PAD *
pad = static_cast<const PAD*>( pitem );
161 wxString toName =
pad->GetParent()->GetReference() +
"-" +
pad->GetName();
166 if(
pad == endpoint.parent )
171 toPad = endpoint.parent;
174 path.fromName = fromName;
175 path.toName = toName;
176 path.fromWildcard = aFrom;
177 path.toWildcard = aTo;
193 for(
auto &
path : paths )
199 CN_ITEM *cnFrom = cnAlgo->ItemEntry(
path.from ).GetItems().front();
200 CN_ITEM *cnTo = cnAlgo->ItemEntry(
path.to ).GetItems().front();
205 if( result ==
PS_OK )
206 path.isUnique =
true;
208 path.isUnique =
false;
216 for(
const auto item : upath )
218 path.pathItems.insert( item->Parent() );
std::vector< CN_ITEM * > CONNECTED_ITEMS
std::vector< FT_ENDPOINT > m_ftEndpoints
class ARC, an arc track segment on a copper layer
class PAD, a pad in a footprint
search types array terminator (End Of Types)
KICAD_T
The set of class identification values stored in EDA_ITEM::m_structType.
class TRACK, a track segment (segment on a copper layer)
std::vector< FT_PATH > m_ftPaths
bool WildCompareString(const wxString &pattern, const wxString &string_to_tst, bool case_sensitive)
Compare a string against wild card (* and ?) pattern using the usual rules.
static PATH_STATUS uniquePathBetweenNodes(CN_ITEM *u, CN_ITEM *v, std::vector< CN_ITEM * > &outPath)
std::shared_ptr< CONNECTIVITY_DATA > GetConnectivity() const
Return a list of missing connections between components/tracks.
class VIA, a via (like a track segment on a copper layer)