Assimp
v4.1. (December 2018)
|
The XFileImporter is a worker class capable of importing a scene from a DirectX file .x. More...
Inherits Assimp::BaseImporter.
Public Member Functions | |
bool | CanRead (const std::string &pFile, IOSystem *pIOHandler, bool CheckSig) const |
Returns whether the class can handle the format of the given file. More... | |
XFileImporter () | |
~XFileImporter () | |
![]() | |
BaseImporter () AI_NO_EXCEPT | |
Constructor to be privately used by Importer. More... | |
virtual const ImporterUnits & | GetApplicationUnits () |
const std::string & | GetErrorText () const |
Returns the error description of the last error that occurred. More... | |
void | GetExtensionList (std::set< std::string > &extensions) |
Called by #Importer::GetExtensionList for each loaded importer. More... | |
virtual double | GetFileScale () const |
aiScene * | ReadFile (Importer *pImp, const std::string &pFile, IOSystem *pIOHandler) |
Imports the given file and returns the imported data. More... | |
virtual void | SetApplicationUnits (const ImporterUnits &unit) |
virtual void | SetFileScale (double scale) |
Will be called only by scale process when scaling is requested. More... | |
virtual void | SetupProperties (const Importer *pImp) |
Called prior to ReadFile(). More... | |
virtual | ~BaseImporter () |
Destructor, private as well. More... | |
Protected Member Functions | |
void | ConvertMaterials (aiScene *pScene, std::vector< XFile::Material > &pMaterials) |
Converts all materials in the given array and stores them in the scene's material list. More... | |
void | CreateAnimations (aiScene *pScene, const XFile::Scene *pData) |
Converts the animations from the given imported data and creates them in the scene. More... | |
void | CreateDataRepresentationFromImport (aiScene *pScene, XFile::Scene *pData) |
Constructs the return data structure out of the imported data. More... | |
void | CreateMeshes (aiScene *pScene, aiNode *pNode, const std::vector< XFile::Mesh *> &pMeshes) |
Converts all meshes in the given mesh array. More... | |
aiNode * | CreateNodes (aiScene *pScene, aiNode *pParent, const XFile::Node *pNode) |
Recursively creates scene nodes from the imported hierarchy. More... | |
const aiImporterDesc * | GetInfo () const |
Return importer meta information. More... | |
void | InternReadFile (const std::string &pFile, aiScene *pScene, IOSystem *pIOHandler) |
Imports the given file into the given scene structure. More... | |
Protected Attributes | |
std::vector< char > | mBuffer |
Buffer to hold the loaded file. More... | |
![]() | |
ImporterUnits | applicationUnits = ImporterUnits::M |
double | fileScale = 1.0 |
double | importerScale = 1.0 |
std::string | m_ErrorText |
Error description in case there was one. More... | |
ProgressHandler * | m_progress |
Currently set progress handler. More... | |
Additional Inherited Members | |
![]() | |
enum | ImporterUnits { M, MM, CM, INCHES, FEET } |
enum | TextFileMode { ALLOW_EMPTY, FORBID_EMPTY } |
Enum to define, if empty files are ok or not. More... | |
![]() | |
static bool | CheckMagicToken (IOSystem *pIOHandler, const std::string &pFile, const void *magic, unsigned int num, unsigned int offset=0, unsigned int size=4) |
Check whether a file starts with one or more magic tokens. More... | |
static void | ConvertToUTF8 (std::vector< char > &data) |
An utility for all text file loaders. More... | |
static void | ConvertUTF8toISO8859_1 (std::string &data) |
An utility for all text file loaders. More... | |
template<typename T > | |
static AI_FORCE_INLINE void | CopyVector (std::vector< T > &vec, T *&out, unsigned int &outLength) |
Utility function to move a std::vector into a aiScene array. More... | |
static std::string | GetExtension (const std::string &pFile) |
Extract file extension from a string. More... | |
static bool | SearchFileHeaderForToken (IOSystem *pIOSystem, const std::string &file, const char **tokens, unsigned int numTokens, unsigned int searchBytes=200, bool tokensSol=false, bool noAlphaBeforeTokens=false) |
A utility for CanRead(). More... | |
static bool | SimpleExtensionCheck (const std::string &pFile, const char *ext0, const char *ext1=NULL, const char *ext2=NULL) |
Check whether a file has a specific file extension. More... | |
static void | TextFileToBuffer (IOStream *stream, std::vector< char > &data, TextFileMode mode=FORBID_EMPTY) |
Utility for text file loaders which copies the contents of the file into a memory buffer and converts it to our UTF8 representation. More... | |
![]() | |
std::map< ImporterUnits, double > | importerUnits |
Assimp Importer unit conversions available if you need another measurment unit add it below. More... | |
The XFileImporter is a worker class capable of importing a scene from a DirectX file .x.
XFileImporter::XFileImporter | ( | ) |
XFileImporter::~XFileImporter | ( | ) |
|
virtual |
Returns whether the class can handle the format of the given file.
See BaseImporter::CanRead() for details.
Implements Assimp::BaseImporter.
|
protected |
Converts all materials in the given array and stores them in the scene's material list.
pScene | The scene to hold the converted materials. |
pMaterials | The material array to convert. |
|
protected |
Converts the animations from the given imported data and creates them in the scene.
pScene | The scene to hold to converted animations |
pData | The data to read the animations from |
|
protected |
Constructs the return data structure out of the imported data.
pScene | The scene to construct the return data in. |
pData | The imported data in the internal temporary representation. |
|
protected |
Converts all meshes in the given mesh array.
Each mesh is split up per material, the indices of the generated meshes are stored in the node structure.
pScene | The scene to construct the return data in. |
pNode | The target node structure that references the constructed meshes. |
pMeshes | The array of meshes to convert |
|
protected |
Recursively creates scene nodes from the imported hierarchy.
The meshes and materials of the nodes will be extracted on the way.
pScene | The scene to construct the return data in. |
pParent | The parent node where to create new child nodes |
pNode | The temporary node to copy. |
|
protectedvirtual |
Return importer meta information.
See #BaseImporter::GetInfo for the details
Implements Assimp::BaseImporter.
|
protectedvirtual |
Imports the given file into the given scene structure.
See BaseImporter::InternReadFile() for details
Implements Assimp::BaseImporter.
|
protected |
Buffer to hold the loaded file.