Assimp  v3.1.1 (June 2014)
Assimp Namespace Reference

MACHINE-GENERATED by scripts/ICFImporter/CppGenerator.py. More...

Namespaces

 ASE
 
 AssxmlExport
 
 Blender
 
 COB
 
 Collada
 
 D3DS
 
 D3MF
 
 DXF
 
 FBX
 
 Formatter
 
 HMP
 
 IFC
 
 IFF
 
 Intern
 
 LWO
 
 LWS
 
 Math
 
 MD2
 
 MD3
 
 MD4
 
 MD5
 
 MDC
 
 MDL
 
 ObjFile
 
 Ogre
 
 OpenGEX
 
 PLY
 
 Profiling
 
 Q3BSP
 
 Q3Shader
 
 SMD
 
 STEP
 IFC.
 
 Unreal
 
 XFile
 

Classes

class  AC3DImporter
 AC3D (*.ac) importer class. More...
 
class  ASEImporter
 Importer class for the 3DS ASE ASCII format. More...
 
class  AssbinChunkWriter
 Chunk writer mechanism for the .assbin file structure. More...
 
class  AssbinExport
 Assbin exporter class. More...
 
class  AssbinImporter
 Importer class for 3D Studio r3 and r4 3DS files. More...
 
struct  AttachmentInfo
 Helper data structure for SceneCombiner. More...
 
class  B3DImporter
 
class  BaseImporter
 FOR IMPORTER PLUGINS ONLY: The BaseImporter defines a common interface for all importer worker classes. More...
 
class  BaseProcess
 The BaseProcess defines a common interface for all post processing steps. More...
 
struct  BatchData
 
class  BatchLoader
 FOR IMPORTER PLUGINS ONLY: A helper class to the pleasure of importers that need to load many external meshes recursively. More...
 
class  Bitmap
 
class  BlenderBMeshConverter
 
class  BlenderImporter
 Load blenders official binary format. More...
 
class  BlenderTessellatorP2T
 
class  BlobIOStream
 Redirect IOStream to a blob. More...
 
class  BlobIOSystem
 Redirect IOSystem to a blob. More...
 
struct  BoneWithHash
 Helper data structure for SceneCombiner::MergeBones. More...
 
class  BVHLoader
 Loader class to read Motion Capturing data from a .bvh file. More...
 
class  ByteSwap
 Defines some useful byte order swap routines. More...
 
class  C4DImporter
 Importer class to load Cinema4D files using the Melange library to be obtained from www.plugincafe.com. More...
 
class  CalcTangentsProcess
 The CalcTangentsProcess calculates the tangent and bitangent for any vertex of all meshes. More...
 
class  CIOStreamWrapper
 
class  CIOSystemWrapper
 
class  CIrrXML_IOStreamReader
 Utility class to make IrrXML work together with our custom IO system See the IrrXML docs for more details. More...
 
class  COBImporter
 Importer class to load TrueSpace files (cob,scn) up to v6. More...
 
class  ColladaExporter
 Helper class to export a given scene to a Collada file. More...
 
class  ColladaLoader
 Loader class to read Collada scenes. More...
 
struct  ColladaMeshIndex
 
class  ColladaParser
 Parser helper class for the Collada loader. More...
 
class  CommentRemover
 Helper class to remove single and multi line comments from a file. More...
 
class  ComputeSpatialSortProcess
 
class  ComputeUVMappingProcess
 ComputeUVMappingProcess - converts special mappings, such as spherical, cylindrical or boxed to proper UV coordinates for rendering. More...
 
class  CSMImporter
 Importer class to load MOCAPs in CharacterStudio Motion format. More...
 
class  D3MFImporter
 
class  DeboneProcess
 This post processing step removes bones nearly losslessly or according to a configured threshold. More...
 
class  DefaultIOStream
 Default IO implementation, use standard IO operations. More...
 
class  DefaultIOSystem
 Default implementation of IOSystem using the standard C file functions. More...
 
class  DefaultLogger
 CPP-API: Primary logging facility of Assimp. More...
 
class  DefaultProgressHandler
 Internal default implementation of the ProgressHandler interface. More...
 
class  DestroySpatialSortProcess
 
class  Discreet3DSExporter
 Helper class to export a given scene to a 3DS file. More...
 
class  Discreet3DSImporter
 Importer class for 3D Studio r3 and r4 3DS files. More...
 
class  DXFImporter
 DXF importer implementation. More...
 
class  Exporter
 
class  ExporterPimpl
 
class  ExportProperties
 
class  FBXImporter
 Load the Autodesk FBX file format. More...
 
class  FileLogStream
 Logstream to write into a file. More...
 
class  FileSystemFilter
 File system filter. More...
 
class  FindDegeneratesProcess
 FindDegeneratesProcess: Searches a mesh for degenerated triangles. More...
 
class  FindInstancesProcess
 A post-processing steps to search for instanced meshes. More...
 
class  FindInvalidDataProcess
 The FindInvalidData post-processing step. More...
 
class  FixInfacingNormalsProcess
 The FixInfacingNormalsProcess tries to determine whether the normal vectors of an object are facing inwards. More...
 
class  FlipUVsProcess
 Postprocessing step to flip the UV coordinate system of the import data. More...
 
class  FlipWindingOrderProcess
 Postprocessing step to flip the face order of the imported data. More...
 
class  GenFaceNormalsProcess
 The GenFaceNormalsProcess computes face normals for all faces of all meshes. More...
 
class  GenVertexNormalsProcess
 The GenFaceNormalsProcess computes vertex normals for all vertizes. More...
 
class  glTFExporter
 Helper class to export a given scene to an glTF file. More...
 
class  glTFImporter
 Load the glTF format. More...
 
class  HMPImporter
 Used to load 3D GameStudio HMP files (terrains) More...
 
class  IFCImporter
 Load the IFC format, which is an open specification to describe building and construction industry data. More...
 
class  Importer
 CPP-API: The Importer class forms an C++ interface to the functionality of the Open Asset Import Library. More...
 
class  ImproveCacheLocalityProcess
 The ImproveCacheLocalityProcess reorders all faces for improved vertex cache locality. More...
 
struct  Interpolator
 CPP-API: Utility class to simplify interpolations of various data types. More...
 
class  IOStream
 CPP-API: Class to handle file I/O for C++. More...
 
class  IOSystem
 CPP-API: Interface to the file system. More...
 
class  IRRImporter
 Irr importer class. More...
 
class  IrrlichtBase
 Base class for the Irr and IrrMesh importers. More...
 
class  IRRMeshImporter
 IrrMesh importer class. More...
 
class  JoinVerticesProcess
 The JoinVerticesProcess unites identical vertices in all imported meshes. More...
 
class  KeyIterator
 Helper class to iterate through all keys in an animation channel. More...
 
class  LimitBoneWeightsProcess
 This post processing step limits the number of bones affecting a vertex to a certain maximum value. More...
 
class  LineSplitter
 Usage: More...
 
struct  LoadRequest
 
class  LogFunctions
 
class  Logger
 CPP-API: Abstract interface for logger implementations. More...
 
class  LogStream
 CPP-API: Abstract interface for log stream implementations. More...
 
struct  LogStreamInfo
 
class  LWOImporter
 Class to load LWO files. More...
 
class  LWSImporter
 LWS (LightWave Scene Format) importer class. More...
 
class  MakeLeftHandedProcess
 The MakeLeftHandedProcess converts all imported data to a left-handed coordinate system. More...
 
class  MakeVerboseFormatProcess
 MakeVerboseFormatProcess: Class to convert an asset to the verbose format which is expected by most postprocess steps. More...
 
class  MD2Importer
 Importer class for MD2. More...
 
class  MD3Importer
 Importer class to load MD3 files. More...
 
class  MD5Importer
 Importer class for the MD5 file format. More...
 
