00001 /**************************************************************************************** 00002 00003 Copyright (C) 2012 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 class FbxManager; 00028 00029 struct FbxContainerTemplate_internal; 00030 00034 class FBXSDK_DLL FbxContainerTemplate : public FbxObject 00035 { 00036 FBXSDK_OBJECT_DECLARE(FbxContainerTemplate, FbxObject); 00037 00038 public: 00039 00045 void ParseTemplateFile(const char* pTemplateFilePath, FbxArray<FbxString*>& pExtendTemplateNames); 00046 00050 void AddExtendTemplatePath(const char* pExtendTemplatePath); 00051 00056 char* GetExtendTemplatePathAt(FbxUInt pIndex) const; 00057 00061 FbxUInt GetExtendTemplateCount() const; 00062 00065 void ClearExtendTemplatePath(); 00066 00074 FbxPropertyT<FbxString> ContainerTemplateName; 00075 00083 FbxPropertyT<FbxString> ContainerTemplatePath; 00084 00092 FbxPropertyT<FbxString> ContainerTemplatePackageName; 00093 00101 FbxPropertyT<FbxString> ContainerTemplateVersion; 00102 00103 00105 // 00106 // WARNING! 00107 // 00108 // Anything beyond these lines may not be documented accurately and is 00109 // subject to change without notice. 00110 // 00112 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00113 protected: 00114 //This constructor is mandatory, it must be put in the protected section 00115 //because all objects MUST be created via the Sdk Manager 00116 FbxContainerTemplate(FbxManager& pManager, char const* pName); 00117 virtual bool ConstructProperties(bool pForceSet); 00118 00119 //Destructor 00120 virtual void Destruct(bool pRecursive, bool pDependents); 00121 00122 private: 00123 FbxContainerTemplate_internal* mData; 00124 FbxArray<FbxString*> mExtendTemplatePaths; 00125 00126 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS 00127 }; 00128 00129 #include <fbxsdk/fbxsdk_nsend.h> 00130 00131 #endif /* _FBXSDK_SCENE_CONTAINER_TEMPLATE_H_ */