20 #ifndef LIBREPCB_PROJECT_BOARDDESIGNRULECHECK_H
21 #define LIBREPCB_PROJECT_BOARDDESIGNRULECHECK_H
28 #include <clipper/clipper.hpp>
81 QObject* parent =
nullptr) noexcept;
127 QHash<const GraphicsLayer*, QHash<const NetSignal*, ClipperLib::Paths>>
138 #endif // LIBREPCB_PROJECT_BOARDDESIGNRULECHECK_H
Options()
Definition: boarddesignrulecheck.h:67
The GraphicsLayer class represents a graphical layer used in schematics and boards.
Definition: graphicslayer.h:50
Definition: boarddesignrulecheck.h:57
ClipperLib::Paths getDeviceCourtyardPaths(const BI_Device &device, const GraphicsLayer *layer)
Definition: boarddesignrulecheck.cpp:517
void checkCourtyardClearances(int progressStart, int progressEnd)
Definition: boarddesignrulecheck.cpp:232
void execute()
Definition: boarddesignrulecheck.cpp:74
void checkMinimumPthDrillDiameter(int progressStart, int progressEnd)
Definition: boarddesignrulecheck.cpp:428
void checkForMissingConnections(int progressStart, int progressEnd)
Definition: boarddesignrulecheck.cpp:108
void checkCopperBoardClearances(int progressStart, int progressEnd)
Definition: boarddesignrulecheck.cpp:128
UnsignedLength minPthDrillDiameter
Definition: boarddesignrulecheck.h:64
void checkMinimumCopperWidth(int progressStart, int progressEnd)
Definition: boarddesignrulecheck.cpp:278
UnsignedLength minNpthDrillDiameter
Definition: boarddesignrulecheck.h:63
BoardDesignRuleCheck(Board &board, const Options &options, QObject *parent=nullptr) noexcept
Definition: boarddesignrulecheck.cpp:62
void checkMinimumPthRestring(int progressStart, int progressEnd)
Definition: boarddesignrulecheck.cpp:377
UnsignedLength minPthRestring
Definition: boarddesignrulecheck.h:62
QList< BoardDesignRuleCheckMessage > mMessages
Definition: boarddesignrulecheck.h:126
UnsignedLength minCopperWidth
Definition: boarddesignrulecheck.h:58
const ClipperLib::Paths & getCopperPaths(const GraphicsLayer *layer, const NetSignal *netsignal)
Definition: boarddesignrulecheck.cpp:507
const QList< BoardDesignRuleCheckMessage > & getMessages() const noexcept
Definition: boarddesignrulecheck.h:85
The BoardDesignRuleCheckMessage class represents a message produced by the design rule check (DRC) ...
Definition: boarddesignrulecheckmessage.h:44
static PositiveLength maxArcTolerance() noexcept
Definition: boarddesignrulecheck.h:119
UnsignedLength minCopperBoardClearance
Definition: boarddesignrulecheck.h:60
void checkMinimumNpthDrillDiameter(int progressStart, int progressEnd)
Definition: boarddesignrulecheck.cpp:473
UnsignedLength minCopperCopperClearance
Definition: boarddesignrulecheck.h:59
Board & mBoard
Definition: boarddesignrulecheck.h:124
The BI_Device class.
Definition: bi_device.h:62
QString formatLength(const Length &length) const noexcept
Definition: boarddesignrulecheck.cpp:560
UnsignedLength minCopperNpthClearance
Definition: boarddesignrulecheck.h:61
void progressStatus(const QString &msg)
type_safe::constrained_type< Length, PositiveLengthConstraint, PositiveLengthVerifier > PositiveLength
Definition: length.h:780
The NetSignal class.
Definition: netsignal.h:56
QHash< const GraphicsLayer *, QHash< const NetSignal *, ClipperLib::Paths > > mCachedPaths
Definition: boarddesignrulecheck.h:128
void progressMessage(const QString &msg)
void rebuildPlanes(int progressStart, int progressEnd)
Definition: boarddesignrulecheck.cpp:101
The Board class represents a PCB of a project and is always part of a circuit.
Definition: board.h:83
void progressPercent(int percent)
Options mOptions
Definition: boarddesignrulecheck.h:125
The Length class is used to represent a length (for example 12.75 millimeters)
Definition: length.h:82
Length courtyardOffset
Definition: boarddesignrulecheck.h:65
void checkCopperCopperClearances(int progressStart, int progressEnd)
Definition: boarddesignrulecheck.cpp:185
The BoardDesignRuleCheck class checks a librepcb::project::Board for design rule violations.
Definition: boarddesignrulecheck.h:53
type_safe::constrained_type< Length, UnsignedLengthConstraint, UnsignedLengthVerifier > UnsignedLength
Definition: length.h:659
void addMessage(const BoardDesignRuleCheckMessage &msg) noexcept
Definition: boarddesignrulecheck.cpp:554