UpdateSession description (API) More...

Additional Inherited Members | |
Property Collection |
UpdateSession description (API)
Here is only an outline of the UpdateSession mechanism. The classes involved are:
When a Go is to be displayed, it has to be inserted inside one of the QuadTree of it's owner Cell. QuadTree allows fast geometric queries which are used extensively to perform the display. If a Go is not inserted in a QuadTree it will not be displayed at all or be included in any geometric query. When we insert a Go in a QuadTree, we talk about materialization. So a Go can be in two states: materialized or unmaterialized. The default behavior is to materialize a Go as soon as it is created.
Now comes the UpdateSession mechanism. When the characteristics of a Go are changed, it may be needed to update it's position inside the QuadTree, or even to change of QuadTree (in case of a Layer change). Basically, the mechanism proceed in three stages:
invalidate() method is called, that unmaterialize() it, then adds it to the current UpdateSession. This is done by adding the UpdateSession, as a property, to the Go. The Go owner (it's Cell) is also notified a Cell::Flags::CellAboutToChange.Cell::Flags::CellChanged.It is very important to notice that the Cells gets change notifications only when a Go is changed, not when it is created. If we want the Cell to be notified, we must invalidate it manually. This is particularly critical when working with ExtensionGo.
| Generated by doxygen 1.9.1 on Wed Nov 20 2024 | Return to top of page |
| Hurricane VLSI Database | Copyright © 2000-2020 Bull S.A. All rights reserved |