rust/land2d/src/lib.rs
changeset 14144 165e43c3ed59
parent 14140 3078123e84ea
child 14148 d3c9025abd13
equal deleted inserted replaced
14143:745c73e0e644 14144:165e43c3ed59
     1 extern crate integral_geometry;
     1 extern crate integral_geometry;
     2 extern crate vec2d;
     2 extern crate vec2d;
     3 
     3 
     4 use std::cmp;
     4 use std::{
       
     5     cmp,
       
     6     ops::Index
       
     7 };
     5 
     8 
     6 use integral_geometry::{ArcPoints, EquidistantPoints, Line, Point, Rect, Size, SizeMask};
     9 use integral_geometry::{ArcPoints, EquidistantPoints, Line, Point, Rect, Size, SizeMask};
     7 
    10 
     8 pub struct Land2D<T> {
    11 pub struct Land2D<T> {
     9     pixels: vec2d::Vec2D<T>,
    12     pixels: vec2d::Vec2D<T>,
   293 
   296 
   294         result
   297         result
   295     }
   298     }
   296 }
   299 }
   297 
   300 
       
   301 impl<T> Index<usize> for Land2D<T> {
       
   302     type Output = [T];
       
   303     #[inline]
       
   304     fn index(&self, row: usize) -> &[T] {
       
   305         &self.pixels[row]
       
   306     }
       
   307 }
       
   308 
   298 #[cfg(test)]
   309 #[cfg(test)]
   299 mod tests {
   310 mod tests {
   300     use super::*;
   311     use super::*;
   301 
   312 
   302     #[test]
   313     #[test]