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

#include <advanced_config.h>

Static Public Member Functions

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

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.
 
double m_DrawArcCenterMaxAngle
 When drawing an arc, the angle ( center - start ) - ( start - end ) can be limited to avoid extremely high radii.
 
double m_MaxTangentAngleDeviation
 Maximum angle between the tangent line of an arc track and a connected straight track in order to commence arc dragging.
 
double m_MaxTrackLengthToKeep
 Maximum track length to keep after doing an arc track resizing operation.
 
double m_ExtraClearance
 When filling zones, we add an extra amount of clearance to each zone to ensure that rounding errors do not overrun minimum clearance distances.
 
bool m_EnableCreepageSlot
 Enable the minimum slot width check for creepage.
 
double m_DRCEpsilon
 Epsilon for DRC tests.
 
double m_SliverWidthTolerance
 Sliver width tolerance for DRC.
 
double m_SliverMinimumLength
 Sliver length tolerance for DRC.
 
double m_SliverAngleTolerance
 Sliver angle to tolerance for DRC.
 
double m_HoleWallThickness
 Dimension used to calculate the actual hole size from the finish hole size.
 
int m_CoroutineStackSize
 Configure the coroutine stack size in bytes.
 
int m_UpdateUIEventInterval
 The update interval the wxWidgets sends wxUpdateUIEvents to windows.
 
bool m_ShowRouterDebugGraphics
 Show PNS router debug graphics while routing.
 
bool m_EnableRouterDump
 Enable PNS router to dump state information for debug purpose (press 0 while routing)
 
bool m_HyperZoom
 Slide the zoom steps over for debugging things "up close".
 
bool m_CompactSave
 Save files in compact display mode.
 
bool m_DrawTriangulationOutlines
 Enable drawing the triangulation outlines with a visible color.
 
bool m_ExtraZoneDisplayModes
 When true, adds zone-display-modes for stroking the zone fracture boundaries and the zone triangulation.
 
double m_MinPlotPenWidth
 Absolute minimum pen width for plotting.
 
bool m_DebugZoneFiller
 A mode that dumps the various stages of a F_Cu fill into In1_Cu through In9_Cu.
 
bool m_DebugPDFWriter
 A mode that writes PDFs without compression.
 
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".
 
bool m_HotkeysDumper
 Enable the hotkeys dumper feature for generating documentation.
 
bool m_DrawBoundingBoxes
 Draw GAL bounding boxes in painters.
 
bool m_ShowPcbnewExportNetlist
 Enable exporting board editor netlist to a file for troubleshooting purposes.
 
bool m_Skip3DModelFileCache
 Skip reading/writing 3D model file caches.
 
bool m_Skip3DModelMemoryCache
 Skip reading/writing 3D model memory caches.
 
bool m_HideVersionFromTitle
 Hide the build version from the KiCad manager frame title.
 
bool m_ShowRepairSchematic
 Enable showing schematic repair output.
 
bool m_ShowEventCounters
 Shows debugging event counters in various places.
 
int m_MsgPanelShowUuids
 Show UUIDs of items in the message panel.
 
bool m_AllowManualCanvasScale
 Allow manual scaling of canvas.
 
int m_3DRT_BevelHeight_um
 Set the bevel height of layer items in 3D viewer when ray tracing.
 
double m_3DRT_BevelExtentFactor
 3D-Viewer raytracing factor applied to Extent.z of the item layer.
 
bool m_Use3DConnexionDriver
 Use the 3DConnexion Driver.
 
bool m_IncrementalConnectivity
 Use the new incremental netlister for realtime jobs.
 
int m_DisambiguationMenuDelay
 The number of milliseconds to wait in a click before showing a disambiguation menu.
 
bool m_EnableDesignBlocks
 Enable the new Design Blocks feature.
 
bool m_EnableGenerators
 Enable support for generators.
 
bool m_EnableGit
 Enable git integration.
 
bool m_EnableLibWithText
 Enable option to load lib files with text editor.
 
bool m_EnableLibDir
 Enable option to open lib file directory.
 
