KiCad PCB EDA Suite
ADVANCED_CFG Class Reference

Class containing "advanced" configuration options. More...

#include <advanced_config.h>

Static Public Member Functions

static const ADVANCED_CFGGetCfg ()
 Get the singleton instance's config, which is shared by all consumers. More...
 

Public Attributes

double m_DrawArcAccuracy
 Distance from an arc end point and the estimated end point, when rotating from the start point to the end point. More...
 
double m_DrawArcCenterMaxAngle
 When drawing an arc, the angle ( center - start ) - ( start - end ) can be limited to avoid extremely high radii. More...
 
double m_MaxTangentAngleDeviation
 Maximum angle between the tangent line of an arc track and a connected straight track in order to commence arc dragging. More...
 
double m_MaxTrackLengthToKeep
 Maximum track length to keep after doing an arc track resizing operation. More...
 
double m_ExtraClearance
 Extra fill clearance for zone fills. More...
 
double m_DRCEpsilon
 Epsilon for DRC tests. More...
 
double m_SliverWidthTolerance
 Sliver tolerances for DRC. More...
 
double m_SliverMinimumLength
 
double m_SliverAngleTolerance
 
double m_HoleWallThickness
 Hole wall plating thickness. More...
 
int m_CoroutineStackSize
 Set the stack size for coroutines. More...
 
int m_UpdateUIEventInterval
 The update interval the wxWidgets sends wxUpdateUIEvents to windows. More...
 
bool m_ShowRouterDebugGraphics
 Show PNS router debug graphics. More...
 
bool m_CompactSave
 Save files in compact display mode When is is not specified, points are written one per line. More...
 
bool m_DrawTriangulationOutlines
 When true, strokes the triangulations with visible color. More...
 
bool m_ExtraZoneDisplayModes
 When true, adds zone-diaplay-modes for stroking the zone fracture boundaries and the zone triangulation. More...
 
double m_MinPlotPenWidth
 Sets an absolute minimum pen width for plotting. More...
 
bool m_DebugZoneFiller
 A mode that dumps the various stages of a F_Cu fill into In1_Cu through In9_Cu. More...
 
bool m_DebugPDFWriter
 A mode that writes PDFs without compression. More...
 
double m_SmallDrillMarkSize
 The diameter of the drill marks on print and plot outputs (in mm), when the "Drill marks" option is set to "Small mark". More...
 
bool m_HotkeysDumper
 Enable the hotkeys dumper feature, used for generating documentation. More...
 
bool m_DrawBoundingBoxes
 Draw GAL bounding boxes in painters. More...
 
bool m_ShowPcbnewExportNetlist
 Enable exporting board editor netlist to a file for troubleshooting purposes. More...
 
bool m_Skip3DModelFileCache
 Skip reading/writing 3d model file caches This does not prevent the models from being cached in memory meaning reopening the 3d viewer in the same project session will not reload model data from disk again. More...
 
bool m_Skip3DModelMemoryCache
 Skip reading/writing 3d model memory caches This ensures 3d models are always reloaded from disk even if we previously opened the 3d viewer. More...
 
bool m_HideVersionFromTitle
 Hides the build version from the KiCad manager frame title. More...
 
bool m_ShowRepairSchematic
 
bool m_ShowEventCounters
 Shows debugging event counters in various places. More...
 
bool m_AllowManualCanvasScale
 
bool m_ShowPropertiesPanel
 Show the properties panel in applications that it hasn't been fully released for. More...
 
int m_3DRT_BevelHeight_um
 3D-Viewer, Raytracing Bevel height of layer items. More...
 
double m_3DRT_BevelExtentFactor
 3D-Viewer, Raytracing Factor applied to Extent.z of the item layer, used on calculation of the bevel's height. More...
 
bool m_UseClipper2
 User Clipper2 instead of Clipper1. More...
 

Private Member Functions

 ADVANCED_CFG ()
 
void loadFromConfigFile ()
 Load the config from the normal config file. More...
 
void loadSettings (wxConfigBase &aCfg)
 

Detailed Description

Class containing "advanced" configuration options.

Options set here are for developer or advanced users only. If a general user needs to set one of these for normal KiCad use, either:

  • They are working around some bug that should be fixed, or
  • The parameter they are setting is of general interest and should be in the main application config, with UI provided.

