43 virtual bool Run()
override;
45 virtual const wxString
GetName()
const override {
return wxT(
"net chain tuning profiles" ); };
53 REPORT_AUX( wxT(
"Net chain tuning profiles ignored. Tests not run." ) );
57 if( !
reportPhase(
_(
"Checking net chain tuning profiles..." ) ) )
65 std::unordered_map<wxString, std::unordered_set<wxString>> netChainTuningProfileMap;
67 for(
const auto net : netsList )
69 const wxString& netChain = net->GetNetChain();
71 if( netChain == wxEmptyString )
74 const NETCLASS* netClass = net->GetNetClass();
78 for(
const auto& [netChain, tuningProfiles] : netChainTuningProfileMap )
80 if( tuningProfiles.size() == 1 )
86 msg.Printf(
_(
"Net chain %s nets have multiple tuning profiles assigned" ), netChain );
90 drcItem->SetErrorMessage( msg );
static std::shared_ptr< DRC_ITEM > Create(int aErrorCode)
Constructs a DRC_ITEM for the given error code.
DRC_TEST_PROVIDER_NET_CHAIN_TUNING_PROFILES()
virtual ~DRC_TEST_PROVIDER_NET_CHAIN_TUNING_PROFILES()=default
virtual bool Run() override
Run this provider against the given PCB with configured options (if any).
virtual const wxString GetName() const override
virtual bool reportPhase(const wxString &aStageName)
void reportViolation(std::shared_ptr< DRC_ITEM > &item, const VECTOR2I &aMarkerPos, int aMarkerLayer, const std::function< void(PCB_MARKER *)> &aPathGenerator=[](PCB_MARKER *){})
A collection of nets and the parameters used to route or test these nets.
wxString GetTuningProfile() const
Container for NETINFO_ITEM elements, which are the nets.
@ DRCE_NET_CHAIN_TUNING_PROFILES
static DRC_REGISTER_TEST_PROVIDER< DRC_TEST_PROVIDER_ANNULAR_WIDTH > dummy
VECTOR2< int32_t > VECTOR2I