22 #ifndef INCLUDED_RENDERABLEOBJECT
23 #define INCLUDED_RENDERABLEOBJECT
32 #define RENDERDATA_UPDATE_VERTICES (1<<1)
33 #define RENDERDATA_UPDATE_INDICES (1<<2)
34 #define RENDERDATA_UPDATE_COLOR (1<<4)
CRenderData * m_RenderData
const CMatrix3D & GetInvTransform() const
#define RENDERDATA_UPDATE_VERTICES
virtual void SetTransform(const CMatrix3D &transform)
NONCOPYABLE(CRenderableObject)
CRenderData * GetRenderData()
Return object renderdata - can be null if renderer hasn't yet created the renderdata.
CBoundingBoxAligned m_WorldBounds
World-space bounds of this object.
bool m_BoundsValid
Remembers whether any bounds need to be recalculated.
void SetRenderData(CRenderData *renderdata)
void SetDirty(u32 dirtyflags)
virtual void CalcBounds()=0
(Re)calculates and stores any bounds or bound-dependent data for this object.
void GetInverse(CMatrix3D &dst) const
const CMatrix3D & GetTransform() const
void RecalculateBoundsIfNecessary()
Factored out so subclasses don't need to repeat this if they want to add additional getters for bound...
const CBoundingBoxAligned & GetWorldBounds()
Returns the world-space axis-aligned bounds of this object.
virtual ~CRenderableObject()
virtual void InvalidateBounds()
Marks the bounds as invalid.