97    virtual bool Run() = 0;
 
   99    virtual const wxString 
GetName() 
const;
 
  103                             const std::function<
bool(
BOARD_ITEM*)>& aFunc );
 
  107#define REPORT_AUX( s ) if( getLogReporter() ) getLogReporter()->Report( s, RPT_SEVERITY_INFO ) 
  117                                 const SHAPE* aShape1, 
const SHAPE* aShape2, 
PCB_LAYER_ID aLayer,
 
  121                                const BOARD_ITEM* aItem1, 
const BOARD_ITEM* aItem2, 
PCB_LAYER_ID aLayer,
 
  124    virtual bool reportProgress( 
size_t aCount, 
size_t aSize, 
size_t aDelta = 1 );
 
  125    virtual bool reportPhase( 
const wxString& aStageName );
 
  129    wxString 
formatMsg( 
const wxString& aFormatString, 
const wxString& aSource, 
double aConstraint,
 
  131    wxString 
formatMsg( 
const wxString& aFormatString, 
const wxString& aSource,
 
  132                        const EDA_ANGLE& aConstraint, 
const EDA_ANGLE& aActual );
 
 
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
 
Information pertinent to a Pcbnew printed circuit board.
 
Design Rule Checker object that performs all the DRC tests.
 
DRC_REGISTER_TEST_PROVIDER()
 
std::vector< DRC_TEST_PROVIDER * > GetTestProviders() const
 
static DRC_TEST_PROVIDER_REGISTRY & Instance()
 
void RegisterTestProvider(DRC_TEST_PROVIDER *provider)
 
std::vector< DRC_TEST_PROVIDER * > m_providers
 
DRC_TEST_PROVIDER_REGISTRY()
 
~DRC_TEST_PROVIDER_REGISTRY()
 
Represent a DRC "provider" which runs some DRC functions over a BOARD and spits out DRC_ITEM and posi...
 
static std::vector< KICAD_T > s_allBasicItemsButZones
 
virtual bool reportPhase(const wxString &aStageName)
 
void reportTwoShapeGeometry(std::shared_ptr< DRC_ITEM > &aDrcItem, const VECTOR2I &aMarkerPos, const SHAPE *aShape1, const SHAPE *aShape2, PCB_LAYER_ID aLayer, int aDistance)
 
int forEachGeometryItem(const std::vector< KICAD_T > &aTypes, const LSET &aLayers, const std::function< bool(BOARD_ITEM *)> &aFunc)
 
void reportTwoItemGeometry(std::shared_ptr< DRC_ITEM > &aDrcItem, const VECTOR2I &aMarkerPos, const BOARD_ITEM *aItem1, const BOARD_ITEM *aItem2, PCB_LAYER_ID aLayer, int aDistance)
 
void reportViolation(std::shared_ptr< DRC_ITEM > &item, const VECTOR2I &aMarkerPos, int aMarkerLayer, const std::function< void(PCB_MARKER *)> &aPathGenerator=[](PCB_MARKER *){})
 
REPORTER * getLogReporter() const
 
bool RunTests(EDA_UNITS aUnits)
 
void reportTwoPointGeometry(std::shared_ptr< DRC_ITEM > &aDrcItem, const VECTOR2I &aMarkerPos, const VECTOR2I &ptA, const VECTOR2I &ptB, PCB_LAYER_ID aLayer)
 
static std::vector< KICAD_T > s_allBasicItems
 
bool isInvisibleText(const BOARD_ITEM *aItem) const
 
virtual ~DRC_TEST_PROVIDER()=default
 
virtual bool Run()=0
Run this provider against the given PCB with configured options (if any).
 
void SetDRCEngine(DRC_ENGINE *engine)
 
virtual const wxString GetName() const
 
wxString formatMsg(const wxString &aFormatString, const wxString &aSource, double aConstraint, double aActual, EDA_DATA_TYPE aDataType=EDA_DATA_TYPE::DISTANCE)
 
virtual bool reportProgress(size_t aCount, size_t aSize, size_t aDelta=1)
 
LSET is a set of PCB_LAYER_IDs.
 
A pure virtual class used to derive REPORTER objects from.
 
UNITS_PROVIDER(const EDA_IU_SCALE &aIuScale, EDA_UNITS aUnits)
 
void SetUserUnits(EDA_UNITS aUnits)
 
EDA_DATA_TYPE
The type of unit.
 
PCB_LAYER_ID
A quick note on layer IDs:
 
VECTOR2< int32_t > VECTOR2I