00001 /**************************************************************************************** 00002 00003 Copyright (C) 2013 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 00069 /***************************************************************************************************************************** 00070 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! ** 00071 *****************************************************************************************************************************/ 00072 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00073 struct NameCell 00074 { 00075 NameCell(const char* pName) : 00076 mName(pName), 00077 mInstanceCount(0) 00078 { 00079 } 00080 00081 FbxString mName; 00082 int mInstanceCount; 00083 }; 00084 00085 char mNamespaceSymbol; 00086 FbxCharPtrSet mStringNameArray; 00087 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/ 00088 }; 00089 00090 #include <fbxsdk/fbxsdk_nsend.h> 00091 00092 #endif /* _FBXSDK_UTILS_RENAMINGSTRATEGY_BASE_H_ */