class  MDCImporter
 Importer class to load the RtCW MDC file format. More...
 
class  MDLImporter
 Class to load MDL files. More...
 
class  MemoryIOStream
 Implementation of IOStream to read directly from a memory buffer. More...
 
class  MemoryIOSystem
 Dummy IO system to read from a memory buffer. More...
 
struct  MinMaxChooser
 
struct  MinMaxChooser< aiColor4t< T > >
 
struct  MinMaxChooser< aiQuaterniont< T > >
 
struct  MinMaxChooser< aiQuatKey >
 
struct  MinMaxChooser< aiVector2t< T > >
 
struct  MinMaxChooser< aiVector3t< T > >
 
struct  MinMaxChooser< aiVectorKey >
 
struct  MinMaxChooser< aiVertexWeight >
 
struct  MinMaxChooser< double >
 
struct  MinMaxChooser< float >
 
struct  MinMaxChooser< unsigned int >
 
struct  mpred
 Stores the LogStream objects for all active C log streams. More...
 
class  MS3DImporter
 Milkshape 3D importer implementation. More...
 
class  NDOImporter
 Importer class to load meshes from Nendo. More...
 
class  NFFImporter
 NFF (Neutral File Format) Importer class. More...
 
struct  NodeAttachmentInfo
 
class  NullLogger
 CPP-API: Empty logging implementation. More...
 
class  ObjExporter
 Helper class to export a given scene to an OBJ file. More...
 
class  ObjFileImporter
 Imports a waveform obj file. More...
 
class  ObjFileMtlImporter
 Loads the material description from a mtl file. More...
 
class  ObjFileParser
 Parser for a obj waveform file. More...
 
class  OFFImporter
 Importer class for the Object File Format (.off) More...
 
class  OptimizeGraphProcess
 Postprocessing step to optimize the scenegraph. More...
 
class  OptimizeMeshesProcess
 Postprocessing step to optimize mesh usage. More...
 
class  PlyExporter
 Helper class to export a given scene to a Stanford Ply file. More...
 
class  PLYImporter
 Importer class to load the stanford PLY file format. More...
 
class  PretransformVertices
 The PretransformVertices pre-transforms all vertices in the node tree and removes the whole graph. More...
 
class  ProgressHandler
 CPP-API: Abstract interface for custom progress report receivers. More...
 
class  Q3BSPFileImporter
 Loader to import BSP-levels from a PK3 archive or from a unpacked BSP-level. More...
 
class  Q3BSPFileParser
 
class  Q3DImporter
 Importer class for the Quick3D Object and Scene formats. More...
 
class  RAWImporter
 Importer class for the PovRay RAW triangle format. More...
 
class  RemoveRedundantMatsProcess
 RemoveRedundantMatsProcess: Post-processing step to remove redundant materials from the imported scene. More...
 
class  RemoveVCProcess
 RemoveVCProcess: Class to exclude specific parts of the data structure from further processing by removing them,. More...
 
class  SceneCombiner
 Static helper class providing various utilities to merge two scenes. More...
 
struct  SceneHelper
 Utility for SceneCombiner. More...
 
class  ScenePreprocessor
 ScenePreprocessor: Preprocess a scene before any post-processing steps are executed. More...
 
struct  ScenePrivateData
 
struct  ScopeGuard
 
class  SGSpatialSort
 Specialized version of SpatialSort to support smoothing groups This is used in by the 3DS, ASE and LWO loaders. More...
 
class  SharedPostProcessInfo
 Helper class to allow post-processing steps to interact with each other. More...
 
class  SIBImporter
 Importer class for the Nevercenter Silo SIB scene format. More...
 
class  SkeletonMeshBuilder
 This little helper class constructs a dummy mesh for a given scene the resembles the node hierarchy. More...
 
class  SMDImporter
 namespace SMD More...
 
class  SortByPTypeProcess
 SortByPTypeProcess: Sorts meshes by the types of primitives they contain. More...
 
class  SpatialSort
 A little helper class to quickly find all vertices in the epsilon environment of a given position. More...
 
class  SplitByBoneCountProcess
 Postprocessing filter to split meshes with many bones into submeshes so that each submesh has a certain max bone count. More...
 
class  SplitLargeMeshesProcess_Triangle
 Post-processing filter to split large meshes into sub-meshes. More...
 
class  SplitLargeMeshesProcess_Vertex
 Post-processing filter to split large meshes into sub-meshes. More...
 
class  StandardShapes
 Helper class to generate vertex buffers for standard geometric shapes, such as cylinders, cones, boxes, spheres, elipsoids ... More...
 
class  StdOStreamLogStream
 Logs into a std::ostream. More...
 
class  StepExporter
 Helper class to export a given scene to a StepFile. More...
 
class  STLExporter
 Helper class to export a given scene to a STL file. More...
 
class  STLImporter
 Importer class for the sterolithography STL file format. More...
 
struct  STransformVecInfo
 Helper class representing texture coordinate transformations. More...
 
class  StreamReader
 Wrapper class around IOStream to allow for consistent reading of binary data in both little and big endian format. More...
 
class  StreamWriter
 Wrapper class around IOStream to allow for consistent writing of binary data in both little and big endian format. More...
 
class  Subdivider
 Helper class to evaluate subdivision surfaces. More...
 
class  TargetAnimationHelper
 Helper class for the 3DS and ASE loaders to compute camera and spot light animations. More...
 
class  TerragenImporter
 Importer class to load Terragen (0.9) terrain files. More...
 
class  TextureTransformStep
 Helper step to compute final UV coordinate sets if there are scalings or rotations in the original data read from the file. More...
 
class  TriangulateProcess
 The TriangulateProcess splits up all faces with more than three indices into triangles. More...
 
struct  TTUpdateInfo
 Small helper structure representing a shortcut into the material list to be able to update some values quickly. More...
 
class  UnrealImporter
 Importer class to load UNREAL files (*.3d) More...
 
class  ValidateDSProcess
 Validates the whole ASSIMP scene data structure for correctness. More...
 
class  Vertex
 Intermediate description a vertex with all possible components. More...
 
class  VertexTriangleAdjacency
 The VertexTriangleAdjacency class computes a vertex-triangle adjacency map from a given index buffer. More...
 
class  XFileExporter
 Helper class to export a given scene to a X-file. More...
 
class  XFileImporter
 The XFileImporter is a worker class capable of importing a scene from a DirectX file .x. More...
 
class  XFileParser
 The XFileParser reads a XFile either in text or binary form and builds a temporary data structure out of it. More...
 
class  XGLImporter
 XGL/ZGL importer. More...
 

Typedefs

typedef std::pair< aiBone *, unsigned int > BoneSrcIndex
 
typedef std::map< aiLogStream, Assimp::LogStream *, mpredLogStreamMap
 
typedef std::pair< unsigned int, float > PerVertexWeight
 
typedef std::list< Assimp::LogStream * > PredefLogStreamMap
 Stores the LogStream objects allocated by aiGetPredefinedLogStream. More...
 
typedef BatchLoader::PropertyMap PropertyMap
 
typedef StreamReader< true, trueStreamReaderAny
 
typedef StreamReader< trueStreamReaderBE
 
typedef StreamReader< falseStreamReaderLE
 
typedef StreamWriter< true, trueStreamWriterAny
 
typedef StreamWriter< trueStreamWriterBE
 
typedef StreamWriter< falseStreamWriterLE
 
typedef std::vector< PerVertexWeightVertexWeightTable
 

Functions

aiAnimMeshaiCreateAnimMesh (const aiMesh *mesh)
 Create aiAnimMesh from aiMesh. More...
 
template<typename T >
void ArrayBounds (const T *in, unsigned int size, T &min, T &max)
 Find the min/max values of an array of Ts. More...
 
unsigned int ASSIMP_itoa10 (char *out, unsigned int max, int32_t number)
 itoa with a fixed base 10 'itoa' is not consistently available on all platforms so it is quite useful to have a small replacement function here. More...
 
template<size_t length>
unsigned int ASSIMP_itoa10 (char(&out)[length], int32_t number)
 itoa with a fixed base 10 (Secure template overload) The compiler should choose this function if he or she is able to determine the size of the array automatically. More...
 
int ASSIMP_stricmp (const char *s1, const char *s2)
 Helper function to do platform independent string comparison. More...
 
int ASSIMP_stricmp (const std::string &a, const std::string &b)
 Case independent comparison of two std::strings. More...
 
int ASSIMP_strincmp (const char *s1, const char *s2, unsigned int n)
 Helper function to do platform independent string comparison. More...
 
void ColorFromARGBPacked (uint32_t in, aiColor4D &clr)
 
bool CompareArrays (const aiColor4D *first, const aiColor4D *second, unsigned int size, float e)
 
bool CompareArrays (const aiVector3D *first, const aiVector3D *second, unsigned int size, float e)
 Perform a component-wise comparison of two arrays. More...
 
uint32_t ComputeMaterialHash (const aiMaterial *mat, bool includeMatName=false)
 Computes a hash (hopefully unique) from all material properties The hash value reflects the current property state, so if you add any property and call this method again, the resulting hash value will be different. More...
 
float ComputePositionEpsilon (const aiMesh *const *pMeshes, size_t num)
 
float ComputePositionEpsilon (const aiMesh *pMesh)
 
VertexWeightTableComputeVertexBoneWeightTable (const aiMesh *pMesh)
 
void ConvertListToStrings (const std::string &in, std::list< std::string > &out)
 Extract single strings from a list of identifiers. More...
 
template<typename T >
std::size_t Copy (uint8_t *data, T &field)
 
template<class char_t >
char_t CopyNextWord (char_t it, char_t end, char *pBuffer, size_t length)
 Get next word from given line. More...
 
template<typename Type >
void CopyPtrArray (Type **&dest, const Type *const *src, unsigned int num)
 
static void createKey (int id1, int id2, std::string &rKey)
 
void DeleteImporterInstanceList (std::vector< BaseImporter * > &out)
 will delete all registered importers. More...
 
void ExportScene3DS (const char *pFile, IOSystem *pIOSystem, const aiScene *pScene, const ExportProperties *pProperties)
 
void ExportSceneAssbin (const char *pFile, IOSystem *pIOSystem, const aiScene *pScene, const ExportProperties *pProperties)
 
void ExportSceneAssxml (const char *pFile, IOSystem *pIOSystem, const aiScene *pScene, const ExportProperties *pProperties)
 
void ExportSceneCollada (const char *pFile, IOSystem *pIOSystem, const aiScene *pScene, const ExportProperties *pProperties)
 
void ExportSceneGLB (const char *, IOSystem *, const aiScene *, const ExportProperties *)
 
void ExportSceneGLTF (const char *, IOSystem *, const aiScene *, const ExportProperties *)
 
void ExportSceneObj (const char *, IOSystem *, const aiScene *, const ExportProperties *)
 
void ExportScenePly (const char *, IOSystem *, const aiScene *, const ExportProperties *)
 
void ExportScenePlyBinary (const char *, IOSystem *, const aiScene *, const ExportProperties *)
 
void ExportSceneStep (const char *, IOSystem *, const aiScene *, const ExportProperties *)
 
void ExportSceneSTL (const char *, IOSystem *, const aiScene *, const ExportProperties *)
 
void ExportSceneSTLBinary (const char *, IOSystem *, const aiScene *, const ExportProperties *)
 
void ExportSceneXFile (const char *, IOSystem *, const aiScene *, const ExportProperties *)
 
static void extractIds (const std::string &rKey, int &rId1, int &rId2)
 
double fast_atod (const char **inout)
 
double fast_atod (const char *c)
 
double fast_atod (const char *c, const char **cout)
 
float fast_atof (const char **inout)
 
float fast_atof (const char *c)
 
float fast_atof (const char *c, const char **cout)
 
template<typename Real >
const char * fast_atoreal_move (const char *c, Real &out, bool check_comma=true)
 Provides a fast function for converting a string into a float, about 6 times faster than atof in win32. More...
 
void FindAABBTransformed (const aiMesh *mesh, aiVector3D &min, aiVector3D &max, const aiMatrix4x4 &m)
 Compute the AABB of a mesh after applying a given transform. More...
 
void FindMeshCenter (aiMesh *mesh, aiVector3D &out)
 
void FindMeshCenter (aiMesh *mesh, aiVector3D &out, aiVector3D &min, aiVector3D &max)
 Helper function to determine the 'real' center of a mesh. More...
 
void FindMeshCenterTransformed (aiMesh *mesh, aiVector3D &out, aiVector3D &min, aiVector3D &max, const aiMatrix4x4 &m)
 
void FindMeshCenterTransformed (aiMesh *mesh, aiVector3D &out, const aiMatrix4x4 &m)
 
void FindSceneCenter (aiScene *scene, aiVector3D &out, aiVector3D &min, aiVector3D &max)
 Helper function to determine the 'real' center of a scene. More...
 
template<typename T >
double GetArea2D (const T &v1, const T &v2, const T &v3)
 Compute the signed area of a triangle. More...
 
template<typename Type >
void GetArrayCopy (Type *&dest, unsigned int num)
 
float GetColorDifference (const aiColor4D &pColor1, const aiColor4D &pColor2)
 Little helper function to calculate the quadratic difference of two colours. More...
 
template<class char_t >
char_t getFloat (char_t it, char_t end, float &value)
 Get next float from given line. More...
 
void GetImporterInstanceList (std::vector< BaseImporter * > &out)
 will return all registered importers. More...
 
uint64_t GetMeshHash (aiMesh *in)
 Get a pseudo(!)-hash representing a mesh. More...
 
unsigned int GetMeshVFormatUnique (const aiMesh *pcMesh)
 
template<class char_t >
char_t getName (char_t it, char_t end, std::string &name)
 Get a name from the current line. More...
 
template<class char_t >
AI_FORCE_INLINE bool GetNextLine (const char_t *&buffer, char_t out[BufferSize])
 
template<class Char_T >
Char_T getNextToken (Char_T pBuffer, Char_T pEnd)
 Returns pointer a next token. More...
 
AI_FORCE_INLINE std::string GetNextToken (const char *&in)
 
template<class Char_T >
Char_T getNextWord (Char_T pBuffer, Char_T pEnd)
 Returns next word separated by a space. More...
 
void GetPostProcessingStepInstanceList (std::vector< BaseProcess * > &out)
 
unsigned int HexDigitToDecimal (char in)
 
uint8_t HexOctetToDecimal (const char *in)
 
unsigned int integer_pow (unsigned int base, unsigned int power)
 Evaluates an integer power. More...
 
template<typename T >
bool IsCCW (T *in, size_t npoints)
 Check whether the winding order of a given polygon is counter-clockwise. More...
 
template<class char_t >
bool isEndOfBuffer (char_t it, char_t end)
 Returns true, if the last entry of the buffer is reached. More...
 
bool IsHex (char s)
 
template<class char_t >
AI_FORCE_INLINE bool IsLineEnd (char_t in)
 
template<class char_t >
AI_FORCE_INLINE bool IsLower (char_t in)
 
template<class char_t >
AI_FORCE_INLINE bool IsNumeric (char_t in)
 
template<class char_t >
AI_FORCE_INLINE bool IsSpace (char_t in)
 
template<class char_t >
AI_FORCE_INLINE bool IsSpaceOrNewLine (char_t in)
 
template<class char_t >
AI_FORCE_INLINE bool IsUpper (char_t in)
 
aiMeshMakeSubmesh (const aiMesh *pMesh, const std::vector< unsigned int > &subMeshFaces, unsigned int subFlags)
 
