|
19 | 19 |
|
20 | 20 | from ..datbase import DataInterface, DataType |
21 | 21 | from ..utils import Util3d, import_optional_dependency |
22 | | -from ..utils.faceutil import get_shared_face, get_shared_face_3d, is_vertical |
| 22 | +from ..utils.faceutil import ( |
| 23 | + get_shared_face, |
| 24 | + get_shared_face_3d, |
| 25 | + get_shared_face_indices, |
| 26 | + is_vertical, |
| 27 | +) |
23 | 28 |
|
24 | 29 | warnings.simplefilter("ignore", RuntimeWarning) |
25 | 30 |
|
@@ -2968,7 +2973,6 @@ def hfb_data_to_linework(recarray, modelgrid): |
2968 | 2973 | ------- |
2969 | 2974 | list : list of line segments |
2970 | 2975 | """ |
2971 | | - iverts = modelgrid.iverts |
2972 | 2976 | verts = modelgrid.verts |
2973 | 2977 | nodes = [] |
2974 | 2978 | if modelgrid.grid_type == "structured": |
@@ -2996,23 +3000,13 @@ def hfb_data_to_linework(recarray, modelgrid): |
2996 | 3000 |
|
2997 | 3001 | shared_edges = [] |
2998 | 3002 | for node0, node1 in nodes: |
2999 | | - iv0 = iverts[node0] |
3000 | | - iv1 = iverts[node1] |
3001 | | - edges = [] |
3002 | | - for ix in range(len(iv0)): |
3003 | | - edges.append(tuple(sorted((iv0[ix - 1], iv0[ix])))) |
3004 | | - |
3005 | | - for ix in range(len(iv1)): |
3006 | | - edge = tuple(sorted((iv1[ix - 1], iv1[ix]))) |
3007 | | - if edge in edges: |
3008 | | - shared_edges.append(edge) |
3009 | | - break |
3010 | | - |
3011 | | - if not shared_edges: |
| 3003 | + edge = get_shared_face_indices(modelgrid, node0, node1) |
| 3004 | + if edge is None: |
3012 | 3005 | raise AssertionError( |
3013 | 3006 | f"No shared cell edges found. Cannot represent HFB " |
3014 | 3007 | f"for nodes {node0} and {node1}" |
3015 | 3008 | ) |
| 3009 | + shared_edges.append(edge) |
3016 | 3010 |
|
3017 | 3011 | lines = [] |
3018 | 3012 | for edge in shared_edges: |
|
0 commit comments