Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00013 #ifndef _FBXSDK_CORE_XREF_H_
00014 #define _FBXSDK_CORE_XREF_H_
00015
00016 #include <fbxsdk/fbxsdk_def.h>
00017
00018 #include <fbxsdk/core/fbxmanager.h>
00019
00020 #include <fbxsdk/fbxsdk_nsbegin.h>
00021
00022 class FbxXRefManagerProject;
00023 class FbxDocument;
00024
00028 class FBXSDK_DLL FbxXRefManager
00029 {
00030 public:
00032 FbxXRefManager();
00033
00035 virtual ~FbxXRefManager();
00036
00041
00043 static const char* sTemporaryFileProject;
00044
00046 static const char* sConfigurationProject;
00047
00049 static const char* sLocalizationProject;
00050
00061 static const char* sEmbeddedFileProject;
00063
00072 static int GetUrlCount(FbxProperty const &pProperty);
00073
00079 static int GetUrlCount(FbxString const& pUrl);
00080
00086 static bool IsRelativeUrl (FbxProperty const &pProperty,int pIndex);
00087
00093 static FbxString GetUrl(FbxProperty const &pProperty,int pIndex);
00094
00101 bool GetResolvedUrl (FbxProperty const &pProperty,int pIndex,FbxString & pResolvedPath) const;
00102
00109 bool GetResolvedUrl (char const* pUrl, FbxDocument* pDoc, FbxString& pResolvedPath) const;
00111
00129 bool GetFirstMatchingUrl(char const* pPrefix, char const* pOptExt, const FbxDocument* pDoc, FbxString& pResolvedPath) const;
00130
00135
00143 bool AddXRefProject (const char *pName,const char *pUrl);
00144
00153 bool AddXRefProject (const char *pName,const char *pExtension,const char *pUrl);
00154
00161 bool AddXRefProject (FbxDocument* pDoc);
00162
00167 bool RemoveXRefProject(const char *pName);
00168
00172 bool RemoveAllXRefProjects();
00173
00177 int GetXRefProjectCount() const;
00178
00183 const char *GetXRefProjectName(int pIndex) const;
00184
00189 const char* GetXRefProjectUrl(const char* pName);
00190
00195 const char* GetXRefProjectUrl(const char* pName) const;
00196
00201 const char* GetXRefProjectUrl(int pIndex) const;
00202
00207 inline bool HasXRefProject( const char* pName ) { return GetXRefProjectUrl(pName) != NULL; }
00208
00214 bool GetResolvedUrl (char const *pUrl,FbxString & pResolvePath) const;
00215
00217 private:
00218 FbxArray<FbxXRefManagerProject*> mProjects;
00219
00220 static bool UrlExist(const char* pUrl);
00221 };
00222
00223 #include <fbxsdk/fbxsdk_nsend.h>
00224
00225 #endif