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.
References Entity::getCell().
Referenced by GCell::CompareByDensity::CompareByDensity().
|
inline |
Returns: The associated KatabaticEngine.
Referenced by GCell::stepDesaturate(), and GCell::translate().
|
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 Katabatic::KbHorizontal, and Katabatic::KbVertical.
size_t checkDensity | ( | ) | const |
Returns: The number of GCell saturateds.
Check all GCells for saturations.
References GCellDensitySet::getGCells().
size_t updateDensity | ( | ) |
Returns: The number of GCell saturateds.
Force a density update on all the GCells.
References GCellDensitySet::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(), GCellDensitySet::getGCells(), Katabatic::KbOpenSession, and Session::open().
|
inline |
Sets the density computation mode.
|
protectedvirtual |
Perform the GCell & GCell vector allocation.
Reimplemented from BaseGrid.
Referenced by GCellGrid::create().
|
protectedvirtual |
The GCells are deleted at this point.
Reimplemented from BaseGrid.
|
staticprotected |
API-space contructor.
References GCellGrid::_postCreate(), and grid().
Generated by doxygen 1.8.13 on Mon May 14 2018 | Return to top of page |
Katabatic - Routing Toolbox | Copyright © 2008-2016 UPMC. All rights reserved |