KiCad PCB EDA Suite
Loading...
Searching...
No Matches
DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA Class Reference

#include <drc_re_rtg_diff_pair_constraint_data.h>

Inheritance diagram for DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA:
DRC_RE_BASE_CONSTRAINT_DATA RULE_EDITOR_DATA_BASE ICopyable

Public Member Functions

 DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA ()=default
 
 DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA (const DRC_RE_BASE_CONSTRAINT_DATA &aBaseData)
 
 DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA (int aId, int aParentId, wxString aRuleName, double aMaxUncoupledLength, double aMinWidth, double aPreferredWidth, double aMaxWidth, double aMinGap, double aPreferredGap, double aMaxGap)
 
virtual ~DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA ()=default
 
VALIDATION_RESULT Validate () const override
 Validates the constraint data.
 
wxString GenerateRule (const RULE_GENERATION_CONTEXT &aContext) override
 
double GetMaxUncoupledLength ()
 
void SetMaxUncoupledLength (double aMaxUncoupledLength)
 
double GetMinWidth ()
 
void SetMinWidth (double aMinWidth)
 
double GetPreferredWidth ()
 
void SetPreferredWidth (double aPreferredWidth)
 
double GetMaxWidth ()
 
void SetMaxWidth (double aMaxWidth)
 
double GetMinGap ()
 
void SetMinGap (double aMinGap)
 
double GetPreferredGap ()
 
void SetPreferredGap (double aPreferredGap)
 
double GetMaxGap ()
 
void SetMaxGap (double aMaxGap)
 
void CopyFrom (const ICopyable &aSource) override
 
std::vector< PCB_LAYER_IDGetLayers ()
 
void SetLayers (std::vector< PCB_LAYER_ID > aLayers)
 
wxString GetRuleCondition ()
 
void SetRuleCondition (wxString aRuleCondition)
 
wxString GetConstraintCode ()
 
void SetConstraintCode (wxString aCode)
 
wxString GetGeneratedRule () const
 
void SetGeneratedRule (const wxString &aRule)
 
wxString GetOriginalRuleText () const
 
void SetOriginalRuleText (const wxString &aText)
 
bool WasEdited () const
 
void SetWasEdited (bool aEdited)
 
int GetId ()
 Get the unique ID of the rule.
 
void SetId (int aId)
 Set the unique ID of the rule.
 
int GetParentId ()
 Get the parent ID of the rule.
 
void SetParentId (int aParentId)
 Set the parent ID of the rule.
 
wxString GetRuleName ()
 Get the name of the rule.
 
void SetRuleName (wxString aRuleName)
 Set the name of the rule.
 
wxString GetComment ()
 Get the comment associated with the rule.
 
void SetComment (wxString aComment)
 Set the comment for the rule.
 
bool IsNew ()
 Check if the rule is marked as new.
 
void SetIsNew (bool aIsNew)
 Mark the rule as new or not.
 

Protected Member Functions

wxString buildRule (const RULE_GENERATION_CONTEXT &aContext, const std::vector< wxString > &aConstraintClauses) const
 

Static Protected Member Functions

static wxString sanitizeRuleName (const wxString &aRuleName)
 
static wxString quoteString (const wxString &aCondition)
 
static wxString trimTrailingZeros (const wxString &aValue)
 
static wxString formatDouble (double aValue, int aPrecision=6)
 

Private Attributes

double m_maxUncoupledLength { 0 }
 
double m_minWidth { 0 }
 
double m_preferredWidth { 0 }
 
double m_maxWidth { 0 }
 
double m_minGap { 0 }
 
double m_preferredGap { 0 }
 
double m_maxGap { 0 }
 
std::vector< PCB_LAYER_IDm_layers
 
wxString m_ruleCondition
 
wxString m_constraintCode
 
wxString m_generatedRule
 
wxString m_originalRuleText
 
bool m_wasEdited = false
 
