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.