00001
00011 #ifndef __TVU_SCENE_H__
00012 #define __TVU_SCENE_H__
00013
00014 #ifndef __TVU_TYPESDEF_H__
00015 #include "tvu_typesdef.h"
00016 #endif
00017
00018 #ifndef __TVU_VISU3D_APPLICATION_H__
00019 #include "tvu_visu3d.application.h"
00020 #endif
00021
00022
00023 #define CLASSNAME_SCENE "Scene"
00024 #define CLASSNAME_SCENE_ID 10600
00025
00026 #define ENAME_SCENE_ACTORS "actors"
00027 #define ENAME_SCENE_CONTEXT "context"
00028 #define ENAME_SCENE_SPEED "speed"
00029 #define ENAME_SCENE_SCENARIOS "scenarios"
00030 #define ENAME_SCENE_CAMERA "camera"
00031 #define ENAME_SCENE_ECHO "echo"
00032
00034 class CTScene : public CTReferableObject
00035 {
00036 public:
00038 CTScene();
00039 virtual ~CTScene() { Delete(); };
00040 DEFINE_ID_FUNCTIONS(CTScene, CTReferableObject, CLASSNAME_SCENE_ID, CLASSNAME_SCENE)
00041 public:
00043 virtual CTList GetSaveLoadObjects(TBOOL bOnLoad = TTRUE);
00045 virtual TBOOL BuildObject();
00047 virtual TBOOL IsWellConstructed();
00049 virtual TBOOL ReferTo(CTReferableObject* lpObject);
00050 public:
00052 virtual TBOOL Init();
00054 virtual TBOOL Execute(TLPCSTR lpSaveFormat = TNULL);
00056 virtual TINT Length();
00057 public:
00059 virtual void Delete();
00060 public:
00062 virtual CTScene& operator = (CTScene& AScene);
00063 public:
00065 CTList GetActors(){ return m_Actors; };
00066
00067 CTList GetScenarios(){ return m_Scenarios; };
00068 protected:
00072 CTList m_Actors;
00074 CTList m_Context;
00075 CTString m_ContextName;
00077 CTString m_CameraName;
00079 CTList m_Scenarios;
00081 CTInt m_Speed;
00083 CTInt m_Echo;
00084 };
00086 typedef CTScene* LPCTScene;
00087
00088 #endif