router: add via force propagation iteration limit as a user-controllable parameter in ROUTING_SETTINGS
This commit is contained in:
parent
247922ca2d
commit
e80bdf934a
|
@ -54,6 +54,7 @@ ROUTING_SETTINGS::ROUTING_SETTINGS( JSON_SETTINGS* aParent, const std::string& a
|
|||
m_walkaroundHugLengthThreshold = 1.5;
|
||||
m_autoPosture = true;
|
||||
m_fixAllSegments = true;
|
||||
m_viaForcePropIterationLimit = 40;
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "mode", reinterpret_cast<int*>( &m_routingMode ),
|
||||
static_cast<int>( RM_Walkaround ) ) );
|
||||
|
@ -68,6 +69,7 @@ ROUTING_SETTINGS::ROUTING_SETTINGS( JSON_SETTINGS* aParent, const std::string& a
|
|||
m_params.emplace_back( new PARAM<bool>( "follow_mouse", &m_followMouse, true ) );
|
||||
m_params.emplace_back( new PARAM<bool>( "start_diagonal", &m_startDiagonal, false ) );
|
||||
m_params.emplace_back( new PARAM<int>( "shove_iteration_limit", &m_shoveIterationLimit, 250 ) );
|
||||
m_params.emplace_back( new PARAM<int>( "via_force_prop_iteration_limit", &m_viaForcePropIterationLimit, 40 ) );
|
||||
|
||||
m_params.emplace_back( new PARAM_LAMBDA<int>( "shove_time_limit",
|
||||
[this] () -> int
|
||||
|
|
|
@ -154,6 +154,9 @@ public:
|
|||
|
||||
double WalkaroundHugLengthThreshold() const { return m_walkaroundHugLengthThreshold; }
|
||||
|
||||
int ViaForcePropIterationLimit() const { return m_viaForcePropIterationLimit; }
|
||||
void SetViaForcePropIterationLimit(int aLimit) { m_viaForcePropIterationLimit = aLimit; }
|
||||
|
||||
private:
|
||||
bool m_shoveVias;
|
||||
bool m_startDiagonal;
|
||||
|
@ -178,6 +181,7 @@ private:
|
|||
|
||||
int m_walkaroundIterationLimit;
|
||||
int m_shoveIterationLimit;
|
||||
int m_viaForcePropIterationLimit;
|
||||
double m_walkaroundHugLengthThreshold;
|
||||
|
||||
TIME_LIMIT m_shoveTimeLimit;
|
||||
|
|
Loading…
Reference in New Issue