3030
3131from curve_apps .driver import BaseCurveDriver
3232from curve_apps .edges .options import EdgeDetectionParameters , EdgeParameters
33+ from curve_apps .utils import orientation_from_segments
3334
3435
3536logger = logging .getLogger (__name__ )
@@ -83,14 +84,7 @@ def make_curve(self):
8384 )
8485
8586 # Compute positive angle from North
86- # TODO: Move to geoapps-utils
87- delta = np .c_ [
88- vertices [cells [:, 1 ], 0 ] - vertices [cells [:, 0 ], 0 ],
89- vertices [cells [:, 1 ], 1 ] - vertices [cells [:, 0 ], 1 ],
90- ]
91- delta [delta [:, 0 ] < 0 , :] *= - 1
92- amp = np .linalg .norm (delta , axis = 1 )
93- orientation = np .arccos (delta [:, 1 ] / amp )
87+ length , orientation = orientation_from_segments (vertices , cells )
9488
9589 # TODO: Assign values to vertices until better handling of cell data by GA
9690 vert_azimuth = np .zeros (curve .n_vertices ) * np .nan
@@ -102,7 +96,7 @@ def make_curve(self):
10296 )
10397
10498 vert_lengths = np .zeros (curve .n_vertices ) * np .nan
105- vert_lengths [cells .flatten ()] = np .repeat (amp , 2 )
99+ vert_lengths [cells .flatten ()] = np .repeat (length , 2 )
106100 curve .add_data (
107101 {
108102 "lengths" : {"values" : vert_lengths },
0 commit comments