Improve current arm spline visualization

- Draw current spline in black
- Only do theta plotting for current spline

Signed-off-by: milind-u <milind.upadhyay@gmail.com>
Change-Id: I27e1c131299f09b324915c0184c68ce7df79bbe3
diff --git a/y2023/control_loops/python/graph_edit.py b/y2023/control_loops/python/graph_edit.py
index 1b7f1d2..8d8b5b3 100644
--- a/y2023/control_loops/python/graph_edit.py
+++ b/y2023/control_loops/python/graph_edit.py
@@ -336,10 +336,15 @@
             draw_px_cross(cr, 5)
 
         set_color(cr, Color(0.0, 0.5, 1.0))
-        for segment in self.segments:
-            color = [0.2, random.random(), random.random()]
+        for i in range(len(self.segments)):
+            color = None
+            if i == self.index:
+                # Draw current spline in black
+                color = [0, 0, 0]
+            else:
+                color = [0.2, random.random(), random.random()]
             set_color(cr, Color(color[0], color[1], color[2]))
-            segment.DrawTo(cr, self.theta_version)
+            self.segments[i].DrawTo(cr, self.theta_version)
             with px(cr):
                 cr.stroke()
 
@@ -380,28 +385,26 @@
         event.x = x / scale + self.center[0]
         event.y = y / scale + self.center[1]
 
-        for segment in self.segments:
-            self.joint_thetas = segment.joint_thetas()
+        segment = self.segments[self.index]
+        self.joint_thetas = segment.joint_thetas()
 
-            hovered_t = segment.intersection(event)
-            if hovered_t:
-                min_diff = np.inf
-                closest_t = None
-                closest_thetas = None
-                for i in range(len(self.joint_thetas[0])):
-                    t = self.joint_thetas[0][i]
-                    diff = abs(t - hovered_t)
-                    if diff < min_diff:
-                        min_diff = diff
-                        closest_t = t
-                        closest_thetas = [
-                            self.joint_thetas[1][0][i],
-                            self.joint_thetas[1][1][i],
-                            self.joint_thetas[1][2][i]
-                        ]
-                self.joint_points = [(closest_t, closest_theta)
-                                     for closest_theta in closest_thetas]
-                break
+        hovered_t = segment.intersection(event)
+        if hovered_t:
+            min_diff = np.inf
+            closest_t = None
+            closest_thetas = None
+            for i in range(len(self.joint_thetas[0])):
+                t = self.joint_thetas[0][i]
+                diff = abs(t - hovered_t)
+                if diff < min_diff:
+                    min_diff = diff
+                    closest_t = t
+                    closest_thetas = [
+                        self.joint_thetas[1][0][i], self.joint_thetas[1][1][i],
+                        self.joint_thetas[1][2][i]
+                    ]
+            self.joint_points = [(closest_t, closest_theta)
+                                 for closest_theta in closest_thetas]
 
         event.x = o_x
         event.y = o_y