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/base/fbxarray.h>
00019 #include <fbxsdk/core/base/fbxstring.h>
00020
00021 #include <fbxsdk/fbxsdk_nsbegin.h>
00022
00023 class FbxProperty;
00024 class FbxDocument;
00025 class FbxXRefManagerProject;
00026
00030 class FBXSDK_DLL FbxXRefManager
00031 {
00032 public:
00034 FbxXRefManager();
00035
00037 virtual ~FbxXRefManager();
00038
00043
00045 static const char* sTemporaryFileProject;
00046
00048 static const char* sConfigurationProject;
00049
00051 static const char* sLocalizationProject;
00052
00063 static const char* sEmbeddedFileProject;
00065
00074 static int GetUrlCount(FbxProperty const &pProperty);
00075
00081 static int GetUrlCount(FbxString const& pUrl);
00082
00088 static bool IsRelativeUrl (FbxProperty const &pProperty,int pIndex);
00089
00095 static FbxString GetUrl(FbxProperty const &pProperty,int pIndex);
00096
00103 bool GetResolvedUrl (FbxProperty const &pProperty,int pIndex,FbxString & pResolvedPath) const;
00104
00111 bool GetResolvedUrl (const char* pUrl, FbxDocument* pDoc, FbxString& pResolvedPath) const;
00113
00131 bool GetFirstMatchingUrl(const char* pPrefix, const char* pOptExt, const FbxDocument* pDoc, FbxString& pResolvedPath) const;
00132
00137
00145 bool AddXRefProject (const char *pName,const char *pUrl);
00146
00155 bool AddXRefProject (const char *pName,const char *pExtension,const char *pUrl);
00156
00163 bool AddXRefProject (FbxDocument* pDoc);
00164
00169 bool RemoveXRefProject(const char *pName);
00170
00174 bool RemoveAllXRefProjects();
00175
00179 int GetXRefProjectCount() const;
00180
00185 const char *GetXRefProjectName(int pIndex) const;
00186
00191 const char* GetXRefProjectUrl(const char* pName);
00192
00197 const char* GetXRefProjectUrl(const char* pName) const;
00198
00203 const char* GetXRefProjectUrl(int pIndex) const;
00204
00209 inline bool HasXRefProject( const char* pName ) { return GetXRefProjectUrl(pName) != NULL; }
00210
00216 bool GetResolvedUrl (const char* pUrl,FbxString & pResolvePath) const;
00217
00219 private:
00220 FbxArray<FbxXRefManagerProject*> mProjects;
00221
00222 static bool UrlExist(const char* pUrl);
00223 };
00224
00225 #include <fbxsdk/fbxsdk_nsend.h>
00226
00227 #endif