Options in this class are, in general, preferable to #defines, as they allow more flexible configuration by developers, and don't hide code from the compiler on other configurations, which can result in broken builds.

Never use advanced configs in an untestable way. If a function depends on advanced config such that you cannot test it without changing the config, "lift" the config to a higher level and make pass it as parameter of the code under test. The tests can pass their own values as needed.

This also applies to code that does not depend on "common" - it cannot use this class, so you must pass configuration in as proper parameters.

Sometimes you can just use values directly, and sometimes helper functions might be provided to allow extra logic (for example when a advanced config applies only on certain platforms).

For more information on what config keys set these parameters in the config files, and why you might want to set them, see AC_KEYS

Definition at line 58 of file advanced_config.h.

Constructor & Destructor Documentation

◆ ADVANCED_CFG()

ADVANCED_CFG::ADVANCED_CFG ( )
private

Definition at line 275 of file advanced_config.cpp.

276{
277 wxLogTrace( AdvancedConfigMask, wxS( "Init advanced config" ) );
278
279 // Init defaults - this is done in case the config doesn't exist,
280 // then the values will remain as set here.
283 m_DrawArcAccuracy = 10.0;
286 m_MaxTrackLengthToKeep = 0.0005;
289
290 m_ExtraClearance = 0.0005;
291 m_DRCEpsilon = 0.0005; // 0.5um is small enough not to materially violate
292 // any constraints.
294 m_SliverMinimumLength = 0.0005;
296
297 m_HoleWallThickness = 0.020; // IPC-6012 says 15-18um; Cadence says at least
298 // 0.020 for a Class 2 board and at least 0.025
299 // for Class 3.
300
301 m_MinPlotPenWidth = 0.0212; // 1 pixel at 1200dpi.
302
303 m_DebugZoneFiller = false;
304 m_DebugPDFWriter = false;
306 m_HotkeysDumper = false;
307 m_DrawBoundingBoxes = false;
312 m_ShowEventCounters = false;
314 m_CompactSave = false;
316 m_ShowRepairSchematic = false;
317 m_ShowPropertiesPanel = false;
318
320 m_3DRT_BevelExtentFactor = 1.0 / 16.0;
321
322 m_UseClipper2 = true;
323
325}
static const wxChar AdvancedConfigMask[]
bool m_Skip3DModelFileCache
Skip reading/writing 3d model file caches This does not prevent the models from being cached in memor...
bool m_ShowRepairSchematic
double m_DrawArcCenterMaxAngle
When drawing an arc, the angle ( center - start ) - ( start - end ) can be limited to avoid extremely...
double m_MaxTangentAngleDeviation
Maximum angle between the tangent line of an arc track and a connected straight track in order to com...
bool m_ShowRouterDebugGraphics
Show PNS router debug graphics.
bool m_Skip3DModelMemoryCache
Skip reading/writing 3d model memory caches This ensures 3d models are always reloaded from disk even...
void loadFromConfigFile()
Load the config from the normal config file.
double m_HoleWallThickness
Hole wall plating thickness.
int m_CoroutineStackSize
Set the stack size for coroutines.
bool m_UseClipper2
User Clipper2 instead of Clipper1.
double m_SmallDrillMarkSize
The diameter of the drill marks on print and plot outputs (in mm), when the "Drill marks" option is s...
bool m_ShowPropertiesPanel
Show the properties panel in applications that it hasn't been fully released for.
double m_ExtraClearance
Extra fill clearance for zone fills.
bool m_DrawBoundingBoxes
Draw GAL bounding boxes in painters.
double m_DRCEpsilon
Epsilon for DRC tests.
double m_SliverAngleTolerance
bool m_AllowManualCanvasScale
double m_SliverWidthTolerance
Sliver tolerances for DRC.
bool m_ExtraZoneDisplayModes
When true, adds zone-diaplay-modes for stroking the zone fracture boundaries and the zone triangulati...
double m_MinPlotPenWidth
Sets an absolute minimum pen width for plotting.
double m_SliverMinimumLength
double m_MaxTrackLengthToKeep
Maximum track length to keep after doing an arc track resizing operation.
double m_DrawArcAccuracy
Distance from an arc end point and the estimated end point, when rotating from the start point to the...
bool m_HotkeysDumper
Enable the hotkeys dumper feature, used for generating documentation.
int m_UpdateUIEventInterval
The update interval the wxWidgets sends wxUpdateUIEvents to windows.
double m_3DRT_BevelExtentFactor
3D-Viewer, Raytracing Factor applied to Extent.z of the item layer, used on calculation of the bevel'...
bool m_ShowPcbnewExportNetlist
Enable exporting board editor netlist to a file for troubleshooting purposes.
bool m_DebugPDFWriter
A mode that writes PDFs without compression.
bool m_ShowEventCounters
Shows debugging event counters in various places.
bool m_DrawTriangulationOutlines
When true, strokes the triangulations with visible color.
int m_3DRT_BevelHeight_um
3D-Viewer, Raytracing Bevel height of layer items.
bool m_CompactSave
Save files in compact display mode When is is not specified, points are written one per line.
bool m_HideVersionFromTitle
Hides the build version from the KiCad manager frame title.
bool m_DebugZoneFiller
A mode that dumps the various stages of a F_Cu fill into In1_Cu through In9_Cu.
static constexpr int default_stack

