// -*- C++ -*-


 namespace KNIK {

 /*! \class        VEdge
  *  \brief        A routing graph vertical edge.\n
  *                - \ref VEdgeConstructors "Constructors"
  *                - \ref VEdgeAccessors    "Accessors"
  *                - \ref VEdgeModifiers    "Modifiers"
  *                - \ref VEdgePredicates   "Predicates"
  *
  *                The VEdge represents a horizontal edge of the routing graph. The class is derivated from KNIK::Edge and can be instanciated.
  *
  *  \section      secVEdgeImplementation  VEdge Implementation
  *                This class exists only because it simplifies a lot the way specific functions are written
  */

 /*! \anchor       VEdgeConstructors Constructors
  *  \name
  */
 // \{
 
 /*! \function     static VEdge* VEdge::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 VEdge
  *  \exception    error       if \e from or \e to are \NULL
  *  \exception    error       if the object can not be allocated
  */
 
 // \}

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

 /*! \function     virtual Hook* VEdge::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       VEdgeModifiers Modifiers
  *  \name
  */
 // \{

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

 // \}

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

 /*! \function     virtual bool VEdge::IsVertical ();
  *  \return       Return \True
  */

 /*! \function     virtual bool VEdge::IsHorizontal ();
  *  \return       Return \False
  */

 // \}

}