KiCad PCB EDA Suite
PANEL_SETUP_FEATURE_CONSTRAINTS Class Reference

#include <panel_setup_feature_constraints.h>

Inheritance diagram for PANEL_SETUP_FEATURE_CONSTRAINTS:
PANEL_SETUP_FEATURE_CONSTRAINTS_BASE

Public Member Functions

 PANEL_SETUP_FEATURE_CONSTRAINTS (PAGED_DIALOG *aParent, PCB_EDIT_FRAME *aFrame)
 
 ~PANEL_SETUP_FEATURE_CONSTRAINTS () override
 
void ImportSettingsFrom (BOARD *aBoard)
 

Public Attributes

UNIT_BINDER m_trackMinWidth
 
UNIT_BINDER m_viaMinSize
 
UNIT_BINDER m_viaMinDrill
 
UNIT_BINDER m_uviaMinSize
 
UNIT_BINDER m_uviaMinDrill
 
UNIT_BINDER m_holeToHoleMin
 
UNIT_BINDER m_edgeClearance
 
UNIT_BINDER m_maxError
 

Protected Attributes

wxCheckBox * m_OptAllowBlindBuriedVias
 
wxCheckBox * m_OptAllowMicroVias
 
wxCheckBox * m_OptRequireCourtyards
 
wxCheckBox * m_OptOverlappingCourtyards
 
wxStaticLine * m_staticline2
 
wxStaticText * m_stCircleToPolyOpt
 
wxStaticText * m_maxErrorTitle
 
wxTextCtrl * m_maxErrorCtrl
 
wxStaticText * m_maxErrorUnits
 
wxBoxSizer * m_bSizerPolygonFillOption
 
wxStaticLine * m_staticline1
 
wxStaticText * m_stZoneFilledPolysOpt
 
wxCheckBox * m_cbOutlinePolygonBestQ
 
wxCheckBox * m_cbOutlinePolygonFastest
 
wxStaticText * m_TrackMinWidthTitle
 
wxTextCtrl * m_TrackMinWidthCtrl
 
wxStaticText * m_TrackMinWidthUnits
 
wxStaticText * m_ViaMinTitle
 
wxTextCtrl * m_SetViasMinSizeCtrl
 
wxStaticText * m_ViaMinUnits
 
wxStaticText * m_ViaMinDrillTitle
 
wxTextCtrl * m_SetViasMinDrillCtrl
 
wxStaticText * m_ViaMinDrillUnits
 
wxStaticText * m_uviaMinSizeLabel
 
wxTextCtrl * m_uviaMinSizeCtrl
 
wxStaticText * m_uviaMinSizeUnits
 
wxStaticText * m_uviaMinDrillLabel
 
wxTextCtrl * m_uviaMinDrillCtrl
 
wxStaticText * m_uviaMinDrillUnits
 
wxStaticText * m_HoleToHoleTitle
 
wxTextCtrl * m_SetHoleToHoleCtrl
 
wxStaticText * m_HoleToHoleUnits
 
wxStaticText * m_EdgeClearanceLabel
 
wxTextCtrl * m_EdgeClearanceCtrl
 
wxStaticText * m_EdgeClearanceUnits
 

Private Member Functions

bool TransferDataToWindow () override
 
bool TransferDataFromWindow () override
 
void onChangeOutlineOpt (wxCommandEvent &event) override
 

Private Attributes

PCB_EDIT_FRAMEm_Frame
 
BOARD_DESIGN_SETTINGSm_BrdSettings
 

Detailed Description

Definition at line 37 of file panel_setup_feature_constraints.h.

Constructor & Destructor Documentation

◆ PANEL_SETUP_FEATURE_CONSTRAINTS()

PANEL_SETUP_FEATURE_CONSTRAINTS::PANEL_SETUP_FEATURE_CONSTRAINTS ( PAGED_DIALOG aParent,
PCB_EDIT_FRAME aFrame 
)

Definition at line 34 of file panel_setup_feature_constraints.cpp.

35  :
45 {
46  m_Frame = aFrame;
48 }
PANEL_SETUP_FEATURE_CONSTRAINTS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxTAB_TRAVERSAL)
BOARD_DESIGN_SETTINGS & GetDesignSettings() const
Function GetDesignSettings.
Definition: class_board.h:540
wxTreebook * GetTreebook()
Definition: paged_dialog.h:43
BOARD * GetBoard() const