bool m_EnableEeschemaPrintCairo
 Enable Eeschema printing using Cairo.
 
bool m_EnableEeschemaExportClipboardCairo
 Enable Eeschema Export to clipboard using Cairo.
 
double m_PcbSelectionVisibilityRatio
 Board object selection visibility limit.
 
double m_FontErrorSize
 Deviation between font's bezier curve ideal and the poligonized curve.
 
double m_OcePluginLinearDeflection
 OCE (STEP/IGES) 3D Plugin Tesselation Linear Deflection.
 
double m_OcePluginAngularDeflection
 OCE (STEP/IGES) 3D Plugin Tesselation Angular Deflection.
 
int m_TriangulateSimplificationLevel
 The number of internal units that will be allowed to deflect from the base segment when creating a new segment.
 
int m_TriangulateMinimumArea
 The minimum area of a polygon that can be left over after triangulation and still consider the triangulation successful.
 
bool m_EnableCacheFriendlyFracture
 Enable the use of a cache-friendlier and therefore faster version of the polygon fracture algorithm.
 
bool m_EnableAPILogging
 Log IPC API requests and responses.
 
int m_MaxFilesystemWatchers
 Maximum number of filesystem watchers to use.
 
int m_MinorSchematicGraphSize
 Set the number of items in a schematic graph for it to be considered "minor".
 
int m_ResolveTextRecursionDepth
 The number of recursions to resolve text variables.
 
bool m_EnableExtensionSnaps
 Enable snap anchors based on item line extensions.
 
int m_ExtensionSnapTimeoutMs
 If extension snaps are enabled, this is the timeout in milliseconds before a hovered item gets extensions shown.
 
bool m_ExtensionSnapActivateOnHover
 If extension snaps are enabled, 'activate' items on hover, even if not near a snap point.
 
bool m_EnableSnapAnchorsDebug
 Enable snap anchors debug visualization.
 
double m_MinParallelAngle
 Minimum overlapping angle for which an arc is considered to be parallel to its paired arc.
 
double m_HoleWallPaintingMultiplier
 What factor to use when painting via and PTH pad hole walls, so that the painted hole wall can be overemphasized compared to physical reality to make the wall easier to see on-screen.
 
int m_MaximumThreads
 Default value for the maximum number of threads to use for parallel processing.
 
double m_MinimumMarkerSeparationDistance
 When finding overlapped marker a minium distance (in mm) between two DRC markers required to mark it as overlapped.
 

Private Member Functions

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

Detailed Description

Definition at line 62 of file advanced_config.h.

Constructor & Destructor Documentation

◆ ADVANCED_CFG()

ADVANCED_CFG::ADVANCED_CFG ( )
private

Definition at line 210 of file advanced_config.cpp.

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_DisambiguationMenuDelay, m_DrawArcAccuracy, m_DrawArcCenterMaxAngle, m_DrawBoundingBoxes, m_DrawTriangulationOutlines, m_DRCEpsilon, m_EnableAPILogging, m_EnableCacheFriendlyFracture, m_EnableCreepageSlot, m_EnableDesignBlocks, m_EnableEeschemaExportClipboardCairo, m_EnableEeschemaPrintCairo, m_EnableExtensionSnaps, m_EnableGenerators, m_EnableGit, m_EnableLibDir, m_EnableLibWithText, m_EnableRouterDump, m_EnableSnapAnchorsDebug, m_ExtensionSnapActivateOnHover, m_ExtensionSnapTimeoutMs, m_ExtraClearance, m_ExtraZoneDisplayModes, m_FontErrorSize, m_HideVersionFromTitle, m_HoleWallPaintingMultiplier, m_HoleWallThickness, m_HotkeysDumper, m_HyperZoom, m_IncrementalConnectivity, m_MaxFilesystemWatchers, m_MaximumThreads, m_MaxTangentAngleDeviation, m_MaxTrackLengthToKeep, m_MinimumMarkerSeparationDistance, m_MinorSchematicGraphSize, m_MinParallelAngle, m_MinPlotPenWidth, m_MsgPanelShowUuids, m_OcePluginAngularDeflection, m_OcePluginLinearDeflection, m_PcbSelectionVisibilityRatio, m_ResolveTextRecursionDepth, m_ShowEventCounters, m_ShowPcbnewExportNetlist, m_ShowRepairSchematic, m_ShowRouterDebugGraphics, m_Skip3DModelFileCache, m_Skip3DModelMemoryCache, m_SliverAngleTolerance, m_SliverMinimumLength, m_SliverWidthTolerance, m_SmallDrillMarkSize, m_TriangulateMinimumArea, m_TriangulateSimplificationLevel, m_UpdateUIEventInterval, and m_Use3DConnexionDriver.

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 310 of file advanced_config.cpp.

