Modified the GDS path handling so that duplicate points produce

a warning appropriate for duplicate points and not a path
reversal warning.  Modified the output for path reversal or
duplicate point errors so that the coordinate is in GDS units
and not path units (which are multiplied by 2).
This commit is contained in:
R. Timothy Edwards 2026-06-08 15:58:06 -04:00
parent 788c73b867
commit 3934b77f64
2 changed files with 15 additions and 3 deletions

View File

@ -537,7 +537,6 @@ calmaElementPath(void)
int layer, dt, width, pathtype, ciftype, savescale;
int xmin, ymin, xmax, ymax, temp;
CIFPath *pathheadp, *pathp, *previousp;
Rect segment;
Plane *plane;
int first,last;
CellUse *use;

View File

@ -462,9 +462,22 @@ CIFPaintWirePath(
/* Wire reverses direction. Break wire here, */
/* draw, and start new polygon. */
TxError("Warning: direction reversal in path at (%d, %d).\n",
pathp->cifp_x, pathp->cifp_y);
/* Check first if last point and current point */
/* are the same, in which case a different */
/* message should be issued (and possibly */
/* should be handled differently?) */
if (previousp && previousp->cifp_x == pathp->cifp_x
&& previousp->cifp_y == pathp->cifp_y)
{
TxError("Warning: duplicate point in path at (%d, %d).\n",
pathp->cifp_x / 2, pathp->cifp_y / 2);
}
else
{
TxError("Warning: direction reversal in path at (%d, %d).\n",
pathp->cifp_x / 2, pathp->cifp_y / 2);
}
phi = theta;
if (endcap)
{