Routing: follow up scorpio810's review of #1245

- Rename the `near` lambda in Conductor::setPathPoints() to `isNear`:
  `near` and `far` are empty macros in the Windows headers (minwindef.h).
- Reword the log when setPathPoints() refuses a route. "does not join the
  two terminals" named only one of its reasons; the router always returns
  the two terminals and at least one exit point, so a refusal means the
  route is not a run of horizontal and vertical segments between them.
- README: running along another wire is penalised, not forbidden, so two
  wires can end up drawn on top of each other.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ispyisail
2026-10-03 08:13:31 +13:00
parent 25084a44da
commit b0d73080ce
3 changed files with 15 additions and 7 deletions
+7 -2
View File
@@ -1264,8 +1264,13 @@ QString QetScriptApi::applyRoute(Conductor *conductor, const QString &caller)
return QStringLiteral("no-route");
}
if (!conductor->setPathPoints(route.points)) {
log(QStringLiteral("qet.%1: the route found does not join the two terminals; "
"the conductor keeps its path").arg(caller));
// ConductorRouter always gives at least the two terminals and an
// exit point between them, so this is a route that is not a run
// of horizontal and vertical segments from one terminal to the
// other -- a bug in the router, not something the folio did.
log(QStringLiteral("qet.%1: the route found was refused (it must run in "
"horizontal and vertical segments from one terminal to "
"the other); the conductor keeps its path").arg(caller));
return QStringLiteral("no-route");
}
return QStringLiteral("routed");