const char * MappingTypeToString (aiTextureMapping in)
 
template<int ofs_x, int ofs_y, int ofs_z, typename TReal >
void NewellNormal (aiVector3t< TReal > &out, int num, TReal *x, TReal *y, TReal *z)
 Compute the normal of an arbitrary polygon in R3. More...
 
static void normalizePathName (const std::string &rPath, std::string &rNormalizedPath)
 
template<typename T >
bool OnLeftSideOfLine2D (const T &p0, const T &p1, const T &p2)
 Test if a given point p2 is on the left side of the line formed by p0-p1. More...
 
AI_FORCE_INLINE Vertex operator* (const Vertex &v0, float f)
 
AI_FORCE_INLINE Vertex operator* (float f, const Vertex &v0)
 
AI_FORCE_INLINE Vertex operator+ (const Vertex &v0, const Vertex &v1)
 
AI_FORCE_INLINE Vertex operator- (const Vertex &v0, const Vertex &v1)
 
AI_FORCE_INLINE Vertex operator/ (const Vertex &v0, float f)
 
template<typename T >
bool PointInTriangle2D (const T &p0, const T &p1, const T &p2, const T &pp)
 Test if a given point is inside a given triangle in R2. More...
 
void PrefixString (aiString &string, const char *prefix, unsigned int len)
 
ScenePrivateDataScenePriv (aiScene *in)
 
const ScenePrivateDataScenePriv (const aiScene *in)
 
template<class char_t >
char_t skipLine (char_t it, char_t end, unsigned int &uiLine)
 Skips a line. More...
 
template<class char_t >
AI_FORCE_INLINE bool SkipLine (const char_t **inout)
 
template<class char_t >
AI_FORCE_INLINE bool SkipLine (const char_t *in, const char_t **out)
 
template<class char_t >
AI_FORCE_INLINE bool SkipSpaces (const char_t **inout)
 
template<class char_t >
AI_FORCE_INLINE bool SkipSpaces (const char_t *in, const char_t **out)
 
template<class char_t >
AI_FORCE_INLINE bool SkipSpacesAndLineEnd (const char_t **inout)
 
template<class char_t >
AI_FORCE_INLINE bool SkipSpacesAndLineEnd (const char_t *in, const char_t **out)
 
AI_FORCE_INLINE void SkipToken (const char *&in)
 
int strtol10 (const char *in, const char **out=0)
 
int64_t strtol10_64 (const char *in, const char **out=0, unsigned int *max_inout=0)
 
unsigned int strtoul10 (const char *in, const char **out=0)
 
uint64_t strtoul10_64 (const char *in, const char **out=0, unsigned int *max_inout=0)
 
unsigned int strtoul16 (const char *in, const char **out=0)
 
unsigned int strtoul8 (const char *in, const char **out=0)
 
unsigned int strtoul_cppstyle (const char *in, const char **out=0)
 
void Subdivide (std::vector< aiVector3D > &positions)
 
const char * TextureTypeToString (aiTextureType in)
 
template<class string_type >
unsigned int tokenize (const string_type &str, std::vector< string_type > &tokens, const string_type &delimiters)
 Will perform a simple tokenize. More...
 
template<class char_t >
AI_FORCE_INLINE bool TokenMatch (char_t *&in, const char *token, unsigned int len)
 
AI_FORCE_INLINE bool TokenMatchI (const char *&in, const char *token, unsigned int len)
 Case-ignoring version of TokenMatch. More...
 
template<class char_t >
AI_FORCE_INLINE char_t ToLower (char_t in)
 
template<class char_t >
AI_FORCE_INLINE char_t ToUpper (char_t in)
 
template<class string_type >
string_type trim_whitespaces (string_type str)
 
template<typename T >
size_t Write (IOStream *stream, const T &v)
 
template<>
size_t Write< aiColor4D > (IOStream *stream, const aiColor4D &v)
 
template<>
size_t Write< aiMatrix4x4 > (IOStream *stream, const aiMatrix4x4 &m)
 
template<>
size_t Write< aiQuaternion > (IOStream *stream, const aiQuaternion &v)
 
template<>
size_t Write< aiQuatKey > (IOStream *stream, const aiQuatKey &v)
 
template<>
size_t Write< aiString > (IOStream *stream, const aiString &s)
 
template<>
size_t Write< aiVector3D > (IOStream *stream, const aiVector3D &v)
 
template<>
size_t Write< aiVectorKey > (IOStream *stream, const aiVectorKey &v)
 
template<>
size_t Write< aiVertexWeight > (IOStream *stream, const aiVertexWeight &v)
 
template<>
size_t Write< double > (IOStream *stream, const double &f)
 
template<>
size_t Write< float > (IOStream *stream, const float &f)
 
template<>
size_t Write< uint16_t > (IOStream *stream, const uint16_t &w)
 
template<>
size_t Write< unsigned int > (IOStream *stream, const unsigned int &w)
 
template<typename T >
size_t WriteArray (IOStream *stream, const T *in, unsigned int size)
 
template<typename T >
size_t WriteBounds (IOStream *stream, const T *in, unsigned int size)
 
template<typename NumIndicesType , typename IndexType >
void WriteMeshIndicesBinary_Generic (const aiMesh *m, unsigned int offset, std::ostringstream &output)
 
std::string XMLEscape (const std::string &data)
 

Variables

const aiMatrix4x4 AI_TO_IRR_MATRIX
 Matrix to convert from Assimp to IRR and backwards. More...
 
static const std::string AmbientTexture = "map_Ka"
 
static const std::string BlendUOption = "-blendu"
 
static const std::string BlendVOption = "-blendv"
 
static const std::string BoostOption = "-boost"
 
static const unsigned int BufferSize = 4096
 
static const std::string BumpOption = "-bm"
 
static const std::string BumpTexture1 = "map_bump"
 
static const std::string BumpTexture2 = "map_Bump"
 
static const std::string BumpTexture3 = "bump"
 
static const std::string ChannelOption = "-imfchan"
 
static const std::string ClampOption = "-clamp"
 
static const std::string DefaultObjName = "defaultobject"
 
static const aiImporterDesc desc
 
static const std::string DiffuseTexture = "map_Kd"
 
static const std::string DisplacementTexture = "disp"
 
static const std::string EmmissiveTexture = "map_emissive"
 
static const std::string EmmissiveTexture_1 = "map_Ke"
 
class ASSIMP_API ExportProperties
 CPP-API: The Exporter class forms an C++ interface to the export functionality of the Open Asset Import Library. More...
 
const double fast_atof_table [16]
 
static LogStreamMap gActiveLogStreams
 Local storage of all active log streams. More...
 
Exporter::ExportFormatEntry gExporters []
 
static std::string gLastErrorString
 Error message of the last failed import process. More...
 
static PredefLogStreamMap gPredefinedStreams
 Local storage of LogStreams allocated by aiGetPredefinedLogStream. More...
 
static aiBool gVerboseLogging = false
 Verbose logging active or not? More...
 
static const std::string ModifyMapOption = "-mm"
 
static const std::string NormalTexture = "map_Kn"
 
static const std::string OffsetOption = "-o"
 
static const std::string OpacityTexture = "map_d"
 
static const std::string ReflectionTexture = "refl"
 
static const std::string ResolutionOption = "-texres"
 
static const std::string ScaleOption = "-s"
 
static const unsigned int SeverityAll = Logger::Info | Logger::Err | Logger::Warn | Logger::Debugging
 
static const std::string SpecularityTexture = "map_ns"
 
static const std::string SpecularTexture = "map_Ks"
 
static const std::string TurbulenceOption = "-t"
 
static const std::string TypeOption = "-type"
 

Detailed Description

MACHINE-GENERATED by scripts/ICFImporter/CppGenerator.py.

Assimp's CPP-API and all internal APIs.

Small helper classes to optimise finding vertizes close to a given location.

