* ./hurricane:
- Change: In Instance & Cell, do *not* materialize unplaced instances. This is to avoid overloading the QuadTree at point (0,0) and besides has no senses. Uses the PlacementStatus state. - Bug: In Viewer CMakeLists.txt, put tool include directories first.
This commit is contained in:
parent
294867edc0
commit
c293c57fb8
|
@ -258,9 +258,13 @@ void Cell::flattenNets(bool buildRings)
|
|||
void Cell::materialize()
|
||||
// *********************
|
||||
{
|
||||
for_each_instance(instance, getInstances()) instance->materialize(); end_for;
|
||||
for_each_net(net, getNets()) net->materialize(); end_for;
|
||||
for_each_marker(marker, getMarkers()) marker->materialize(); end_for;
|
||||
forEach ( Instance*, iinstance, getInstances() ) {
|
||||
if ( iinstance->getPlacementStatus() != Instance::PlacementStatus::UNPLACED )
|
||||
iinstance->materialize();
|
||||
}
|
||||
|
||||
forEach ( Net* , inet , getNets () ) inet ->materialize();
|
||||
forEach ( Marker*, imarker, getMarkers() ) imarker->materialize();
|
||||
}
|
||||
|
||||
void Cell::unmaterialize()
|
||||
|
|
|
@ -303,7 +303,7 @@ InstanceFilter Instance::getIsNotUnplacedFilter()
|
|||
void Instance::materialize()
|
||||
// *************************
|
||||
{
|
||||
if (!isMaterialized()) {
|
||||
if (not isMaterialized()) {
|
||||
Box boundingBox = getBoundingBox();
|
||||
if (!boundingBox.isEmpty()) {
|
||||
QuadTree* quadTree = _cell->_getQuadTree();
|
||||
|
@ -375,10 +375,17 @@ void Instance::setTransformation(const Transformation& transformation)
|
|||
void Instance::setPlacementStatus(const PlacementStatus& placementstatus)
|
||||
// **********************************************************************
|
||||
{
|
||||
// if (placementstatus != _placementStatus) {
|
||||
// Invalidate(true);
|
||||
_placementStatus = placementstatus;
|
||||
// }
|
||||
if (placementstatus != _placementStatus) {
|
||||
invalidate(true);
|
||||
|
||||
if (_placementStatus == PlacementStatus::UNPLACED)
|
||||
materialize ();
|
||||
else if ( placementstatus == PlacementStatus::UNPLACED )
|
||||
unmaterialize ();
|
||||
|
||||
_placementStatus = placementstatus;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void Instance::setMasterCell(Cell* masterCell, bool secureFlag)
|
||||
|
@ -449,7 +456,12 @@ void Instance::_postCreate()
|
|||
end_for;
|
||||
}
|
||||
|
||||
bool autoMaterialization = not autoMaterializationIsDisabled();
|
||||
disableAutoMaterialization();
|
||||
|
||||
Inherit::_postCreate();
|
||||
|
||||
if ( autoMaterialization ) enableAutoMaterialization();
|
||||
}
|
||||
|
||||
void Instance::_preDestroy()
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
include_directories ( ${PYTHON_INCLUDE_PATH}
|
||||
${HURRICANE_SOURCE_DIR}/src/hurricane
|
||||
include_directories ( ${HURRICANE_SOURCE_DIR}/src/hurricane
|
||||
${HURRICANE_SOURCE_DIR}/src/isobar
|
||||
${PYTHON_INCLUDE_PATH}
|
||||
)
|
||||
set ( sources ProxyProperty.cpp
|
||||
PyBox.cpp
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
include ( ${QT_USE_FILE} )
|
||||
|
||||
include_directories ( ${Boost_INCLUDE_DIRS}
|
||||
${HURRICANE_SOURCE_DIR}/src/hurricane
|
||||
${HURRICANE_SOURCE_DIR}/src/viewer )
|
||||
include_directories ( ${HURRICANE_SOURCE_DIR}/src/hurricane
|
||||
${HURRICANE_SOURCE_DIR}/src/viewer
|
||||
${Boost_INCLUDE_DIRS} )
|
||||
|
||||
set ( mocincludes hurricane/viewer/HApplication.h
|
||||
hurricane/viewer/PaletteItem.h
|
||||
|
|
Loading…
Reference in New Issue