FBX C++ API Reference
fbxreaderfbx6.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_FBX6_H_
14 #define _FBXSDK_FILEIO_FBX_READER_FBX6_H_
15 
16 #include <fbxsdk.h>
17 
18 #include <fbxsdk/fbxsdk_nsbegin.h>
19 
20 class FbxAnimStack;
21 class FbxAnimLayer;
22 class Fbx6ObjectTypeInfo;
23 class Fbx6TypeReadReferences;
24 
25 
31 {
32 public:
33 
38 
43 
44  // Fbx6ClassTemplateMap will own this template object.
45 
51  bool AddClassId( FbxClassId pId, FbxObject* pTemplateObject );
52 
57  bool MergeWithTemplate( FbxObject* pObject ) const;
58 
62  void Clear();
63 
64 private:
66  MapType mClassMap;
67 
72  bool HasModifiedFlags(FbxProperty lProp) const;
73  inline FbxPropertyFlags::EFlags IndexToFlag( int i ) const { return static_cast<FbxPropertyFlags::EFlags>(1 << i); }
74 };
75 
76 
77 
82 class FbxReaderFbx6 : public FbxReader
83 {
84 public:
85 
92  FbxReaderFbx6(FbxManager& pManager, FbxImporter& pImporter, int pID, FbxStatus& pStatus);
93 
97  virtual ~FbxReaderFbx6();
98 
104  bool FileOpen(char* pFileName, EFileOpenSpecialFlags pFlags) override;
105 
110  bool FileOpen(char* pFileName) override;
111 
116  bool FileOpen(FbxFile * pFile) override;
117 
120  bool FileOpen(FbxStream * pStream, void* pStreamData) override;
121 
125  bool FileClose() override;
126 
130  bool IsFileOpen() override;
131 
135  typedef enum
136  {
140  } EImportMode;
141 
146 
152  void GetVersion(int& pMajor, int& pMinor, int& pRevision) override;
153 
159  bool GetAxisInfo(FbxAxisSystem* pAxisSystem, FbxSystemUnit* pSystemUnits) override;
160 
167  bool GetFrameRate(FbxTime::EMode &pTimeMode) override;
168 
173  bool GetStatistics(FbxStatistics* pStats) override;
174 
179  bool GetReadOptions(bool pParseFileAsNeeded = true) override;
180 
181 
186  bool Read(FbxDocument *pDocument) override;
187 
193  virtual bool GetReadOptions(FbxIO* pFbx, bool pParseFileAsNeeded = true);
194 
195 
201  virtual bool Read(FbxDocument *pDocument, FbxIO* pFbx);
202 
203 #ifndef FBXSDK_ENV_WINSTORE
204 
207  void PluginReadParameters(FbxObject& pParams) override;
208 #endif /* !FBXSDK_ENV_WINSTORE */
209 
213  FbxDocumentInfo* GetSceneInfo() override { return mSceneInfo; }
214 
215 
219  FbxArray<FbxTakeInfo*>* GetTakeInfo() override { return &mTakeInfo; }
220 
224  void SetProgressHandler(FbxProgress *pProgress) override;
225 
226  void SetEmbeddingExtractionFolder(const char* pExtractFolder) override;
227  void SetEmbeddedFileCallback(FbxEmbeddedFileCallback* pCallback) override;
228  bool SupportsStreams() const override { return true; }
229 
230 private:
231 
235  FbxDocumentInfo* ReadSceneInfo();
236 
241  FbxDocumentInfo* ReadSceneInfo(FbxString& pType);
242 
246  void WriteSceneInfo(FbxDocumentInfo*);
247 
251  bool WriteThumbnail(FbxThumbnail*);
252 
257 
266  FbxObject* CreateGenericObject(FbxDocument *pDocument, char* pObjectType, char* pObjectSubType, char* pObjectName, FbxObject::EObjectFlag pFlags=FbxObject::eSavable);
267 
273  bool ReadDescriptionSection(FbxDocument *pDocument, FbxString& pDocumentName);
274 
280  bool ReadReferenceSection(FbxDocument *pDocument, Fbx6TypeReadReferences& pDocReferences);
281 
287  bool ReadDefinitionSection(FbxDocument *pDocument, FbxArray<Fbx6ObjectTypeInfo*>& pObjectContent );
288 
295  bool ReadObjectSection(FbxDocument *pDocument, FbxArray<Fbx6ObjectTypeInfo*>& pObjectContent, Fbx6TypeReadReferences& pDocReferences );
296 
307  bool ReadObject(FbxDocument *pDocument, FbxString& pObjectType, FbxString& pObjectSubType, FbxString& pObjectName, FbxString& pObjectUniqueId, FbxObject* pReferencedObject, Fbx6TypeReadReferences& pDocReferences);
308 
313  bool ReadConnectionSection(FbxDocument *pDocument );
315 
320 
325  bool ReadDocumentAnimation(FbxDocument *pDocument);
326 
333  void ReadObjectAnimation(FbxIO& pFileObject, FbxObject* pNode, FbxAnimStack& pAnimStack, int pExceptionFlag);
334 
340  void ReadPropertyAnimation(FbxIO& pFileObject, FbxProperty* pProp, FbxAnimStack& pAnimStack);
341 
347  bool ReadTakeAnimation(FbxScene& pScene, FbxTakeInfo* pTakeInfo);
348 
355  bool ReadNodeAnimation(FbxIO& pFileObject, FbxScene& pScene, FbxAnimStack& pAnimStack, FbxTakeInfo* pTakeInfo);
356 
357 
362  void ReadLayers(FbxIO& pFileObject, FbxTakeInfo* pTakeInfo);
363 
369  void ReadTimeWarps(FbxIO& pFileObject, FbxMultiMap& pTimeWarpSet, FbxScene& pScene);
370 
374  FbxThumbnail* ReadThumbnail();
375 
383  bool TimeShiftNodeAnimation(FbxScene& pScene, FbxAnimStack& pAnimStack, int pTimeOffsetType, FbxTime pTimeOffset);
385 
390 
394  void ReadCameraSwitcher(FbxScene& pScene);
395 
399  bool ReadCameraSwitcher( FbxCameraSwitcher& pCameraSwitcher );
400 
404  void ReorderCameraSwitcherIndices(FbxScene& pScene);
406 
411 
415  void ReadGlobalLightSettings(FbxScene& pScene);
416 
420  void ReadGlobalTimeSettings(FbxScene& pScene);
421 
425  void ReadGlobalCameraSettings(FbxScene& pScene);
426 
430  void ReadShadowPlane(FbxScene& pScene);
431 
435  void ReadAmbientColor(FbxScene& pScene);
436 
440  void ReadFogOption(FbxScene& pScene);
442 
447 
453  void ReadCharacter(FbxCharacter& pCharacter,int& pInputType, int& pInputIndex);
454 
459  void ReadCharacterLinkGroup(FbxCharacter& pCharacter, int pCharacterGroupId);
460 
465  void ReadCharacterLink(FbxCharacter& pCharacter, int pCharacterNodeId);
466 
470  void ReadCharacterLinkRotationSpace(FbxCharacterLink& pCharacterLink);
471 
476  bool ReadCharacterPose(FbxCharacterPose& pCharacterPose); // TBV
478 
489  bool ReadPose(FbxScene& pScene, FbxPose* pPose, bool pAsBindPose);
490 
496  bool ReadMedia(FbxDocument *pDocument, const char* pEmbeddedMediaDirectory = "");
497 
502  bool ReadGlobalSettings(FbxGlobalSettings& pGlobalSettings);
504 
509 
516  bool ReadNode ( FbxNode& pNode, FbxString& pObjectSubType, Fbx6TypeReadReferences& pDocReferences );
517 
522  bool ReadContainer ( FbxContainer& pContainer );
523 
528  bool ReadGenericNode ( FbxGenericNode& pNode );
529 
534  bool ReadNodeShading ( FbxNode& pNode );
535 
540  bool ReadNodeCullingType ( FbxNode& pNode ); // TBV, probablement passe tout en property
541 
546  bool ReadNodeTarget ( FbxNode& pNode );
547 
555  bool ReadNodeAttribute ( FbxNode& pNode , FbxString& pObjectSubType, bool& pCreatedAttribute, Fbx6TypeReadReferences& pDocReferences);
556 
564  FbxNodeAttribute* ReadNodeAttribute( FbxString& pObjectSubType, FbxString& pObjectName, FbxString& pObjectUniqueId, FbxObject* pReferencedObject);
565 
572  bool ReadNodeProperties ( FbxNode& pNode, bool pReadNodeAttributeProperties );
573 
578  bool ReadLayeredTexture ( FbxLayeredTexture& pTex );
579 
584  bool ReadGeometryLinks ( FbxGeometry& pGeometry );
585 
590  bool ReadGeometryShapes ( FbxGeometry& pGeometry );
591 
596  bool ReadNull ( FbxNull& pNull );
597 
602  bool ReadMarker ( FbxMarker& pMarker );
603 
608  bool ReadCamera ( FbxCamera& pCamera );
609 
614  bool ReadCameraStereo ( FbxCameraStereo& pCameraStereo );
615 
620  bool ReadCameraStereoPrecomp (FbxCameraStereo& pCameraStereo);
621 
626  bool ReadLight ( FbxLight& pLight );
627 
633  bool ReadBindingTable ( FbxBindingTable& pTable );
634 
639  bool ReadBindingOperator ( FbxBindingOperator& pOperator );
640 
645  bool ReadMesh ( FbxMesh& pMesh );
646 
651  bool ReadMeshSmoothness ( FbxMesh& pMesh );
652 
657  bool ReadMeshVertices ( FbxMesh& pMesh );
658 
663  bool ReadMeshPolygonIndex ( FbxMesh& pMesh );
664 
669  bool ReadMeshEdges ( FbxMesh& pMesh );
670 
671  //** Read FBX subdiv, base mesh, finest mesh, current subdiv level...
672  //* \param pSubdiv fbx subdiv
673  //* \param pObjectName Object Name
674  //* \param pReferencedObject pointer of reference object
675  //* \return if reading subdiv object is successful return \c true, otherwise return \c false.
676  //*/
677  //bool ReadSubdiv( FbxSubDiv& pSubdiv, FbxString& pObjectName, FbxObject* pReferencedObject);
678 
683  bool ReadSubdiv( FbxSubDiv& pSubdiv);
684 
689  bool ReadDocument ( FbxDocument& pSubDocument );
690 
695  bool ReadCollection ( FbxCollection& pCollection );
696 
701  bool ReadSelectionSet ( FbxSelectionSet& pSelectionSet);
702 
703  bool ReadSelectionNode (FbxSelectionNode& pSelectionNode);
704 
709  bool ReadNurb ( FbxNurbs& pNurbs );
710 
715  bool ReadNurbsSurface ( FbxNurbsSurface& pNurbs );
716 
721  bool ReadPatch ( FbxPatch& pPatch );
722 
727  int ReadPatchType ( FbxPatch& pPatch );
728 
729 
734  bool ReadNurbsCurve ( FbxNurbsCurve& pNurbsCurve );
735 
739  bool ReadTrimNurbsSurface ( FbxTrimNurbsSurface& pNurbs );
740 
745  bool ReadBoundary ( FbxBoundary& pBoundary );
746 
752  bool ReadShape ( FbxShape& pShape, FbxGeometry& pGeometry);
753 
758  bool ReadImplementation ( FbxImplementation& pImplementation );
759 
764  bool ReadFileTexture (FbxFileTexture& pTexture);
765 
772  FbxSurfaceMaterial* ReadSurfaceMaterial(const char* pName, const char* pMaterialType, FbxSurfaceMaterial* pReferencedMaterial);
773 
778  bool ReadVideo (FbxVideo& pVideo);
779 
784  bool ReadThumbnail (FbxThumbnail& pThumbnail);
786 
787 
792 
797  bool ReadLayerElements (FbxGeometry& pGeometry);
798 
804  bool ReadLayerElementsMaterial (FbxGeometry* pGeometry, FbxArray<FbxLayerElement*>& pElementsMaterial);
805 
811  bool ReadLayerElementsNormal (FbxGeometry* pGeometry, FbxArray<FbxLayerElement*>& pElementsNormal);
812 
818  bool ReadLayerElementsTangent (FbxGeometry* pGeometry, FbxArray<FbxLayerElement*>& pElementsTangent);
819 
825  bool ReadLayerElementsBinormal (FbxGeometry* pGeometry, FbxArray<FbxLayerElement*>& pElementsBinormal);
826 
832  bool ReadLayerElementsVertexColor (FbxGeometry* pGeometry, FbxArray<FbxLayerElement*>& pElementsVertexColor);
833 
840  bool ReadLayerElementsTexture (FbxGeometry* pGeometry, FbxArray<FbxLayerElement*>& pElementsTexture, FbxLayerElement::EType pTextureType);
841 
848  bool ReadLayerElementsChannelUV (FbxGeometry* pGeometry, FbxArray<FbxLayerElement*>& pElementsUV, FbxLayerElement::EType pTextureType);
849 
855  bool ReadLayerElementsPolygonGroup (FbxGeometry* pGeometry, FbxArray<FbxLayerElement*>& pElementsPolygonGroup);
856 
862  bool ReadLayerElementsSmoothing (FbxGeometry* pGeometry, FbxArray<FbxLayerElement*>& pElementsSmoothing);
863 
869  bool ReadLayerElementsUserData (FbxGeometry* pGeometry, FbxArray<FbxLayerElement*>& pElementsUserData);
870 
876  bool ReadLayerElementsVisibility (FbxGeometry* pGeometry, FbxArray<FbxLayerElement*>& pElementsVisibility);
877 
883  bool ReadLayerElementEdgeCrease (FbxGeometry*pGeometry, FbxArray<FbxLayerElement*>& pElementsEdgeCrease);
884 
890  bool ReadLayerElementVertexCrease (FbxGeometry*pGeometry, FbxArray<FbxLayerElement*>& pElementsVertexCrease);
891 
897  bool ReadLayerElementHole (FbxGeometry*pGeometry, FbxArray<FbxLayerElement*>& pElementsHole);
899 
904 
909  bool ReadGeometryWeightedMap(FbxGeometryWeightedMap& pGeometryWeightedMap);
911 
916 
921  bool ReadLink(FbxCluster& pLink);
922 
927  bool ReadSkin(FbxSkin& pSkin);
928 
933  bool ReadVertexCacheDeformer(FbxVertexCacheDeformer& pDeformer);
934 
939  bool ReadCluster(FbxCluster& pCluster);
940 
945  bool ReadConstraint(FbxConstraint& pPosition);
947 
948  // Cache
949 
954  bool ReadCache(FbxCache& pCache);
955 
960 
967  bool ResolveCameraBackgrounds(FbxScene& pScene);
968 
972  void RemoveDuplicateTextures(FbxScene& pScene);
973 
980  void ReplaceTextures(FbxArray<FbxTexture*> const& pTextureDuplicate,
981  FbxArray<FbxTexture*> const& pTextureReplacement,
982  FbxGeometry* pGeometry, FbxLayerElement::EType pTextureType);
983 
987  void RemoveDuplicateMaterials(FbxScene& pScene);
988 
993  FbxString ConvertCameraName(FbxString pCameraName);
994 
1000  int FindString(const char* pString, FbxArray<FbxString*>& pStringArray);
1001 
1006  bool ReadPassword(FbxString pPassword);
1007 
1011  void PublishProperties(FbxObject& pObject);
1012 
1018  bool ReadProperties(FbxObject *pFbxObject, FbxIO *pFbxFileObject, bool pReadNodeAttributeProperties=true);
1019 
1020 
1027  bool ReadPropertiesAndFlags(FbxObject *pFbxObject, FbxIO *pFbxFileObject, bool pReadNodeAttributeProperties=true);
1028 
1034  bool ReadFlags(FbxObject *pFbxObject, FbxIO* pFbxFileObject);
1035 
1039  void RebuildTrimRegions(FbxScene& pScene) const;
1040 
1044  void SetSubdivision(FbxScene& pScene) const;
1045 
1049  void ConvertShapeDeformProperty(FbxScene& pScene) const;
1050 
1054  void RebuildLayeredTextureAlphas(FbxScene& pScene) const;
1055 
1056  //---------------- in progress -------------------------------
1057  void ReadOptionsInMainSection();
1058  void ReadTakeOptions();
1059  bool ReadOptionsInExtensionSection(int& pSectionIndex);
1060  bool WriteOptionsInExtensionSection(bool pOverwriteLastExtensionSection=false);
1061  //--------------- end in progress ----------------------------
1062 
1066  void ReadGlobalSettingsInMainSection();
1067 
1071  void ReadDefinitionSectionForStats();
1073 
1074 private:
1075 
1076  FbxReaderFbx6& operator=(FbxReaderFbx6 const&) { return *this; }
1077 
1078  FbxIO* mFileObject;
1079  FbxImporter& mImporter;
1080  FbxCharPtrSet mNodeArrayName;
1081  FbxObjectStringMap mObjectMap;
1082 
1083  bool mParseGlobalSettings;
1084  FbxAxisSystem mAxisSystem;
1085  FbxSystemUnit mSystemUnit;
1086  FbxTime::EMode mFrameRate;
1087 
1088  bool mRetrieveStats;
1089  FbxStatistics* mDefinitionsStatistics;
1090  FbxArray<FbxTakeInfo *> mTakeInfo;
1091  FbxDocumentInfo* mSceneInfo;
1092  FbxAnimLayer* mAnimLayer;
1093  FbxMultiMap mNickToKFCurveNodeTimeWarpsSet;
1094  FbxMultiMap* mNickToAnimCurveTimeWarpsSet;
1095 
1096  Fbx6ClassTemplateMap mClassTemplateMap;
1097  FbxProgress* mProgress;
1098  bool mProgressPause;
1099 
1100  bool mValidateData;
1101  FbxSceneCheckUtility* mCheckUtility;
1102 
1103  // structure used to cache the IOS_REF.GetBool(....) for when we have
1104  // calls of the GetBool() function inside loops that would get executed
1105  // often. This would speed things a little bit!
1106  struct CachedIOS_REF
1107  {
1108  bool mImportAnimation;
1109  bool mImportAudio;
1110  bool mImportShape;
1111  bool mImportNormal;
1112  bool mImportBinormal;
1113  bool mImportTangent;
1114  bool mImportVertexColor;
1115  bool mImportPolyGroup;
1116  bool mImportSmoothing;
1117  bool mImportUserData;
1118  bool mImportVisibility;
1119  bool mImportEdgeCrease;
1120  bool mImportVertexCrease;
1121  bool mImportHole;
1122  bool mImportCalcLegacyShapeNormal;
1123  bool mImportLinks;
1124  bool mImportConstraint;
1125  bool mExtractEmbedded;
1126  };
1127  CachedIOS_REF mDocFlags;
1128 
1129  inline void TriggerProgress(const char* label)
1130  {
1131  if (mProgress && !mProgressPause)
1132  {
1133  mProgress->Update(1.0f, label);
1134  }
1135  }
1136 };
1137 
1138 #include <fbxsdk/fbxsdk_nsend.h>
1139 
1140 #endif /* _FBXSDK_FILEIO_FBX_READER_FBX6_H_ */
The animation layer is a collection of animation curve nodes.
Definition: fbxanimlayer.h:30
This class describes image mapping on top of geometry.
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
void Clear()
Delete all FbxObject in template map.
bool SupportsStreams() const override
Returns true if this reader supports FbxStream I/O.
Fbx6ClassTemplateMap()
Constructor.
virtual ~FbxReaderFbx6()
Destructor.
SDK object manager.
Definition: fbxmanager.h:56
The Animation stack is a collection of animation layers.
Definition: fbxanimstack.h:37
bool GetStatistics(FbxStatistics *pStats) override
Get the statistics from file.
bool IsFileOpen() override
Check whether the file stream is open.
void Update(float pDelta, const char *pStatus=((void *) 0))
Update current progress with recent workload.
EFlags
Property flags that affect their behaviors.
This class represents the coordinate system of the scene and can convert scenes to other coordinate s...
Definition: fbxaxissystem.h:97
FBX SDK video class.
Definition: fbxvideo.h:25
Abstract class for implementing I/O operations through a stream of data.
Definition: fbxstream.h:26
void SetEmbeddedFileCallback(FbxEmbeddedFileCallback *pCallback) override
This class contains material settings.
Utility class to manipulate strings.
Definition: fbxstring.h:66
FbxDocument is a base class for FbxScene and FbxLibrary classes.
Definition: fbxdocument.h:46
Generic container for object grouping and encapsulation.
Definition: fbxcontainer.h:26
A class that maps strings to objects with a basic string comparator.
Definition: fbxmap.h:366
void SetEmbeddingExtractionFolder(const char *pExtractFolder) override
bool MergeWithTemplate(FbxObject *pObject) const
Merge the properties of FbxObject with the object with the same class id.
Class for clusters (links).
Definition: fbxcluster.h:47
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
This node attribute contains methods for accessing the properties of a camera switcher.
This class facilitates the testing/reporting of errors.
Definition: fbxstatus.h:29
FbxDocumentInfo * GetSceneInfo() override
Returns the scene info from the file.
This object represents the shading node implementation.
This class contains scene thumbnails and user-defined summary data.
This class contains functions for accessing global settings.
This node attribute contains the properties of a marker.
Definition: fbxmarker.h:26
Base class for weighted animation constraints.
Definition: fbxconstraint.h:27
bool GetAxisInfo(FbxAxisSystem *pAxisSystem, FbxSystemUnit *pSystemUnits) override
Get axis system information from file.
void PluginReadParameters(FbxObject &pParams) override
Read all the properties and flags.
bool Read(FbxDocument *pDocument) override
Read file with stream options.
Empty node containing properties.
Plain text mode.
FbxReaderFbx6(FbxManager &pManager, FbxImporter &pImporter, int pID, FbxStatus &pStatus)
Constructor.
bool AddClassId(FbxClassId pId, FbxObject *pTemplateObject)
Add the template object to template map.
void GetVersion(int &pMajor, int &pMinor, int &pRevision) override
Get file version.
A character pose is a character and an associated hierarchy of nodes.
Class to encapsulate time units.
Definition: fbxtime.h:44
FBX SDK selection set class.
The base class of most FBX objects.
Definition: fbxobject.h:157
This class deforms control points of a geometry using control point positions stored in the associate...
FbxArray< FbxTakeInfo * > * GetTakeInfo() override
Returns the pointer to the list of TakeInfo from the file.
FbxTrimNurbsSurface describes a NURBS surface with regions trimmed or cut away with trimming boundari...
Represents an element in the scene graph.
Definition: fbxnode.h:72
A patch is a type of node attribute with parametric surface.
Definition: fbxpatch.h:26
This node attribute contains methods for accessing the properties of a light.
Definition: fbxlight.h:27
This class contains the description of a 3D scene.
Definition: fbxscene.h:61
This class contains the description of a Pose and provide some methods to access Pose info in one FBX...
Definition: fbxpose.h:96
A NURBS surface is a type of parametric geometry.
This class contains the data structure support for char pointer set.
Definition: fbxcharptrset.h:22
EImportMode
File import mode.
If set, object is stored in FBX file upon export.
Definition: fbxobject.h:202
bool GetFrameRate(FbxTime::EMode &pTimeMode) override
Get FBX file time mode read from GlobalSettings in FBX 6.n and FBX 7.n.
EImportMode GetImportMode()
Get current Import mode.
EMode
Time modes.
Definition: fbxtime.h:91
A shape describes the deformation on a set of control points, which is similar to the cluster deforme...
Definition: fbxshape.h:42
This class defines functions to check the received scene graph for issues.
Class for progress reporting.
Definition: fbxprogress.h:31
FbxBoundary describes a trimming boundary for a trimmed NURBS object.
Internal class used to differentiate objects during run-time.
Definition: fbxclassid.h:39
EType
Layer Element type identifier.
Definition: fbxlayer.h:75
FbxSelectionNode is an auxiliary class for Selection Set.
Class to hold user properties.
Definition: fbxproperty.h:39
FbxLayeredTexture is a combination of multiple textures(FbxTexture) blended sequentially.
Skin deformer class.
Definition: fbxskin.h:37
bool GetReadOptions(bool pParseFileAsNeeded=true) override
Get the file stream options.
Helper class to merge Class root property templates.
Definition: fbxreaderfbx6.h:30
A FbxObject derived container for FbxObject.
Definition: fbxcollection.h:28
FbxIO represents an FBX file.
Definition: fbxio.h:347
A binding table represents a collection of bindings from source types such as FbxObject, or FbxLayerElements to corresponding destinations, usually a third party shader parameters.
~Fbx6ClassTemplateMap()
Destructor.
bool FileOpen(char *pFileName, EFileOpenSpecialFlags pFlags) override
Open file with certain EFileOpenSpecialFlags.
This class describes the units of measurement used within a particular scene.
Definition: fbxsystemunit.h:31
This class contains take information from an imported file or exported to an output file...
Definition: fbxtakeinfo.h:56
This node attribute contains methods for accessing the properties of a camera.
Definition: fbxcamera.h:34
This object represents a binding operation on a FbxObject or FbxProperty.
A NURBS surface is a type of parametric geometry.
Definition: fbxnurbs.h:31
A Non-Uniform Rational B-Spline (NURBS) curve is a type of parametric geometry.
Definition: fbxnurbscurve.h:60
This node attribute contains the properties of a null node.
Definition: fbxnull.h:25
void SetProgressHandler(FbxProgress *pProgress) override
Pass a progress handler to the reader.
A Character is a person or animal with pre-defined skeleton system.
Definition: fbxcharacter.h:109
Class for interfacing with files, providing a similar interface for files independant of the OS or fi...
Definition: fbxfile.h:27
This class provides the structure to build a correspondence between 2 geometries. ...
The base class of geometric objects that support control point deformations (e.g. ...
Definition: fbxgeometry.h:45
EObjectFlag
Flags available to control objects.
Definition: fbxobject.h:197
This class is the FBX v6 reader.
Definition: fbxreaderfbx6.h:82
This class is the base class to all types of node attributes.
Class to manipulate a map that can contain multiple times the same key.
Definition: fbxmultimap.h:22
bool FileClose() override
Close the file stream.
Simple class to hold RGBA values of a thumbnail image.
Definition: fbxthumbnail.h:27
This object contains methods for accessing point animation in a cache file.
Definition: fbxcache.h:33
Class to import an FBX file into SDK objects.
Definition: fbximporter.h:91
A mesh is a geometry made of polygons.
Definition: fbxmesh.h:33
This node attribute contains methods for accessing the properties of a stereo camera.