LibrePCB Developers Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BoardDesignRuleCheck Class Referencefinal

The BoardDesignRuleCheck class checks a librepcb::project::Board for design rule violations. More...

#include <boarddesignrulecheck.h>

Inherits QObject.

+ Collaboration diagram for BoardDesignRuleCheck:

Classes

struct  Options
 

Signals

void started ()
 
void progressPercent (int percent)
 
void progressStatus (const QString &msg)
 
void progressMessage (const QString &msg)
 
void finished ()
 

Public Member Functions

 BoardDesignRuleCheck (Board &board, const Options &options, QObject *parent=nullptr) noexcept
 
 ~BoardDesignRuleCheck () noexcept
 
const QList
< BoardDesignRuleCheckMessage > & 
getMessages () const noexcept
 
void execute ()
 

Private Member Functions

void rebuildPlanes (int progressStart, int progressEnd)
 
void checkForMissingConnections (int progressStart, int progressEnd)
 
void checkCopperBoardClearances (int progressStart, int progressEnd)
 
void checkCopperCopperClearances (int progressStart, int progressEnd)
 
void checkCourtyardClearances (int progressStart, int progressEnd)
 
void checkMinimumCopperWidth (int progressStart, int progressEnd)
 
void checkMinimumPthRestring (int progressStart, int progressEnd)
 
void checkMinimumPthDrillDiameter (int progressStart, int progressEnd)
 
void checkMinimumNpthDrillDiameter (int progressStart, int progressEnd)
 
const ClipperLib::Paths & getCopperPaths (const GraphicsLayer *layer, const NetSignal *netsignal)
 
ClipperLib::Paths getDeviceCourtyardPaths (const BI_Device &device, const GraphicsLayer *layer)
 
void addMessage (const BoardDesignRuleCheckMessage &msg) noexcept
 
QString formatLength (const Length &length) const noexcept
 

Static Private Member Functions

static PositiveLength maxArcTolerance () noexcept
 

Private Attributes

BoardmBoard
 
Options mOptions
 
QList
< BoardDesignRuleCheckMessage
mMessages
 
QHash< const GraphicsLayer
*, QHash< const NetSignal
*, ClipperLib::Paths > > 
mCachedPaths
 

Detailed Description

The BoardDesignRuleCheck class checks a librepcb::project::Board for design rule violations.

Constructor & Destructor Documentation

BoardDesignRuleCheck ( Board board,
const Options options,
QObject *  parent = nullptr 
)
explicitnoexcept
~BoardDesignRuleCheck ( )
noexcept

Member Function Documentation

const QList<BoardDesignRuleCheckMessage>& getMessages ( ) const
inlinenoexcept

+ Here is the caller graph for this function:

void execute ( )

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void started ( )
signal

+ Here is the caller graph for this function:

void progressPercent ( int  percent)
signal

+ Here is the caller graph for this function:

void progressStatus ( const QString &  msg)
signal

+ Here is the caller graph for this function:

void progressMessage ( const QString &  msg)
signal

+ Here is the caller graph for this function:

void finished ( )
signal

+ Here is the caller graph for this function:

void rebuildPlanes ( int  progressStart,
int  progressEnd 
)
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void checkForMissingConnections ( int  progressStart,
int  progressEnd 
)
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void checkCopperBoardClearances ( int  progressStart,
int  progressEnd 
)
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void checkCopperCopperClearances ( int  progressStart,
int  progressEnd 
)
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void checkCourtyardClearances ( int  progressStart,
int  progressEnd 
)
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void checkMinimumCopperWidth ( int  progressStart,
int  progressEnd 
)
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void checkMinimumPthRestring ( int  progressStart,
int  progressEnd 
)
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void checkMinimumPthDrillDiameter ( int  progressStart,
int  progressEnd 
)
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void checkMinimumNpthDrillDiameter ( int  progressStart,
int  progressEnd 
)
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const ClipperLib::Paths & getCopperPaths ( const GraphicsLayer layer,
const NetSignal netsignal 
)
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ClipperLib::Paths getDeviceCourtyardPaths ( const BI_Device device,
const GraphicsLayer layer 
)
private

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void addMessage ( const BoardDesignRuleCheckMessage msg)
privatenoexcept

+ Here is the caller graph for this function:

QString formatLength ( const Length length) const
privatenoexcept

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static PositiveLength maxArcTolerance ( )
inlinestaticprivatenoexcept

Returns the maximum allowed arc tolerance when flattening arcs.

+ Here is the caller graph for this function:

Member Data Documentation

Board& mBoard
private
Options mOptions
private
QList<BoardDesignRuleCheckMessage> mMessages
private
QHash<const GraphicsLayer*, QHash<const NetSignal*, ClipperLib::Paths> > mCachedPaths
private

The documentation for this class was generated from the following files: