1//************************************ bs::framework - Copyright 2018 Marko Pintera **************************************//
2//*********** Licensed under the MIT license. See LICENSE.md for full terms. This notice is not to be removed. ***********//
3#include "Math/BsBounds.h"
4#include "Math/BsRay.h"
5#include "Math/BsPlane.h"
6#include "Math/BsSphere.h"
7
8namespace bs
9{
10 Bounds::Bounds(const AABox& box, const Sphere& sphere)
11 :mBox(box), mSphere(sphere)
12 { }
13
14 void Bounds::setBounds(const AABox& box, const Sphere& sphere)
15 {
16 mBox = box;
17 mSphere = sphere;
18 }
19
20 void Bounds::merge(const Bounds& rhs)
21 {
22 mBox.merge(rhs.mBox);
23 mSphere.merge(rhs.mSphere);
24 }
25
26 void Bounds::merge(const Vector3& point)
27 {
28 mBox.merge(point);
29 mSphere.merge(point);
30 }
31
32 void Bounds::transform(const Matrix4& matrix)
33 {
34 mBox.transform(matrix);
35 mSphere.transform(matrix);
36 }
37
38 void Bounds::transformAffine(const Matrix4& matrix)
39 {
40 mBox.transformAffine(matrix);
41 mSphere.transform(matrix);
42 }
43}
44
45