28 #ifndef HPL_ENTITY3D_H 29 #define HPL_ENTITY3D_H 31 #include "hpl1/engine/math/MathTypes.h" 32 #include "hpl1/engine/scene/Entity.h" 33 #include "hpl1/engine/system/Container.h" 34 #include "hpl1/engine/system/SystemTypes.h" 36 #include "common/list.h" 37 #include "hpl1/engine/math/BoundingVolume.h" 47 virtual void OnTransformUpdate(
iEntity3D *apEntity) = 0;
95 void SetMatrix(
const cMatrixf &a_mtxTransform);
97 void SetWorldPosition(
const cVector3f &avWorldPos);
98 void SetWorldMatrix(
const cMatrixf &a_mtxWorldTransform);
100 void SetTransformUpdated(
bool abUpdateCallbacks =
true);
101 bool GetTransformUpdated();
103 int GetTransformUpdateCount();
108 void SetSourceFile(
const tString &asFile) { msSourceFile = asFile; }
109 const tString &GetSourceFile() {
return msSourceFile; }
111 virtual cBoundingVolume *GetBoundingVolume() {
return &mBoundingVolume; }
121 virtual tRenderContainerDataList *GetRenderContainerDataList() {
return &mlstRenderContainerData; }
123 inline int GetIteratorCount() {
return mlIteratorCount; }
124 inline void SetIteratorCount(
const int alX) { mlIteratorCount = alX; }
126 inline void SetCurrentSector(
cSector *apSetor) { mpCurrentSector = apSetor; }
127 virtual cSector *GetCurrentSector()
const {
return mpCurrentSector; }
129 bool IsInSector(
cSector *apSector);
131 inline int GetGlobalRenderCount() {
return mlGlobalRenderCount; }
132 inline void SetGlobalRenderCount(
int alX) { mlGlobalRenderCount = alX; }
136 virtual void SaveToSaveData(
iSaveData *apSaveData);
137 virtual void LoadFromSaveData(
iSaveData *apSaveData);
145 bool mbUpdateBoundingVolume;
146 bool mbApplyTransformToBV;
148 bool mbTransformUpdated;
150 int mlGlobalRenderCount;
156 tEntityCallbackList mlstCallbacks;
158 tRenderContainerDataList mlstRenderContainerData;
160 tEntity3DList mlstChildren;
168 void UpdateWorldTransform();
173 #endif // HPL_ENTITY3D_H Definition: PortalContainer.h:181
Definition: BoundingVolume.h:71
Definition: SaveGame.h:130
Definition: Entity3D.h:57
Definition: SaveGame.h:111
Definition: Container.h:219
Definition: Entity3D.h:81
Definition: list_intern.h:51
Definition: Entity3D.h:44
Definition: SaveGame.h:183