fn update_overlays<X, Y, P>(&mut self, responses: &mut VecDeque<Message>, positions_and_distances: (X, Y, P), closest_distance: DVec2)
	where
		X: Iterator<Item = (DVec2, DVec2, f64)>,
		Y: Iterator<Item = (DVec2, DVec2, f64)>,
		P: Iterator<Item = (DVec2, DVec2, f64)>,
	{
		self.axis_index = 0;
		self.point_index = 0;

		let (x, y, points) = positions_and_distances;
		self.draw_alignment_lines(true, y, responses, closest_distance);
		self.draw_alignment_lines(false, x, responses, closest_distance);
		self.draw_snap_points(points, responses, closest_distance);

		Self::remove_unused_overlays(&mut self.axis_overlay_paths, responses, self.axis_index);
		Self::remove_unused_overlays(&mut self.point_overlay_paths, responses, self.point_index);
	}
/// Updates the snapping overlays with the specified distances.
/// `positions_and_distances` is a tuple of `x`, `y` & `point` iterators,, each with `(position, goal, distance)` values.
Updates the snapping overlays with the specified distances.
Updates the snapping overlays with the specified distances .
fn update_overlays<X, Y, P>(&mut self, responses: &mut VecDeque<Message>, positions_and_distances: (X, Y, P), closest_distance: DVec2)
	where
		X: Iterator<Item = (DVec2, DVec2, f64)>,
		Y: Iterator<Item = (DVec2, DVec2, f64)>,
		P: Iterator<Item = (DVec2, DVec2, f64)>,
	{
		self.axis_index = 0;
		self.point_index = 0;
		let (x, y, points) = positions_and_distances;
		self.draw_alignment_lines(true, y, responses, closest_distance);
		self.draw_alignment_lines(false, x, responses, closest_distance);
		self.draw_snap_points(points, responses, closest_distance);
		Self::remove_unused_overlays(&mut self.axis_overlay_paths, responses, self.axis_index);
		Self::remove_unused_overlays(&mut self.point_overlay_paths, responses, self.point_index);
	}
fn update_overlays < X , Y , P > ( & mut self , responses : & mut VecDeque < Message > , positions_and_distances : ( X , Y , P ) , closest_distance : DVec2 ) where X : Iterator < Item = ( DVec2 , DVec2 , f64 ) > , Y : Iterator < Item = ( DVec2 , DVec2 , f64 ) > , P : Iterator < Item = ( DVec2 , DVec2 , f64 ) > , { self . axis_index = 0 ; self . point_index = 0 ; let ( x , y , points ) = positions_and_distances ; self . draw_alignment_lines ( true , y , responses , closest_distance ) ; self . draw_alignment_lines ( false , x , responses , closest_distance ) ; self . draw_snap_points ( points , responses , closest_distance ) ; Self :: remove_unused_overlays ( & mut self . axis_overlay_paths , responses , self . axis_index ) ; Self :: remove_unused_overlays ( & mut self . point_overlay_paths , responses , self . point_index ) ; }
Updates the snapping overlays with the specified distances.
Updates the snapping overlays with the specified distances .
&mut self
responses
&mut VecDeque<Message>
positions_and_distances
(X, Y, P)
closest_distance
DVec2
&mut self
responses
&mut VecDeque<Message>
positions_and_distances
(X, Y, P)
closest_distance
DVec2