- Main Page
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# fbxwriterfbx7.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_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 //Writable version(s) for this file type.
    00023 #define FBX2013_00_COMPATIBLE "FBX201300"
    00024 #define FBX2012_00_COMPATIBLE "FBX201200"
    00025 #define FBX2011_00_COMPATIBLE "FBX201100"
    00026
    00027 class FbxWriterFbx7 : public FbxWriter
    00028 {
    00029 public:
    00030     typedef enum
    00031     {
    00032         eASCII,
    00033         eBINARY,
    00034         eENCRYPTED
    00035     } EExportMode;
    00036
    00037     FbxWriterFbx7(FbxManager& pManager, FbxExporter& pExporter, int pID);
    00038     FbxWriterFbx7(FbxManager& pManager, FbxExporter& pExporter, EExportMode pMode, int pID);
    00039     virtual ~FbxWriterFbx7();
    00040
    00041     virtual bool FileCreate(char* pFileName);
    00042     virtual bool FileCreate(FbxStream* pStream, void* pStreamData);
    00043     virtual bool FileClose();
    00044     virtual bool IsFileOpen();
    00045
    00046     virtual void GetWriteOptions();
    00047     virtual bool Write(FbxDocument* pDocument);
    00048     virtual bool PreprocessScene(FbxScene &pScene);
    00049     virtual bool PostprocessScene(FbxScene &pScene);
    00050     virtual bool Write(FbxDocument* pDocument, FbxIO* pFbx);
    00051     virtual void PluginWriteParameters(FbxObject& pParams);
    00052     virtual void SetProgressHandler(FbxProgress *pProgress);
    00053
    00054     void SetExportMode(EExportMode pMode);
    00055
    00056     virtual bool SupportsStreams() const        { return true; }
    00057
    00058 private:
    00059     // Declared, not defined.
    00060     FbxWriterFbx7(const FbxWriterFbx7&);
    00061     FbxWriterFbx7& operator=(const FbxWriterFbx7&);
    00062
    00063     struct ModifiedPropertyInfo{ FbxObject* mObj; FbxString mPropName; };
    00064     FbxArray<ModifiedPropertyInfo*> mModifiedProperties;
    00065     void StoreUnsupportedProperty(FbxObject* pObject, FbxProperty& pProperty);
    00066
    00067 private:
    00068     FbxWriterFbx7_Impl* mImpl;
    00069 };
    00070
    00071 #include <fbxsdk/fbxsdk_nsend.h>
    00072
    00073 #endif /* _FBXSDK_FILEIO_FBX_WRITER_FBX7_H_ */