fbxsdk/scene/fbxcontainertemplate.h Source File
 
 
 
fbxsdk/scene/fbxcontainertemplate.h
Go to the documentation of this file.
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_ */