fn next(&self, index: EdgeIndex) -> Rc<WallEdge> {
let index = (index + 1) % self.edges.len();
fn next(&self, index: EdgeIndex) -> Rc<WallEdge> {
let index = (index + 1) % self.edges.len();
pub fn from_2d(&self, pos: &Point<f64>, vel: &Point<f64>) -> (f64, f64) {
let pos = self.projection_of(*pos - self.edge.p1);
let vel = self.projection_of(*vel);
pub fn from_2d(&self, pos: &Point<f64>, vel: &Point<f64>) -> (f64, f64) {
let pos = self.projection_of(*pos - self.edge.p1);
let vel = self.projection_of(*vel);