24#ifndef DRC_RE_VIA_STYLE_CONSTRAINT_DATA_H_
25#define DRC_RE_VIA_STYLE_CONSTRAINT_DATA_H_
41 double aMinViaDiameter,
double aMaxViaDiameter,
42 double aPreferredViaDiameter,
double aMinViaHoleSize,
43 double aMaxViaHoleSize,
44 double aPreferredViaHoleSize ) :
76 result.AddError(
_(
"Minimum Via Diameter must be greater than 0" ) );
79 result.AddError(
_(
"Preferred Via Diameter must be greater than 0" ) );
82 result.AddError(
_(
"Maximum Via Diameter must be greater than 0" ) );
86 result.AddError(
_(
"Minimum Via Hole Size must be greater than 0" ) );
89 result.AddError(
_(
"Preferred Via Hole Size must be greater than 0" ) );
92 result.AddError(
_(
"Maximum Via Hole Size must be greater than 0" ) );
96 result.AddError(
_(
"Minimum Via Diameter cannot be greater than Preferred Via Diameter" ) );
99 result.AddError(
_(
"Preferred Via Diameter cannot be greater than Maximum Via Diameter" ) );
102 result.AddError(
_(
"Minimum Via Diameter cannot be greater than Maximum Via Diameter" ) );
106 result.AddError(
_(
"Minimum Via Hole Size cannot be greater than Preferred Via Hole Size" ) );
109 result.AddError(
_(
"Preferred Via Hole Size cannot be greater than Maximum Via Hole Size" ) );
112 result.AddError(
_(
"Minimum Via Hole Size cannot be greater than Maximum Via Hole Size" ) );
119 auto formatDimension = [](
double aValue )
124 wxString diaClause = wxString::Format(
125 wxS(
"(constraint via_diameter (min %s) (opt %s) (max %s))" ),
130 wxString drillClause = wxString::Format(
131 wxS(
"(constraint hole_size (min %s) (opt %s) (max %s))" ),
136 return { diaClause, drillClause };
BITMAPS
A list of all bitmap identifiers.
static wxString formatDouble(double aValue, int aPrecision=6)
wxString buildRule(const RULE_GENERATION_CONTEXT &aContext, const std::vector< wxString > &aConstraintClauses) const
void CopyFrom(const ICopyable &aSource) override
DRC_RE_BASE_CONSTRAINT_DATA()=default
double GetPreferredViaDiameter()
double m_preferredViaHoleSize
double GetMaxViaDiameter()
void SetMinViaDiameter(double aMinViaDiameter)
BITMAPS GetOverlayBitmap() const override
Returns the bitmap to use for the overlay panel background.
DRC_RE_VIA_STYLE_CONSTRAINT_DATA()=default
double GetMinViaHoleSize()
double GetMinViaDiameter()
void SetMinViaHoleSize(double aMinViaHoleSize)
double GetPreferredViaHoleSize()
double GetMaxViaHoleSize()
double m_preferredViaDiameter
DRC_RE_VIA_STYLE_CONSTRAINT_DATA(int aId, int aParentId, wxString aRuleName, double aMinViaDiameter, double aMaxViaDiameter, double aPreferredViaDiameter, double aMinViaHoleSize, double aMaxViaHoleSize, double aPreferredViaHoleSize)
void SetPreferredViaDiameter(double aPreferredViaDiameter)
void SetPreferredViaHoleSize(double aPreferredViaHoleSize)
void CopyFrom(const ICopyable &aSource) override
std::vector< wxString > GetConstraintClauses(const RULE_GENERATION_CONTEXT &aContext) const override
Returns just the constraint clauses without the rule wrapper.
void SetMaxViaDiameter(double aMaxViaDiameter)
virtual ~DRC_RE_VIA_STYLE_CONSTRAINT_DATA()=default
DRC_RE_VIA_STYLE_CONSTRAINT_DATA(const DRC_RE_BASE_CONSTRAINT_DATA &aBaseData)
void SetMaxViaHoleSize(double aMaxViaHoleSize)
std::vector< DRC_RE_FIELD_POSITION > GetFieldPositions() const override
Returns the field positions for controls overlaid on the constraint bitmap.
VALIDATION_RESULT Validate() const override
Validates the constraint data.
wxString GenerateRule(const RULE_GENERATION_CONTEXT &aContext) override
Abstract interface class to enable polymorphic copying between objects.
@ RIGHT
Label to the right of the field.
Result of a validation operation.
wxString result
Test unit parsing edge cases and error handling.