fbxsdk/fileio/fbx/fbxwriterfbx7.h Source File
 
 
 
fbxsdk/fileio/fbx/fbxwriterfbx7.h
Go to the documentation of this file.
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_FILEIO_FBX_WRITER_FBX7_H_
00014 #define _FBXSDK_FILEIO_FBX_WRITER_FBX7_H_
00015 
00016 #include <fbxsdk.h>
00017 
00018 #include <fbxsdk/fbxsdk_nsbegin.h>
00019 
00020 struct FbxWriterFbx7_Impl;
00021 
00022 class FbxWriterFbx7 : public FbxWriter
00023 {
00024 public:
00025     typedef enum
00026     {
00027         eASCII,
00028         eBINARY,
00029         eENCRYPTED
00030     } EExportMode;
00031 
00032     FbxWriterFbx7(FbxManager& pManager, FbxExporter& pExporter, int pID, FbxStatus& pStatus);
00033     FbxWriterFbx7(FbxManager& pManager, FbxExporter& pExporter, EExportMode pMode, int pID, FbxStatus& pStatus);
00034     virtual ~FbxWriterFbx7();
00035 
00036     virtual bool FileCreate(char* pFileName);
00037     virtual bool FileCreate(FbxStream* pStream, void* pStreamData);
00038     virtual bool FileClose();
00039     virtual bool IsFileOpen();
00040 
00041     virtual void GetWriteOptions();
00042     virtual bool Write(FbxDocument* pDocument);
00043     virtual bool PreprocessScene(FbxScene &pScene);
00044     virtual bool PostprocessScene(FbxScene &pScene);
00045     virtual bool Write(FbxDocument* pDocument, FbxIO* pFbx);
00046         virtual void PluginWriteParameters(FbxObject& pParams);
00047     virtual void SetProgressHandler(FbxProgress *pProgress);
00048 
00049     void SetExportMode(EExportMode pMode);
00050 
00051         virtual bool SupportsStreams() const            { return true; }
00052 
00053 private:
00054     // Declared, not defined.
00055     FbxWriterFbx7(const FbxWriterFbx7&);
00056     FbxWriterFbx7& operator=(const FbxWriterFbx7&);
00057 
00058     struct ModifiedPropertyInfo{ FbxObject* mObj; FbxString mPropName; };
00059     FbxArray<ModifiedPropertyInfo*> mModifiedProperties;
00060         void StoreUnsupportedProperty(FbxObject* pObject, FbxProperty& pProperty);
00061 
00062 private:
00063     FbxWriterFbx7_Impl* mImpl;
00064 };
00065 
00066 #include <fbxsdk/fbxsdk_nsend.h>
00067 
00068 #endif /* _FBXSDK_FILEIO_FBX_WRITER_FBX7_H_ */