int m_id
 
std::optional< int > m_parentId
 
wxString m_ruleName
 
wxString m_comment
 
bool m_isNew
 Flag indicating if the user is creating a new rule (true) or editing an existing rule (false).
 

Detailed Description

Definition at line 30 of file drc_re_rtg_diff_pair_constraint_data.h.

Constructor & Destructor Documentation

◆ DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA() [1/3]

DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA ( )
default

Referenced by CopyFrom().

◆ DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA() [2/3]

DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA ( const DRC_RE_BASE_CONSTRAINT_DATA & aBaseData)
inlineexplicit

◆ DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA() [3/3]

DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA ( int aId,
int aParentId,
wxString aRuleName,
double aMaxUncoupledLength,
double aMinWidth,
double aPreferredWidth,
double aMaxWidth,
double aMinGap,
double aPreferredGap,
double aMaxGap )
inlineexplicit

◆ ~DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA()

virtual DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::~DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA ( )
virtualdefault

Member Function Documentation

◆ buildRule()

◆ CopyFrom()

void DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::CopyFrom ( const ICopyable & aSource)
inlineoverridevirtual

◆ formatDouble()

◆ GenerateRule()

wxString DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::GenerateRule ( const RULE_GENERATION_CONTEXT & aContext)
inlineoverridevirtual

◆ GetComment()

wxString RULE_EDITOR_DATA_BASE::GetComment ( )
inlineinherited

Get the comment associated with the rule.

Returns
The comment of the rule.

Definition at line 104 of file rule_editor_data_base.h.

References m_comment.

Referenced by DRC_RULE_SAVER::generateRuleText().

◆ GetConstraintCode()

◆ GetGeneratedRule()

wxString DRC_RE_BASE_CONSTRAINT_DATA::GetGeneratedRule ( ) const
inlineinherited

Definition at line 67 of file drc_re_base_constraint_data.h.

References m_generatedRule.

◆ GetId()

int RULE_EDITOR_DATA_BASE::GetId ( )
inlineinherited

Get the unique ID of the rule.

Returns
The unique ID of the rule.

Definition at line 62 of file rule_editor_data_base.h.

References m_id.

Referenced by DIALOG_DRC_RULE_EDITOR::buildRuleTreeNode(), and DIALOG_DRC_RULE_EDITOR::LoadExistingRules().

◆ GetLayers()

std::vector< PCB_LAYER_ID > DRC_RE_BASE_CONSTRAINT_DATA::GetLayers ( )
inlineinherited

Definition at line 55 of file drc_re_base_constraint_data.h.

References m_layers.

◆ GetMaxGap()

double DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::GetMaxGap ( )
inline

Definition at line 159 of file drc_re_rtg_diff_pair_constraint_data.h.

References m_maxGap.

◆ GetMaxUncoupledLength()

double DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::GetMaxUncoupledLength ( )
inline

Definition at line 132 of file drc_re_rtg_diff_pair_constraint_data.h.

References m_maxUncoupledLength.

◆ GetMaxWidth()

double DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::GetMaxWidth ( )
inline

Definition at line 147 of file drc_re_rtg_diff_pair_constraint_data.h.

References m_maxWidth.

◆ GetMinGap()

double DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::GetMinGap ( )
inline

Definition at line 151 of file drc_re_rtg_diff_pair_constraint_data.h.

References m_minGap.

◆ GetMinWidth()

double DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::GetMinWidth ( )
inline

Definition at line 139 of file drc_re_rtg_diff_pair_constraint_data.h.

References m_minWidth.

◆ GetOriginalRuleText()

wxString DRC_RE_BASE_CONSTRAINT_DATA::GetOriginalRuleText ( ) const
inlineinherited

Definition at line 71 of file drc_re_base_constraint_data.h.

References m_originalRuleText.

◆ GetParentId()

int RULE_EDITOR_DATA_BASE::GetParentId ( )
inlineinherited

