coriolis/kite/doc/RoutingPlane.dox

96 lines
4.1 KiB
Plaintext
Raw Normal View History

2013-12-03 20:51:02 -06:00
// -*- 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.
}