Small helper classes to optimize finding vertices close to a given location.

Implement shared utility functions for postprocessing steps.

Note
Parts of this implementation, for example enums, deserialization constants and logic has been copied directly with minor modifications from the MIT licensed Ogre3D code base. See more from https://bitbucket.org/sinbad/ogre.

Typedef Documentation

◆ BoneSrcIndex

typedef std::pair<aiBone*,unsigned int> Assimp::BoneSrcIndex

◆ LogStreamMap

◆ PerVertexWeight

typedef std::pair<unsigned int,float> Assimp::PerVertexWeight

◆ PredefLogStreamMap

Stores the LogStream objects allocated by aiGetPredefinedLogStream.

◆ PropertyMap

typedef BatchLoader::PropertyMap Assimp::PropertyMap

◆ StreamReaderAny

◆ StreamReaderBE

◆ StreamReaderLE

◆ StreamWriterAny

◆ StreamWriterBE

◆ StreamWriterLE

◆ VertexWeightTable

Function Documentation

◆ aiCreateAnimMesh()

aiAnimMesh * Assimp::aiCreateAnimMesh ( const aiMesh mesh)

Create aiAnimMesh from aiMesh.

◆ ArrayBounds()

template<typename T >
void Assimp::ArrayBounds ( const T *  in,
unsigned int  size,
T &  min,
T &  max 
)
inline

Find the min/max values of an array of Ts.

Parameters
inInput array
sizeNumebr of elements to process
[out]minminimum value
[out]maxmaximum value

◆ ASSIMP_itoa10() [1/2]

unsigned int Assimp::ASSIMP_itoa10 ( char *  out,
unsigned int  max,
int32_t  number 
)
inline

itoa with a fixed base 10 'itoa' is not consistently available on all platforms so it is quite useful to have a small replacement function here.

No need to use a full sprintf() if we just want to print a number ...

Parameters
outOutput buffer
maxMaximum number of characters to be written, including '\0'. This parameter may not be 0.
numberNumber to be written
Returns
Length of the output string, excluding the '\0'

◆ ASSIMP_itoa10() [2/2]

template<size_t length>
unsigned int Assimp::ASSIMP_itoa10 ( char(&)  out[length],
int32_t  number 
)
inline

itoa with a fixed base 10 (Secure template overload) The compiler should choose this function if he or she is able to determine the size of the array automatically.

◆ ASSIMP_stricmp() [1/2]

int Assimp::ASSIMP_stricmp ( const char *  s1,
const char *  s2 
)
inline

Helper function to do platform independent string comparison.

This is required since stricmp() is not consistently available on all platforms. Some platforms use the '_' prefix, others don't even have such a function.

Parameters
s1First input string
s2Second input string
Returns
0 if the given strings are identical

◆ ASSIMP_stricmp() [2/2]

int Assimp::ASSIMP_stricmp ( const std::string &  a,
const std::string &  b 
)
inline

Case independent comparison of two std::strings.

Parameters
aFirst string
bSecond string
Returns
0 if a == b

◆ ASSIMP_strincmp()

int Assimp::ASSIMP_strincmp ( const char *  s1,
const char *  s2,
unsigned int  n 
)
inline

Helper function to do platform independent string comparison.

This is required since strincmp() is not consistently available on all platforms. Some platforms use the '_' prefix, others don't even have such a function.

Parameters
s1First input string
s2Second input string
nMacimum number of characters to compare
Returns
0 if the given strings are identical

◆ ColorFromARGBPacked()

void Assimp::ColorFromARGBPacked ( uint32_t  in,
aiColor4D clr 
)
inline

◆ CompareArrays() [1/2]

bool Assimp::CompareArrays ( const aiColor4D first,
const aiColor4D second,
unsigned int  size,
float  e 
)
inline

◆ CompareArrays() [2/2]

bool Assimp::CompareArrays ( const aiVector3D first,
const aiVector3D second,
unsigned int  size,
float  e 
)
inline

Perform a component-wise comparison of two arrays.

Parameters
firstFirst array
secondSecond aray
sizeSize of both arrays
eEpsilon
Returns
true if the arrays are identical

◆ ComputeMaterialHash()

uint32_t Assimp::ComputeMaterialHash ( const aiMaterial mat,
bool  includeMatName = false 
)

Computes a hash (hopefully unique) from all material properties The hash value reflects the current property state, so if you add any property and call this method again, the resulting hash value will be different.

The hash is not persistent across different builds and platforms.

Parameters
includeMatNameSet to 'true' to take all properties with '?' as initial character in their name into account. Currently AI_MATKEY_NAME is the only example.
Returns
32 Bit jash value for the material

◆ ComputePositionEpsilon() [1/2]

float Assimp::ComputePositionEpsilon ( const aiMesh *const *  pMeshes,
size_t  num 
)

◆ ComputePositionEpsilon() [2/2]

float Assimp::ComputePositionEpsilon ( const aiMesh pMesh)

◆ ComputeVertexBoneWeightTable()

VertexWeightTable * Assimp::ComputeVertexBoneWeightTable ( const aiMesh pMesh)

◆ ConvertListToStrings()

void Assimp::ConvertListToStrings ( const std::string &  in,
std::list< std::string > &  out 
)

Extract single strings from a list of identifiers.

Parameters
inInput string list.
outReceives a list of clean output strings @sdee AI_CONFIG_PP_OG_EXCLUDE_LIST

◆ Copy()

template<typename T >
std::size_t Assimp::Copy ( uint8_t data,
T &  field 
)
inline

◆ CopyNextWord()

template<class char_t >
char_t Assimp::CopyNextWord ( char_t  it,
char_t  end,
char *  pBuffer,
size_t  length 
)
inline

Get next word from given line.

Parameters
itset to current position
endset to end of scratch buffer for readout
pBufferBuffer for next word
lengthBuffer length
Returns
Current-iterator with new position

◆ CopyPtrArray()

template<typename Type >
void Assimp::CopyPtrArray ( Type **&  dest,
const Type *const *  src,
unsigned int  num 
)
inline

◆ createKey()

static void Assimp::createKey ( int  id1,
int  id2,
std::string &  rKey 
)
static

◆ DeleteImporterInstanceList()

void Assimp::DeleteImporterInstanceList ( std::vector< BaseImporter * > &  out)

will delete all registered importers.

◆ ExportScene3DS()

void Assimp::ExportScene3DS ( const char *  pFile,
IOSystem pIOSystem,
const aiScene pScene,
const ExportProperties pProperties 
)

◆ ExportSceneAssbin()

void Assimp::ExportSceneAssbin ( const char *  pFile,
IOSystem pIOSystem,
const aiScene pScene,
const ExportProperties pProperties 
)

◆ ExportSceneAssxml()

void Assimp::ExportSceneAssxml ( const char *  pFile,
IOSystem pIOSystem,
const aiScene pScene,
const ExportProperties pProperties 
)

◆ ExportSceneCollada()

void Assimp::ExportSceneCollada ( const char *  pFile,
IOSystem pIOSystem,
const aiScene pScene,
const ExportProperties pProperties 
)

◆ ExportSceneGLB()

void Assimp::ExportSceneGLB ( const char *  pFile,
IOSystem pIOSystem,
const aiScene pScene,
const ExportProperties pProperties 
)

◆ ExportSceneGLTF()

void Assimp::ExportSceneGLTF ( const char *  pFile,
IOSystem pIOSystem,
const aiScene pScene,
const ExportProperties pProperties 
)

◆ ExportSceneObj()

void Assimp::ExportSceneObj ( const char *  pFile,
IOSystem pIOSystem,
const aiScene pScene,
const ExportProperties pProperties 
)

◆ ExportScenePly()

void Assimp::ExportScenePly ( const char *  pFile,
IOSystem pIOSystem,
const aiScene pScene,
const ExportProperties pProperties 
)

