3 #include <Core/RaCore.hpp>
5 #include <Core/Utils/Observable.hpp>
28 m_isAabbValid = other.m_isAabbValid;
29 m_aabb = other.m_aabb;
30 other.m_aabbObservable.copyObserversTo( m_aabbObservable );
33 m_isAabbValid = other.m_isAabbValid;
34 m_aabb = other.m_aabb;
35 other.m_aabbObservable.copyObserversTo( m_aabbObservable );
44 Ra::Core::Utils::ObservableVoid& getAabbObservable() {
return m_aabbObservable; }
47 bool isAabbValid()
const {
return m_isAabbValid; }
48 Core::Aabb getAabb()
const {
return m_aabb; }
50 void invalidateAabb()
const {
51 m_isAabbValid =
false;
52 m_aabbObservable.notify();
55 void setAabb(
const Core::Aabb& aabb )
const {
61 mutable bool m_isAabbValid {
false };
62 mutable Core::Aabb m_aabb;
63 Ra::Core::Utils::ObservableVoid m_aabbObservable;
virtual void clear()=0
Erases all data, making the geometry empty.
virtual Aabb computeAabb() const =0
Compute bounding box.