References AdvancedConfigMask, AC_STACK::default_stack, loadFromConfigFile(), m_3DRT_BevelExtentFactor, m_3DRT_BevelHeight_um, m_AllowManualCanvasScale, m_CompactSave, m_CoroutineStackSize, m_DebugPDFWriter, m_DebugZoneFiller, m_DrawArcAccuracy, m_DrawArcCenterMaxAngle, m_DrawBoundingBoxes, m_DrawTriangulationOutlines, m_DRCEpsilon, m_ExtraClearance, m_ExtraZoneDisplayModes, m_HideVersionFromTitle, m_HoleWallThickness, m_HotkeysDumper, m_MaxTangentAngleDeviation, m_MaxTrackLengthToKeep, m_MinPlotPenWidth, m_ShowEventCounters, m_ShowPcbnewExportNetlist, m_ShowPropertiesPanel, m_ShowRepairSchematic, m_ShowRouterDebugGraphics, m_Skip3DModelFileCache, m_Skip3DModelMemoryCache, m_SliverAngleTolerance, m_SliverMinimumLength, m_SliverWidthTolerance, m_SmallDrillMarkSize, m_UpdateUIEventInterval, and m_UseClipper2.

Member Function Documentation

◆ GetCfg()

const ADVANCED_CFG & ADVANCED_CFG::GetCfg ( )
static

Get the singleton instance's config, which is shared by all consumers.

This configuration is read-only - to set options, users should add the parameters to their config files at ~/.config/kicad/advanced, or the platform equivalent.

Definition at line 328 of file advanced_config.cpp.

329{
330 static ADVANCED_CFG instance;
331 return instance;
332}
Class containing "advanced" configuration options.