◆ ExportScenePlyBinary()

void Assimp::ExportScenePlyBinary ( const char *  pFile,
IOSystem pIOSystem,
const aiScene pScene,
const ExportProperties pProperties 
)

◆ ExportSceneStep()

void Assimp::ExportSceneStep ( const char *  pFile,
IOSystem pIOSystem,
const aiScene pScene,
const ExportProperties pProperties 
)

◆ ExportSceneSTL()

void Assimp::ExportSceneSTL ( const char *  pFile,
IOSystem pIOSystem,
const aiScene pScene,
const ExportProperties pProperties 
)

◆ ExportSceneSTLBinary()

void Assimp::ExportSceneSTLBinary ( const char *  pFile,
IOSystem pIOSystem,
const aiScene pScene,
const ExportProperties pProperties 
)

◆ ExportSceneXFile()

void Assimp::ExportSceneXFile ( const char *  pFile,
IOSystem pIOSystem,
const aiScene pScene,
const ExportProperties pProperties 
)

◆ extractIds()

static void Assimp::extractIds ( const std::string &  rKey,
int &  rId1,
int &  rId2 
)
static

◆ fast_atod() [1/3]

double Assimp::fast_atod ( const char **  inout)
inline

◆ fast_atod() [2/3]

double Assimp::fast_atod ( const char *  c)
inline

◆ fast_atod() [3/3]

double Assimp::fast_atod ( const char *  c,
const char **  cout 
)
inline

◆ fast_atof() [1/3]

float Assimp::fast_atof ( const char **  inout)
inline

◆ fast_atof() [2/3]

float Assimp::fast_atof ( const char *  c)
inline

◆ fast_atof() [3/3]

float Assimp::fast_atof ( const char *  c,
const char **  cout 
)
inline

◆ fast_atoreal_move()

template<typename Real >
const char* Assimp::fast_atoreal_move ( const char *  c,
Real &  out,
bool  check_comma = true 
)
inline

Provides a fast function for converting a string into a float, about 6 times faster than atof in win32.

◆ FindAABBTransformed()

void Assimp::FindAABBTransformed ( const aiMesh mesh,
aiVector3D min,
aiVector3D max,
const aiMatrix4x4 m 
)

Compute the AABB of a mesh after applying a given transform.

Parameters
meshInput mesh
[out]minReceives minimum transformed vertex
[out]maxReceives maximum transformed vertex
mTransformation matrix to be applied

◆ FindMeshCenter() [1/2]

void Assimp::FindMeshCenter ( aiMesh mesh,
aiVector3D out 
)

◆ FindMeshCenter() [2/2]

void Assimp::FindMeshCenter ( aiMesh mesh,
aiVector3D out,
aiVector3D min,
aiVector3D max 
)

Helper function to determine the 'real' center of a mesh.

That is the center of its axis-aligned bounding box.

Parameters
meshInput mesh
[out]minMinimum vertex of the mesh
[out]maxmaximum vertex of the mesh
[out]outCenter point

◆ FindMeshCenterTransformed() [1/2]

void Assimp::FindMeshCenterTransformed ( aiMesh mesh,
aiVector3D out,
aiVector3D min,
aiVector3D max,
const aiMatrix4x4 m 
)

◆ FindMeshCenterTransformed() [2/2]

void Assimp::FindMeshCenterTransformed ( aiMesh mesh,
aiVector3D out,
const aiMatrix4x4 m 
)

◆ FindSceneCenter()

void Assimp::FindSceneCenter ( aiScene scene,
aiVector3D out,
aiVector3D min,
aiVector3D max 
)

Helper function to determine the 'real' center of a scene.

That is the center of its axis-aligned bounding box.

Parameters
sceneInput scene
[out]minMinimum vertex of the scene
[out]maxmaximum vertex of the scene
[out]outCenter point

◆ GetArea2D()

template<typename T >
double Assimp::GetArea2D ( const T &  v1,
const T &  v2,
const T &  v3 
)
inline

Compute the signed area of a triangle.

The function accepts an unconstrained template parameter for use with both aiVector3D and aiVector2D, but generally ignores the third coordinate.

◆ GetArrayCopy()

template<typename Type >
void Assimp::GetArrayCopy ( Type *&  dest,
unsigned int  num 
)
inline

◆ GetColorDifference()

float Assimp::GetColorDifference ( const aiColor4D pColor1,
const aiColor4D pColor2 
)
inline

Little helper function to calculate the quadratic difference of two colours.

Parameters
pColor1First color
pColor2second color
Returns
Quadratic color difference

◆ getFloat()

template<class char_t >
char_t Assimp::getFloat ( char_t  it,
char_t  end,
float &  value 
)
inline

Get next float from given line.

Parameters
itset to current position
endset to end of scratch buffer for readout
valueSeparated float value.
Returns
Current-iterator with new position

◆ GetImporterInstanceList()

void Assimp::GetImporterInstanceList ( std::vector< BaseImporter * > &  out)

will return all registered importers.

◆ GetMeshHash()

uint64_t Assimp::GetMeshHash ( aiMesh in)
inline

Get a pseudo(!)-hash representing a mesh.

The hash is built from number of vertices, faces, primitive types, .... but not from the real mesh data. The funcction is not a perfect hash.

Parameters
inInput mesh
Returns
Hash.

◆ GetMeshVFormatUnique()

unsigned int Assimp::GetMeshVFormatUnique ( const aiMesh pcMesh)

◆ getName()

template<class char_t >
char_t Assimp::getName ( char_t  it,
char_t  end,
std::string &  name 
)
inline

Get a name from the current line.

Preserve space in the middle, but trim it at the end.

Parameters
itset to current position
endset to end of scratch buffer for readout
nameSeparated name
Returns
Current-iterator with new position

◆ GetNextLine()

template<class char_t >
AI_FORCE_INLINE bool Assimp::GetNextLine ( const char_t *&  buffer,
char_t  out[BufferSize] 
)

◆ getNextToken()

template<class Char_T >
Char_T Assimp::getNextToken ( Char_T  pBuffer,
Char_T  pEnd 
)
inline

Returns pointer a next token.

Parameters
pBufferPointer to data buffer
pEndPointer to end of buffer
Returns
Pointer to next token

◆ GetNextToken()

AI_FORCE_INLINE std::string Assimp::GetNextToken ( const char *&  in)

◆ getNextWord()

template<class Char_T >
Char_T Assimp::getNextWord ( Char_T  pBuffer,
Char_T  pEnd 
)
inline

Returns next word separated by a space.

Parameters
pBufferPointer to data buffer
pEndPointer to end of buffer
Returns
Pointer to next space

◆ GetPostProcessingStepInstanceList()

void Assimp::GetPostProcessingStepInstanceList ( std::vector< BaseProcess * > &  out)

◆ HexDigitToDecimal()

unsigned int Assimp::HexDigitToDecimal ( char  in)
inline

◆ HexOctetToDecimal()

uint8_t Assimp::HexOctetToDecimal ( const char *  in)
inline

◆ integer_pow()

unsigned int Assimp::integer_pow ( unsigned int  base,
unsigned int  power 
)
inline

Evaluates an integer power.

todo: move somewhere where it fits better in than here

◆ IsCCW()

template<typename T >
bool Assimp::IsCCW ( T *  in,
size_t  npoints 
)
inline

Check whether the winding order of a given polygon is counter-clockwise.

The function accepts an unconstrained template parameter, but is intended to be used only with aiVector2D and aiVector3D (z axis is ignored, only x and y are taken into account).

Note
Code taken from http://cgm.cs.mcgill.ca/~godfried/teaching/cg-projects/97/Ian/applet1.html and translated to C++

◆ isEndOfBuffer()

template<class char_t >
bool Assimp::isEndOfBuffer ( char_t  it,
char_t  end 
)
inline

Returns true, if the last entry of the buffer is reached.

