Go to the
documentation of this file.
00001
00004 #ifndef FBXFILESDK_KFBXPLUGINS_KFBXUTILITIES_H
00005 #define FBXFILESDK_KFBXPLUGINS_KFBXUTILITIES_H
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041 #include <fbxfilesdk/fbxfilesdk_def.h>
00042
00043 #include <fbxfilesdk/kfbxplugins/kfbxscene.h>
00044
00045 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00046
00047 class KFbxTexture;
00048
00053
00058 KFBX_DLL KArrayTemplate<KFbxNode*> RemoveBadPolygonsFromMeshes(KFbxScene *pScene);
00060
00061
00066
00072 KFBX_DLL bool IsAnimated(KFbxObject* pObj);
00073
00081 KFBX_DLL bool IsChannelAnimated(KFbxObject* pObj, char* pPropertyName, char* pChannelName = NULL);
00083
00088
00094 KFBX_DLL char* FBXGet_Internet_Source_File(const char *url);
00095
00099 KFBX_DLL void FBXFree_Internet_Buffer(char* pBuf);
00100
00106 KFBX_DLL KString KFbxFullPath(const char* pRelativePath);
00107
00113 KFBX_DLL KString KFbxExtractDirectory(const char* pFilePath);
00114
00121 KFBX_DLL KString KFbxExtractFileName(const char* pFilePath, bool pWithExtension=true);
00122
00127 KFBX_DLL KString KFbxExtractFileExtension(const char* pFilePath);
00128
00136 KFBX_DLL KString KFbxChangeFileExtension(const char* pFilePath, const char* pNewExtension);
00137
00142 KFBX_DLL KString KFbxCleanPath(const char* pFilePath);
00143
00149 KFBX_DLL KString KFbxGetRelativeFilePath(const char* pRootPath, const char* pNewFilePath);
00150
00155 KFBX_DLL bool KFbxIsRelativePath(const char* pFilePath);
00156
00162 KFBX_DLL bool KFbxFileExist(const char* pFilePath);
00163
00168 KFBX_DLL bool KFbxEnsureDirectoryExistance(const char* pFilePath);
00169
00173 KFBX_DLL KString KFbxGetApplicationDirectory();
00174
00179 KFBX_DLL KString KFbxMakeFullPath(const char* pRootPath, const char* pFilePath);
00180
00184 KFBX_DLL KString KFbxGetCurrentDirectory();
00185
00191 KFBX_DLL size_t KGetProcessVirtualMemoryAvailSize ();
00193
00194
00195 class KFile;
00196
00203 enum eFileMode {KFBX_READ, KFBX_WRITE, KFBX_READWRITE, KFBX_APPEND};
00204
00210 enum eSeekPos {KFBX_BEGIN, KFBX_CURRENT, KFBX_END};
00211
00217 class KFBX_DLL KFbxFile
00218 {
00219 public:
00221 KFbxFile();
00222
00224 virtual ~KFbxFile();
00225
00232 bool Open(const char* pFileName, eFileMode pMode, bool pText);
00233
00239 bool Open(const char* pFileName, const char* pMode);
00240
00244 bool IsOpened();
00245
00249 bool Close();
00250
00256 size_t Read(void* pBuffer, size_t pSize);
00257
00265 char* ReadString(char* pBuffer, int pMaxSize, bool pStopAtFirstWhiteSpace=false);
00266
00272 kInt32 ReadInt32(kInt32* pBuffer, bool pSwab=false);
00273
00279 kUInt32 ReadUInt32(kUInt32* pBuffer, bool pSwab=false);
00280
00286 kInt16 ReadInt16(kInt16* pBuffer, bool pSwab=false);
00287
00293 kUInt16 ReadUInt16(kUInt16* pBuffer, bool pSwab=false);
00294
00299 char ReadChar(char* pBuffer);
00300
00305 kUChar ReadUChar(kUChar* pBuffer);
00306
00312 size_t Write(const void* pBuffer, size_t pSize);
00313
00318 void Seek(eSeekPos pSeekPosition, long pOffset);
00319
00323 long GetPosition();
00324
00328 void SetPosition(long pPosition);
00329
00333 bool EndOfFile();
00334
00338 char* GetFullFileName();
00339
00343 eFileMode GetFileMode();
00344
00348 int GetError();
00349
00352 void ClearError();
00353
00358 void Format(const char* pFormat, ...);
00359
00364 int Truncate(size_t pSize);
00365
00370 static int Remove(const char* pFileName);
00371
00377 static int Rename(const char* pFileName, const char* pNewName);
00378
00379 private:
00380 KFile* mPrivateData;
00381 };
00382
00383 #include <fbxfilesdk/fbxfilesdk_nsend.h>
00384
00385 #endif // FBXFILESDK_KFBXPLUGINS_KFBXUTILITIES_H
00386