96 lines
4.1 KiB
C++
96 lines
4.1 KiB
C++
|
|
// -*- C++ -*-
|
|
|
|
namespace Kite {
|
|
|
|
/*! \class RoutingPlane
|
|
* \brief Array of Tracks in one Layer
|
|
*
|
|
* A RoutingPlane is an array of Track covering a rectangular area.
|
|
* For now the area is the abutment box of the to be routed Cell.
|
|
* Tracks are spaced evenly and according to the configuration
|
|
* of the relevant RoutingLayerGauge.
|
|
*
|
|
* \image html RoutingPlane-1.png "Fig 1: Horizontal RoutingPlane"
|
|
*/
|
|
|
|
//! \function RoutingPlane* RoutingPlane::create ( KiteEngine* engine, size_t depth );
|
|
//! \param engine The associated engine.
|
|
//! \param depth The Layer depth of the plane.
|
|
//! \return The newly created RoutingPlane.
|
|
//!
|
|
//! The RoutingPlane public constructor. The \c depth is in the sense of
|
|
//! the RoutingGauge.
|
|
|
|
//! \function bool RoutingPlane::isHorizontal () const;
|
|
//! \sreturn \true if the preferred routing direction is horizontal (the actual
|
|
//! direction of the tracks).
|
|
|
|
//! \function bool RoutingPlane::isVertical () const;
|
|
//! \sreturn \true if the preferred routing direction is vertical (the actual
|
|
//! direction of the tracks).
|
|
|
|
//! \function KiteEngine* RoutingPlane::getKiteEngine () const;
|
|
//! \sreturn The associated KiteEngine.
|
|
|
|
//! \function RoutingLayerGauge* RoutingPlane::getLayerGauge () const;
|
|
//! \sreturn The RoutingLayerGauge of the plane.
|
|
|
|
//! \function unsigned int RoutingPlane::getDirection () const;
|
|
//! \sreturn The preferred routing direction (Katabatic::KbHorizontal or Katabatic::KbVertical).
|
|
|
|
//! \function size_t RoutingPlane::getDepth () const;
|
|
//! \sreturn The depth of the associated layer (as defined by the RoutingLayerGauge).
|
|
|
|
//! \function size_t RoutingPlane::getAxisMin () const;
|
|
//! \sreturn The axis coordinate of the first/lowest track.
|
|
|
|
//! \function size_t RoutingPlane::getAxisMax () const;
|
|
//! \sreturn The axis coordinate of the last/highest track.
|
|
|
|
//! \function size_t RoutingPlane::getTrackMin () const;
|
|
//! \sreturn The minimum bound of all track.
|
|
|
|
//! \function size_t RoutingPlane::getTrackMax () const;
|
|
//! \sreturn The maximum bound of all track.
|
|
|
|
//! \function RoutingPlane* RoutingPlane::getTop () const;
|
|
//! \sreturn The RoutingPlane immediatly above this one.
|
|
|
|
//! \function RoutingPlane* RoutingPlane::getBottom () const;
|
|
//! \sreturn The RoutingPlane immediatly below this one.
|
|
|
|
//! \function const Layer* RoutingPlane::getLayer () const;
|
|
//! \sreturn The associated routing layer.
|
|
|
|
//! \function const Layer* RoutingPlane::getBlockageLayer () const;
|
|
//! \sreturn The blockage layer associated to the routing layer.
|
|
|
|
//! \function size_t RoutingPlane::getTracksSize () const;
|
|
//! \sreturn The number of tracks in the array.
|
|
|
|
//! \function size_t RoutingPlane::computeTracksSize () const;
|
|
//! \sreturn The number of tracks <em>to create</em> in the array.
|
|
//!
|
|
//! Helper method that compute the number of tracks in the array
|
|
//! from the area of the Cell to be routed and the RoutingLayerGauge
|
|
//! characteristics (the Cell is accessible through the KiteEngine).
|
|
|
|
//! \function DbU::Unit RoutingPlane::getTrackPosition ( size_t index ) const;
|
|
//! \sreturn The axis of the track at \c index in the array.
|
|
|
|
//! \function Track* RoutingPlane::getTrackByIndex ( size_t index ) const;
|
|
//! \sreturn The track at \c index in the array.
|
|
|
|
//! \function Track* RoutingPlane::getTrackByPosition ( DbU::Unit axis, unsigned int mode=KtNearest ) const;
|
|
//! \sreturn The track which position is nearest from \c axis. The meaning of
|
|
//! \e nearest is defined by \c mode (classic rouding options).
|
|
|
|
//! \function bool RoutingPlane::_check ( unsigned int& overlaps ) const;
|
|
//! \sreturn \true if no errors have been found (i.e. the database is coherent).
|
|
//!
|
|
//! Perform a coherency check on all tracks part of the array.
|
|
|
|
|
|
}
|