22 #ifndef INCLUDED_RENDERABLEOBJECT 23 #define INCLUDED_RENDERABLEOBJECT 32 #define RENDERDATA_UPDATE_VERTICES (1<<1) 33 #define RENDERDATA_UPDATE_INDICES (1<<2) 61 m_Transform.SetIdentity();
69 if (m_Transform == transform)
72 m_Transform=transform;
89 m_RenderData->m_UpdateFlags |= dirtyflags;
101 virtual void CalcBounds() = 0;
106 RecalculateBoundsIfNecessary();
107 return m_WorldBounds;
121 m_RenderData = renderdata;
132 if (!m_BoundsValid) {
134 m_BoundsValid =
true;
#define NONCOPYABLE(className)
Indicates that a class is noncopyable (usually due to const or reference members, or because the clas...
Definition: code_annotation.h:227
CRenderData * m_RenderData
Definition: RenderableObject.h:146
CMatrix3D m_InvTransform
Definition: RenderableObject.h:144
int m_UpdateFlags
Definition: RenderableObject.h:46
#define RENDERDATA_UPDATE_VERTICES
Definition: RenderableObject.h:32
virtual void SetTransform(const CMatrix3D &transform)
Definition: RenderableObject.h:67
CRenderableObject()
Definition: RenderableObject.h:59
Definition: Matrix3D.h:33
Definition: RenderableObject.h:40
CRenderData * GetRenderData()
Return object renderdata - can be null if renderer hasn't yet created the renderdata.
Definition: RenderableObject.h:125
uint32_t u32
Definition: types.h:39
CBoundingBoxAligned m_WorldBounds
World-space bounds of this object.
Definition: RenderableObject.h:140
bool m_BoundsValid
Remembers whether any bounds need to be recalculated.
Definition: RenderableObject.h:159
CMatrix3D m_Transform
Definition: RenderableObject.h:142
void SetRenderData(CRenderData *renderdata)
Definition: RenderableObject.h:118
void SetDirty(u32 dirtyflags)
Definition: RenderableObject.h:86
const CMatrix3D & GetInvTransform() const
Definition: RenderableObject.h:82
void GetInverse(CMatrix3D &dst) const
Definition: Matrix3D.cpp:303
Definition: BoundingBoxAligned.h:33
Definition: RenderableObject.h:53
void RecalculateBoundsIfNecessary()
Factored out so subclasses don't need to repeat this if they want to add additional getters for bound...
Definition: RenderableObject.h:130
const CBoundingBoxAligned & GetWorldBounds()
Returns the world-space axis-aligned bounds of this object.
Definition: RenderableObject.h:104
virtual ~CRenderData()
Definition: RenderableObject.h:44
virtual ~CRenderableObject()
Definition: RenderableObject.h:64
const CMatrix3D & GetTransform() const
Definition: RenderableObject.h:80
virtual void InvalidateBounds()
Marks the bounds as invalid.
Definition: RenderableObject.h:115
CRenderData()
Definition: RenderableObject.h:43