fbxrenamingstrategybase.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_UTILS_RENAMINGSTRATEGY_BASE_H_
00014 #define _FBXSDK_UTILS_RENAMINGSTRATEGY_BASE_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/scene/fbxscene.h>
00019 #include <fbxsdk/utils/fbxnamehandler.h>
00020 
00021 #include <fbxsdk/fbxsdk_nsbegin.h>
00022 
00026 class FBXSDK_DLL FbxRenamingStrategyBase
00027 {
00028 public:
00029 
00031     FbxRenamingStrategyBase();
00032 
00036     FbxRenamingStrategyBase(char pNameSpaceSymbol);
00037 
00039     virtual ~FbxRenamingStrategyBase();
00040 
00045     virtual bool DecodeScene(FbxScene* pScene)=0;
00046 
00051     virtual bool EncodeScene(FbxScene* pScene)=0;
00052 
00057     virtual bool DecodeString(FbxNameHandler& pString)=0;
00058 
00064     virtual bool EncodeString(FbxNameHandler& pString, bool pIsPropertyName=false)=0;
00065 
00067     virtual void CleanUp();
00068 
00070 //
00071 //  WARNING!
00072 //
00073 //  Anything beyond these lines may not be documented accurately and is
00074 //  subject to change without notice.
00075 //
00077 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00078     struct NameCell
00079     {
00080         NameCell(char const* pName) :
00081     mName(pName),
00082         mInstanceCount(0)
00083     {
00084     }
00085 
00086     FbxString mName;
00087     int mInstanceCount;     
00088     };    
00089 
00090     char                     mNamespaceSymbol;
00091     FbxCharPtrSet                   mStringNameArray;
00092 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00093 };
00094 
00095 #include <fbxsdk/fbxsdk_nsend.h>
00096 
00097 #endif /* _FBXSDK_UTILS_RENAMINGSTRATEGY_BASE_H_ */