Left in the new code supporting the "calma contact true" option

for the squares-grid operator and for GDS compression.  But I
reverted the "calma contact" option to be false by default, because
the method does not exactly match the output when not using cell
instance arrays, and so may produce unexpected results.  Will
need a different implementation that uses the same code to generate
the same (effective) layout.
This commit is contained in:
Tim Edwards 2022-11-10 14:46:26 -05:00
parent e37a4f418a
commit 05056d2f1f
3 changed files with 12 additions and 5 deletions

View File

@ -564,6 +564,10 @@ CalmaTechInit()
ASSERT(sizeof(FourByteInt)==4, "definition in calmaInt.h");
ASSERT(sizeof(TwoByteInt)==2, "definition in calmaInt.h");
/* NOTE: Enable the code below when CalmaContactArrays */
/* behaves like the non-arrayed function and can be enabled */
/* by default. */
#if 0
/* Initialize CalmaFlattenByName to have one entry for */
/* "$$*$$" to match the name style used by the contact */
/* array cell generation. This can be overridden by the */
@ -575,4 +579,5 @@ CalmaTechInit()
*CalmaFlattenUsesByName = StrDup((char **)NULL, "$$*$$");
*(CalmaFlattenUsesByName + 1) = NULL;
}
#endif
}

View File

@ -67,9 +67,12 @@ time_t *CalmaDateStamp = NULL; /* If non-NULL, output this for creation date s
bool CalmaAllowUndefined = FALSE; /* If TRUE, allow calls to undefined cells */
bool CalmaAllowAbstract = FALSE; /* If TRUE, allow abstract views to be written */
/* CalmaContactArrays changed from FALSE to TRUE 11/10/2022 */
bool CalmaContactArrays = TRUE; /* If TRUE, output contacts as subcell arrays */
/* Experimental stuff---not thoroughly tested (as of Sept. 2007)! */
/* Experimental stuff---not thoroughly tested. In particular, the */
/* array generation of CalmaContactArrays is different from that */
/* used by the cifSquareFunc(), and should be using the */
/* cifFillSquaresArea() function directly, and include slots. */
bool CalmaContactArrays = FALSE; /* If TRUE, output contacts as subcell arrays */
bool CalmaMergeTiles = FALSE; /* If TRUE, merge tiles into polygons in output. */
#ifdef HAVE_ZLIB

View File

@ -2050,8 +2050,7 @@ CIFTechFinal()
(op->co_opcode == CIFOP_OR) &&
(TTMaskIsZero(&op->co_cifMask)); op = op->co_next);
if (op && ((op->co_opcode == CIFOP_SQUARES) ||
(op->co_opcode == CIFOP_SQUARES_G) ||
(op->co_opcode == CIFOP_SLOTS)) && (op->co_next == NULL))
(op->co_opcode == CIFOP_SQUARES_G)) && (op->co_next == NULL))
{
clientdata = op->co_client;
for (op = style->cs_layers[i]->cl_ops; op->co_opcode == CIFOP_OR;