20#ifndef LIBREPCB_CORE_BOARDDESIGNRULES_H
21#define LIBREPCB_CORE_BOARDDESIGNRULES_H
26#include "../../types/boundedunsignedratio.h"
27#include "../../types/length.h"
36class BoardDesignRuleCheckSettings;
140 return !(*
this == rhs);
The BoardDesignRuleCheckSettings class.
Definition boarddesignrulechecksettings.h:50
The BoardDesignRules class.
Definition boarddesignrules.h:46
void setDefaultViaDrillDiameter(const PositiveLength &value) noexcept
Definition boarddesignrules.h:97
void adjustToDrcSettings(const BoardDesignRuleCheckSettings &s) noexcept
Definition boarddesignrules.cpp:103
const BoundedUnsignedRatio & getPadAnnularRing() const noexcept
Definition boarddesignrules.h:84
const PositiveLength & getDefaultTraceWidth() const noexcept
Definition boarddesignrules.h:57
PositiveLength mDefaultTraceWidth
Definition boarddesignrules.h:148
UnsignedLength mStopMaskMaxViaDrillDiameter
Definition boarddesignrules.h:152
const PositiveLength & getDefaultViaDrillDiameter() const noexcept
Definition boarddesignrules.h:60
bool getPadCmpSideAutoAnnularRing() const noexcept
Definition boarddesignrules.h:78
void setPadInnerAutoAnnularRing(bool enabled) noexcept
Definition boarddesignrules.h:112
const BoundedUnsignedRatio & getStopMaskClearance() const noexcept
Definition boarddesignrules.h:68
const BoundedUnsignedRatio & getSolderPasteClearance() const noexcept
Definition boarddesignrules.h:73
void setSolderPasteClearance(const BoundedUnsignedRatio &value) noexcept
Definition boarddesignrules.h:106
void setPadCmpSideAutoAnnularRing(bool enabled) noexcept
Definition boarddesignrules.h:109
void setDefaultTraceWidth(const PositiveLength &value) noexcept
Definition boarddesignrules.h:94
BoundedUnsignedRatio mStopMaskClearance
Definition boarddesignrules.h:153
bool mPadCmpSideAutoAnnularRing
Definition boarddesignrules.h:159
~BoardDesignRules() noexcept
Definition boarddesignrules.cpp:92
PositiveLength mDefaultViaDrillDiameter
Definition boarddesignrules.h:149
void serialize(SExpression &root) const
Serialize into librepcb::SExpression node.
Definition boarddesignrules.cpp:128
static bool parsePadAutoAnnular(const SExpression &node)
Definition boarddesignrules.cpp:222
BoundedUnsignedRatio mSolderPasteClearance
Definition boarddesignrules.h:156
BoundedUnsignedRatio mViaAnnularRing
Percentage of the drill diameter.
Definition boarddesignrules.h:164
const UnsignedLength & getStopMaskMaxViaDiameter() const noexcept
Definition boarddesignrules.h:65
void setPadAnnularRing(const BoundedUnsignedRatio &value)
Definition boarddesignrules.h:115
bool doesViaRequireStopMaskOpening(const Length &drillDia) const noexcept
Definition boarddesignrules.cpp:170
const BoundedUnsignedRatio & getViaAnnularRing() const noexcept
Definition boarddesignrules.h:89
BoardDesignRules() noexcept
Definition boarddesignrules.cpp:39
void setViaAnnularRing(const BoundedUnsignedRatio &value)
Definition boarddesignrules.h:118
void restoreDefaults() noexcept
Definition boarddesignrules.cpp:99
bool mPadInnerAutoAnnularRing
Definition boarddesignrules.h:160
void setStopMaskClearance(const BoundedUnsignedRatio &value) noexcept
Definition boarddesignrules.h:103
void setStopMaskMaxViaDiameter(const UnsignedLength &dia) noexcept
Definition boarddesignrules.h:100
BoundedUnsignedRatio mPadAnnularRing
Definition boarddesignrules.h:161
bool getPadInnerAutoAnnularRing() const noexcept
Definition boarddesignrules.h:81
The BoundedUnsignedRatio class represents a ratio limited to a range specified by min/max values.
Definition boundedunsignedratio.h:46
The Length class is used to represent a length (for example 12.75 millimeters)
Definition length.h:82
The SExpression class.
Definition sexpression.h:69
Definition occmodel.cpp:77
type_safe::constrained_type< Length, PositiveLengthConstraint, PositiveLengthVerifier > PositiveLength
Definition length.h:810
type_safe::constrained_type< Length, UnsignedLengthConstraint, UnsignedLengthVerifier > UnsignedLength
Definition length.h:694