Get the parent ID of the rule.

Returns
The parent ID of the rule, or -1 if no parent is set.

Definition at line 76 of file rule_editor_data_base.h.

References m_parentId.

Referenced by RULE_EDITOR_DIALOG_BASE::AppendNewRuleTreeItem().

◆ GetPreferredGap()

double DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::GetPreferredGap ( )
inline

Definition at line 155 of file drc_re_rtg_diff_pair_constraint_data.h.

References m_preferredGap.

◆ GetPreferredWidth()

double DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::GetPreferredWidth ( )
inline

Definition at line 143 of file drc_re_rtg_diff_pair_constraint_data.h.

References m_preferredWidth.

◆ GetRuleCondition()

wxString DRC_RE_BASE_CONSTRAINT_DATA::GetRuleCondition ( )
inlineinherited

Definition at line 59 of file drc_re_base_constraint_data.h.

References m_ruleCondition.

Referenced by BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().

◆ GetRuleName()

wxString RULE_EDITOR_DATA_BASE::GetRuleName ( )
inlineinherited

Get the name of the rule.

Returns
The name of the rule.

Definition at line 90 of file rule_editor_data_base.h.

References m_ruleName.

Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and DIALOG_DRC_RULE_EDITOR::UpdateRuleTypeTreeItemData().

◆ IsNew()

bool RULE_EDITOR_DATA_BASE::IsNew ( )
inlineinherited

Check if the rule is marked as new.

Returns
True if the rule is new (being created), false if it is being edited.

Definition at line 118 of file rule_editor_data_base.h.

References m_isNew.

Referenced by DIALOG_DRC_RULE_EDITOR::RemoveRule().

◆ quoteString()

static wxString DRC_RE_BASE_CONSTRAINT_DATA::quoteString ( const wxString & aCondition)
inlinestaticprotectedinherited

Definition at line 124 of file drc_re_base_constraint_data.h.

References CTX_QUOTED_STR, and EscapeString().

Referenced by buildRule().

◆ sanitizeRuleName()

static wxString DRC_RE_BASE_CONSTRAINT_DATA::sanitizeRuleName ( const wxString & aRuleName)
inlinestaticprotectedinherited

Definition at line 93 of file drc_re_base_constraint_data.h.

References result.

Referenced by buildRule().

◆ SetComment()

void RULE_EDITOR_DATA_BASE::SetComment ( wxString aComment)
inlineinherited

Set the comment for the rule.

Parameters
aCommentThe comment to set.

Definition at line 111 of file rule_editor_data_base.h.

References m_comment.

◆ SetConstraintCode()

void DRC_RE_BASE_CONSTRAINT_DATA::SetConstraintCode ( wxString aCode)
inlineinherited

◆ SetGeneratedRule()

void DRC_RE_BASE_CONSTRAINT_DATA::SetGeneratedRule ( const wxString & aRule)
inlineinherited

Definition at line 69 of file drc_re_base_constraint_data.h.

References m_generatedRule.

◆ SetId()

void RULE_EDITOR_DATA_BASE::SetId ( int aId)
inlineinherited

Set the unique ID of the rule.

Parameters
aIdThe unique ID to set.

Definition at line 69 of file rule_editor_data_base.h.

References m_id.

Referenced by DIALOG_DRC_RULE_EDITOR::buildRuleTreeNodeData().

◆ SetIsNew()

void RULE_EDITOR_DATA_BASE::SetIsNew ( bool aIsNew)
inlineinherited

Mark the rule as new or not.

Parameters
aIsNewTrue to mark the rule as new, false to mark it as existing.

Definition at line 125 of file rule_editor_data_base.h.

References m_isNew.

Referenced by DIALOG_DRC_RULE_EDITOR::buildRuleTreeNode(), and DIALOG_DRC_RULE_EDITOR::UpdateRuleTypeTreeItemData().

