3#include <Core/RaCore.hpp>
5#include <Core/Utils/Observable.hpp>
28 m_isAabbValid = other.m_isAabbValid;
29 m_aabb = other.m_aabb;
33 m_isAabbValid = other.m_isAabbValid;
34 m_aabb = other.m_aabb;
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;
void copyObserversTo(Observable &other) const
explicit copy of all attached observers the other Observable
@ Geometry
"Geometry" render objects are those loaded using Radium::IO and generated by GeometrySystem
hepler function to manage enum as underlying types in VariableSet
virtual void clear()=0
Erases all data, making the geometry empty.
virtual Aabb computeAabb() const =0
Compute bounding box.