Explorar o código

Safer truncate option, calc mean speed

Johann Woelper %!s(int64=8) %!d(string=hai) anos
pai
achega
3be60c8a77
Modificáronse 1 ficheiros con 12 adicións e 23 borrados
  1. 12 23
      src/main.rs

+ 12 - 23
src/main.rs

@@ -68,43 +68,32 @@ impl Track {
     }
 
     fn truncate_by_length(&mut self, length_km: f64) {
-        // let mut sum = 0.0;
-        // let mut prev_point = &self.points[0];
-
-        let maxpts = 1;
-
-        for i in 0..self.points.len() {
-            println!("len {:?}", self.len());
-            // let d = dist(prev_point, &self.points[i]);
-            // sum += d;
-            // prev_point = &self.points[i];
-
-            if self.len() > length_km {
+        while self.len() > length_km {
                 self.points.remove(0);
-            }
-
         }
     }
 
     fn parse(&mut self) {
-        // let mut prev_point = &self.points[0];
-        // let mut prev_time = &self.points[0].time;
-
         let mut fifo_track = Track {
             ..Default::default()
         };
 
-        let mut i = 0;
-
-        for pt in &self.points {
-            i = i + 1; if i > 109 {break};
+        let mut analyzed_track = Track { name: "analyzed".to_string(),
+            ..Default::default()
+        };
+        
+        let mut bad_track = Track { name: "bad".to_string(),
+            ..Default::default()
+        };
 
 
+        for pt in &self.points {
+            // i = i + 1; if i > 30 {break};
             fifo_track.points.push(pt.clone());
+            analyzed_track.points.push(pt.clone());
             fifo_track.truncate_by_length(0.1);
+            println!("Speed {:?} @ Km {:?}", fifo_track.speed(), analyzed_track.len());
 
-            println!("fifo len {:?}", fifo_track.points.len());
-            // println!("fifo trk {:?}", fifo_track.points.len());
         }
     }
 }