FBX C++ API Reference
fbxreaderfbx7.h
Go to the documentation of this file.
1 /****************************************************************************************
2 
3  Copyright (C) 2019 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_READER_FBX7_H_
14 #define _FBXSDK_FILEIO_FBX_READER_FBX7_H_
15 
16 #include <fbxsdk.h>
17 
18 #include <fbxsdk/fbxsdk_nsbegin.h>
19 
20 struct FbxReaderFbx7_Impl;
21 
26 class FbxReaderFbx7 : public FbxReader
27 {
28 public:
32  typedef enum
33  {
37  } EImportMode;
38 
45  FbxReaderFbx7(FbxManager& pManager, FbxImporter& pImporter, int pID, FbxStatus& pStatus);
46 
50  virtual ~FbxReaderFbx7();
51 
57  bool FileOpen(char* pFileName, EFileOpenSpecialFlags pFlags) override;
58 
63  bool FileOpen(char* pFileName) override;
64 
67  bool FileOpen(FbxFile* pFile) override;
68 
71  bool FileOpen(FbxStream * pStream, void* pStreamData) override;
72 
76  bool FileClose() override;
77 
81  bool IsFileOpen() override;
82 
87 
93  void GetVersion(int& pMajor, int& pMinor, int& pRevision) override;
94 
100  bool GetAxisInfo(FbxAxisSystem* pAxisSystem, FbxSystemUnit* pSystemUnits) override;
101 
108  bool GetFrameRate(FbxTime::EMode &pTimeMode) override;
109 
114  bool GetStatistics(FbxStatistics* pStats) override;
115 
120  bool GetReadOptions(bool pParseFileAsNeeded = true) override;
121 
126  bool Read(FbxDocument *pDocument) override;
127 
128 #ifndef FBXSDK_ENV_WINSTORE
129 
135  void PluginReadParameters(FbxObject& pParams) override;
136 #endif /* !FBXSDK_ENV_WINSTORE */
137 
143  virtual bool GetReadOptions(FbxIO* pFbx, bool pParseFileAsNeeded = true);
144 
150  virtual bool Read(FbxDocument *pDocument, FbxIO* pFbx);
151 
155  FbxDocumentInfo* GetSceneInfo() override;
156 
161 
165  void SetProgressHandler(FbxProgress *pProgress) override;
166 
167  void SetEmbeddingExtractionFolder(const char* pExtractFolder) override;
168  void SetEmbeddedFileCallback(FbxEmbeddedFileCallback* pCallback) override;
169  bool SupportsStreams() const override { return true; }
170 
171 private:
172  // Declared, not defined.
174  FbxReaderFbx7& operator=(FbxReaderFbx7 const&);
175 
176 private:
177  FbxReaderFbx7_Impl* mImpl;
178 };
179 
180 #include <fbxsdk/fbxsdk_nsend.h>
181 
182 #endif /* _FBXSDK_FILEIO_FBX_READER_FBX7_H_ */
EFileOpenSpecialFlags
Flags for reading parts of file.
Definition: fbxreader.h:92
Callback to operate on the embedded data while it is processed.
Definition: fbxcallbacks.h:166
Plain text mode.
Definition: fbxreaderfbx7.h:34
SDK object manager.
Definition: fbxmanager.h:56
This class represents the coordinate system of the scene and can convert scenes to other coordinate s...
Definition: fbxaxissystem.h:97
Abstract class for implementing I/O operations through a stream of data.
Definition: fbxstream.h:26
FbxDocument is a base class for FbxScene and FbxLibrary classes.
Definition: fbxdocument.h:46
FbxArray< FbxTakeInfo * > * GetTakeInfo() override
Returns the pointer to the list of TakeInfo from the file.
This class is a basic class to get the quantity of items.
Definition: fbxstatistics.h:62
Base class of other readers used internally.
Definition: fbxreader.h:65
void SetEmbeddingExtractionFolder(const char *pExtractFolder) override
This class facilitates the testing/reporting of errors.
Definition: fbxstatus.h:29
bool GetStatistics(FbxStatistics *pStats) override
Get the statistics from file.
This class contains scene thumbnails and user-defined summary data.
bool Read(FbxDocument *pDocument) override
Read file with stream options.
bool IsFileOpen() override
Check whether the file stream is open.
FbxDocumentInfo * GetSceneInfo() override
Returns the scene info from the file.
virtual ~FbxReaderFbx7()
Destructor.
bool GetFrameRate(FbxTime::EMode &pTimeMode) override
Get FBX file time mode read from GlobalSettings in FBX 6.n and FBX 7.n.
FbxReaderFbx7(FbxManager &pManager, FbxImporter &pImporter, int pID, FbxStatus &pStatus)
Constructor.
The base class of most FBX objects.
Definition: fbxobject.h:157
void GetVersion(int &pMajor, int &pMinor, int &pRevision) override
Get file version.
EImportMode
File import mode.
Definition: fbxreaderfbx7.h:32
bool GetAxisInfo(FbxAxisSystem *pAxisSystem, FbxSystemUnit *pSystemUnits) override
Get axis system information from file.
void PluginReadParameters(FbxObject &pParams) override
Reads extension plug-ins name, version and parameters, so that we can remember if a plug-in was used ...
EMode
Time modes.
Definition: fbxtime.h:91
Class for progress reporting.
Definition: fbxprogress.h:31
bool GetReadOptions(bool pParseFileAsNeeded=true) override
Get the file stream options.
FbxIO represents an FBX file.
Definition: fbxio.h:347
This class describes the units of measurement used within a particular scene.
Definition: fbxsystemunit.h:31
bool FileOpen(char *pFileName, EFileOpenSpecialFlags pFlags) override
Open file with certain EFileOpenSpecialFlags.
This class is the FBX v7 reader.
Definition: fbxreaderfbx7.h:26
bool SupportsStreams() const override
Returns true if this reader supports FbxStream I/O.
Class for interfacing with files, providing a similar interface for files independant of the OS or fi...
Definition: fbxfile.h:27
void SetProgressHandler(FbxProgress *pProgress) override
Pass a progress handler to the reader.
EImportMode GetImportMode()
Get current Import mode.
void SetEmbeddedFileCallback(FbxEmbeddedFileCallback *pCallback) override
bool FileClose() override
Close the file stream.
Class to import an FBX file into SDK objects.
Definition: fbximporter.h:91