
 // -*- C++ -*-


 namespace Katabatic {

 /*! \defgroup     NetOptimals 6. AutoSegment Optimal Placement (internal)
  *
  *                This modules documents how \c AutoSegment optimal placement are computed.
  *                It is intented for developpers only.
  *
  *                The principle is quite simple : for any given \c AutoSegment, for example
  *                a vertical one (\b A), we want to find the optimal position so the wire
  *                length of \c AutoSegment perpandicular to \b A would be minimal. This
  *                optimal position is an interval of X positions, possibly reduced to a
  *                point.
  *
  *                Given an \c AutoSegment, we will take into account :
  *                <ul>
  *                  <li>Perpandicular global \c AutoSegment.
  *                  <li>Terminals linked to the \c AutoSegment through any number of
  *                      local \c AutoSegment (collapsed or not).
  *                </ul>
  *
  *                How to find the optimal interval :
  *
  *                First we build an histogram in the direction perpandicular to the
  *                \c AutoSegment. For \b A : in horizontal direction. We populate the
  *                histogram with the axis coordinate of global \c AutoSegment and
  *                terminals linked to \b A. Note that for global \c AutoSegment the
  *                "axis" coordinate is the position of the side of the \c FCell.
  *                For terminal depending on their orientation relative to \b A we
  *                add either their axis or their two extremities.
  *
  *                The optimal interval is then the median interval of the histogram.
  *
  *                The set of examples below shows some representative cases.
  *
  *                \image html  NetOptimals-1.png "Multiple Verticals Terminals"
  *                \image latex NetOptimals-1.pdf "Multiple Verticals Terminals" width=0.6\textwidth
  *                \image html  NetOptimals-2.png "Globals Only"
  *                \image latex NetOptimals-2.pdf "Globals Only" width=0.6\textwidth
  *                \image html  NetOptimals-3.png "One Horizontal Terminal"
  *                \image latex NetOptimals-3.pdf "One Horizontal Terminal" width=0.6\textwidth
  */


 //! \addtogroup   NetOptimals
 //! \{

 /*! \function     void  KatabaticEngine::_computeNetOptimals ( Net* net );
  *  \param        net The net for which to compute optimal placement.
  *
  *                compute optimal placement of all net's AutoSegment.
  */

 //! \}

 }
