1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use nalgebra::Point3;

/// The bounding box that encompasses a mesh. This will usually come from Blender as a z_up
/// coordinate system bounding box that you'll later convert to be y_up.
///
/// If your mesh is parented to an armature then this is the bounding box of your mesh in its
/// bind pose.
#[derive(Debug, Serialize, Deserialize, PartialEq, Copy, Clone)]
pub struct BoundingBox {
    /// The corner with the lowest x, y and z values
    pub min_corner: Point3<f32>,
    /// The corner with the greatest x, y and z values
    pub max_corner: Point3<f32>,
}

impl Default for BoundingBox {
    fn default() -> Self {
        BoundingBox {
            min_corner: Point3::new(0.0, 0.0, 0.0),
            max_corner: Point3::new(0.0, 0.0, 0.0),
        }
    }
}