00001 /**************************************************************************************** 00002 00003 Copyright (C) 2013 Autodesk, Inc. 00004 All rights reserved. 00005 00006 Use of this software is subject to the terms of the Autodesk license agreement 00007 provided at the time of installation or download, or which otherwise accompanies 00008 this software in either electronic or hard copy form. 00009 00010 ****************************************************************************************/ 00011 00013 #ifndef _FBXSDK_SCENE_CONTAINER_TEMPLATE_H_ 00014 #define _FBXSDK_SCENE_CONTAINER_TEMPLATE_H_ 00015 00016 #include <fbxsdk/fbxsdk_def.h> 00017 00018 #include <fbxsdk/core/fbxobject.h> 00019 00020 #include <fbxsdk/fbxsdk_nsbegin.h> 00021 00022 //Container Template tokens 00023 #define FBXSDK_CONTAINER_TEMPLATE_STR "templates" 00024 #define FBXSDK_TEMPLATE_STR "template" 00025 #define FBXSDK_EXTENDS_TEMPLATE_STR "extends" 00026 00027 struct FbxContainerTemplate_internal; 00028 00032 class FBXSDK_DLL FbxContainerTemplate : public FbxObject 00033 { 00034 FBXSDK_OBJECT_DECLARE(FbxContainerTemplate, FbxObject); 00035 00036 public: 00042 void ParseTemplateFile(const char* pTemplateFilePath, FbxArray<FbxString*>& pExtendTemplateNames); 00043 00047 void AddExtendTemplatePath(const char* pExtendTemplatePath); 00048 00053 char* GetExtendTemplatePathAt(FbxUInt pIndex) const; 00054 00058 FbxUInt GetExtendTemplateCount() const; 00059 00062 void ClearExtendTemplatePath(); 00063 00071 FbxPropertyT<FbxString> ContainerTemplateName; 00072 00080 FbxPropertyT<FbxString> ContainerTemplatePath; 00081 00089 FbxPropertyT<FbxString> ContainerTemplatePackageName; 00090 00098 FbxPropertyT<FbxString> ContainerTemplateVersion; 00099 00100 /***************************************************************************************************************************** 00101 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! ** 00102 *****************************************************************************************************************************/ 00103 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00104 protected: 00105 virtual void Construct(const FbxContainerTemplate* pFrom); 00106 virtual void ConstructProperties(bool pForceSet); 00107 virtual void Destruct(bool pRecursive); 00108 00109 private: 00110 FbxContainerTemplate_internal* mData; 00111 FbxArray<FbxString*> mExtendTemplatePaths; 00112 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/ 00113 }; 00114 00115 #include <fbxsdk/fbxsdk_nsend.h> 00116 00117 #endif /* _FBXSDK_SCENE_CONTAINER_TEMPLATE_H_ */