Public Types | |
enum | DensityMode { AverageHVDensity =1, AverageHDensity =2, AverageVDensity =3, MaxHVDensity =4, MaxVDensity =5, MaxHDensity =6, MaxDensity =7 } |
Public Member Functions | |
Cell * | getCell () const |
KatabaticEngine * | getKatabatic () const |
unsigned int | getDensityMode () const |
size_t | getHEdgeCapacity () const |
size_t | getVEdgeCapacity () const |
Interval | getUSide (unsigned int) const |
size_t | checkDensity () const |
size_t | updateDensity () |
void | updateContacts (unsigned int flags=KbOpenSession) |
void | setDensityMode (unsigned int) |
Public Member Functions inherited from Grid< GCell > | |
GCell * | getGCell (unsigned int index) const |
GCell * | getGCell (const Point p) const |
GCell * | getGCell (const Point p1, const Point p2) const |
GCell * | getGCellLeft (const GCell *gcell) const |
GCell * | getGCellRight (const GCell *gcell) const |
GCell * | getGCellUp (const GCell *gcell) const |
GCell * | getGCellDown (const GCell *gcell) const |
GenericCollection< GCell *> | getGCells () |
GenericCollection< GCell *> | getGCellsColumn (unsigned int column, unsigned int rowStart, unsigned int rowStop) |
GenericCollection< GCell *> | getGCellsRow (unsigned int row, unsigned int columnStart, unsigned int columnStop) |
Public Member Functions inherited from BaseGrid | |
void | destroy () |
const Box & | getBoundingBox () const |
unsigned int | getColumns () const |
unsigned int | getRows () const |
unsigned int | getRawSize () const |
unsigned int | getIndex (unsigned int c, unsigned int r) const |
unsigned int | getRow (unsigned int) const |
unsigned int | getColumn (unsigned int) const |
const Axis & | getXGrads () const |
const Axis & | getYGrads () const |
Protected Member Functions | |
void | _postCreate () |
void | _preDestroy () |
Protected Member Functions inherited from Grid< GCell > | |
Grid (const Box &) | |
Protected Member Functions inherited from BaseGrid | |
BaseGrid (const Box &) | |
Static Protected Member Functions | |
static GCellGrid * | create (KatabaticEngine *) |
The GCell Grid of Katabatic. Although the base template class Grid support irregular grid, the GCellGrid is regular, following the Knik global router GCells. Only the topmost row and leftmost column may have different height or width to cope with the design real size.
Due to the regular nature of the grid, the horizontal & vertical edges capacities are all identical, and initialized from the Katabatic Configuration.
The grid is build from the Knik global routing, so obviously a KnikEngine must be attached to the Cell when building the GCellGrid. An error is thrown otherwise.
enum DensityMode |
Various ways of computing the overall density of a GCell.
Cell * getCell | ( | ) | const |
Returns: The associated Cell.
Referenced by GCellGrid::_postCreate().
|
inline |
Returns: The associated KatabaticEngine.
|
inline |
Returns: The computation mode of the GCell densities.
Referenced by GCell::getDensity().
|
inline |
Returns: The horizontal edge capacity. As the matrix is regular it is identical for all horizontal edges.
Referenced by GCell::checkEdgeSaturation().
|
inline |
Returns: The vertical edge capacity. As the matrix is regular it is identical for all vertical edges.
Referenced by GCell::checkEdgeSaturation().
Interval getUSide | ( | unsigned int | direction | ) | const |
Returns: The side of the whole grid in direction
.
References Box::getXMax(), Box::getXMin(), Box::getYMax(), Box::getYMin(), Katabatic::KbHorizontal, and Katabatic::KbVertical.
size_t checkDensity | ( | ) | const |
Returns: The number of GCell saturateds.
Check all GCells for saturations.
References Grid< GCell >::getGCells().
size_t updateDensity | ( | ) |
Returns: The number of GCell saturateds.
Force a density update on all the GCells.
References Grid< GCell >::getGCells().
void updateContacts | ( | unsigned int | flags = KbOpenSession | ) |
Force an update on all AutoContact on all the GCells. if openSession
is true, enclose the update in a Session.
References Session::close(), Grid< GCell >::getGCells(), Katabatic::KbOpenSession, and Session::open().
Referenced by KatabaticEngine::refresh().
|
inline |
Sets the density computation mode.
|
protectedvirtual |
Perform the GCell & GCell vector allocation.
Reimplemented from BaseGrid.
References BaseGrid::Axis::addGraduation(), GCellGrid::getCell(), BaseGrid::getColumns(), BaseGrid::getRows(), BaseGrid::Axis::getSize(), and BaseGrid::Axis::sort().
|
protectedvirtual |
The GCells are deleted at this point.
Reimplemented from BaseGrid.
|
staticprotected |
Generated by doxygen 1.8.14 on Sun Nov 21 2021 | Return to top of page |
Katabatic - Routing Toolbox | Copyright © 2008-2020 Sorbonne Universite. All rights reserved |