Referenced by PCB_GRID_HELPER::AddConstructionItems(), PCB_GRID_HELPER::BestSnapAnchor(), ZONE_FILLER::buildCopperItemClearances(), EXPORTER_STEP::buildZones3DShape(), S3D_CACHE::checkCache(), PDF_PLOTTER::closePdfStream(), commonParallelProjection(), CONSTRUCTION_MANAGER::CONSTRUCTION_MANAGER(), COROUTINE< ReturnType, ArgType >::COROUTINE(), KIFONT::OUTLINE_DECOMPOSER::cubicTo(), DIALOG_PRINT_USING_PRINTER::DIALOG_PRINT_USING_PRINTER(), SCH_EDIT_FRAME::doReCreateMenuBar(), KICAD_MANAGER_FRAME::doReCreateMenuBar(), PCB_EDIT_FRAME::doReCreateMenuBar(), EDIT_TOOL::DragArcTrack(), KIGFX::PCB_PAINTER::draw(), SCH_EDIT_FRAME::DrawCurrentSheetToClipboard(), KIGFX::OPENGL_GAL::drawTriangulatedPolyset(), ARC_POINT_EDIT_BEHAVIOR::editArcEndpointKeepTangent(), GRID_HELPER::enableAndGetAnchorDebug(), EVT_MENU_RANGE(), EVT_UPDATE_UI_RANGE(), PRETTIFIED_FILE_OUTPUTFORMATTER::Finish(), BOARD_DESIGN_SETTINGS::GetDRCEpsilon(), BOARD_DESIGN_SETTINGS::GetHolePlatingThickness(), GetKiCadThreadPool(), GetMsgPanelDisplayUuid(), PCB_TEXT::GetShownText(), PCB_TEXTBOX::GetShownText(), SCH_FIELD::GetShownText(), SCH_TEXT::GetShownText(), SCH_TEXTBOX::GetShownText(), SCH_LABEL_BASE::GetShownText(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), KICAD_API_SERVER::handleApiEvent(), ROUTER_TOOL::handleCommonEvents(), KICAD_SINGLETON::Init(), SYMBOL_EDITOR_CONTROL::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), HOTKEY_STORE::Init(), PGM_BASE::InitPgm(), BOARD_ADAPTER::InitSettings(), PANEL_HOTKEYS_EDITOR::installButtons(), LAYER_ITEM::Intersect(), CONNECTION_GRAPH::IsMinor(), SCH_EDIT_FRAME::KiwayMailIn(), S3D_CACHE::load(), PCB_BASE_FRAME::LoadSettings(), SIMULATOR_FRAME::LoadSimulator(), EE_SELECTION_TOOL::Main(), PL_SELECTION_TOOL::Main(), PCB_SELECTION_TOOL::Main(), FOOTPRINT_PREVIEW_PANEL::New(), NL_3D_VIEWER_PLUGIN::NL_3D_VIEWER_PLUGIN(), NL_FOOTPRINT_PROPERTIES_PLUGIN::NL_FOOTPRINT_PROPERTIES_PLUGIN(), NL_GERBVIEW_PLUGIN::NL_GERBVIEW_PLUGIN(), NL_PCBNEW_PLUGIN::NL_PCBNEW_PLUGIN(), NL_PL_EDITOR_PLUGIN::NL_PL_EDITOR_PLUGIN(), NL_SCHEMATIC_PLUGIN::NL_SCHEMATIC_PLUGIN(), DIALOG_DRC::OnDRCItemSelected(), PROJECT_TREE_PANE::onRight(), PANEL_COMMON_SETTINGS::PANEL_COMMON_SETTINGS(), PANEL_SETUP_CONSTRAINTS::PANEL_SETUP_CONSTRAINTS(), BRDITEMS_PLOTTER::PlotDrillMarks(), PlotLayerOutlines(), processFace(), KICAD_MANAGER_FRAME::ProjectChanged(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), readSTEP(), SCH_EDIT_FRAME::RecalculateConnections(), SCH_EDIT_FRAME::ReCreateOptToolbar(), SYMBOL_EDIT_FRAME::ReCreateOptToolbar(), FOOTPRINT_EDIT_FRAME::ReCreateOptToolbar(), FOOTPRINT_VIEWER_FRAME::ReCreateOptToolbar(), PCB_EDIT_FRAME::ReCreateOptToolbar(), PROJECT_TREE_PANE::ReCreateTreePrj(), PNS::ROUTER::ROUTER(), DRC_TEST_PROVIDER_SLIVER_CHECKER::Run(), ERC_TESTER::RunTests(), SCH_RENDER_SETTINGS::SCH_RENDER_SETTINGS(), BOARD_EDITOR_CONTROL::setTransitions(), PCBNEW_PRINTOUT::setupPainter(), PNS_KICAD_IFACE::SetView(), EDA_BASE_FRAME::ShowPreferences(), KICAD_API_SERVER::Start(), PDF_PLOTTER::startPdfStream(), DRC_TEST_PROVIDER_CREEPAGE::testCreepage(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testShapeLineChain(), PROJECT_TREE_PANE::updateGitStatusIcons(), SCH_EDIT_FRAME::WriteNetListFile(), ZONE_FILLER::ZONE_FILLER(), and PCB_EDIT_FRAME::~PCB_EDIT_FRAME().

◆ loadFromConfigFile()

void ADVANCED_CFG::loadFromConfigFile ( )
private

Load the config from the normal configuration file.

Definition at line 317 of file advanced_config.cpp.

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

Referenced by ADVANCED_CFG().

◆ loadSettings()

void ADVANCED_CFG::loadSettings ( wxConfigBase &  aCfg)
private

Load config from the given configuration base.

Definition at line 344 of file advanced_config.cpp.

References AC_KEYS::AllowManualCanvasScale, AC_KEYS::CompactFileSave, AC_KEYS::CoroutineStackSize, AC_KEYS::DebugPDFWriter, AC_KEYS::DebugZoneFiller, AC_STACK::default_stack, AC_KEYS::DisambiguationTime, AC_KEYS::DrawArcAccuracy, AC_KEYS::DrawArcCenterStartEndMaxAngle, AC_KEYS::DrawBoundingBoxes, AC_KEYS::DRCEpsilon, AC_KEYS::DRCSliverAngleTolerance, AC_KEYS::DRCSliverMinimumLength, AC_KEYS::DRCSliverWidthTolerance, dumpCfg(), AC_KEYS::EnableAPILogging, AC_KEYS::EnableCacheFriendlyFracture, AC_KEYS::EnableCreepageSlot, AC_KEYS::EnableDesignBlocks, AC_KEYS::EnableEeschemaExportClipboardCairo, AC_KEYS::EnableEeschemaPrintCairo, AC_KEYS::EnableExtensionSnaps, AC_KEYS::EnableGenerators, AC_KEYS::EnableGit, AC_KEYS::EnableLibDir, AC_KEYS::EnableLibWithText, AC_KEYS::EnableRouterDump, AC_KEYS::EnableSnapAnchorsDebug, AC_KEYS::ExtensionSnapActivateOnHover, AC_KEYS::ExtensionSnapTimeoutMs, AC_KEYS::ExtraFillMargin, AC_KEYS::ExtraZoneDisplayModes, AC_KEYS::FontErrorSize, AC_KEYS::HideVersionFromTitle, AC_KEYS::HoleWallPaintingMultiplier, AC_KEYS::HoleWallThickness, AC_KEYS::HotkeysDumper, AC_KEYS::HyperZoom, AC_KEYS::IncrementalConnectivity, kicadTraceCoroutineStack, m_3DRT_BevelExtentFactor, m_3DRT_BevelHeight_um, m_AllowManualCanvasScale, m_CompactSave, m_CoroutineStackSize, m_DebugPDFWriter, m_DebugZoneFiller, m_DisambiguationMenuDelay, m_DrawArcAccuracy, m_DrawArcCenterMaxAngle, m_DrawBoundingBoxes, m_DrawTriangulationOutlines, m_DRCEpsilon, m_EnableAPILogging, m_EnableCacheFriendlyFracture, m_EnableCreepageSlot, m_EnableDesignBlocks, m_EnableEeschemaExportClipboardCairo, m_EnableEeschemaPrintCairo, m_EnableExtensionSnaps, m_EnableGenerators, m_EnableGit, m_EnableLibDir, m_EnableLibWithText, m_EnableRouterDump, m_EnableSnapAnchorsDebug, m_ExtensionSnapActivateOnHover, m_ExtensionSnapTimeoutMs, m_ExtraClearance, m_ExtraZoneDisplayModes, m_FontErrorSize, m_HideVersionFromTitle, m_HoleWallPaintingMultiplier, m_HoleWallThickness, m_HotkeysDumper, m_HyperZoom, m_IncrementalConnectivity, m_MaxFilesystemWatchers, m_MaximumThreads, m_MaxTangentAngleDeviation, m_MaxTrackLengthToKeep, m_MinorSchematicGraphSize, m_MinParallelAngle, m_MinPlotPenWidth, m_MsgPanelShowUuids, m_OcePluginAngularDeflection, m_OcePluginLinearDeflection, m_PcbSelectionVisibilityRatio, m_ResolveTextRecursionDepth, m_ShowEventCounters, m_ShowPcbnewExportNetlist, m_ShowRepairSchematic, m_ShowRouterDebugGraphics, m_Skip3DModelFileCache, m_Skip3DModelMemoryCache, m_SliverAngleTolerance, m_SliverMinimumLength, m_SliverWidthTolerance, m_SmallDrillMarkSize, m_TriangulateMinimumArea, m_TriangulateSimplificationLevel, m_UpdateUIEventInterval, m_Use3DConnexionDriver, AC_STACK::max_stack, AC_KEYS::MaxFileSystemWatchers, AC_KEYS::MaximumThreads, AC_KEYS::MaxTangentTrackAngleDeviation, AC_KEYS::MaxTrackLengthToKeep, AC_STACK::min_stack, AC_KEYS::MinorSchematicGraphSize, AC_KEYS::MinParallelAngle, AC_KEYS::MinPlotPenWidth, AC_KEYS::MsgPanelShowUuids, AC_KEYS::OcePluginAngularDeflection, AC_KEYS::OcePluginLinearDeflection, AC_KEYS::PcbSelectionVisibilityRatio, AC_KEYS::ResolveTextRecursionDepth, AC_KEYS::ShowEventCounters, AC_KEYS::ShowPcbnewExportNetlist, AC_KEYS::ShowRepairSchematic, AC_KEYS::ShowRouterDebugGraphics, AC_KEYS::Skip3DModelFileCache, AC_KEYS::Skip3DModelMemoryCache, AC_KEYS::SmallDrillMarkSize, AC_KEYS::StrokeTriangulation, AC_KEYS::TraceMasks, AC_KEYS::TriangulateMinimumArea, AC_KEYS::TriangulateSimplificationLevel, AC_KEYS::UpdateUIEventInterval, AC_KEYS::Use3DConnexionDriver, AC_GROUPS::V3D_RayTracing, AC_KEYS::V3DRT_BevelExtentFactor, AC_KEYS::V3DRT_BevelHeight_um, and wxConfigLoadSetups().

Referenced by loadFromConfigFile().


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