Corrected an error with the bloat-all CIF operator in which
bloat-all would fail to operate from the top layer of a contact type due to the use of DBplane(type) instead of counting all planes of the contact.
This commit is contained in:
parent
5ebbed4c12
commit
89b6f4f92b
14
cif/CIFgen.c
14
cif/CIFgen.c
|
|
@ -1327,9 +1327,17 @@ cifBloatAllFunc(tile, bls)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int pNum = DBPlane(type);
|
if (DBIsContact(type))
|
||||||
pmask = (bloats->bl_plane < 0) ? 0 :
|
{
|
||||||
CoincidentPlanes(connect, PlaneNumToMaskBit(pNum));
|
pmask = (bloats->bl_plane < 0) ? 0 :
|
||||||
|
CoincidentPlanes(connect, DBLayerPlanes(type));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int pNum = DBPlane(type);
|
||||||
|
pmask = (bloats->bl_plane < 0) ? 0 :
|
||||||
|
CoincidentPlanes(connect, PlaneNumToMaskBit(pNum));
|
||||||
|
}
|
||||||
if (pmask == 0) TiToRect(tile, &area);
|
if (pmask == 0) TiToRect(tile, &area);
|
||||||
if (bloats->bl_plane < 0)
|
if (bloats->bl_plane < 0)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -895,6 +895,24 @@ DBIsContact(type)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ----------------------------------------------------------------------------
|
||||||
|
*
|
||||||
|
* DBLayerPlanes --
|
||||||
|
*
|
||||||
|
* Like LayerPlaneMask(), except as a subroutine, not a macro. For export
|
||||||
|
* to other routines.
|
||||||
|
*
|
||||||
|
* ----------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
PlaneMask
|
||||||
|
DBLayerPlanes(type)
|
||||||
|
TileType type;
|
||||||
|
{
|
||||||
|
return LayerPlaneMask(type);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ----------------------------------------------------------------------------
|
* ----------------------------------------------------------------------------
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -829,7 +829,6 @@ extern void DBTechInitContact();
|
||||||
extern void DBTechFinalContact();
|
extern void DBTechFinalContact();
|
||||||
extern void DBTechFinalConnect();
|
extern void DBTechFinalConnect();
|
||||||
extern void DBTechInitConnect();
|
extern void DBTechInitConnect();
|
||||||
extern bool DBIsContact();
|
|
||||||
|
|
||||||
/* Cell symbol table */
|
/* Cell symbol table */
|
||||||
extern void DBCellInit();
|
extern void DBCellInit();
|
||||||
|
|
@ -899,6 +898,8 @@ extern Plane *DBCellGenerateSimpleSubstrate();
|
||||||
extern TileType DBPlaneToResidue();
|
extern TileType DBPlaneToResidue();
|
||||||
extern TileType DBTechFindStacking();
|
extern TileType DBTechFindStacking();
|
||||||
extern bool DBIsContact();
|
extern bool DBIsContact();
|
||||||
|
extern PlaneMask DBLayerPlanes();
|
||||||
|
|
||||||
extern TileTypeBitMask *DBResidueMask();
|
extern TileTypeBitMask *DBResidueMask();
|
||||||
extern void DBFullResidueMask();
|
extern void DBFullResidueMask();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue