1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
use crate::bounding_volume::BoundingSphere;
use crate::math::{Isometry, Real};
use crate::shape::Capsule;
impl Capsule {
/// Computes the world-space bounding sphere of this capsule, transformed by `pos`.
#[inline]
pub fn bounding_sphere(&self, pos: &Isometry<Real>) -> BoundingSphere {
self.local_bounding_sphere().transform_by(pos)
}
/// Computes the world-space bounding sphere of this capsule.
#[inline]
pub fn local_bounding_sphere(&self) -> BoundingSphere {
let radius = self.radius + self.half_height();
BoundingSphere::new(self.center(), radius)
}
}