LibrePCB Developers Documentation
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< BoardDesignRuleCheckMessagemMessages
 
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()

BoardDesignRuleCheck ( Board board,
const Options options,
QObject *  parent = nullptr 
)
explicitnoexcept
+ Here is the caller graph for this function:

◆ ~BoardDesignRuleCheck()

~BoardDesignRuleCheck ( )
noexcept
+ Here is the caller graph for this function:

Member Function Documentation

◆ getMessages()

const QList<BoardDesignRuleCheckMessage>& getMessages ( ) const
inlinenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ execute()

void execute ( )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ started

void started ( )
signal
+ Here is the caller graph for this function:

◆ progressPercent

void progressPercent ( int  percent)
signal
+ Here is the caller graph for this function:

◆ progressStatus

void progressStatus ( const QString &  msg)
signal
+ Here is the caller graph for this function:

◆ progressMessage

void progressMessage ( const QString &  msg)
signal
+ Here is the caller graph for this function:

◆ finished

void finished ( )
signal
+ Here is the caller graph for this function:

◆ rebuildPlanes()

void rebuildPlanes ( int  progressStart,
int  progressEnd 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkForMissingConnections()

void checkForMissingConnections ( int  progressStart,
int  progressEnd 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkCopperBoardClearances()

void checkCopperBoardClearances ( int  progressStart,
int  progressEnd 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkCopperCopperClearances()

void checkCopperCopperClearances ( int  progressStart,
int  progressEnd 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkCourtyardClearances()

void checkCourtyardClearances ( int  progressStart,
int  progressEnd 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkMinimumCopperWidth()

void checkMinimumCopperWidth ( int  progressStart,
int  progressEnd 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkMinimumPthRestring()

void checkMinimumPthRestring ( int  progressStart,
int  progressEnd 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkMinimumPthDrillDiameter()

void checkMinimumPthDrillDiameter ( int  progressStart,
int  progressEnd 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkMinimumNpthDrillDiameter()

void checkMinimumNpthDrillDiameter ( int  progressStart,
int  progressEnd 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getCopperPaths()

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:

◆ getDeviceCourtyardPaths()

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:

◆ addMessage()

void addMessage ( const BoardDesignRuleCheckMessage msg)
privatenoexcept
+ Here is the caller graph for this function:

◆ formatLength()

QString formatLength ( const Length length) const
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ maxArcTolerance()

static PositiveLength maxArcTolerance ( )
inlinestaticprivatenoexcept

Returns the maximum allowed arc tolerance when flattening arcs.

+ Here is the caller graph for this function:

Member Data Documentation

◆ mBoard

Board& mBoard
private

◆ mOptions

Options mOptions
private

◆ mMessages

QList<BoardDesignRuleCheckMessage> mMessages
private

◆ mCachedPaths

QHash<const GraphicsLayer*, QHash<const NetSignal*, ClipperLib::Paths> > mCachedPaths
private

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