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) 62 m_Transform.SetIdentity();
70 if (m_Transform == transform)
73 m_Transform=transform;
90 m_RenderData->m_UpdateFlags |= dirtyflags;
102 virtual void CalcBounds() = 0;
107 RecalculateBoundsIfNecessary();
108 return m_WorldBounds;
122 m_RenderData = renderdata;
133 if (!m_BoundsValid) {
135 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:217
CRenderData * m_RenderData
Definition: RenderableObject.h:147
CMatrix3D m_InvTransform
Definition: RenderableObject.h:145
const CMatrix3D & GetInvTransform() const
Definition: RenderableObject.h:83
int m_UpdateFlags
Definition: RenderableObject.h:47
#define RENDERDATA_UPDATE_VERTICES
Definition: RenderableObject.h:32
virtual void SetTransform(const CMatrix3D &transform)
Definition: RenderableObject.h:68
CRenderableObject()
Definition: RenderableObject.h:60
Definition: Matrix3D.h:33
Definition: RenderableObject.h:41
CRenderData * GetRenderData()
Return object renderdata - can be null if renderer hasn't yet created the renderdata.
Definition: RenderableObject.h:126
uint32_t u32
Definition: types.h:39
CBoundingBoxAligned m_WorldBounds
World-space bounds of this object.
Definition: RenderableObject.h:141
bool m_BoundsValid
Remembers whether any bounds need to be recalculated.
Definition: RenderableObject.h:160
CMatrix3D m_Transform
Definition: RenderableObject.h:143
void SetRenderData(CRenderData *renderdata)
Definition: RenderableObject.h:119
void SetDirty(u32 dirtyflags)
Definition: RenderableObject.h:87
Definition: BoundingBoxAligned.h:35
void GetInverse(CMatrix3D &dst) const
Definition: Matrix3D.cpp:277
Definition: RenderableObject.h:54
const CMatrix3D & GetTransform() const
Definition: RenderableObject.h:81
void RecalculateBoundsIfNecessary()
Factored out so subclasses don't need to repeat this if they want to add additional getters for bound...
Definition: RenderableObject.h:131
const CBoundingBoxAligned & GetWorldBounds()
Returns the world-space axis-aligned bounds of this object.
Definition: RenderableObject.h:105
virtual ~CRenderData()
Definition: RenderableObject.h:45
virtual ~CRenderableObject()
Definition: RenderableObject.h:65
virtual void InvalidateBounds()
Marks the bounds as invalid.
Definition: RenderableObject.h:116
CRenderData()
Definition: RenderableObject.h:44