fbxsdk/fileio/fbx/fbxwriterfbx7.h Source File

fbxwriterfbx7.h
Go to the documentation of this file.
1 /****************************************************************************************
2 
3  Copyright (C) 2015 Autodesk, Inc.
4  All rights reserved.
5 
6  Use of this software is subject to the terms of the Autodesk license agreement
7  provided at the time of installation or download, or which otherwise accompanies
8  this software in either electronic or hard copy form.
9 
10 ****************************************************************************************/
11 
13 #ifndef _FBXSDK_FILEIO_FBX_WRITER_FBX7_H_
14 #define _FBXSDK_FILEIO_FBX_WRITER_FBX7_H_
15 
16 #include <fbxsdk.h>
17 
18 #include <fbxsdk/fbxsdk_nsbegin.h>
19 
20 struct FbxWriterFbx7_Impl;
21 
22 class FbxWriterFbx7 : public FbxWriter
23 {
24 public:
25  typedef enum
26  {
30  } EExportMode;
31 
32  FbxWriterFbx7(FbxManager& pManager, FbxExporter& pExporter, int pID, FbxStatus& pStatus);
33  FbxWriterFbx7(FbxManager& pManager, FbxExporter& pExporter, EExportMode pMode, int pID, FbxStatus& pStatus);
34  virtual ~FbxWriterFbx7();
35 
36  virtual bool FileCreate(char* pFileName);
37  virtual bool FileCreate(FbxStream* pStream, void* pStreamData);
38  virtual bool FileClose();
39  virtual bool IsFileOpen();
40 
41  virtual void GetWriteOptions();
42  virtual bool Write(FbxDocument* pDocument);
43  virtual bool PreprocessScene(FbxScene &pScene);
44  virtual bool PostprocessScene(FbxScene &pScene);
45  virtual bool Write(FbxDocument* pDocument, FbxIO* pFbx);
46  virtual void PluginWriteParameters(FbxObject& pParams);
47  virtual void SetProgressHandler(FbxProgress *pProgress);
48 
49  void SetExportMode(EExportMode pMode);
50 
51  virtual bool SupportsStreams() const { return true; }
52 
53 private:
54  // Declared, not defined.
56  FbxWriterFbx7& operator=(const FbxWriterFbx7&);
57 
58  struct ModifiedPropertyInfo{ FbxObject* mObj; FbxString mPropName; };
59  FbxArray<ModifiedPropertyInfo*> mModifiedProperties;
60  void StoreUnsupportedProperty(FbxObject* pObject, FbxProperty& pProperty);
61 
62 private:
63  FbxWriterFbx7_Impl* mImpl;
64 };
65 
66 #include <fbxsdk/fbxsdk_nsend.h>
67 
68 #endif /* _FBXSDK_FILEIO_FBX_WRITER_FBX7_H_ */
SDK object manager.
Definition: fbxmanager.h:56
virtual bool Write(FbxDocument *pDocument)
Writes content to the specified file with given stream options.
virtual bool IsFileOpen()
Test if the file is open.
Abstract class for implementing I/O operations through a stream of data.
Definition: fbxstream.h:26
Utility class to manipulate strings.
Definition: fbxstring.h:66
FbxDocument is a base class for FbxScene and FbxLibrary classes.
Definition: fbxdocument.h:46
virtual void SetProgressHandler(FbxProgress *pProgress)
Pass a progress handler to the writer.
FbxWriterFbx7(FbxManager &pManager, FbxExporter &pExporter, int pID, FbxStatus &pStatus)
This class facilitates the testing/reporting of errors.
Definition: fbxstatus.h:26
virtual bool PostprocessScene(FbxScene &pScene)
Post-processes the scene.
virtual void GetWriteOptions()
Setup write options.
virtual ~FbxWriterFbx7()
The base class of most FBX objects.
Definition: fbxobject.h:157
virtual bool PreprocessScene(FbxScene &pScene)
Pre-processes the scene.
Class to export SDK objects into an FBX file.
Definition: fbxexporter.h:89
This class contains the description of a 3D scene.
Definition: fbxscene.h:61
Base class of other writers used internally.
Definition: fbxwriter.h:58
virtual bool FileCreate(char *pFileName)
Creates a new file.
Class for progress reporting.
Definition: fbxprogress.h:31
Class to hold user properties.
Definition: fbxproperty.h:37
FbxIO represents an FBX file.
Definition: fbxio.h:324
virtual bool SupportsStreams() const
Returns true if this writer supports FbxStream I/O.
Definition: fbxwriterfbx7.h:51
void SetExportMode(EExportMode pMode)
virtual bool FileClose()
Closes the file.
virtual void PluginWriteParameters(FbxObject &pParams)
Writes extension plug-ins name, version and parameters, so that we can remember if a plug-in was used...