References PCB_BASE_FRAME::GetBoard(), BOARD::GetDesignSettings(), m_BrdSettings, and m_Frame.

◆ ~PANEL_SETUP_FEATURE_CONSTRAINTS()

PANEL_SETUP_FEATURE_CONSTRAINTS::~PANEL_SETUP_FEATURE_CONSTRAINTS ( )
inlineoverride

Definition at line 55 of file panel_setup_feature_constraints.h.

55 { };

Member Function Documentation

◆ ImportSettingsFrom()

void PANEL_SETUP_FEATURE_CONSTRAINTS::ImportSettingsFrom ( BOARD aBoard)

Definition at line 111 of file panel_setup_feature_constraints.cpp.

112 {
113  BOARD_DESIGN_SETTINGS* savedSettings = m_BrdSettings;
114 
115  m_BrdSettings = &aBoard->GetDesignSettings();
117 
118  m_BrdSettings = savedSettings;
119 }
BOARD_DESIGN_SETTINGS & GetDesignSettings() const
Function GetDesignSettings.
Definition: class_board.h:540
Class BOARD_DESIGN_SETTINGS contains design settings for a BOARD object.

References BOARD::GetDesignSettings(), m_BrdSettings, and TransferDataToWindow().

Referenced by DIALOG_BOARD_SETUP::OnAuxiliaryAction().

◆ onChangeOutlineOpt()

void PANEL_SETUP_FEATURE_CONSTRAINTS::onChangeOutlineOpt ( wxCommandEvent &  event)
overrideprivatevirtual

◆ TransferDataFromWindow()

bool PANEL_SETUP_FEATURE_CONSTRAINTS::TransferDataFromWindow ( )
overrideprivate

Definition at line 79 of file panel_setup_feature_constraints.cpp.

