Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.61 KB | None | 0 0
  1. use nalgebra::{Point3, Vector3};
  2.  
  3. pub struct Wire {
  4. pub segments: Vec<WireSegment>,
  5. }
  6.  
  7. pub struct WireIterator<'w> {
  8. iter: &'w std::slice::Iter<'w, WireSegment>,
  9. }
  10.  
  11. impl<'w> Iterator for WireIterator<'w> {
  12. type Item = &'w WireSegment;
  13.  
  14. fn next(&mut self) -> Option<Self::Item> {
  15. self.iter.next()
  16. }
  17. }
  18.  
  19. impl<'w> IntoIterator for Wire {
  20. type Item = &'w WireSegment;
  21. type IntoIter = WireIterator<'w>;
  22.  
  23. fn into_iter(self) -> Self::IntoIter {
  24. WireIterator { iter: &self.segments }
  25. }
  26. }
  27.  
  28. pub struct WireSegment {
  29. pub position: Point3<f64>,
  30. pub direction: Vector3<f64>,
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement