Split!
This commit is contained in:
parent
a82441677d
commit
23cddeb940
|
|
@ -96,6 +96,10 @@ impl Space {
|
|||
Location { pos: p, rot: corr * loc.rot }
|
||||
}
|
||||
|
||||
fn trace_iter(&self, ray: Ray) -> impl Iterator<Item=Ray> + '_ {
|
||||
std::iter::successors(Some(ray), |&ray| Some(self.trace_step(ray)))
|
||||
}
|
||||
|
||||
fn trace_inner(&self, ray: Ray) -> Ray {
|
||||
assert_eq!(self.which_subspace(ray.pos), Inner);
|
||||
let cell = RectInside { rect: self.rect };
|
||||
|
|
@ -116,7 +120,7 @@ impl Space {
|
|||
|
||||
fn trace_boundary(&self, ray: Ray) -> Ray {
|
||||
assert_eq!(self.which_subspace(ray.pos), Boundary);
|
||||
std::iter::successors(Some(ray), |&ray| Some(self.trace_step(ray)))
|
||||
self.trace_iter(ray)
|
||||
.find(|&ray| self.which_subspace(ray.pos) != Boundary)
|
||||
.expect("Can't get outta the wall!")
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user