parry3d_f64/bounding_volume/bounding_sphere_convex.rs
1use crate::bounding_volume;
2use crate::bounding_volume::BoundingSphere;
3use crate::math::{Isometry, Real};
4use crate::shape::ConvexPolyhedron;
5
6impl ConvexPolyhedron {
7    /// Computes the world-space bounding sphere of this convex polyhedron, transformed by `pos`.
8    #[inline]
9    pub fn bounding_sphere(&self, pos: &Isometry<Real>) -> BoundingSphere {
10        let bv: BoundingSphere = self.local_bounding_sphere();
11        bv.transform_by(pos)
12    }
13
14    /// Computes the local-space bounding sphere of this convex polyhedron.
15    #[inline]
16    pub fn local_bounding_sphere(&self) -> BoundingSphere {
17        bounding_volume::details::point_cloud_bounding_sphere(self.points())
18    }
19}