Parameters
itIterator of current position.
endIterator with end of buffer.
Returns
true, if the end of the buffer is reached.

◆ IsHex()

bool Assimp::IsHex ( char  s)
inline

◆ IsLineEnd()

template<class char_t >
AI_FORCE_INLINE bool Assimp::IsLineEnd ( char_t  in)

◆ IsLower()

template<class char_t >
AI_FORCE_INLINE bool Assimp::IsLower ( char_t  in)

◆ IsNumeric()

template<class char_t >
AI_FORCE_INLINE bool Assimp::IsNumeric ( char_t  in)

◆ IsSpace()

template<class char_t >
AI_FORCE_INLINE bool Assimp::IsSpace ( char_t  in)

◆ IsSpaceOrNewLine()

template<class char_t >
AI_FORCE_INLINE bool Assimp::IsSpaceOrNewLine ( char_t  in)

◆ IsUpper()

template<class char_t >
AI_FORCE_INLINE bool Assimp::IsUpper ( char_t  in)

◆ MakeSubmesh()

aiMesh * Assimp::MakeSubmesh ( const aiMesh pMesh,
const std::vector< unsigned int > &  subMeshFaces,
unsigned int  subFlags 
)

◆ MappingTypeToString()

const char * Assimp::MappingTypeToString ( aiTextureMapping  in)

◆ NewellNormal()

template<int ofs_x, int ofs_y, int ofs_z, typename TReal >
void Assimp::NewellNormal ( aiVector3t< TReal > &  out,
int  num,
TReal *  x,
TReal *  y,
TReal *  z 
)
inline

Compute the normal of an arbitrary polygon in R3.

The code is based on Newell's formula, that is a polygons normal is the ratio of its area when projected onto the three coordinate axes.

Parameters
outReceives the output normal
numNumber of input vertices
xX data source. x[ofs_x*n] is the n'th element.
yY data source. y[ofs_y*n] is the y'th element
zZ data source. z[ofs_z*n] is the z'th element
Note
The data arrays must have storage for at least num+2 elements. Using this method is much faster than the 'other' NewellNormal()

◆ normalizePathName()

static void Assimp::normalizePathName ( const std::string &  rPath,
std::string &  rNormalizedPath 
)
static

◆ OnLeftSideOfLine2D()

template<typename T >
bool Assimp::OnLeftSideOfLine2D ( const T &  p0,
const T &  p1,
const T &  p2 
)
inline

Test if a given point p2 is on the left side of the line formed by p0-p1.

The function accepts an unconstrained template parameter for use with both aiVector3D and aiVector2D, but generally ignores the third coordinate.

◆ operator*() [1/2]

AI_FORCE_INLINE Vertex Assimp::operator* ( const Vertex v0,
float  f 
)

◆ operator*() [2/2]

AI_FORCE_INLINE Vertex Assimp::operator* ( float  f,
const Vertex v0 
)

◆ operator+()

AI_FORCE_INLINE Vertex Assimp::operator+ ( const Vertex v0,
const Vertex v1 
)

◆ operator-()

AI_FORCE_INLINE Vertex Assimp::operator- ( const Vertex v0,
const Vertex v1 
)

◆ operator/()

AI_FORCE_INLINE Vertex Assimp::operator/ ( const Vertex v0,
float  f 
)

◆ PointInTriangle2D()

template<typename T >
bool Assimp::PointInTriangle2D ( const T &  p0,
const T &  p1,
const T &  p2,
const T &  pp 
)
inline

Test if a given point is inside a given triangle in R2.

The function accepts an unconstrained template parameter for use with both aiVector3D and aiVector2D, but generally ignores the third coordinate.

◆ PrefixString()

void Assimp::PrefixString ( aiString string,
const char *  prefix,
unsigned int  len 
)
inline

◆ ScenePriv() [1/2]

ScenePrivateData* Assimp::ScenePriv ( aiScene in)
inline

◆ ScenePriv() [2/2]

const ScenePrivateData* Assimp::ScenePriv ( const aiScene in)
inline

◆ skipLine()

template<class char_t >
char_t Assimp::skipLine ( char_t  it,
char_t  end,
unsigned int &  uiLine 
)
inline

Skips a line.

Parameters
itIterator set to current position
endIterator set to end of scratch buffer for readout
uiLineCurrent line number in format
Returns
Current-iterator with new position

◆ SkipLine() [1/2]

template<class char_t >
AI_FORCE_INLINE bool Assimp::SkipLine ( const char_t **  inout)

◆ SkipLine() [2/2]

template<class char_t >
AI_FORCE_INLINE bool Assimp::SkipLine ( const char_t *  in,
const char_t **  out 
)

◆ SkipSpaces() [1/2]

template<class char_t >
AI_FORCE_INLINE bool Assimp::SkipSpaces ( const char_t **  inout)

◆ SkipSpaces() [2/2]

template<class char_t >
AI_FORCE_INLINE bool Assimp::SkipSpaces ( const char_t *  in,
const char_t **  out 
)

◆ SkipSpacesAndLineEnd() [1/2]

template<class char_t >
AI_FORCE_INLINE bool Assimp::SkipSpacesAndLineEnd ( const char_t **  inout)

◆ SkipSpacesAndLineEnd() [2/2]

template<class char_t >
AI_FORCE_INLINE bool Assimp::SkipSpacesAndLineEnd ( const char_t *  in,
const char_t **  out 
)

◆ SkipToken()

AI_FORCE_INLINE void Assimp::SkipToken ( const char *&  in)

◆ strtol10()

int Assimp::strtol10 ( const char *  in,
const char **  out = 0 
)
inline

◆ strtol10_64()

int64_t Assimp::strtol10_64 ( const char *  in,
const char **  out = 0,
unsigned int *  max_inout = 0 
)
inline

◆ strtoul10()

unsigned int Assimp::strtoul10 ( const char *  in,
const char **  out = 0 
)
inline

◆ strtoul10_64()

uint64_t Assimp::strtoul10_64 ( const char *  in,
const char **  out = 0,
unsigned int *  max_inout = 0 
)
inline

◆ strtoul16()

unsigned int Assimp::strtoul16 ( const char *  in,
const char **  out = 0 
)
inline

◆ strtoul8()

unsigned int Assimp::strtoul8 ( const char *  in,
const char **  out = 0 
)
inline

◆ strtoul_cppstyle()

unsigned int Assimp::strtoul_cppstyle ( const char *  in,
const char **  out = 0 
)
inline

◆ Subdivide()

void Assimp::Subdivide ( std::vector< aiVector3D > &  positions)

◆ TextureTypeToString()

const char * Assimp::TextureTypeToString ( aiTextureType  in)

◆ tokenize()

template<class string_type >
unsigned int Assimp::tokenize ( const string_type &  str,
std::vector< string_type > &  tokens,
const string_type &  delimiters 
)

Will perform a simple tokenize.

Parameters
strString to tokenize.
tokensArray with tokens, will be empty if no token was found.
delimitersDelimiter for tokenize.
Returns
Number of found token.

◆ TokenMatch()

template<class char_t >
AI_FORCE_INLINE bool Assimp::TokenMatch ( char_t *&  in,
const char *  token,
unsigned int  len 
)

◆ TokenMatchI()

AI_FORCE_INLINE bool Assimp::TokenMatchI ( const char *&  in,
const char *  token,
unsigned int  len 
)

Case-ignoring version of TokenMatch.

Parameters
inInput
tokenToken to check for
lenNumber of characters to check

◆ ToLower()

template<class char_t >
AI_FORCE_INLINE char_t Assimp::ToLower ( char_t  in)

◆ ToUpper()

template<class char_t >
AI_FORCE_INLINE char_t Assimp::ToUpper ( char_t  in)

◆ trim_whitespaces()

template<class string_type >
string_type Assimp::trim_whitespaces ( string_type  str)

