public static UEdge2i FromDirection(Vec2i origin, Directions_Ortho_2D direction)
 {
     if (direction.IsSingle() == false)
     {
         throw new System.Exception("direction is not single!");
     }
     else if (direction == Directions_Ortho_2D.None)
     {
         throw new System.Exception("direction is None!");
     }
     if (direction == Directions_Ortho_2D.U)
     {
         return(new UEdge2i(origin, origin.To_Up()));
     }
     if (direction == Directions_Ortho_2D.D)
     {
         return(new UEdge2i(origin, origin.To_Down()));
     }
     if (direction == Directions_Ortho_2D.L)
     {
         return(new UEdge2i(origin, origin.To_Left()));
     }
     if (direction == Directions_Ortho_2D.R)
     {
         return(new UEdge2i(origin, origin.To_Right()));
     }
     return(new UEdge2i());
 }