rust/integral-geometry/src/lib.rs
changeset 14124 6e0be42d0a8f
parent 14112 f04bc39f0c05
child 14125 376a0551b00a
equal deleted inserted replaced
14123:59ec51b78737 14124:6e0be42d0a8f
   381 
   381 
   382     pub fn get_edge(&self, index: usize) -> Line {
   382     pub fn get_edge(&self, index: usize) -> Line {
   383         Line::new(self.vertices[index], self.vertices[index + 1])
   383         Line::new(self.vertices[index], self.vertices[index + 1])
   384     }
   384     }
   385 
   385 
   386     pub fn iter<'a>(&'a self) -> impl Iterator<Item = Point> + 'a {
   386     pub fn split_edge(&mut self, edge_index: usize, vertex: Point) {
   387         (&self.vertices[..self.edges_count()]).iter().cloned()
   387         self.vertices.insert(edge_index + 1, vertex);
       
   388     }
       
   389 
       
   390     pub fn iter<'a>(&'a self) -> impl Iterator<Item = &Point> + 'a {
       
   391         (&self.vertices[..self.edges_count()]).iter()
       
   392     }
       
   393 
       
   394     pub fn iter_mut<'a>(&'a mut self) -> impl Iterator<Item = &mut Point> + 'a {
       
   395         let edges_count = self.edges_count();
       
   396         (&mut self.vertices[..edges_count]).iter_mut()
   388     }
   397     }
   389 
   398 
   390     pub fn iter_edges<'a>(&'a self) -> impl Iterator<Item = Line> + 'a {
   399     pub fn iter_edges<'a>(&'a self) -> impl Iterator<Item = Line> + 'a {
   391         (&self.vertices[0..self.edges_count()])
   400         (&self.vertices[0..self.edges_count()])
   392             .iter()
   401             .iter()