◆ SetLayers()

void DRC_RE_BASE_CONSTRAINT_DATA::SetLayers ( std::vector< PCB_LAYER_ID > aLayers)
inlineinherited

Definition at line 57 of file drc_re_base_constraint_data.h.

References m_layers.

◆ SetMaxGap()

void DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::SetMaxGap ( double aMaxGap)
inline

Definition at line 161 of file drc_re_rtg_diff_pair_constraint_data.h.

References m_maxGap.

◆ SetMaxUncoupledLength()

void DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::SetMaxUncoupledLength ( double aMaxUncoupledLength)
inline

Definition at line 134 of file drc_re_rtg_diff_pair_constraint_data.h.

References m_maxUncoupledLength.

◆ SetMaxWidth()

void DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::SetMaxWidth ( double aMaxWidth)
inline

Definition at line 149 of file drc_re_rtg_diff_pair_constraint_data.h.

References m_maxWidth.

◆ SetMinGap()

void DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::SetMinGap ( double aMinGap)
inline

Definition at line 153 of file drc_re_rtg_diff_pair_constraint_data.h.

References m_minGap.

◆ SetMinWidth()

void DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::SetMinWidth ( double aMinWidth)
inline

Definition at line 141 of file drc_re_rtg_diff_pair_constraint_data.h.

References m_minWidth.

◆ SetOriginalRuleText()

void DRC_RE_BASE_CONSTRAINT_DATA::SetOriginalRuleText ( const wxString & aText)
inlineinherited

Definition at line 73 of file drc_re_base_constraint_data.h.

References m_originalRuleText.

◆ SetParentId()

void RULE_EDITOR_DATA_BASE::SetParentId ( int aParentId)
inlineinherited

Set the parent ID of the rule.

Parameters
aParentIdThe parent ID to set.

Definition at line 83 of file rule_editor_data_base.h.

References m_parentId.

Referenced by DIALOG_DRC_RULE_EDITOR::buildRuleTreeNodeData().

◆ SetPreferredGap()

void DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::SetPreferredGap ( double aPreferredGap)
inline

Definition at line 157 of file drc_re_rtg_diff_pair_constraint_data.h.

References m_preferredGap.

◆ SetPreferredWidth()

void DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::SetPreferredWidth ( double aPreferredWidth)
inline

Definition at line 145 of file drc_re_rtg_diff_pair_constraint_data.h.

References m_preferredWidth.

◆ SetRuleCondition()

void DRC_RE_BASE_CONSTRAINT_DATA::SetRuleCondition ( wxString aRuleCondition)
inlineinherited

Definition at line 61 of file drc_re_base_constraint_data.h.

References m_ruleCondition.

Referenced by BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().

◆ SetRuleName()

void RULE_EDITOR_DATA_BASE::SetRuleName ( wxString aRuleName)
inlineinherited

Set the name of the rule.

Parameters
aRuleNameThe name of the rule to set.

Definition at line 97 of file rule_editor_data_base.h.

References m_ruleName.

◆ SetWasEdited()

void DRC_RE_BASE_CONSTRAINT_DATA::SetWasEdited ( bool aEdited)
inlineinherited

Definition at line 77 of file drc_re_base_constraint_data.h.

References m_wasEdited.

◆ trimTrailingZeros()

static wxString DRC_RE_BASE_CONSTRAINT_DATA::trimTrailingZeros ( const wxString & aValue)
inlinestaticprotectedinherited

Definition at line 129 of file drc_re_base_constraint_data.h.

References result.

Referenced by formatDouble().

◆ Validate()

VALIDATION_RESULT DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::Validate ( ) const
inlineoverridevirtual

Validates the constraint data.

Override in derived classes to add constraint-specific validation.

Returns
Validation result containing any errors.

Reimplemented from DRC_RE_BASE_CONSTRAINT_DATA.

Definition at line 55 of file drc_re_rtg_diff_pair_constraint_data.h.

