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);
116 virtual bool FileOpen(
FbxFile * pFile);
120 virtual bool FileOpen(
FbxStream * pStream,
void* pStreamData);
125 virtual bool FileClose();
130 virtual bool IsFileOpen();
145 EImportMode GetImportMode();
152 virtual void GetVersion(
int& pMajor,
int& pMinor,
int& pRevision);
179 virtual bool GetReadOptions(
bool pParseFileAsNeeded =
true);
193 virtual bool GetReadOptions(
FbxIO* pFbx,
bool pParseFileAsNeeded =
true);
207 virtual void PluginReadParameters(
FbxObject& pParams);
223 virtual void SetProgressHandler(
FbxProgress *pProgress);
225 virtual void SetEmbeddingExtractionFolder(
const char* pExtractFolder);
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.
virtual bool SupportsStreams() const
Returns true if this reader supports FbxStream I/O.
This class describes image mapping on top of geometry.
EFileOpenSpecialFlags
Flags for reading parts of file.
void Clear()
Delete all FbxObject in template map.
Fbx6ClassTemplateMap()
Constructor.
The Animation stack is a collection of animation layers.
bool MergeWithTemplate(FbxObject *pObject) const
Merge the properties of FbxObject with the object with the same class id.
EFlags
Property flags that affect their behaviors.
This class represents the coordinate system of the scene and can convert scenes to other coordinate s...
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.
Generic container for object grouping and encapsulation.
A class that maps strings to objects with a basic string comparator.
Class for clusters (links).
This class is a basic class to get the quantity of items.
Base class of other readers used internally.
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.
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.
FbxTrimNurbsSurface describes a NURBS surface with regions trimmed or cut away with trimming boundari...
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.
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.
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.
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.
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.
Simple class to hold RGBA values of a thumbnail image.
This object contains methods for accessing point animation in a cache file.
Class for array of basic elements such as pointers and basic types.
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.