
 // -*- C++ -*-


 namespace KNIK {

 /*! \class        HEdge
  *  \brief        A routing graph horizontal edge.\n
  *                - \ref HEdgeConstructors "Constructors"
  *                - \ref HEdgeAccessors    "Accessors"
  *                - \ref HEdgeModifiers    "Modifiers"
  *                - \ref HEdgePredicates   "Predicates"
  *
  *                The HEdge represents a horizontal edge of the routing graph. The class is derivated from KNIK::Edge and can be instanciated.
  *
  *  \section      secHEdgeImplementation  HEdge Implementation
  *                This class exists only because it simplifies a lot the way specific functions are written
  */

 /*! \anchor       HEdgeConstructors Constructors
  *  \name
  */
 // \{
 
 /*! \function     static HEdge* HEdge::Create( Fence* fence, Vertex* from, Vertex* to, DisplaySlot* displaySlot );
  *  \param        fence       is the fence associated to the edge
  *  \param        from        is the source vertex
  *  \param        to          is the target vertex
  *  \param        displaySlot is the displaySlot used by GTK for graphical display
  *  \return       The newly created HEdge
  *  \exception    error       if \e from or \e to are \NULL
  *  \exception    error       if the object can not be allocated
  */
 
 // \}

 /*! \anchor       HEdgeAccessors Accessors
  *  \name
  */
 // \{

 /*! \function     virtual Hook* HEdge::GetSplitterHook ( Vertex* vertex );
  *  \param        vertex the vertex of the edge from which we want to get the splitter's hook
  *  \return       The splitter's hook of the specified vertex
  *  \exception    assert that Edge::_splitter exists
  *  \exception    assert that the given vertex is Edge::_from or Edge::_to
  */
 // \}

 /*! \anchor       HEdgeModifiers Modifiers
  *  \name
  */
 // \{

 /*! \function     virtual void HEdge::CreateSplitter ( Net* net );
  *  \param        net the current net for which we want to create a splitter on the Edge
  */

 // \}

 /*! \anchor       HEdgePredicates Predicates
  *  \name
  */
 // \{

 /*! \function     virtual bool HEdge::IsVertical ();
  *  \return       Return \False
  */

 /*! \function     virtual bool HEdge::IsHorizontal ();
  *  \return       Return \True
  */

 // \}

}
