- Main Page
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# fbxxref.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_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);   // FIXME: Should be const, will break AV.
    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 /* _FBXSDK_CORE_XREF_H_ */