Go
to the documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #pragma once
00015
00016 #include "iFnPub.h"
00017 #include "FileEnumConstants.h"
00018 #include "GetCOREInterface.h"
00019
00020 class AssetEnumCallback;
00021
00022 #define SCENESTATE_PARTS_COUNT 10
00023
00025 class ISceneStateManager : public FPStaticInterface
00026 {
00027 public:
00029
00030 enum SceneStatePart {
00031 eIncludeLightProperties = 0,
00032 eIncludeLightTM = 1,
00033 eIncludeObjectProperties = 2,
00034 eIncludeCameraTM = 3,
00035 eIncludeCameraProperties = 4,
00036 eIncludeLayerProperties = 5,
00037 eIncludeLayerAssignment = 6,
00038 eIncludeMaterials = 7,
00039 eIncludeEnvironment = 8,
00040 eIncludeAnimationLayerProperties =9,
00041 };
00042
00044
00045 virtual int GetSceneStateCount() = 0;
00047
00049 virtual const MCHAR* GetSceneState(int index) = 0;
00051
00053 virtual int FindSceneState(const MCHAR* name) = 0;
00055
00057 virtual bool CaptureState(const MCHAR* name) = 0;
00059
00063 virtual bool CaptureState(const MCHAR* name, BitArray parts) = 0;
00065
00067 virtual bool RestoreState(const MCHAR* name) = 0;
00069
00073 virtual bool RestoreState(const MCHAR* name, BitArray parts) = 0;
00075
00077 virtual bool DeleteState(const MCHAR* name) = 0;
00079
00082 virtual bool RenameState(const MCHAR* oldName, const MCHAR* newName) = 0;
00084
00087 virtual BitArray GetSceneStateParts(const MCHAR* name) = 0;
00089 virtual void DoManageDialog() = 0;
00091
00093 virtual void EnumAuxFiles(AssetEnumCallback& assetEnum, DWORD flags = FILE_ENUM_ALL) = 0;
00094
00095
00096 enum
00097 {
00098 E_GET_COUNT,
00099 E_GET,
00100 E_FIND,
00101 E_CAPTURE,
00102 E_RESTORE,
00103 E_DELETE,
00104 E_RENAME,
00105 E_GET_PARTS,
00106 E_GET_NUM_PARTS,
00107 E_PART_TO_INDEX,
00108 E_INDEX_TO_PART,
00109 E_CAPTURE_ALL_PARTS,
00110 E_RESTORE_ALL_PARTS
00111 };
00112 };
00113
00115 #define IID_ISceneStateManager Interface_ID(0xECA7BD8E, 0xD3934669)
00116
00118 inline ISceneStateManager* GetSceneStateManager() { return static_cast<ISceneStateManager*>(GetCOREInterface(IID_ISceneStateManager)); }
00119