- Main Page
- Classes
- Files
- Directories

- File List
- File Members

# 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_ */