KiCad PCB EDA Suite
|
Dimensions for the meandering algorithm. More...
#include <pns_meander.h>
Public Member Functions | |
MEANDER_SETTINGS () | |
void | SetTargetLength (long long int aOpt) |
void | SetTargetLength (const MINOPTMAX< int > &aConstraint) |
void | SetTargetSkew (int aOpt) |
void | SetTargetSkew (const MINOPTMAX< int > &aConstraint) |
Minimum meandering amplitude. | |
Public Attributes | |
int | m_minAmplitude |
Maximum meandering amplitude. | |
int | m_maxAmplitude |
Meandering period/spacing (see dialog picture for explanation). | |
int | m_spacing |
Amplitude/spacing adjustment step. | |
int | m_step |
Length PadToDie. | |
int | m_lenPadToDie |
Desired length of the tuned line/diff pair (this is in nm, so allow more than board width). | |
MINOPTMAX< long long int > | m_targetLength |
Target skew value for diff pair de-skewing. | |
MINOPTMAX< int > | m_targetSkew |
bool | m_overrideCustomRules |
Type of corners for the meandered line. | |
MEANDER_STYLE | m_cornerStyle |
Rounding percentage (0 - 100). | |
int | m_cornerRadiusPercentage |
Place meanders on one side. | |
bool | m_singleSided |
Initial side when placing meanders at segment. | |
MEANDER_SIDE | m_initialSide |
Allowable tuning error. | |
int | m_lengthTolerance |
Keep vertices between pre, tuned and post parts of the line. | |
bool | m_keepEndpoints |
Static Public Attributes | |
static const long long int | DEFAULT_TOLERANCE |
static const long long int | LENGTH_UNCONSTRAINED |
static const int | SKEW_UNCONSTRAINED |
Dimensions for the meandering algorithm.
Definition at line 67 of file pns_meander.h.
PNS::MEANDER_SETTINGS::MEANDER_SETTINGS | ( | ) |
Definition at line 36 of file pns_meander.cpp.
References LENGTH_UNCONSTRAINED, m_cornerRadiusPercentage, m_cornerStyle, m_initialSide, m_keepEndpoints, m_lengthTolerance, m_lenPadToDie, m_maxAmplitude, m_minAmplitude, m_overrideCustomRules, m_singleSided, m_spacing, m_step, PNS::MEANDER_SIDE_LEFT, PNS::MEANDER_STYLE_ROUND, SetTargetLength(), and SetTargetSkew().
void PNS::MEANDER_SETTINGS::SetTargetLength | ( | const MINOPTMAX< int > & | aConstraint | ) |
Definition at line 72 of file pns_meander.cpp.
References MINOPTMAX< T >::HasMax(), MINOPTMAX< T >::HasMin(), m_targetLength, MINOPTMAX< T >::Max(), MINOPTMAX< T >::Min(), MINOPTMAX< T >::Opt(), MINOPTMAX< T >::SetMax(), MINOPTMAX< T >::SetMin(), and SetTargetLength().
void PNS::MEANDER_SETTINGS::SetTargetLength | ( | long long int | aOpt | ) |
Definition at line 55 of file pns_meander.cpp.
References DEFAULT_TOLERANCE, LENGTH_UNCONSTRAINED, m_targetLength, MINOPTMAX< T >::SetMax(), MINOPTMAX< T >::SetMin(), and MINOPTMAX< T >::SetOpt().
Referenced by PCB_TUNING_PATTERN::CreateNew(), PCB_TUNING_PATTERN::EditStart(), MEANDER_SETTINGS(), PCB_TUNING_PATTERN::SetProperties(), SetTargetLength(), PCB_TUNING_PATTERN::SetTargetLength(), PCB_TUNING_PATTERN::ShowPropertiesDialog(), and DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataFromWindow().
void PNS::MEANDER_SETTINGS::SetTargetSkew | ( | const MINOPTMAX< int > & | aConstraint | ) |
Minimum meandering amplitude.
Definition at line 101 of file pns_meander.cpp.
References MINOPTMAX< T >::HasMax(), MINOPTMAX< T >::HasMin(), m_targetSkew, MINOPTMAX< T >::Max(), MINOPTMAX< T >::Min(), MINOPTMAX< T >::Opt(), MINOPTMAX< T >::SetMax(), MINOPTMAX< T >::SetMin(), and SetTargetSkew().
void PNS::MEANDER_SETTINGS::SetTargetSkew | ( | int | aOpt | ) |
Definition at line 84 of file pns_meander.cpp.
References DEFAULT_TOLERANCE, m_targetSkew, MINOPTMAX< T >::SetMax(), MINOPTMAX< T >::SetMin(), MINOPTMAX< T >::SetOpt(), and SKEW_UNCONSTRAINED.
Referenced by PCB_TUNING_PATTERN::CreateNew(), MEANDER_SETTINGS(), PCB_TUNING_PATTERN::SetProperties(), SetTargetSkew(), PCB_TUNING_PATTERN::SetTargetSkew(), and DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataFromWindow().
|
static |
Definition at line 70 of file pns_meander.h.
Referenced by SetTargetLength(), and SetTargetSkew().
|
static |
Definition at line 71 of file pns_meander.h.
Referenced by PCB_TUNING_PATTERN::GetPreviewItems(), PCB_TUNING_PATTERN::GetTargetLength(), MEANDER_SETTINGS(), SetTargetLength(), PCB_TUNING_PATTERN::SetTargetLength(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataFromWindow(), and DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataToWindow().
int PNS::MEANDER_SETTINGS::m_cornerRadiusPercentage |
Place meanders on one side.
Definition at line 109 of file pns_meander.h.
Referenced by BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), PNS::MEANDER_SHAPE::cornerRadius(), PCB_TUNING_PATTERN::GetCornerRadiusPercentage(), PCB_TUNING_PATTERN::GetProperties(), MEANDER_SETTINGS(), PCB_TUNING_PATTERN::SetCornerRadiusPercentage(), PCB_TUNING_PATTERN::SetProperties(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataFromWindow(), PANEL_SETUP_TUNING_PATTERNS::TransferDataFromWindow(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataToWindow(), and PANEL_SETUP_TUNING_PATTERNS::TransferDataToWindow().
MEANDER_STYLE PNS::MEANDER_SETTINGS::m_cornerStyle |
Rounding percentage (0 - 100).
Definition at line 106 of file pns_meander.h.
Referenced by BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), PNS::MEANDER_SHAPE::cornerRadius(), PCB_TUNING_PATTERN::getOutline(), PCB_TUNING_PATTERN::GetProperties(), PCB_TUNING_PATTERN::IsRounded(), PNS::MEANDER_SHAPE::makeMiterShape(), MEANDER_SETTINGS(), PNS::MEANDER_SHAPE::MinAmplitude(), PCB_TUNING_PATTERN::SetProperties(), PCB_TUNING_PATTERN::SetRounded(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataFromWindow(), PANEL_SETUP_TUNING_PATTERNS::TransferDataFromWindow(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataToWindow(), and PANEL_SETUP_TUNING_PATTERNS::TransferDataToWindow().
MEANDER_SIDE PNS::MEANDER_SETTINGS::m_initialSide |
Allowable tuning error.
Definition at line 115 of file pns_meander.h.
Referenced by PCB_TUNING_PATTERN::baseMirror(), PNS::MEANDER_PLACER::doMove(), PCB_TUNING_PATTERN::EditStart(), PCB_TUNING_PATTERN::GetInitialSide(), PCB_TUNING_PATTERN::getOutline(), PCB_TUNING_PATTERN::GetProperties(), PCB_TUNING_PATTERN::MakeEditPoints(), MEANDER_SETTINGS(), PNS::MEANDERED_LINE::MeanderSegment(), PNS::DP_MEANDER_PLACER::Move(), PCB_TUNING_PATTERN::PCB_TUNING_PATTERN(), PCB_TUNING_PATTERN::SetInitialSide(), PCB_TUNING_PATTERN::SetProperties(), PCB_TUNING_PATTERN::UpdateEditPoints(), and PCB_TUNING_PATTERN::UpdateFromEditPoints().
bool PNS::MEANDER_SETTINGS::m_keepEndpoints |
Definition at line 121 of file pns_meander.h.
Referenced by PNS::MEANDER_PLACER::doMove(), MEANDER_SETTINGS(), PNS::DP_MEANDER_PLACER::Move(), and PCB_TUNING_PATTERN::Update().
int PNS::MEANDER_SETTINGS::m_lengthTolerance |
Keep vertices between pre, tuned and post parts of the line.
Definition at line 118 of file pns_meander.h.
Referenced by MEANDER_SETTINGS().
int PNS::MEANDER_SETTINGS::m_lenPadToDie |
Desired length of the tuned line/diff pair (this is in nm, so allow more than board width).
Definition at line 95 of file pns_meander.h.
Referenced by MEANDER_SETTINGS().
int PNS::MEANDER_SETTINGS::m_maxAmplitude |
Meandering period/spacing (see dialog picture for explanation).
Definition at line 86 of file pns_meander.h.
Referenced by PNS::MEANDER_PLACER_BASE::AmplitudeStep(), BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), PNS::MEANDER_SHAPE::Fit(), PCB_TUNING_PATTERN::GetMaxAmplitude(), PCB_TUNING_PATTERN::getOutline(), PCB_TUNING_PATTERN::GetProperties(), PCB_TUNING_PATTERN::MakeEditPoints(), MEANDER_SETTINGS(), DRAWING_TOOL::PlaceTuningPattern(), PCB_TUNING_PATTERN::SetMaxAmplitude(), PCB_TUNING_PATTERN::SetMinAmplitude(), PCB_TUNING_PATTERN::SetProperties(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataFromWindow(), PANEL_SETUP_TUNING_PATTERNS::TransferDataFromWindow(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataToWindow(), PANEL_SETUP_TUNING_PATTERNS::TransferDataToWindow(), and PCB_TUNING_PATTERN::UpdateEditPoints().
int PNS::MEANDER_SETTINGS::m_minAmplitude |
Maximum meandering amplitude.
Definition at line 83 of file pns_meander.h.
Referenced by PNS::MEANDER_PLACER_BASE::AmplitudeStep(), BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), PCB_TUNING_PATTERN::GetMinAmplitude(), PCB_TUNING_PATTERN::GetProperties(), MEANDER_SETTINGS(), PNS::MEANDER_SHAPE::MinAmplitude(), PCB_TUNING_PATTERN::SetMaxAmplitude(), PCB_TUNING_PATTERN::SetMinAmplitude(), PCB_TUNING_PATTERN::SetProperties(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataFromWindow(), PANEL_SETUP_TUNING_PATTERNS::TransferDataFromWindow(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataToWindow(), and PANEL_SETUP_TUNING_PATTERNS::TransferDataToWindow().
bool PNS::MEANDER_SETTINGS::m_overrideCustomRules |
Type of corners for the meandered line.
Definition at line 103 of file pns_meander.h.
Referenced by PCB_TUNING_PATTERN::EditStart(), PCB_TUNING_PATTERN::GetMsgPanelInfo(), PCB_TUNING_PATTERN::GetOverrideCustomRules(), PCB_TUNING_PATTERN::GetProperties(), MEANDER_SETTINGS(), PCB_TUNING_PATTERN::SetOverrideCustomRules(), PCB_TUNING_PATTERN::SetProperties(), PCB_TUNING_PATTERN::ShowPropertiesDialog(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataFromWindow(), and DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataToWindow().
bool PNS::MEANDER_SETTINGS::m_singleSided |
Initial side when placing meanders at segment.
Definition at line 112 of file pns_meander.h.
Referenced by BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), PCB_TUNING_PATTERN::getOutline(), PCB_TUNING_PATTERN::GetProperties(), PCB_TUNING_PATTERN::IsSingleSided(), MEANDER_SETTINGS(), PNS::MEANDERED_LINE::MeanderSegment(), PCB_TUNING_PATTERN::SetProperties(), PCB_TUNING_PATTERN::SetSingleSided(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataFromWindow(), PANEL_SETUP_TUNING_PATTERNS::TransferDataFromWindow(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataToWindow(), and PANEL_SETUP_TUNING_PATTERNS::TransferDataToWindow().
int PNS::MEANDER_SETTINGS::m_spacing |
Amplitude/spacing adjustment step.
Definition at line 89 of file pns_meander.h.
Referenced by BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), PNS::MEANDER_PLACER::CheckFit(), PCB_TUNING_PATTERN::GetProperties(), PCB_TUNING_PATTERN::GetSpacing(), PCB_TUNING_PATTERN::MakeEditPoints(), MEANDER_SETTINGS(), DRAWING_TOOL::PlaceTuningPattern(), PCB_TUNING_PATTERN::SetProperties(), PCB_TUNING_PATTERN::SetSpacing(), PNS::MEANDER_PLACER_BASE::SpacingStep(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataFromWindow(), PANEL_SETUP_TUNING_PATTERNS::TransferDataFromWindow(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataToWindow(), PANEL_SETUP_TUNING_PATTERNS::TransferDataToWindow(), and PCB_TUNING_PATTERN::UpdateEditPoints().
int PNS::MEANDER_SETTINGS::m_step |
Length PadToDie.
Definition at line 92 of file pns_meander.h.
Referenced by PNS::MEANDER_PLACER_BASE::AmplitudeStep(), PNS::MEANDER_SHAPE::Fit(), MEANDER_SETTINGS(), PNS::MEANDERED_LINE::MeanderSegment(), and PNS::MEANDER_PLACER_BASE::SpacingStep().
MINOPTMAX<long long int> PNS::MEANDER_SETTINGS::m_targetLength |
Target skew value for diff pair de-skewing.
Definition at line 98 of file pns_meander.h.
Referenced by PNS::MEANDER_PLACER::doMove(), PCB_TUNING_PATTERN::GetMsgPanelInfo(), PCB_TUNING_PATTERN::GetPreviewItems(), PCB_TUNING_PATTERN::GetProperties(), PCB_TUNING_PATTERN::GetTargetLength(), PNS::DP_MEANDER_PLACER::Move(), PNS::MEANDER_PLACER::Move(), DRAWING_TOOL::PlaceTuningPattern(), PCB_TUNING_PATTERN::SetProperties(), SetTargetLength(), and DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataToWindow().
MINOPTMAX<int> PNS::MEANDER_SETTINGS::m_targetSkew |
Definition at line 101 of file pns_meander.h.
Referenced by PCB_TUNING_PATTERN::EditStart(), PCB_TUNING_PATTERN::GetMsgPanelInfo(), PCB_TUNING_PATTERN::GetPreviewItems(), PCB_TUNING_PATTERN::GetProperties(), PCB_TUNING_PATTERN::GetTargetSkew(), PNS::MEANDER_SKEW_PLACER::Move(), DRAWING_TOOL::PlaceTuningPattern(), PCB_TUNING_PATTERN::SetProperties(), SetTargetSkew(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataFromWindow(), and DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataToWindow().
|
static |
Definition at line 72 of file pns_meander.h.
Referenced by SetTargetSkew(), DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataFromWindow(), and DIALOG_TUNING_PATTERN_PROPERTIES::TransferDataToWindow().