Referenced by SHAPE_POLY_SET::BooleanAdd(), SHAPE_POLY_SET::BooleanIntersection(), SHAPE_POLY_SET::BooleanSubtract(), ZONE_FILLER::buildCopperItemClearances(), S3D_CACHE::checkCache(), PDF_PLOTTER::closePdfStream(), COROUTINE< ReturnType, ArgType >::COROUTINE(), SCH_EDIT_FRAME::doReCreateMenuBar(), PCB_EDIT_FRAME::doReCreateMenuBar(), EDIT_TOOL::DragArcTrack(), KIGFX::OPENGL_GAL::drawTriangulatedPolyset(), PCB_POINT_EDITOR::editArcEndpointKeepTangent(), EVT_MENU_RANGE(), EVT_UPDATE_UI_RANGE(), PCB_PLUGIN::format(), formatPoly(), BOARD_DESIGN_SETTINGS::GetDRCEpsilon(), BOARD_DESIGN_SETTINGS::GetHolePlatingThickness(), ROUTER_TOOL::handleCommonEvents(), SHAPE_POLY_SET::Inflate(), HOTKEY_STORE::Init(), PGM_BASE::InitPgm(), BOARD_ADAPTER::InitSettings(), PANEL_HOTKEYS_EDITOR::installButtons(), LAYER_ITEM::Intersect(), S3D_CACHE::load(), PANEL_COMMON_SETTINGS::PANEL_COMMON_SETTINGS(), BRDITEMS_PLOTTER::PlotDrillMarks(), PlotLayerOutlines(), KICAD_MANAGER_FRAME::ProjectChanged(), SCH_EDIT_FRAME::ReCreateOptToolbar(), SYMBOL_EDIT_FRAME::ReCreateOptToolbar(), FOOTPRINT_EDIT_FRAME::ReCreateOptToolbar(), FOOTPRINT_VIEWER_FRAME::ReCreateOptToolbar(), PCB_EDIT_FRAME::ReCreateOptToolbar(), DRC_TEST_PROVIDER_SLIVER_CHECKER::Run(), KIGFX::SCH_RENDER_SETTINGS::SCH_RENDER_SETTINGS(), BOARD_EDITOR_CONTROL::setTransitions(), PCBNEW_PRINTOUT::setupPainter(), PNS_KICAD_IFACE::SetView(), SHAPE_POLY_SET::Simplify(), PDF_PLOTTER::startPdfStream(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testShapeLineChain(), ZONE_FILLER::ZONE_FILLER(), and PCB_EDIT_FRAME::~PCB_EDIT_FRAME().

◆ loadFromConfigFile()

void ADVANCED_CFG::loadFromConfigFile ( )
private

Load the config from the normal config file.

Definition at line 335 of file advanced_config.cpp.

336{
337 const wxFileName k_advanced = getAdvancedCfgFilename();
338
339 // If we are running headless, use the class defaults because we cannot instantiate wxConfig
340 if( !wxTheApp )
341 return;
342
343 if( !k_advanced.FileExists() )
344 {
345 wxLogTrace( AdvancedConfigMask, wxS( "File does not exist %s" ), k_advanced.GetFullPath() );
346
347 // load the defaults
348 wxConfig emptyConfig;
349 loadSettings( emptyConfig );
350
351 return;
352 }
353
354 wxLogTrace( AdvancedConfigMask, wxS( "Loading advanced config from: %s" ), k_advanced.GetFullPath() );
355
356 wxFileConfig file_cfg( wxS( "" ), wxS( "" ), k_advanced.GetFullPath() );
357 loadSettings( file_cfg );
358}
static wxFileName getAdvancedCfgFilename()
Get the filename for the advanced config file.
void loadSettings(wxConfigBase &aCfg)

References AdvancedConfigMask, getAdvancedCfgFilename(), and loadSettings().

Referenced by ADVANCED_CFG().

◆ loadSettings()

void ADVANCED_CFG::loadSettings ( wxConfigBase &  aCfg)
private

Definition at line 361 of file advanced_config.cpp.

362{
363 std::vector<PARAM_CFG*> configParams;
364
365 configParams.push_back( new PARAM_CFG_DOUBLE( true, AC_KEYS::ExtraFillMargin,
366 &m_ExtraClearance, m_ExtraClearance, 0.0, 1.0 ) );
367
368 configParams.push_back( new PARAM_CFG_DOUBLE( true, AC_KEYS::DRCEpsilon,
369 &m_DRCEpsilon, m_DRCEpsilon, 0.0, 1.0 ) );
370
371 configParams.push_back( new PARAM_CFG_DOUBLE( true, AC_KEYS::DRCSliverWidthTolerance,
373
374 configParams.push_back( new PARAM_CFG_DOUBLE( true, AC_KEYS::DRCSliverMinimumLength,
376
377 configParams.push_back( new PARAM_CFG_DOUBLE( true, AC_KEYS::DRCSliverAngleTolerance,
379
380 configParams.push_back( new PARAM_CFG_DOUBLE( true, AC_KEYS::HoleWallThickness,
382
383 configParams.push_back( new PARAM_CFG_INT( true, AC_KEYS::CoroutineStackSize,
386
387 configParams.push_back( new PARAM_CFG_INT( true, AC_KEYS::UpdateUIEventInterval,
389
390 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::ShowRouterDebugGraphics,
392
393 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::CompactFileSave,
395
396 configParams.push_back( new PARAM_CFG_DOUBLE( true, AC_KEYS::DrawArcAccuracy,
397 &m_DrawArcAccuracy, m_DrawArcAccuracy, 0.0, 100000.0 ) );
398
399 configParams.push_back( new PARAM_CFG_DOUBLE( true, AC_KEYS::DrawArcCenterStartEndMaxAngle,
401
402 configParams.push_back( new PARAM_CFG_DOUBLE( true, AC_KEYS::MaxTangentTrackAngleDeviation,
404
405 configParams.push_back( new PARAM_CFG_DOUBLE( true, AC_KEYS::MaxTrackLengthToKeep,
407
408 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::ExtraZoneDisplayModes,
410
411 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::StrokeTriangulation,
413
414 configParams.push_back( new PARAM_CFG_DOUBLE( true, AC_KEYS::MinPlotPenWidth,
415 &m_MinPlotPenWidth, m_MinPlotPenWidth, 0.0, 1.0 ) );
416
417 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::DebugZoneFiller,
419
420 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::DebugPDFWriter,
422
423 configParams.push_back( new PARAM_CFG_DOUBLE( true, AC_KEYS::SmallDrillMarkSize,
425
426 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::HotkeysDumper,
428
429 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::DrawBoundingBoxes,
431
432 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::ShowPcbnewExportNetlist,
434
435 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::Skip3DModelFileCache,
437
438 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::Skip3DModelMemoryCache,
440
441 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::HideVersionFromTitle,
443
444 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::ShowRepairSchematic,
446
447 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::ShowEventCounters,
449
450 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::AllowManualCanvasScale,
452
453 configParams.push_back( new PARAM_CFG_INT( true, AC_KEYS::V3DRT_BevelHeight_um,
455 0, std::numeric_limits<int>::max(),
457
458 configParams.push_back( new PARAM_CFG_DOUBLE( true, AC_KEYS::V3DRT_BevelExtentFactor,
460 0.0, 100.0,
462
463 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::UseClipper2,
465
466
467
468 // Special case for trace mask setting...we just grab them and set them immediately
469 // Because we even use wxLogTrace inside of advanced config
470 wxString traceMasks;
471 configParams.push_back( new PARAM_CFG_WXSTRING( true, AC_KEYS::TraceMasks, &traceMasks, wxS( "" ) ) );
472
473 configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::ShowPropertiesPanel,
474 &m_ShowPropertiesPanel, false ) );
475
476 // Load the config from file
477 wxConfigLoadSetups( &aCfg, configParams );
478
479 // Now actually set the trace masks
480 wxStringTokenizer traceMaskTokenizer( traceMasks, wxS( "," ) );
481
482 while( traceMaskTokenizer.HasMoreTokens() )
483 {
484 wxString mask = traceMaskTokenizer.GetNextToken();
485 wxLog::AddTraceMask( mask );
486 }
487
488 dumpCfg( configParams );
489
490 for( PARAM_CFG* param : configParams )
491 delete param;
492}
static void dumpCfg(const std::vector< PARAM_CFG * > &aArray)
Dump the configs in the given array to trace.
Configuration object for booleans.
Configuration object for double precision floating point numbers.
Configuration object for integers.
Configuration object for wxString objects.
A base class which establishes the interface functions ReadParam and SaveParam, which are implemented...
Definition: config_params.h:82
void wxConfigLoadSetups(wxConfigBase *aCfg, const std::vector< PARAM_CFG * > &aList)
Use aList of PARAM_CFG object to load configuration values from aCfg.
static const wxChar V3D_RayTracing[]
static const wxChar DebugPDFWriter[]
static const wxChar HotkeysDumper[]
static const wxChar ShowRepairSchematic[]
static const wxChar HideVersionFromTitle[]
static const wxChar ShowPropertiesPanel[]
static const wxChar AllowManualCanvasScale[]
static const wxChar MaxTangentTrackAngleDeviation[]
For arc track interactive drag-resizing Maximum angle between the tangent line of an arc track and a ...
static const wxChar MaxTrackLengthToKeep[]
For arc track interactive drag-resizing Maximum track length to keep after doing an arc track resizin...
static const wxChar ShowPcbnewExportNetlist[]
static const wxChar UseClipper2[]
static const wxChar DrawBoundingBoxes[]
static const wxChar MinPlotPenWidth[]
Absolute minimum pen width to send to the plotter.
static const wxChar CoroutineStackSize[]
Configure the coroutine stack size in bytes.
static const wxChar HoleWallThickness[]
Used to calculate the actual hole size from the finish hole size.
static const wxChar DRCSliverWidthTolerance[]
Angle and width tolerances for copper and solder mask sliver detection.
static const wxChar DebugZoneFiller[]
static const wxChar StrokeTriangulation[]
When true, GAL will stroke the triangulations (only used in OpenGL) with a visible color.
static const wxChar CompactFileSave[]
When set to true, this will wrap polygon point sets at 4 points per line rather than a single point p...
static const wxChar DRCSliverAngleTolerance[]
static const wxChar UpdateUIEventInterval[]
static const wxChar V3DRT_BevelHeight_um[]
static const wxChar ShowRouterDebugGraphics[]
Show PNS router debug graphics while routing.
static const wxChar DRCEpsilon[]
A fudge factor for DRC.
static const wxChar V3DRT_BevelExtentFactor[]
static const wxChar DrawArcAccuracy[]
For drawsegments - arcs.
static const wxChar Skip3DModelMemoryCache[]
static const wxChar ExtraZoneDisplayModes[]
When true, a third zone-display-mode is included which strokes the filled areas and fracture boundari...
static const wxChar Skip3DModelFileCache[]
static const wxChar SmallDrillMarkSize[]
The diameter of the drill marks on print and plot outputs (in mm), when the "Drill marks" option is s...
static const wxChar DrawArcCenterStartEndMaxAngle[]
For drawsegments - arcs.
static const wxChar ExtraFillMargin[]
When filling zones, we add an extra amount of clearance to each zone to ensure that rounding errors d...
static const wxChar DRCSliverMinimumLength[]
static const wxChar ShowEventCounters[]
static const wxChar TraceMasks[]
static constexpr int min_stack
static constexpr int max_stack

References AC_KEYS::AllowManualCanvasScale, AC_KEYS::CompactFileSave, AC_KEYS::CoroutineStackSize, AC_KEYS::DebugPDFWriter, AC_KEYS::DebugZoneFiller, AC_STACK::default_stack, AC_KEYS::DrawArcAccuracy, AC_KEYS::DrawArcCenterStartEndMaxAngle, AC_KEYS::DrawBoundingBoxes, AC_KEYS::DRCEpsilon, AC_KEYS::DRCSliverAngleTolerance, AC_KEYS::DRCSliverMinimumLength, AC_KEYS::DRCSliverWidthTolerance, dumpCfg(), AC_KEYS::ExtraFillMargin, AC_KEYS::ExtraZoneDisplayModes, AC_KEYS::HideVersionFromTitle, AC_KEYS::HoleWallThickness, AC_KEYS::HotkeysDumper, m_3DRT_BevelExtentFactor, m_3DRT_BevelHeight_um, m_AllowManualCanvasScale, m_CompactSave, m_CoroutineStackSize, m_DebugPDFWriter, m_DebugZoneFiller, m_DrawArcAccuracy, m_DrawArcCenterMaxAngle, m_DrawBoundingBoxes, m_DrawTriangulationOutlines, m_DRCEpsilon, m_ExtraClearance, m_ExtraZoneDisplayModes, m_HideVersionFromTitle, m_HoleWallThickness, m_HotkeysDumper, m_MaxTangentAngleDeviation, m_MaxTrackLengthToKeep, m_MinPlotPenWidth, m_ShowEventCounters, m_ShowPcbnewExportNetlist, m_ShowPropertiesPanel, m_ShowRepairSchematic, m_ShowRouterDebugGraphics, m_Skip3DModelFileCache, m_Skip3DModelMemoryCache, m_SliverAngleTolerance, m_SliverMinimumLength, m_SliverWidthTolerance, m_SmallDrillMarkSize, m_UpdateUIEventInterval, m_UseClipper2, AC_STACK::max_stack, AC_KEYS::MaxTangentTrackAngleDeviation, AC_KEYS::MaxTrackLengthToKeep, AC_STACK::min_stack, AC_KEYS::MinPlotPenWidth, AC_KEYS::ShowEventCounters, AC_KEYS::ShowPcbnewExportNetlist, AC_KEYS::ShowPropertiesPanel, AC_KEYS::ShowRepairSchematic, AC_KEYS::ShowRouterDebugGraphics, AC_KEYS::Skip3DModelFileCache, AC_KEYS::Skip3DModelMemoryCache, AC_KEYS::SmallDrillMarkSize, AC_KEYS::StrokeTriangulation, AC_KEYS::TraceMasks, AC_KEYS::UpdateUIEventInterval, AC_KEYS::UseClipper2, AC_GROUPS::V3D_RayTracing, AC_KEYS::V3DRT_BevelExtentFactor, AC_KEYS::V3DRT_BevelHeight_um, and wxConfigLoadSetups().

Referenced by loadFromConfigFile().

Member Data Documentation

◆ m_3DRT_BevelExtentFactor

double ADVANCED_CFG::m_3DRT_BevelExtentFactor

3D-Viewer, Raytracing Factor applied to Extent.z of the item layer, used on calculation of the bevel's height.

Definition at line 235 of file advanced_config.h.

Referenced by ADVANCED_CFG(), LAYER_ITEM::Intersect(), and loadSettings().

◆ m_3DRT_BevelHeight_um

int ADVANCED_CFG::m_3DRT_BevelHeight_um

3D-Viewer, Raytracing Bevel height of layer items.

Controls the start of curvature normal on the edge. Value is in micrometre. Good values should be arround or less than the copper thickness.

Definition at line 229 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_AllowManualCanvasScale

bool ADVANCED_CFG::m_AllowManualCanvasScale

Definition at line 217 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_CompactSave

bool ADVANCED_CFG::m_CompactSave

Save files in compact display mode When is is not specified, points are written one per line.

Definition at line 141 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_CoroutineStackSize

int ADVANCED_CFG::m_CoroutineStackSize

Set the stack size for coroutines.

Definition at line 120 of file advanced_config.h.

Referenced by ADVANCED_CFG(), COROUTINE< ReturnType, ArgType >::COROUTINE(), and loadSettings().

◆ m_DebugPDFWriter

bool ADVANCED_CFG::m_DebugPDFWriter

A mode that writes PDFs without compression.

Definition at line 168 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_DebugZoneFiller

bool ADVANCED_CFG::m_DebugZoneFiller

A mode that dumps the various stages of a F_Cu fill into In1_Cu through In9_Cu.

Definition at line 163 of file advanced_config.h.

Referenced by ADVANCED_CFG(), loadSettings(), and ZONE_FILLER::ZONE_FILLER().

◆ m_DrawArcAccuracy

double ADVANCED_CFG::m_DrawArcAccuracy

Distance from an arc end point and the estimated end point, when rotating from the start point to the end point.

Definition at line 73 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_DrawArcCenterMaxAngle

double ADVANCED_CFG::m_DrawArcCenterMaxAngle

When drawing an arc, the angle ( center - start ) - ( start - end ) can be limited to avoid extremely high radii.

Definition at line 79 of file advanced_config.h.

Referenced by ADVANCED_CFG(), PCB_POINT_EDITOR::editArcEndpointKeepTangent(), and loadSettings().

◆ m_DrawBoundingBoxes

bool ADVANCED_CFG::m_DrawBoundingBoxes

Draw GAL bounding boxes in painters.

Definition at line 184 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_DrawTriangulationOutlines

bool ADVANCED_CFG::m_DrawTriangulationOutlines

When true, strokes the triangulations with visible color.

Definition at line 146 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_DRCEpsilon

double ADVANCED_CFG::m_DRCEpsilon

Epsilon for DRC tests.

Note that for zone tests this is essentially additive with m_ExtraClearance. Units are mm.

Definition at line 102 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_ExtraClearance

double ADVANCED_CFG::m_ExtraClearance

Extra fill clearance for zone fills.

Note that for zone tests this is essentially additive with m_DRCEpsilon. Units are mm.

Definition at line 96 of file advanced_config.h.

Referenced by ADVANCED_CFG(), ZONE_FILLER::buildCopperItemClearances(), and loadSettings().

◆ m_ExtraZoneDisplayModes

bool ADVANCED_CFG::m_ExtraZoneDisplayModes

When true, adds zone-diaplay-modes for stroking the zone fracture boundaries and the zone triangulation.

Definition at line 152 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_HideVersionFromTitle

bool ADVANCED_CFG::m_HideVersionFromTitle

Hides the build version from the KiCad manager frame title.

Useful for making screenshots/videos of KiCad without pinning to a specific version.

Definition at line 208 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_HoleWallThickness

double ADVANCED_CFG::m_HoleWallThickness

Hole wall plating thickness.

Used to determine actual hole size from finish hole size. Units are mm.

Definition at line 115 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_HotkeysDumper

bool ADVANCED_CFG::m_HotkeysDumper

Enable the hotkeys dumper feature, used for generating documentation.

Definition at line 179 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_MaxTangentAngleDeviation

double ADVANCED_CFG::m_MaxTangentAngleDeviation

Maximum angle between the tangent line of an arc track and a connected straight track in order to commence arc dragging.

Units are degrees.

Definition at line 85 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_MaxTrackLengthToKeep

double ADVANCED_CFG::m_MaxTrackLengthToKeep

Maximum track length to keep after doing an arc track resizing operation.

Units are mm.

Definition at line 90 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_MinPlotPenWidth

double ADVANCED_CFG::m_MinPlotPenWidth

Sets an absolute minimum pen width for plotting.

Some formats (PDF, for example) don't like ultra-thin lines. Units are mm.

Definition at line 158 of file advanced_config.h.

Referenced by ADVANCED_CFG(), loadSettings(), and KIGFX::SCH_RENDER_SETTINGS::SCH_RENDER_SETTINGS().

◆ m_ShowEventCounters

bool ADVANCED_CFG::m_ShowEventCounters

Shows debugging event counters in various places.

Definition at line 215 of file advanced_config.h.

Referenced by ADVANCED_CFG(), EVT_UPDATE_UI_RANGE(), and loadSettings().

◆ m_ShowPcbnewExportNetlist

bool ADVANCED_CFG::m_ShowPcbnewExportNetlist

Enable exporting board editor netlist to a file for troubleshooting purposes.

Definition at line 189 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_ShowPropertiesPanel

bool ADVANCED_CFG::m_ShowPropertiesPanel

Show the properties panel in applications that it hasn't been fully released for.

Definition at line 222 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_ShowRepairSchematic

bool ADVANCED_CFG::m_ShowRepairSchematic

Definition at line 210 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_ShowRouterDebugGraphics

bool ADVANCED_CFG::m_ShowRouterDebugGraphics

Show PNS router debug graphics.

Definition at line 135 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_Skip3DModelFileCache

bool ADVANCED_CFG::m_Skip3DModelFileCache

Skip reading/writing 3d model file caches This does not prevent the models from being cached in memory meaning reopening the 3d viewer in the same project session will not reload model data from disk again.

Definition at line 196 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_Skip3DModelMemoryCache

bool ADVANCED_CFG::m_Skip3DModelMemoryCache

Skip reading/writing 3d model memory caches This ensures 3d models are always reloaded from disk even if we previously opened the 3d viewer.

Definition at line 202 of file advanced_config.h.

Referenced by ADVANCED_CFG(), S3D_CACHE::load(), and loadSettings().

◆ m_SliverAngleTolerance

double ADVANCED_CFG::m_SliverAngleTolerance

◆ m_SliverMinimumLength

double ADVANCED_CFG::m_SliverMinimumLength

Definition at line 108 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_SliverWidthTolerance

double ADVANCED_CFG::m_SliverWidthTolerance

Sliver tolerances for DRC.

Units are mm and deg.

Definition at line 107 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_SmallDrillMarkSize

double ADVANCED_CFG::m_SmallDrillMarkSize

The diameter of the drill marks on print and plot outputs (in mm), when the "Drill marks" option is set to "Small mark".

Definition at line 174 of file advanced_config.h.

Referenced by ADVANCED_CFG(), loadSettings(), PlotLayerOutlines(), and PCBNEW_PRINTOUT::setupPainter().

◆ m_UpdateUIEventInterval

int ADVANCED_CFG::m_UpdateUIEventInterval

The update interval the wxWidgets sends wxUpdateUIEvents to windows.

The default is 0. Setting this to -1 will disable all automatic UI events. Any other value is the number of milliseconds between events.

See also
https://docs.wxwidgets.org/3.0/classwx_update_u_i_event.html#a24daac56f682b866baac592e761ccede.

Definition at line 130 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().

◆ m_UseClipper2

bool ADVANCED_CFG::m_UseClipper2

User Clipper2 instead of Clipper1.

Definition at line 240 of file advanced_config.h.

Referenced by ADVANCED_CFG(), and loadSettings().


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