References m_maxGap, m_maxUncoupledLength, m_maxWidth, m_minGap, m_minWidth, m_preferredGap, m_preferredWidth, and result.

Referenced by BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().

◆ WasEdited()

bool DRC_RE_BASE_CONSTRAINT_DATA::WasEdited ( ) const
inlineinherited

Definition at line 75 of file drc_re_base_constraint_data.h.

References m_wasEdited.

Member Data Documentation

◆ m_comment

wxString RULE_EDITOR_DATA_BASE::m_comment
privateinherited

Definition at line 143 of file rule_editor_data_base.h.

Referenced by CopyFrom(), GetComment(), and SetComment().

◆ m_constraintCode

wxString DRC_RE_BASE_CONSTRAINT_DATA::m_constraintCode
privateinherited

Definition at line 192 of file drc_re_base_constraint_data.h.

Referenced by CopyFrom(), GetConstraintCode(), and SetConstraintCode().

◆ m_generatedRule

wxString DRC_RE_BASE_CONSTRAINT_DATA::m_generatedRule
privateinherited

Definition at line 193 of file drc_re_base_constraint_data.h.

Referenced by CopyFrom(), GetGeneratedRule(), and SetGeneratedRule().

◆ m_id

int RULE_EDITOR_DATA_BASE::m_id
privateinherited

Definition at line 140 of file rule_editor_data_base.h.

Referenced by GetId(), RULE_EDITOR_DATA_BASE(), and SetId().

◆ m_isNew

bool RULE_EDITOR_DATA_BASE::m_isNew
privateinherited

Flag indicating if the user is creating a new rule (true) or editing an existing rule (false).

Definition at line 144 of file rule_editor_data_base.h.

Referenced by IsNew(), RULE_EDITOR_DATA_BASE(), and SetIsNew().

◆ m_layers

std::vector<PCB_LAYER_ID> DRC_RE_BASE_CONSTRAINT_DATA::m_layers
privateinherited

Definition at line 190 of file drc_re_base_constraint_data.h.

Referenced by CopyFrom(), GetLayers(), and SetLayers().

◆ m_maxGap

double DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::m_maxGap { 0 }
private

◆ m_maxUncoupledLength

double DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::m_maxUncoupledLength { 0 }
private

◆ m_maxWidth

double DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::m_maxWidth { 0 }
private

◆ m_minGap

double DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::m_minGap { 0 }
private

◆ m_minWidth

double DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::m_minWidth { 0 }
private

◆ m_originalRuleText

wxString DRC_RE_BASE_CONSTRAINT_DATA::m_originalRuleText
privateinherited

◆ m_parentId

std::optional<int> RULE_EDITOR_DATA_BASE::m_parentId
privateinherited

Definition at line 141 of file rule_editor_data_base.h.

Referenced by GetParentId(), RULE_EDITOR_DATA_BASE(), and SetParentId().

◆ m_preferredGap

double DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::m_preferredGap { 0 }
private

◆ m_preferredWidth

double DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA::m_preferredWidth { 0 }
private

◆ m_ruleCondition

wxString DRC_RE_BASE_CONSTRAINT_DATA::m_ruleCondition
privateinherited

Definition at line 191 of file drc_re_base_constraint_data.h.

Referenced by GetRuleCondition(), and SetRuleCondition().

◆ m_ruleName

wxString RULE_EDITOR_DATA_BASE::m_ruleName
privateinherited

Definition at line 142 of file rule_editor_data_base.h.

Referenced by GetRuleName(), RULE_EDITOR_DATA_BASE(), and SetRuleName().

◆ m_wasEdited

bool DRC_RE_BASE_CONSTRAINT_DATA::m_wasEdited = false
privateinherited

Definition at line 195 of file drc_re_base_constraint_data.h.

Referenced by CopyFrom(), SetWasEdited(), and WasEdited().


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