◆ Write()

template<typename T >
size_t Assimp::Write ( IOStream stream,
const T &  v 
)

◆ Write< aiColor4D >()

template<>
size_t Assimp::Write< aiColor4D > ( IOStream stream,
const aiColor4D v 
)
inline

◆ Write< aiMatrix4x4 >()

template<>
size_t Assimp::Write< aiMatrix4x4 > ( IOStream stream,
const aiMatrix4x4 m 
)
inline

◆ Write< aiQuaternion >()

template<>
size_t Assimp::Write< aiQuaternion > ( IOStream stream,
const aiQuaternion v 
)
inline

◆ Write< aiQuatKey >()

template<>
size_t Assimp::Write< aiQuatKey > ( IOStream stream,
const aiQuatKey v 
)
inline

◆ Write< aiString >()

template<>
size_t Assimp::Write< aiString > ( IOStream stream,
const aiString s 
)
inline

◆ Write< aiVector3D >()

template<>
size_t Assimp::Write< aiVector3D > ( IOStream stream,
const aiVector3D v 
)
inline

◆ Write< aiVectorKey >()

template<>
size_t Assimp::Write< aiVectorKey > ( IOStream stream,
const aiVectorKey v 
)
inline

◆ Write< aiVertexWeight >()

template<>
size_t Assimp::Write< aiVertexWeight > ( IOStream stream,
const aiVertexWeight v 
)
inline

◆ Write< double >()

template<>
size_t Assimp::Write< double > ( IOStream stream,
const double &  f 
)
inline

◆ Write< float >()

template<>
size_t Assimp::Write< float > ( IOStream stream,
const float &  f 
)
inline

◆ Write< uint16_t >()

template<>
size_t Assimp::Write< uint16_t > ( IOStream stream,
const uint16_t w 
)
inline

◆ Write< unsigned int >()

template<>
size_t Assimp::Write< unsigned int > ( IOStream stream,
const unsigned int &  w 
)
inline

◆ WriteArray()

template<typename T >
size_t Assimp::WriteArray ( IOStream stream,
const T *  in,
unsigned int  size 
)
inline

◆ WriteBounds()

template<typename T >
size_t Assimp::WriteBounds ( IOStream stream,
const T *  in,
unsigned int  size 
)
inline

◆ WriteMeshIndicesBinary_Generic()

template<typename NumIndicesType , typename IndexType >
void Assimp::WriteMeshIndicesBinary_Generic ( const aiMesh m,
unsigned int  offset,
std::ostringstream &  output 
)

◆ XMLEscape()

std::string Assimp::XMLEscape ( const std::string &  data)

Variable Documentation

◆ AI_TO_IRR_MATRIX

const aiMatrix4x4 Assimp::AI_TO_IRR_MATRIX
extern
Initial value:
1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f)

Matrix to convert from Assimp to IRR and backwards.

◆ AmbientTexture

const std::string Assimp::AmbientTexture = "map_Ka"
static

◆ BlendUOption

const std::string Assimp::BlendUOption = "-blendu"
static

◆ BlendVOption

const std::string Assimp::BlendVOption = "-blendv"
static

◆ BoostOption

const std::string Assimp::BoostOption = "-boost"
static

◆ BufferSize

const unsigned int Assimp::BufferSize = 4096
static

◆ BumpOption

const std::string Assimp::BumpOption = "-bm"
static

◆ BumpTexture1

const std::string Assimp::BumpTexture1 = "map_bump"
static

◆ BumpTexture2

const std::string Assimp::BumpTexture2 = "map_Bump"
static

◆ BumpTexture3

const std::string Assimp::BumpTexture3 = "bump"
static

◆ ChannelOption

const std::string Assimp::ChannelOption = "-imfchan"
static

◆ ClampOption

const std::string Assimp::ClampOption = "-clamp"
static

◆ DefaultObjName

const std::string Assimp::DefaultObjName = "defaultobject"
static

◆ desc

const aiImporterDesc Assimp::desc
static
Initial value:
= {
"3mf Importer",
"",
"",
"http://3mf.io/",
0,
0,
0,
0,
"3mf"
}

◆ DiffuseTexture

const std::string Assimp::DiffuseTexture = "map_Kd"
static

◆ DisplacementTexture

const std::string Assimp::DisplacementTexture = "disp"
static

◆ EmmissiveTexture

const std::string Assimp::EmmissiveTexture = "map_emissive"
static

◆ EmmissiveTexture_1

const std::string Assimp::EmmissiveTexture_1 = "map_Ke"
static

◆ ExportProperties

CPP-API: The Exporter class forms an C++ interface to the export functionality of the Open Asset Import Library.

Note that the export interface is available only if Assimp has been built with ASSIMP_BUILD_NO_EXPORT not defined.

The interface is modelled after the importer interface and mostly symmetric. The same rules for threading etc. apply.

In a nutshell, there are two export interfaces: #Export, which writes the output file(s) either to the regular file system or to a user-supplied #IOSystem, and #ExportToBlob which returns a linked list of memory buffers (blob), each referring to one output file (in most cases there will be only one output file of course, but this extra complexity is needed since Assimp aims at supporting a wide range of file formats).

#ExportToBlob is especially useful if you intend to work with the data in-memory.

◆ fast_atof_table

const double Assimp::fast_atof_table[16]
Initial value:
= {
0.0,
0.1,
0.01,
0.001,
0.0001,
0.00001,
0.000001,
0.0000001,
0.00000001,
0.000000001,
0.0000000001,
0.00000000001,
0.000000000001,
0.0000000000001,
0.00000000000001,
0.000000000000001
}

◆ gActiveLogStreams

LogStreamMap Assimp::gActiveLogStreams
static

Local storage of all active log streams.

◆ gExporters

Exporter::ExportFormatEntry Assimp::gExporters[]

◆ gLastErrorString

std::string Assimp::gLastErrorString
static

Error message of the last failed import process.

◆ gPredefinedStreams

PredefLogStreamMap Assimp::gPredefinedStreams
static

Local storage of LogStreams allocated by aiGetPredefinedLogStream.

◆ gVerboseLogging

aiBool Assimp::gVerboseLogging = false
static

Verbose logging active or not?

◆ ModifyMapOption

const std::string Assimp::ModifyMapOption = "-mm"
static

◆ NormalTexture

const std::string Assimp::NormalTexture = "map_Kn"
static

◆ OffsetOption

const std::string Assimp::OffsetOption = "-o"
static

◆ OpacityTexture

const std::string Assimp::OpacityTexture = "map_d"
static

◆ ReflectionTexture

const std::string Assimp::ReflectionTexture = "refl"
static

◆ ResolutionOption

const std::string Assimp::ResolutionOption = "-texres"
static

◆ ScaleOption

const std::string Assimp::ScaleOption = "-s"
static

◆ SeverityAll

const unsigned int Assimp::SeverityAll = Logger::Info | Logger::Err | Logger::Warn | Logger::Debugging
static

◆ SpecularityTexture

const std::string Assimp::SpecularityTexture = "map_ns"
static

◆ SpecularTexture

const std::string Assimp::SpecularTexture = "map_Ks"
static

◆ TurbulenceOption

const std::string Assimp::TurbulenceOption = "-t"
static

◆ TypeOption

const std::string Assimp::TypeOption = "-type"
static
aiMatrix4x4
aiMatrix4x4t< float > aiMatrix4x4
Definition: matrix4x4.h:231
aiImporterFlags_SupportCompressedFlavour
@ aiImporterFlags_SupportCompressedFlavour
Indicates that there is a compressed encoding of the file format; and that it is supported.
Definition: importerdesc.h:63
aiImporterFlags_SupportBinaryFlavour
@ aiImporterFlags_SupportBinaryFlavour
Indicates that there is a binary encoding of the file format; and that it is supported.
Definition: importerdesc.h:59