Problem of merging for GCell::updateGContacts(), again.
This commit is contained in:
parent
97d5a1f583
commit
b664eee731
|
@ -941,24 +941,24 @@ namespace Anabatic {
|
|||
|
||||
void GCell::setSouthWestCorner ( DbU::Unit x, DbU::Unit y )
|
||||
{
|
||||
DbU::Unit dx = x - _xmin;
|
||||
DbU::Unit dy = y - _ymin;
|
||||
//DbU::Unit dx = x - _xmin;
|
||||
//DbU::Unit dy = y - _ymin;
|
||||
|
||||
for ( Contact* contact : _gcontacts ) {
|
||||
Point position = contact->getPosition().translate( dx, dy );
|
||||
/*for ( Contact* contact : _gcontacts ) {
|
||||
Point position = contact->getPosition().translate( dx, dy );
|
||||
|
||||
for ( Component* component : contact->getSlaveComponents() ) {
|
||||
Horizontal* horizontal = dynamic_cast<Horizontal*>( component );
|
||||
if (horizontal) {
|
||||
horizontal->setY( position.getY() );
|
||||
horizontal->setY( position.getY() );
|
||||
} else {
|
||||
Vertical* vertical = dynamic_cast<Vertical*>( component );
|
||||
vertical->setX( position.getX() );
|
||||
vertical->setX( position.getX() );
|
||||
}
|
||||
}
|
||||
|
||||
if (not contact->getAnchor()) contact->setPosition( position );
|
||||
}
|
||||
if (not contact->getAnchor()) contact->setPosition( Point(x,y) );
|
||||
}*/
|
||||
|
||||
_xmin = x;
|
||||
_ymin = y;
|
||||
|
@ -967,6 +967,24 @@ namespace Anabatic {
|
|||
}
|
||||
|
||||
|
||||
void GCell::updateGContacts ()
|
||||
{
|
||||
for ( Contact* contact : _gcontacts ) {
|
||||
|
||||
for ( Component* component : contact->getSlaveComponents() ) {
|
||||
Horizontal* horizontal = dynamic_cast<Horizontal*>( component );
|
||||
if (horizontal) {
|
||||
horizontal->setY( _ymin+getHeight()/2 );
|
||||
} else {
|
||||
Vertical* vertical = dynamic_cast<Vertical*>( component );
|
||||
vertical->setX( _xmin+getWidth()/2 );
|
||||
}
|
||||
}
|
||||
if (not contact->getAnchor()) contact->setPosition( Point( _xmin+getWidth()/2, _ymin+getHeight()/2 ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Contact* GCell::getGContact ( Net* net )
|
||||
{
|
||||
for ( Contact* contact : _gcontacts ) {
|
||||
|
|
|
@ -246,6 +246,7 @@ namespace Anabatic {
|
|||
void removeVSegment ( AutoSegment* );
|
||||
void removeHSegment ( AutoSegment* );
|
||||
void removeContact ( AutoContact* );
|
||||
void updateGContacts ();
|
||||
void updateContacts ();
|
||||
size_t updateDensity ();
|
||||
inline void updateKey ( size_t depth );
|
||||
|
|
Loading…
Reference in New Issue