13 #ifndef _FBXSDK_FILEIO_FBX_READER_FBX6_H_
14 #define _FBXSDK_FILEIO_FBX_READER_FBX6_H_
22 class Fbx6ObjectTypeInfo;
23 class Fbx6TypeReadReferences;
110 virtual bool FileOpen(
char* pFileName);
152 virtual void GetVersion(
int& pMajor,
int& pMinor,
int& pRevision);
279 bool ReadReferenceSection(
FbxDocument *pDocument, Fbx6TypeReadReferences& pDocReferences);
312 bool ReadConnectionSection(
FbxDocument *pDocument );
324 bool ReadDocumentAnimation(
FbxDocument *pDocument);
393 void ReadCameraSwitcher(
FbxScene& pScene);
403 void ReorderCameraSwitcherIndices(
FbxScene& pScene);
414 void ReadGlobalLightSettings(
FbxScene& pScene);
419 void ReadGlobalTimeSettings(
FbxScene& pScene);
424 void ReadGlobalCameraSettings(
FbxScene& pScene);
429 void ReadShadowPlane(
FbxScene& pScene);
434 void ReadAmbientColor(
FbxScene& pScene);
439 void ReadFogOption(
FbxScene& pScene);
452 void ReadCharacter(
FbxCharacter& pCharacter,
int& pInputType,
int& pInputIndex);
458 void ReadCharacterLinkGroup(
FbxCharacter& pCharacter,
int pCharacterGroupId);
464 void ReadCharacterLink(
FbxCharacter& pCharacter,
int pCharacterNodeId);
495 bool ReadMedia(
FbxDocument *pDocument,
const char* pEmbeddedMediaDirectory =
"");
515 bool ReadNode (
FbxNode& pNode,
FbxString& pObjectSubType, Fbx6TypeReadReferences& pDocReferences );
533 bool ReadNodeShading (
FbxNode& pNode );
539 bool ReadNodeCullingType (
FbxNode& pNode );
545 bool ReadNodeTarget (
FbxNode& pNode );
554 bool ReadNodeAttribute (
FbxNode& pNode ,
FbxString& pObjectSubType,
bool& pCreatedAttribute, Fbx6TypeReadReferences& pDocReferences);
571 bool ReadNodeProperties (
FbxNode& pNode,
bool pReadNodeAttributeProperties );
589 bool ReadGeometryShapes (
FbxGeometry& pGeometry );
595 bool ReadNull (
FbxNull& pNull );
625 bool ReadLight (
FbxLight& pLight );
644 bool ReadMesh (
FbxMesh& pMesh );
650 bool ReadMeshSmoothness (
FbxMesh& pMesh );
656 bool ReadMeshVertices (
FbxMesh& pMesh );
662 bool ReadMeshPolygonIndex (
FbxMesh& pMesh );
668 bool ReadMeshEdges (
FbxMesh& pMesh );
682 bool ReadSubdiv( FbxSubDiv& pSubdiv);
720 bool ReadPatch (
FbxPatch& pPatch );
726 int ReadPatchType (
FbxPatch& pPatch );
966 bool ResolveCameraBackgrounds(
FbxScene& pScene);
971 void RemoveDuplicateTextures(
FbxScene& pScene);
986 void RemoveDuplicateMaterials(
FbxScene& pScene);
1010 void PublishProperties(
FbxObject& pObject);
1017 bool ReadProperties(
FbxObject *pFbxObject,
FbxIO *pFbxFileObject,
bool pReadNodeAttributeProperties=
true);
1026 bool ReadPropertiesAndFlags(
FbxObject *pFbxObject,
FbxIO *pFbxFileObject,
bool pReadNodeAttributeProperties=
true);
1038 void RebuildTrimRegions(
FbxScene& pScene)
const;
1043 void SetSubdivision(
FbxScene& pScene)
const;
1048 void ConvertShapeDeformProperty(
FbxScene& pScene)
const;
1053 void RebuildLayeredTextureAlphas(
FbxScene& pScene)
const;
1056 void ReadOptionsInMainSection();
1057 void ReadTakeOptions();
1058 bool ReadOptionsInExtensionSection(
int& pSectionIndex);
1059 bool WriteOptionsInExtensionSection(
bool pOverwriteLastExtensionSection=
false);
1065 void ReadGlobalSettingsInMainSection();
1070 void ReadDefinitionSectionForStats();
1082 bool mParseGlobalSettings;
1087 bool mRetrieveStats;
1097 bool mProgressPause;
The animation layer is a collection of animation curve nodes.
This class describes image mapping on top of geometry.
EFileOpenSpecialFlags
Flags for reading parts of file.
void Clear()
Delete all FbxObject in template map.
virtual bool GetAxisInfo(FbxAxisSystem *pAxisSystem, FbxSystemUnit *pSystemUnits)
Get axis system information from file.
Fbx6ClassTemplateMap()
Constructor.
virtual ~FbxReaderFbx6()
Destructor.
The Animation stack is a collection of animation layers.
virtual void GetVersion(int &pMajor, int &pMinor, int &pRevision)
Get file version.
EFlags
Property flags that affect their behaviors.
This class represents the coordinate system of the scene and can convert scenes to other coordinate s...
virtual bool FileOpen(char *pFileName, EFileOpenSpecialFlags pFlags)
Open file with certain EFileOpenSpecialFlags.
Abstract class for implementing I/O operations through a stream of data.
This class contains material settings.
Utility class to manipulate strings.
FbxDocument is a base class for FbxScene and FbxLibrary classes.
virtual bool GetReadOptions(bool pParseFileAsNeeded=true)
Get the file stream options.
Generic container for object grouping and encapsulation.
A class that maps strings to objects with a basic string comparator.
bool MergeWithTemplate(FbxObject *pObject) const
Merge the properties of FbxObject with the object with the same class id.
Class for clusters (links).
This class is a basic class to get the quantity of items.
Base class of other readers used internally.
virtual void SetProgressHandler(FbxProgress *pProgress)
Pass a progress handler to the reader.
This node attribute contains methods for accessing the properties of a camera switcher.
This class facilitates the testing/reporting of errors.
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.
Base class for weighted animation constraints.
Empty node containing properties.
FbxReaderFbx6(FbxManager &pManager, FbxImporter &pImporter, int pID, FbxStatus &pStatus)
Constructor.
bool AddClassId(FbxClassId pId, FbxObject *pTemplateObject)
Add the template object to template map.
A character pose is a character and an associated hierarchy of nodes.
Class to encapsulate time units.
FBX SDK selection set class.
The base class of most FBX objects.
virtual bool GetFrameRate(FbxTime::EMode &pTimeMode)
Get FBX file time mode read from GlobalSettings in FBX 6.n and FBX 7.n.
FbxTrimNurbsSurface describes a NURBS surface with regions trimmed or cut away with trimming boundari...
virtual bool GetStatistics(FbxStatistics *pStats)
Get the statistics from file.
Represents an element in the scene graph.
A patch is a type of node attribute with parametric surface.
This node attribute contains methods for accessing the properties of a light.
This class contains the description of a 3D scene.
This class contains the description of a Pose and provide some methods to access Pose info in one FBX...
A NURBS surface is a type of parametric geometry.
This class contains the data structure support for char pointer set.
This class represents a link between a given FBX node and the associated node in the character hierar...
EImportMode
File import mode.
If set, object is stored in FBX file upon export.
EImportMode GetImportMode()
Get current Import mode.
A shape describes the deformation on a set of control points, which is similar to the cluster deforme...
Class for progress reporting.
FbxBoundary describes a trimming boundary for a trimmed NURBS object.
virtual void PluginReadParameters(FbxObject &pParams)
Read all the properties and flags.
Internal class used to differentiate objects during run-time.
EType
Layer Element type identifier.
FbxSelectionNode is an auxiliary class for Selection Set.
Class to hold user properties.
FbxLayeredTexture is a combination of multiple textures(FbxTexture) blended sequentially.
virtual FbxDocumentInfo * GetSceneInfo()
Returns the scene info from the file.
Helper class to merge Class root property templates.
A FbxObject derived container for FbxObject.
FbxIO represents an FBX file.
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.
virtual bool FileClose()
Close the file stream.
This class describes the units of measurement used within a particular scene.
This class contains take information from an imported file or exported to an output file...
This node attribute contains methods for accessing the properties of a camera.
This object represents a binding operation on a FbxObject or FbxProperty.
A NURBS surface is a type of parametric geometry.
A Non-Uniform Rational B-Spline (NURBS) curve is a type of parametric geometry.
This node attribute contains the properties of a null node.
virtual FbxArray< FbxTakeInfo * > * GetTakeInfo()
Returns the pointer to the list of TakeInfo from the file.
A Character is a person or animal with pre-defined skeleton system.
Class for interfacing with files, providing a similar interface for files independant of the OS or fi...
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. ...
EObjectFlag
Flags available to control objects.
This class is the FBX v6 reader.
virtual bool IsFileOpen()
Check whether the file stream is open.
This class is the base class to all types of node attributes.
virtual bool Read(FbxDocument *pDocument)
Read file with stream options.
Class to manipulate a map that can contain multiple times the same key.
virtual void SetEmbeddingExtractionFolder(const char *pExtractFolder)
Simple class to hold RGBA values of a thumbnail image.
This object contains methods for accessing point animation in a cache file.
virtual bool SupportsStreams() const
Returns true if this reader supports FbxStream I/O.
Class to import an FBX file into SDK objects.
A mesh is a geometry made of polygons.
This node attribute contains methods for accessing the properties of a stereo camera.