80 {
81  // Update tracks minimum values for DRC
83 
84  // Update vias minimum values for DRC
87 
90 
91  // Update microvias minimum values for DRC
94 
96 
98 
101 
102  m_BrdSettings->m_MaxError = Clamp<int>( IU_PER_MM * MINIMUM_ERROR_SIZE_MM,
103  m_maxError.GetValue(), IU_PER_MM * MAXIMUM_ERROR_SIZE_MM );
104 
106 
107  return true;
108 }
void SetCopperEdgeClearance(int aDistance)
Function SetCopperEdgeClearance.
#define MINIMUM_ERROR_SIZE_MM
void SetMinHoleSeparation(int aDistance)
Function SetMinHoleSeparation.
int m_TrackMinWidth
track min value for width ((min copper size value
int m_ViasMinSize
vias (not micro vias) min diameter
int m_ViasMinDrill
vias (not micro vias) min drill diameter
bool m_BlindBuriedViaAllowed
true to allow blind/buried vias
int m_MicroViasMinSize
micro vias (not vias) min diameter
void SetProhibitOverlappingCourtyards(bool aProhibit)
Function SetProhibitOverlappingCourtyards.
bool m_ZoneUseNoOutlineInFill
Option to handle filled polygons in zones: the "legacy" option is using thick outlines around filled ...
#define MAXIMUM_ERROR_SIZE_MM
virtual long long int GetValue()
Function GetValue Returns the current value in Internal Units.
bool m_MicroViasAllowed
true to allow micro vias
void SetRequireCourtyardDefinitions(bool aRequire)
Function SetRequireCourtyardDefinitions.
int m_MicroViasMinDrill
micro vias (not vias) min drill diameter

References UNIT_BINDER::GetValue(), BOARD_DESIGN_SETTINGS::m_BlindBuriedViaAllowed, m_BrdSettings, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_cbOutlinePolygonFastest, m_edgeClearance, m_holeToHoleMin, m_maxError, BOARD_DESIGN_SETTINGS::m_MaxError, BOARD_DESIGN_SETTINGS::m_MicroViasAllowed, BOARD_DESIGN_SETTINGS::m_MicroViasMinDrill, BOARD_DESIGN_SETTINGS::m_MicroViasMinSize, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptAllowBlindBuriedVias, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptAllowMicroVias, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptOverlappingCourtyards, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptRequireCourtyards, m_trackMinWidth, BOARD_DESIGN_SETTINGS::m_TrackMinWidth, m_uviaMinDrill, m_uviaMinSize, m_viaMinDrill, m_viaMinSize, BOARD_DESIGN_SETTINGS::m_ViasMinDrill, BOARD_DESIGN_SETTINGS::m_ViasMinSize, BOARD_DESIGN_SETTINGS::m_ZoneUseNoOutlineInFill, MAXIMUM_ERROR_SIZE_MM, MINIMUM_ERROR_SIZE_MM, BOARD_DESIGN_SETTINGS::SetCopperEdgeClearance(), BOARD_DESIGN_SETTINGS::SetMinHoleSeparation(), BOARD_DESIGN_SETTINGS::SetProhibitOverlappingCourtyards(), and BOARD_DESIGN_SETTINGS::SetRequireCourtyardDefinitions().

◆ TransferDataToWindow()

bool PANEL_SETUP_FEATURE_CONSTRAINTS::TransferDataToWindow ( )
overrideprivate

Definition at line 51 of file panel_setup_feature_constraints.cpp.

52 {
56 
59 
62 
64 
66 
69 
71 
74 
75  return true;
76 }
bool m_ProhibitOverlappingCourtyards
check for overlapping courtyards in DRC
int m_HoleToHoleMin
Min width of peninsula between two drilled holes.
int m_TrackMinWidth
track min value for width ((min copper size value
int m_ViasMinSize
vias (not micro vias) min diameter
int m_ViasMinDrill
vias (not micro vias) min drill diameter
bool m_BlindBuriedViaAllowed
true to allow blind/buried vias
int m_MicroViasMinSize
micro vias (not vias) min diameter
bool m_RequireCourtyards
require courtyard definitions in footprints
bool m_ZoneUseNoOutlineInFill
Option to handle filled polygons in zones: the "legacy" option is using thick outlines around filled ...
virtual void SetValue(int aValue)
Function SetValue Sets new value (in Internal Units) for the text field, taking care of units convers...
bool m_MicroViasAllowed
true to allow micro vias
int m_MicroViasMinDrill
micro vias (not vias) min drill diameter

References BOARD_DESIGN_SETTINGS::m_BlindBuriedViaAllowed, m_BrdSettings, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_cbOutlinePolygonBestQ, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_cbOutlinePolygonFastest, BOARD_DESIGN_SETTINGS::m_CopperEdgeClearance, m_edgeClearance, m_holeToHoleMin, BOARD_DESIGN_SETTINGS::m_HoleToHoleMin, m_maxError, BOARD_DESIGN_SETTINGS::m_MaxError, BOARD_DESIGN_SETTINGS::m_MicroViasAllowed, BOARD_DESIGN_SETTINGS::m_MicroViasMinDrill, BOARD_DESIGN_SETTINGS::m_MicroViasMinSize, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptAllowBlindBuriedVias, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptAllowMicroVias, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptOverlappingCourtyards, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptRequireCourtyards, BOARD_DESIGN_SETTINGS::m_ProhibitOverlappingCourtyards, BOARD_DESIGN_SETTINGS::m_RequireCourtyards, m_trackMinWidth, BOARD_DESIGN_SETTINGS::m_TrackMinWidth, m_uviaMinDrill, m_uviaMinSize, m_viaMinDrill, m_viaMinSize, BOARD_DESIGN_SETTINGS::m_ViasMinDrill, BOARD_DESIGN_SETTINGS::m_ViasMinSize, BOARD_DESIGN_SETTINGS::m_ZoneUseNoOutlineInFill, and UNIT_BINDER::SetValue().

Referenced by ImportSettingsFrom().

Member Data Documentation

◆ m_BrdSettings

BOARD_DESIGN_SETTINGS* PANEL_SETUP_FEATURE_CONSTRAINTS::m_BrdSettings
private

◆ m_bSizerPolygonFillOption

wxBoxSizer* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_bSizerPolygonFillOption
protectedinherited

◆ m_cbOutlinePolygonBestQ

◆ m_cbOutlinePolygonFastest

◆ m_edgeClearance

UNIT_BINDER PANEL_SETUP_FEATURE_CONSTRAINTS::m_edgeClearance

◆ m_EdgeClearanceCtrl

wxTextCtrl* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_EdgeClearanceCtrl
protectedinherited

◆ m_EdgeClearanceLabel

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_EdgeClearanceLabel
protectedinherited

◆ m_EdgeClearanceUnits

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_EdgeClearanceUnits
protectedinherited

◆ m_Frame

PCB_EDIT_FRAME* PANEL_SETUP_FEATURE_CONSTRAINTS::m_Frame
private

Definition at line 40 of file panel_setup_feature_constraints.h.

Referenced by PANEL_SETUP_FEATURE_CONSTRAINTS().

◆ m_holeToHoleMin

UNIT_BINDER PANEL_SETUP_FEATURE_CONSTRAINTS::m_holeToHoleMin

◆ m_HoleToHoleTitle

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_HoleToHoleTitle
protectedinherited

◆ m_HoleToHoleUnits

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_HoleToHoleUnits
protectedinherited

◆ m_maxError

UNIT_BINDER PANEL_SETUP_FEATURE_CONSTRAINTS::m_maxError

◆ m_maxErrorCtrl

wxTextCtrl* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_maxErrorCtrl
protectedinherited

◆ m_maxErrorTitle

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_maxErrorTitle
protectedinherited

◆ m_maxErrorUnits

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_maxErrorUnits
protectedinherited

◆ m_OptAllowBlindBuriedVias

wxCheckBox* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptAllowBlindBuriedVias
protectedinherited

◆ m_OptAllowMicroVias

wxCheckBox* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptAllowMicroVias
protectedinherited

◆ m_OptOverlappingCourtyards

wxCheckBox* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptOverlappingCourtyards
protectedinherited

◆ m_OptRequireCourtyards

wxCheckBox* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptRequireCourtyards
protectedinherited

◆ m_SetHoleToHoleCtrl

wxTextCtrl* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_SetHoleToHoleCtrl
protectedinherited

◆ m_SetViasMinDrillCtrl

wxTextCtrl* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_SetViasMinDrillCtrl
protectedinherited

◆ m_SetViasMinSizeCtrl

wxTextCtrl* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_SetViasMinSizeCtrl
protectedinherited

◆ m_staticline1

wxStaticLine* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_staticline1
protectedinherited

◆ m_staticline2

wxStaticLine* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_staticline2
protectedinherited

◆ m_stCircleToPolyOpt

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_stCircleToPolyOpt
protectedinherited

◆ m_stZoneFilledPolysOpt

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_stZoneFilledPolysOpt
protectedinherited

◆ m_trackMinWidth

◆ m_TrackMinWidthCtrl

wxTextCtrl* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_TrackMinWidthCtrl
protectedinherited

◆ m_TrackMinWidthTitle

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_TrackMinWidthTitle
protectedinherited

◆ m_TrackMinWidthUnits

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_TrackMinWidthUnits
protectedinherited

◆ m_uviaMinDrill

UNIT_BINDER PANEL_SETUP_FEATURE_CONSTRAINTS::m_uviaMinDrill

◆ m_uviaMinDrillCtrl

wxTextCtrl* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_uviaMinDrillCtrl
protectedinherited

◆ m_uviaMinDrillLabel

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_uviaMinDrillLabel
protectedinherited

◆ m_uviaMinDrillUnits

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_uviaMinDrillUnits
protectedinherited

◆ m_uviaMinSize

UNIT_BINDER PANEL_SETUP_FEATURE_CONSTRAINTS::m_uviaMinSize

◆ m_uviaMinSizeCtrl

wxTextCtrl* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_uviaMinSizeCtrl
protectedinherited

◆ m_uviaMinSizeLabel

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_uviaMinSizeLabel
protectedinherited

◆ m_uviaMinSizeUnits

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_uviaMinSizeUnits
protectedinherited

◆ m_viaMinDrill

◆ m_ViaMinDrillTitle

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_ViaMinDrillTitle
protectedinherited

◆ m_ViaMinDrillUnits

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_ViaMinDrillUnits
protectedinherited

◆ m_viaMinSize

◆ m_ViaMinTitle

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_ViaMinTitle
protectedinherited

◆ m_ViaMinUnits

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_ViaMinUnits
protectedinherited

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