23 #ifndef __PNS_ROUTING_SETTINGS 24 #define __PNS_ROUTING_SETTINGS
void SetOptimizerEffort(PNS_OPTIMIZATION_EFFORT aEffort)
Return true if shoving vias is enabled.
bool GetFreeAngleMode() const
Contain all persistent settings of the router, such as the mode, optimization effort,...
bool SmartPads() const
Enable/disable Smart Pads (optimized connections).
bool GetSnapToPads() const
void SetMode(PNS_MODE aMode)
Return the optimizer effort. Bigger means cleaner traces, but slower routing.
bool m_optimizeDraggedTrack
const DIRECTION_45 InitialDirection() const
void SetFreeAngleMode(bool aEnable)
void SetSuggestFinish(bool aSuggestFinish)
Return true if Smart Pads (optimized connections) is enabled.
PNS_OPTIMIZATION_EFFORT m_optimizerEffort
void SetRemoveLoops(bool aRemoveLoops)
Return true if suggesting the finish of currently placed track is on.
bool GetSnapToTracks() const
void SetCornerMode(CORNER_MODE aMode)
void SetInlineDragEnabled(bool aEnable)
void SetSmartPads(bool aSmartPads)
Return true if follow mouse mode is active (permanently on for the moment).
H/V/45 with filleted corners.
int m_shoveIterationLimit
void SetOptimizeDraggedTrack(bool aEnable)
bool RemoveLoops() const
Enable/disable loop (redundant track) removal.
bool CanViolateDRC() const
TIME_LIMIT m_shoveTimeLimit
bool FollowMouse() const
Return true if smoothing segments during dragging is enabled.
NESTED_SETTINGS is a JSON_SETTINGS that lives inside a JSON_SETTINGS.
void SetAutoPosture(bool aEnable)
Represent route directions & corner angles in a 45-degree metric.
PNS_OPTIMIZATION_EFFORT OptimizerEffort() const
Set the optimizer effort. Bigger means cleaner traces, but slower routing.
void SetShoveVias(bool aShoveVias)
Return true if loop (redundant track) removal is on.
bool SmoothDraggedSegments() const
Enable/disable smoothing segments during dragging.
PNS_MODE Mode() const
Set the routing mode.
bool GetAutoPosture() const
void SetSnapToPads(bool aSnap)
void SetStartDiagonal(bool aStartDiagonal)
bool GetFixAllSegments() const
void SetCanViolateDRC(bool aViolate)
void SetSnapToTracks(bool aSnap)
int ShoveIterationLimit() const
bool m_smoothDraggedSegments
TIME_LIMIT m_walkaroundTimeLimit
H/V with filleted corners (not yet implemented)
Guess what's better, try to make least mess on the PCB.
H/V only (90-degree corners) (not yet implemented)
Ignore collisions, mark obstacles.
bool SuggestFinish()
Enable displaying suggestions for finishing the currently placed track.
CORNER_MODE GetCornerMode() const
int WalkaroundIterationLimit() const
bool JumpOverObstacles() const
Enable/disable jumping over unmovable obstacles.
ROUTING_SETTINGS(JSON_SETTINGS *aParent, const std::string &aPath)
Return the routing mode.
bool ShoveVias() const
Enable/disable shoving vias.
int m_walkaroundIterationLimit
bool GetOptimizeDraggedTrack() const
H/V/45 with mitered corners (default)
bool InlineDragEnabled() const
void SetSmoothDraggedSegments(bool aSmooth)
Return true if jumping over unmovable obstacles is on.
void SetJumpOverObstacles(bool aJumpOverObstacles)
Push and Shove diff pair dimensions (gap) settings dialog.
void SetFixAllSegments(bool aEnable)
TIME_LIMIT ShoveTimeLimit() const
TIME_LIMIT WalkaroundTimeLimit() const