23#ifndef __PNS_ROUTING_SETTINGS
24#define __PNS_ROUTING_SETTINGS
Represent route directions & corner angles in a 45-degree metric.
NESTED_SETTINGS is a JSON_SETTINGS that lives inside a JSON_SETTINGS.
Contain all persistent settings of the router, such as the mode, optimization effort,...
bool GetOptimizeEntireDraggedTrack() const
bool GetSnapToTracks() const
const DIRECTION_45 InitialDirection() const
bool RemoveLoops() const
Enable/disable loop (redundant track) removal.
void SetCornerMode(DIRECTION_45::CORNER_MODE aMode)
TIME_LIMIT m_walkaroundTimeLimit
void SetShoveVias(bool aShoveVias)
Return true if loop (redundant track) removal is on.
int ViaForcePropIterationLimit() const
TIME_LIMIT ShoveTimeLimit() const
bool SmoothDraggedSegments() const
Enable/disable smoothing segments during dragging.
void SetAutoPosture(bool aEnable)
PNS_OPTIMIZATION_EFFORT OptimizerEffort() const
Set the optimizer effort. Bigger means cleaner traces, but slower routing.
bool GetSnapToPads() const
bool FollowMouse() const
Return true if smoothing segments during dragging is enabled.
int m_viaForcePropIterationLimit
void SetSmoothDraggedSegments(bool aSmooth)
Return true if jumping over unmovable obstacles is on.
void SetOptimizeEntireDraggedTrack(bool aEnable)
bool ShoveVias() const
Enable/disable shoving vias.
bool m_smoothDraggedSegments
DIRECTION_45::CORNER_MODE m_cornerMode
void SetSnapToTracks(bool aSnap)
bool SmartPads() const
Enable/disable Smart Pads (optimized connections).
void SetSuggestFinish(bool aSuggestFinish)
Return true if Smart Pads (optimized connections) is enabled.
bool GetFreeAngleMode() const
int m_shoveIterationLimit
bool SuggestFinish()
Enable displaying suggestions for finishing the currently placed track.
double WalkaroundHugLengthThreshold() const
bool GetAutoPosture() const
void SetMode(PNS_MODE aMode)
Return the optimizer effort. Bigger means cleaner traces, but slower routing.
void SetAllowDRCViolations(bool aViolate)
void SetJumpOverObstacles(bool aJump)
TIME_LIMIT WalkaroundTimeLimit() const
bool m_allowDRCViolations
bool m_optimizeEntireDraggedTrack
void SetSnapToPads(bool aSnap)
int m_walkaroundIterationLimit
bool GetFixAllSegments() const
TIME_LIMIT m_shoveTimeLimit
bool JumpOverObstacles() const
bool AllowDRCViolations() const
void SetViaForcePropIterationLimit(int aLimit)
void SetStartDiagonal(bool aStartDiagonal)
int WalkaroundIterationLimit() const
void SetFreeAngleMode(bool aEnable)
bool GetAllowDRCViolationsSetting() const
PNS_MODE Mode() const
Set the routing mode.
int ShoveIterationLimit() const
void SetSmartPads(bool aSmartPads)
Return true if follow mouse mode is active (permanently on for the moment).
void SetOptimizerEffort(PNS_OPTIMIZATION_EFFORT aEffort)
Return true if shoving vias is enabled.
PNS_OPTIMIZATION_EFFORT m_optimizerEffort
DIRECTION_45::CORNER_MODE GetCornerMode() const
void SetFixAllSegments(bool aEnable)
void SetRemoveLoops(bool aRemoveLoops)
Return true if suggesting the finish of currently placed track is on.
double m_walkaroundHugLengthThreshold
Push and Shove diff pair dimensions (gap) settings dialog.
@ RM_MarkObstacles
Ignore collisions, mark obstacles.
@ RM_Walkaround
Only walk around.