26#include "wx/html/m_templ.h"
27#include "wx/html/styleparams.h"
53 _(
"Missing connection between items" ),
54 wxT(
"unconnected_items" ) );
57 _(
"Items shorting two nets" ),
58 wxT(
"shorting_items" ) );
61 _(
"Items not allowed" ),
62 wxT(
"items_not_allowed" ) );
65 _(
"Text (or dimension) on Edge.Cuts layer" ),
66 wxT(
"text_on_edge_cuts" ) );
69 _(
"Clearance violation" ),
73 _(
"Tracks crossing" ),
74 wxT(
"tracks_crossing" ) );
77 _(
"Board edge clearance violation" ),
78 wxT(
"copper_edge_clearance" ) );
81 _(
"Copper zones intersect" ),
82 wxT(
"zones_intersect" ) );
85 _(
"Isolated copper fill" ),
86 wxT(
"isolated_copper" ) );
89 _(
"Thermal relief connection to zone incomplete" ),
90 wxT(
"starved_thermal" ) );
93 _(
"Via is not connected or connected on only one layer" ),
94 wxT(
"via_dangling" ) );
97 _(
"Track has unconnected end" ),
98 wxT(
"track_dangling" ) );
101 _(
"Hole clearance violation" ),
102 wxT(
"hole_clearance" ) );
105 _(
"Drilled holes too close together" ),
106 wxT(
"hole_near_hole" ) );
109 _(
"Drilled holes co-located" ),
110 wxT(
"holes_co_located" ) );
113 _(
"Copper connection too narrow" ),
114 wxT(
"connection_width" ) );
118 wxT(
"track_width" ) );
121 _(
"Annular width" ),
122 wxT(
"annular_width" ) );
125 _(
"Drill out of range" ),
126 wxT(
"drill_out_of_range" ) );
130 wxT(
"via_diameter" ) );
133 _(
"Padstack is not valid" ),
137 _(
"Micro via drill out of range" ),
138 wxT(
"microvia_drill_out_of_range" ) );
141 _(
"Courtyards overlap" ),
142 wxT(
"courtyards_overlap" ) );
145 _(
"Footprint has no courtyard defined" ),
146 wxT(
"missing_courtyard" ) );
149 _(
"Footprint has malformed courtyard" ),
150 wxT(
"malformed_courtyard" ) );
153 _(
"PTH inside courtyard" ),
154 wxT(
"pth_inside_courtyard" ) );
157 _(
"NPTH inside courtyard" ),
158 wxT(
"npth_inside_courtyard" ) );
161 _(
"Item on a disabled copper layer" ),
162 wxT(
"item_on_disabled_layer" ) );
165 _(
"Board has malformed outline" ),
166 wxT(
"invalid_outline" ) );
169 _(
"Duplicate footprints" ),
170 wxT(
"duplicate_footprints" ) );
173 _(
"Missing footprint" ),
174 wxT(
"missing_footprint" ) );
177 _(
"Extra footprint" ),
178 wxT(
"extra_footprint" ) );
181 _(
"Pad net doesn't match schematic" ),
182 wxT(
"net_conflict" ) );
185 _(
"Footprint not found in libraries" ),
186 wxT(
"lib_footprint_issues" ) );
189 _(
"Footprint doesn't match copy in library" ),
190 wxT(
"lib_footprint_mismatch" ) );
193 _(
"Unresolved text variable" ),
194 wxT(
"unresolved_variable" ) );
197 _(
"Assertion failure" ),
198 wxT(
"assertion_failure" ) );
201 _(
"Copper sliver" ),
202 wxT(
"copper_sliver" ) );
205 _(
"Solder mask aperture bridges items with different nets" ),
206 wxT(
"solder_mask_bridge" ) );
209 _(
"Silkscreen clipped by solder mask" ),
210 wxT(
"silk_over_copper" ) );
213 _(
"Silkscreen clipped by board edge" ),
214 wxT(
"silk_edge_clearance" ) );
217 _(
"Silkscreen overlap" ),
218 wxT(
"silk_overlap" ) );
221 _(
"Text height out of range" ),
222 wxT(
"text_height" ) );
225 _(
"Text thickness out of range" ),
226 wxT(
"text_thickness" ) );
229 _(
"Trace length out of range" ),
230 wxT(
"length_out_of_range" ) );
233 _(
"Skew between traces out of range" ),
234 wxT(
"skew_out_of_range" ) );
237 _(
"Too many vias on a connection" ),
238 wxT(
"too_many_vias" ) );
241 _(
"Differential pair gap out of range" ),
242 wxT(
"diff_pair_gap_out_of_range" ) );
245 _(
"Differential uncoupled length too long" ),
246 wxT(
"diff_pair_uncoupled_length_too_long" ) );
249 _(
"Footprint is not valid" ),
250 wxT(
"footprint" ) );
253 _(
"Footprint component type doesn't match footprint pads" ),
254 wxT(
"footprint_type_mismatch" ) );
257 _(
"Through hole pad has no hole" ),
258 wxT(
"through_hole_pad_without_hole" ) );
382 wxFAIL_MSG( wxT(
"Unknown DRC error code" ) );
392 if( aErrorKey == item.GetSettingsKey() )
393 return std::make_shared<DRC_ITEM>(
static_cast<const DRC_ITEM&
>( item ) );
430 return _(
"Local override" );
461 && ( marker->GetSeverity() & aSeverity ) > 0 )
475 return marker ? marker->
GetRCItem() :
nullptr;
virtual void Delete(BOARD_ITEM *aItem)
Removes an item from the container and deletes it.
void SetSeverities(int aSeverities) override
void DeleteItem(int aIndex, bool aDeep) override
Remove (and optionally deletes) the indexed item from the list.
int GetCount(int aSeverity=-1) const override
std::vector< PCB_MARKER * > m_filteredMarkers
std::vector< MARKER_BASE::TYPEMARKER > m_markerTypes
std::shared_ptr< RC_ITEM > GetItem(int aIndex) const override
Retrieve a RC_ITEM by index.
static DRC_ITEM lengthOutOfRange
KIID GetAuxItem3ID() const override
static DRC_ITEM viaDiameter
static DRC_ITEM silkEdgeClearance
static DRC_ITEM trackWidth
static DRC_ITEM heading_DFM
static DRC_ITEM annularWidth
static DRC_ITEM pthInsideCourtyard
wxString GetViolatingRuleDesc() const override
static DRC_ITEM netConflict
static DRC_ITEM copperSliver
static DRC_ITEM holeNearHole
static DRC_ITEM heading_signal_integrity
static DRC_ITEM courtyardsOverlap
static DRC_ITEM textThicknessOutOfRange
static DRC_ITEM tooManyVias
static DRC_ITEM connectionWidth
static DRC_ITEM footprint
static DRC_ITEM unresolvedVariable
static DRC_ITEM assertionFailure
static DRC_ITEM npthInsideCourtyard
static std::shared_ptr< DRC_ITEM > Create(int aErrorCode)
Constructs a DRC_ITEM for the given error code.
static DRC_ITEM textOnEdgeCuts
static std::vector< std::reference_wrapper< RC_ITEM > > allItemTypes
A list of all DRC_ITEM types which are valid error codes.
static DRC_ITEM zonesIntersect
static DRC_ITEM starvedThermal
static DRC_ITEM shortingItems
static DRC_ITEM tracksCrossing
static DRC_ITEM missingCourtyard
static DRC_ITEM skewOutOfRange
static DRC_ITEM trackDangling
static DRC_ITEM viaDangling
static DRC_ITEM drillTooSmall
static DRC_ITEM holesCoLocated
static DRC_ITEM missingFootprint
static DRC_ITEM textHeightOutOfRange
static DRC_ITEM diffPairGapOutOfRange
static DRC_ITEM heading_electrical
static DRC_ITEM itemOnDisabledLayer
static DRC_ITEM heading_readability
static DRC_ITEM itemsNotAllowed
static DRC_ITEM extraFootprint
static DRC_ITEM diffPairUncoupledLengthTooLong
KIID GetAuxItem2ID() const override
static DRC_ITEM unconnectedItems
static DRC_ITEM clearance
DRC_RULE * m_violatingRule
static DRC_ITEM libFootprintMismatch
static DRC_ITEM edgeClearance
static DRC_ITEM invalidOutline
static DRC_ITEM silkOverlaps
static DRC_ITEM isolatedCopper
static DRC_ITEM malformedCourtyard
static DRC_ITEM holeClearance
static DRC_ITEM libFootprintIssues
static DRC_ITEM heading_schematic_parity
static DRC_ITEM microviaDrillTooSmall
static DRC_ITEM solderMaskBridge
static DRC_ITEM heading_misc
static DRC_ITEM footprintTypeMismatch
static DRC_ITEM footprintTHPadhasNoHole
static DRC_ITEM silkClearance
static DRC_ITEM duplicateFootprints
std::shared_ptr< RC_ITEM > GetRCItem() const
A holder for a rule check item, DRC in Pcbnew or ERC in Eeschema.
int m_errorCode
The error code's numeric value.
@ DRCE_DISABLED_LAYER_ITEM
@ DRCE_DIFF_PAIR_GAP_OUT_OF_RANGE
@ DRCE_SILK_EDGE_CLEARANCE
@ DRCE_LIB_FOOTPRINT_ISSUES
@ DRCE_OVERLAPPING_FOOTPRINTS
@ DRCE_DRILL_OUT_OF_RANGE
@ DRCE_DRILLED_HOLES_TOO_CLOSE
@ DRCE_DIFF_PAIR_UNCOUPLED_LENGTH_TOO_LONG
@ DRCE_MICROVIA_DRILL_OUT_OF_RANGE
@ DRCE_MALFORMED_COURTYARD
@ DRCE_UNRESOLVED_VARIABLE
@ DRCE_FOOTPRINT_TYPE_MISMATCH
@ DRCE_DUPLICATE_FOOTPRINT
@ DRCE_DRILLED_HOLES_COLOCATED
@ DRCE_LENGTH_OUT_OF_RANGE
@ DRCE_LIB_FOOTPRINT_MISMATCH
@ DRCE_PAD_TH_WITH_NO_HOLE
bool contains(const _Container &__container, _Value __value)
Returns true if the container contains the given value.