13 #ifndef _FBXSDK_FILEIO_FBX_READER_FBX5_H_
14 #define _FBXSDK_FILEIO_FBX_READER_FBX5_H_
21 class Fbx5ObjectTypeInfo;
28 const char* * pExtensions,
29 const char* * pDescriptions);
37 virtual bool FileOpen(
char* pFileName,
bool pIgnoredArg);
39 virtual bool FileOpen(
char* pFileName);
55 virtual void GetVersion(
int& pMajor,
int& pMinor,
int& pRevision);
69 void ReadOptionsInMainSection();
70 void ReadTakeOptions();
71 bool ReadOptionsInExtensionSection(
int& pSectionIndex);
72 void ReadOptionsInGenericSection();
73 bool WriteOptionsInExtensionSection(
bool pOverwriteLastExtensionSection=
false);
78 void SetIsBeforeVersion6WithMainSection(
bool pOpenMainSection);
85 bool ReadAnimation(
FbxScene& pScene);
90 bool ReadHierarchy(
FbxNode& pRootNode);
91 bool ResolveHierarchy(
FbxNode& pRootNode);
93 bool ResolveTargets(
FbxNode& pRootNode);
94 bool ResolveUpNodes(
FbxNode& pRootNode);
95 bool ResolveCameraBackgrounds(
FbxScene& pScene);
96 void RemoveDuplicateTextures(
FbxScene& pScene);
97 void RemoveDuplicateMaterials(
FbxScene& pScene);
102 void ReadCameraSwitcher(
FbxScene& pScene);
103 void ReorderCameraSwitcherIndices(
FbxScene& pScene);
106 void ReadGoboSection(
FbxScene& pScene);
109 void ReadCharacter(
FbxScene& pScene);
110 void ReadCharacter(
FbxCharacter& pCharacter,
int& pInputType,
int& pInputIndex);
111 void ReadCharacterLinkGroup(
FbxCharacter& pCharacter,
int pCharacterGroupId);
112 void ReadCharacterLink(
FbxCharacter& pCharacter,
int pCharacterNodeId);
116 void ReadControlSetLinkGroup(
FbxControlSet& pControlSet,
int pCharacterGroupId);
117 void ReadControlSetLink(
FbxControlSet& pControlSet,
int pCharacterNodeId);
121 int ReadCharacterPose(
FbxScene& pScene);
124 void ReadGlobalLightSettings(
FbxScene& pScene);
125 void ReadShadowPlane(
FbxScene& pScene);
126 void ReadAmbientColor(
FbxScene& pScene);
127 void ReadFogOption(
FbxScene& pScene);
129 void ReadGlobalCameraAndTimeSettings(
FbxScene& pScene);
130 void ReadGlobalTimeSettings(
FbxScene& pScene);
132 void ReadGlobalCameraSettings(
FbxScene& pScene);
134 bool ReadMedia(
FbxScene& pScene,
const char* pEmbeddedMediaDirectory =
"");
135 FbxString ReadMediaClip(
const char* pEmbeddedMediaDirectory);
137 bool ReadNode (
FbxNode& pNode );
139 bool ReadNodeChildrenName (
FbxNode& pNode );
140 bool ReadNodeShading (
FbxNode& pNode );
141 bool ReadNodeCullingType (
FbxNode& pNode );
142 bool ReadNodeLimits (
FbxNode& pNode );
143 bool ReadNodeTarget (
FbxNode& pNode );
144 bool ReadNodeAttribute (
FbxNode& pNode );
145 bool ReadNodePivots (
FbxNode& pNode );
146 bool ReadNodeDefaultAttributes (
FbxNode& pNode );
147 bool ReadNodeProperties (
FbxNode& pNode );
149 bool ReadGeometryMaterial (
FbxGeometry& pGeometry );
150 bool ReadGeometryTexture (
FbxGeometry& pGeometry );
152 bool ReadGeometryShapes (
FbxGeometry& pGeometry );
154 bool ReadGeometryTextureLayer (
FbxGeometry& pGeometry,
int pLayerIndex );
156 bool ReadNull (
FbxNull& pNull );
163 bool ReadLight (
FbxLight& pLight );
165 bool ReadMesh (
FbxMesh& pMesh );
166 bool ReadMeshVertices (
FbxMesh& pMesh );
167 bool ReadMeshNormals (
FbxMesh& pMesh );
168 bool ReadMeshAssignation (
FbxMesh& pMesh );
169 bool ReadMeshPolygonIndex (
FbxMesh& pMesh );
170 bool ReadMeshPolyGroupIndex (
FbxMesh& pMesh );
171 bool ReadMeshMaterialsID (
FbxMesh& pMesh );
172 bool ReadMeshTexturesID (
FbxMesh& pMesh );
173 bool ReadMeshTextureType (
FbxMesh& pMesh );
174 bool ReadMeshTextureUV (
FbxMesh& pMesh );
175 bool ReadMeshTextureIndex (
FbxMesh& pMesh );
176 bool ReadMeshVertexColors (
FbxMesh& pMesh );
190 bool ReadPatch (
FbxPatch& pPatch );
191 int ReadPatchType (
FbxPatch& pPatch );
202 bool ReadUserProperties (
FbxNode& pNode);
208 bool ReadConnectionSection();
213 bool GenerateParametricGeometryLayer(
FbxGeometry& pGeometry);
214 void CorrectTextureLayers(
FbxMesh& pMesh);
216 void TransferAnimation(
void* pRootCurveNode,
FbxProperty& pRootProperty,
bool pValueOnly =
false);
217 void ReadAnimation(
FbxIO& pFileObject,
void* pCurveNode);
223 FbxNode* FindNode (
char* pName);
229 void ReadSceneGenericPersistenceSection(
FbxScene& pScene);
The animation layer is a collection of animation curve nodes.
FbxReader * CreateFBXReader(FbxManager &pManager, FbxImporter &pImporter, int pID, FbxStatus &pStatus)
This class describes image mapping on top of geometry.
EFileOpenSpecialFlags
Flags for reading parts of file.
FbxReaderFbx5(FbxManager &pManager, FbxImporter &pImporter, int pID, FbxStatus &pStatus)
A gobo is a filter placed over a spot light to project light patterns through fog on a surface...
virtual FbxDocumentInfo * GetSceneInfo()
Returns the scene info from the file.
Abstract class for implementing I/O operations through a stream of data.
virtual bool FileClose()
Closes the file stream.
Utility class to manipulate strings.
virtual void SetEmbeddingExtractionFolder(const char *pExtractFolder)
FbxDocument is a base class for FbxScene and FbxLibrary classes.
virtual bool FileOpen(char *pFileName, bool pIgnoredArg)
A class that maps strings to objects with a basic string comparator.
virtual FbxArray< FbxTakeInfo * > * GetTakeInfo()
Returns the list of take infos from the file.
Class for clusters (links).
Base class of other readers used internally.
void GetInfoFBXReader(int *pCount, const char **pExtensions, const char **pDescriptions)
This node attribute contains methods for accessing the properties of a camera switcher.
This class facilitates the testing/reporting of errors.
virtual bool IsFileOpen()
Checks if the file stream is open.
This class contains scene thumbnails and user-defined summary data.
This node attribute contains the properties of a marker.
Base class for weighted animation constraints.
Empty node containing properties.
EImportMode GetImportMode()
A character pose is a character and an associated hierarchy of nodes.
The base class of most FBX objects.
Represents an element in the scene graph.
A patch is a type of node attribute with parametric surface.
This class contains settings for Phong Materials.
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...
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...
virtual bool SupportsStreams() const
Returns true if this reader supports FbxStream I/O.
virtual bool GetReadOptions(bool pParseFileAsNeeded=true)
Returns file stream options.
A shape describes the deformation on a set of control points, which is similar to the cluster deforme...
Class to hold user properties.
virtual bool Read(FbxDocument *pDocument)
Reads file with stream options.
virtual void GetVersion(int &pMajor, int &pMinor, int &pRevision)
Returns the file version.
FbxIO represents an FBX file.
virtual bool FileOpen(char *pFileName, EFileOpenSpecialFlags pFlags)
Opens the file with specific EFileOpenSpecialFlags.
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.
A NURBS surface is a type of parametric geometry.
virtual bool FileOpen(char *pFileName)=0
Opens the file with default flag.
This node attribute contains the properties of a null node.
This class contains all methods to either set-up an exported control rig or query information on an i...
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...
The base class of geometric objects that support control point deformations (e.g. ...
Class to manipulate a map that can contain multiple times the same key.
Simple class to hold RGBA values of a thumbnail image.
Class to import an FBX file into SDK objects.
A mesh is a geometry made of polygons.