fbxcontainertemplate.h

Go to the documentation of this file.
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_ */