Skip to content

Commit bd68345

Browse files
authored
Merge pull request #26 from Andlon/more-geometry
LineSegment2d::intersect_disk_parametric
2 parents b099e00 + f4d2deb commit bd68345

File tree

1 file changed

+8
-2
lines changed
  • fenris-geometry/src/primitives

1 file changed

+8
-2
lines changed

fenris-geometry/src/primitives/line.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,11 +158,17 @@ where
158158
}
159159

160160
#[replace_float_literals(T::from_f64(literal).unwrap())]
161-
pub fn intersect_disk(&self, disk: &Disk<T>) -> Option<Self> {
161+
pub fn intersect_disk_parametric(&self, disk: &Disk<T>) -> Option<[T; 2]> {
162162
let [t1, t2] = self.to_line().intersect_disk_parametric(disk)?;
163163
let t1 = clamp(t1, 0.0, 1.0);
164164
let t2 = clamp(t2, 0.0, 1.0);
165-
Some(self.segment_from_parameters(&t1, &t2))
165+
Some([t1, t2])
166+
}
167+
168+
#[replace_float_literals(T::from_f64(literal).unwrap())]
169+
pub fn intersect_disk(&self, disk: &Disk<T>) -> Option<Self> {
170+
self.intersect_disk_parametric(disk)
171+
.map(|[t1, t2]| self.segment_from_parameters(&t1, &t2))
166172
}
167173

168174
/// Compute the closest point on the segment to the given point, represented in

0 commit comments

Comments
 (0)