Assimp: assimp - Open Asset Import Library

Assimp v4.1. (December 2018)
assimp - Open Asset Import Library

Introduction

assimp is a library to load and process geometric scenes from various data formats. It is tailored at typical game scenarios by supporting a node hierarchy, static or skinned meshes, materials, bone animations and potential texture data. The library is not designed for speed, it is primarily useful for importing assets from various sources once and storing it in a engine-specific format for easy and fast every-day-loading. assimp is also able to apply various post processing steps to the imported data such as conversion to indexed meshes, calculation of normals or tangents/bitangents or conversion from right-handed to left-handed coordinate systems.

assimp currently supports the following file formats (note that some loaders lack some features of their formats because some file formats contain data not supported by assimp, some stuff would require so much conversion work that it has not been implemented yet and some (most ...) formats lack proper specifications):

Collada ( *.dae;*.xml )
Blender ( *.blend ) 3
Biovision BVH ( *.bvh )
3D Studio Max 3DS ( *.3ds )
3D Studio Max ASE ( *.ase )
Wavefront Object ( *.obj )
Stanford Polygon Library ( *.ply )
AutoCAD DXF ( *.dxf )
IFC-STEP ( *.ifc )
Neutral File Format ( *.nff )
Sense8 WorldToolkit ( *.nff )
Valve Model ( *.smd,*.vta ) 3
Quake I ( *.mdl )
Quake II ( *.md2 )
Quake III ( *.md3 )
Quake 3 BSP ( *.pk3 ) 1
RtCW ( *.mdc )
Doom 3 ( *.md5mesh;*.md5anim;*.md5camera )
DirectX X ( *.x ).
Quick3D ( *.q3o;q3s ).
Raw Triangles ( .raw ).
AC3D ( *.ac ).
Stereolithography ( *.stl ).
Autodesk DXF ( *.dxf ).
Irrlicht Mesh ( *.irrmesh;*.xml ).
Irrlicht Scene ( *.irr;*.xml ).
Object File Format ( *.off ).
Terragen Terrain ( *.ter )
3D GameStudio Model ( *.mdl )
3D GameStudio Terrain ( *.hmp )
Ogre (*.mesh.xml, *.skeleton.xml, *.material)3
Milkshape 3D ( *.ms3d )
LightWave Model ( *.lwo )
LightWave Scene ( *.lws )
Modo Model ( *.lxo )
CharacterStudio Motion ( *.csm )
Stanford Ply ( *.ply )
TrueSpace ( *.cob, *.scn )2

 See the Importer Notes Page for information, what a specific importer can do and what not. Note that although this paper claims to be the official documentation, https://github.com/assimp/assimp/blob/master/Readme.md
is usually the most up-to-date list of file formats supported by the library.

1: Experimental loaders
2: Indicates very limited support - many of the format's features don't map to Assimp's data structures.
3: These formats support animations, but assimp doesn't yet support them (or they're buggy)

assimp is independent of the Operating System by nature, providing a C++ interface for easy integration with game engines and a C interface to allow bindings to other programming languages. At the moment the library runs on any little-endian platform including X86/Windows/Linux/Mac and X64/Windows/Linux/Mac. Special attention was paid to keep the library as free as possible from dependencies.

Big endian systems such as PPC-Macs or PPC-Linux systems are not officially supported at the moment. However, most formats handle the required endian conversion correctly, so large parts of the library should work.

The assimp linker library and viewer application are provided under the BSD 3-clause license. This basically means that you are free to use it in open- or closed-source projects, for commercial or non-commercial purposes as you like as long as you retain the license information and take own responsibility for what you do with it. For details see the LICENSE file.

You can find test models for almost all formats in the <assimp_root>/test/models directory. Beware, they're free, but not all of them are open-source. If there's an accompagning '<file>.txt' file don't forget to read it.

Installation

assimp can be used in two ways: linking against the pre-built libraries or building the library on your own. The former option is the easiest, but the assimp distribution contains pre-built libraries only for Visual C++ 2013, 2015 and 2017. For other compilers you'll have to build assimp for yourself. Which is hopefully as hassle-free as the other way, but needs a bit more work. Both ways are described at the Installation page. If you want to use assimp on Ubuntu you can install it via the following command:

sudo apt-get install assimp

If you want to use the python-assimp-port just follow these instructions: https://github.com/assimp/assimp/tree/master/port/PyAssimp

Usage

When you're done integrating the library into your IDE / project, you can now start using it. There are two separate interfaces by which you can access the library: a C++ interface and a C interface using flat functions. While the former is easier to handle, the latter also forms a point where other programming languages can connect to. Up to the moment, though, there are no bindings for any other language provided. Have a look at the Usage page for a detailed explanation and code examples.

Data Structures

When the importer successfully completed its job, the imported data is returned in an aiScene structure. This is the root point from where you can access all the various data types that a scene/model file can possibly contain. The Data Structures page describes how to interpret this data.

Extending the library

There are many 3d file formats in the world, and we're happy to support as many as possible. If you need support for a particular file format, why not implement it yourself and add it to the library? Writing importer plugins for assimp is considerably easy, as the whole postprocessing infrastructure is available and does much of the work for you. See the Extending the library page for more information.

Support & Feedback

If you have any questions/comments/suggestions/bug reports you're welcome to post them in our forums. Alternatively there's a mailing list, assimp-discussions.

Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Installation

Installation

Using the pre-built libraries with Visual C++ 8/9

If you develop at Visual Studio 2015 or 2017, you can simply use the pre-built linker libraries provided in the distribution. Extract all files to a place of your choice. A directory called "assimp" will be created there. Add the assimp/include path to your include paths (Menu->Extras->Options->Projects and Solutions->VC++ Directories->Include files) and the assimp/lib/<Compiler> path to your linker paths (Menu->Extras->Options->Projects and Solutions->VC++ Directories->Library files). This is necessary only once to setup all paths inside you IDE.

To use the library in your C++ project you can simply generate a project file via cmake. One way is to add the assimp-folder as a subdirectory via the cmake-command

addsubdiectory(assimp)

Now just add the assimp-dependency to your application:

TARGET_LINK_LIBRARIES(my_game assimp)

If done correctly you should now be able to compile, link, run and use the application.

Building the library from scratch

First you need to install cmake. Now just get the code from github or download the latest version from the webside. to build the library just open a command-prompt / bash, navigate into the repo-folder and run cmake via:

cmake CMakeLists.txt

A project-file of your default make-system ( like gnu-make on linux or Visual-Studio on Windows ) will be generated. Run the build and you are done. You can find the libs at assimp/lib and the dll's / so's at bin.

Windows DLL Build

The Assimp-package can be built as DLL. You just need to run the default cmake run.

static lib

The Assimp-package can be build as a static library as well. Do do so just set the configuration variable BUILD_SHARED_LIBS to off during the cmake run.

Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: Usage

Usage

Access by C++ class interface

The assimp library can be accessed by both a class or flat function interface. The C++ class interface is the preferred way of interaction: you create an instance of class Assimp::Importer, maybe adjust some settings of it and then call Assimp::Importer::ReadFile(). The class will read the files and process its data, handing back the imported data as a pointer to an aiScene to you. You can now extract the data you need from the file. The importer manages all the resources for itsself. If the importer is destroyed, all the data that was created/read by it will be destroyed, too. So the easiest way to use the Importer is to create an instance locally, use its results and then simply let it go out of scope.

C++ example:

#include <assimp/Importer.hpp> // C++ importer interface
#include <assimp/scene.h> // Output data structure
#include <assimp/postprocess.h> // Post processing flags
bool DoTheImportThing( const std::string& pFile)
{
// Create an instance of the Importer class
Assimp::Importer importer;
// And have it read the given file with some example postprocessing
// Usually - if speed is not the most important aspect for you - you'll
// probably to request more postprocessing than we do in this example.
const aiScene* scene = importer.ReadFile( pFile,
aiProcess_CalcTangentSpace |
aiProcess_Triangulate |
aiProcess_JoinIdenticalVertices |
aiProcess_SortByPType);
// If the import failed, report it
if( !scene)
{
DoTheErrorLogging( importer.GetErrorString());
return false;
}
// Now we can access the file's contents.
DoTheSceneProcessing( scene);
// We're done. Everything will be cleaned up by the importer destructor
return true;
}

What exactly is read from the files and how you interpret it is described at the Data Structures page. The post processing steps that the assimp library can apply to the imported data are listed at aiPostProcessSteps. See the pp Post processing page for more details.

Note that the aiScene data structure returned is declared 'const'. Yes, you can get rid of these 5 letters with a simple cast. Yes, you may do that. No, it's not recommended (and it's suicide in DLL builds if you try to use new or delete on any of the arrays in the scene).

Access by plain-c function interface

The plain function interface is just as simple, but requires you to manually call the clean-up after you're done with the imported data. To start the import process, call aiImportFile() with the filename in question and the desired postprocessing flags like above. If the call is successful, an aiScene pointer with the imported data is handed back to you. When you're done with the extraction of the data you're interested in, call aiReleaseImport() on the imported scene to clean up all resources associated with the import.

C example:

#include <assimp/cimport.h> // Plain-C interface
#include <assimp/scene.h> // Output data structure
#include <assimp/postprocess.h> // Post processing flags
bool DoTheImportThing( const char* pFile)
{
// Start the import on the given file with some example postprocessing
// Usually - if speed is not the most important aspect for you - you'll t
// probably to request more postprocessing than we do in this example.
const aiScene* scene = aiImportFile( pFile,
aiProcess_CalcTangentSpace |
aiProcess_Triangulate |
aiProcess_JoinIdenticalVertices |
aiProcess_SortByPType);
// If the import failed, report it
if( !scene)
{
DoTheErrorLogging( aiGetErrorString());
return false;
}
// Now we can access the file's contents
DoTheSceneProcessing( scene);
// We're done. Release all resources associated with this import
aiReleaseImport( scene);
return true;
}

Using custom IO logic with the C++ class interface

The assimp library needs to access files internally. This of course applies to the file you want to read, but also to additional files in the same folder for certain file formats. By default, standard C/C++ IO logic is used to access these files. If your application works in a special environment where custom logic is needed to access the specified files, you have to supply custom implementations of IOStream and IOSystem. A shortened example might look like this:

#include <assimp/IOStream.hpp>
#include <assimp/IOSystem.hpp>
// My own implementation of IOStream
class MyIOStream : public Assimp::IOStream
{
friend class MyIOSystem;
protected:
// Constructor protected for private usage by MyIOSystem
MyIOStream(void);
public:
~MyIOStream(void);
size_t Read( void* pvBuffer, size_t pSize, size_t pCount) { ... }
size_t Write( const void* pvBuffer, size_t pSize, size_t pCount) { ... }
aiReturn Seek( size_t pOffset, aiOrigin pOrigin) { ... }
size_t Tell() const { ... }
size_t FileSize() const { ... }
void Flush () { ... }
};
// Fisher Price - My First Filesystem
class MyIOSystem : public Assimp::IOSystem
{
MyIOSystem() { ... }
~MyIOSystem() { ... }
// Check whether a specific file exists
bool Exists( const std::string& pFile) const {
..
}
// Get the path delimiter character we'd like to see
char GetOsSeparator() const {
return '/';
}
// ... and finally a method to open a custom stream
IOStream* Open( const std::string& pFile, const std::string& pMode) {
return new MyIOStream( ... );
}
void Close( IOStream* pFile) { delete pFile; }
};

Now that your IO system is implemented, supply an instance of it to the Importer object by calling Assimp::Importer::SetIOHandler().

void DoTheImportThing( const std::string& pFile)
{
Assimp::Importer importer;
// put my custom IO handling in place
importer.SetIOHandler( new MyIOSystem());
// the import process will now use this implementation to access any file
importer.ReadFile( pFile, SomeFlag | SomeOtherFlag);
}

Using custom IO logic with the plain-c function interface

The C interface also provides a way to override the file system. Control is not as fine-grained as for C++ although surely enough for almost any purpose. The process is simple:

  • Include cfileio.h
  • Fill an aiFileIO structure with custom file system callbacks (they're self-explanatory as they work similar to the CRT's fXXX functions)
  • .. and pass it as parameter to aiImportFileEx

Logging

The assimp library provides an easy mechanism to log messages. For instance if you want to check the state of your import and you just want to see, after which preprocessing step the import-process was aborted you can take a look into the log. Per default the assimp-library provides a default log implementation, where you can log your user specific message by calling it as a singleton with the requested logging-type. To see how this works take a look to this:

using namespace Assimp;
// Create a logger instance
DefaultLogger::create("", Logger::VERBOSE);
// Now I am ready for logging my stuff
DefaultLogger::get()->info("this is my info-call");
// Kill it after the work is done
DefaultLogger::kill();

At first you have to create the default-logger-instance (create). Now you are ready to rock and can log a little bit around. After that you should kill it to release the singleton instance.

If you want to integrate the assimp-log into your own GUI it my be helpful to have a mechanism writing the logs into your own log windows. The logger interface provides this by implementing an interface called LogStream. You can attach and detach this log stream to the default-logger instance or any implementation derived from Logger. Just derivate your own logger from the abstract base class LogStream and overwrite the write-method:

// Example stream
class myStream : public LogStream
{
public:
// Write womethink using your own functionality
void write(const char* message)
{
::printf("%s\n", message);
}
};
// Select the kinds of messages you want to receive on this log stream
const unsigned int severity = Logger::Debugging|Logger::Info|Logger::Err|Logger::Warn;
// Attaching it to the default logger
Assimp::DefaultLogger::get()->attachStream( new myStream, severity );

The severity level controls the kind of message which will be written into the attached stream. If you just want to log errors and warnings set the warn and error severity flag for those severities. It is also possible to remove a self defined logstream from an error severity by detaching it with the severity flag set:

unsigned int severity = 0;
severity |= Logger::Debugging;
// Detach debug messages from you self defined stream
Assimp::DefaultLogger::get()->attachStream( new myStream, severity );

If you want to implement your own logger just derive from the abstract base class #Logger and overwrite the methods debug, info, warn and error.

If you want to see the debug-messages in a debug-configured build, the Logger-interface provides a logging-severity. You can set it calling the following method:

Assimp::DefaultLogger::get()->setLogSeverity( LogSeverity log_severity );

The normal logging severity supports just the basic stuff like, info, warnings and errors. In the verbose level very fine-grained debug messages will be logged, too. Note that this kind kind of logging might decrease import performance.

Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: Data Structures

Data Structures

The assimp library returns the imported data in a collection of structures.

aiScene forms the root of the data, from here you gain access to all the nodes, meshes, materials, animations or textures that were read from the imported file. The aiScene is returned from a successful call to assimp::Importer::ReadFile(), aiImportFile() or aiImportFileEx() - see the Usage page for further information on how to use the library.

By default, all 3D data is provided in a right-handed coordinate system such as OpenGL uses. In this coordinate system, +X points to the right, +Y points upwards and +Z points out of the screen towards the viewer. Several modeling packages such as 3D Studio Max use this coordinate system as well (or a rotated variant of it). By contrast, some other environments use left-handed coordinate systems, a prominent example being DirectX. If you need the imported data to be in a left-handed coordinate system, supply the aiProcess_MakeLeftHanded flag to the ReadFile() function call.

The output face winding is counter clockwise. Use aiProcess_FlipWindingOrder to get CW data.

x2
x1
x0

Outputted polygons can be literally everything: they're probably concave, self-intersecting or non-planar, although our built-in triangulation (aiProcess_Triangulate postprocessing step) doesn't handle the two latter.

The output UV coordinate system has its origin in the lower-left corner:

0x|1y ---------- 1x|1y
| |
| |
| |
0x|0y ---------- 1x|0y

Use the aiProcess_FlipUVs flag to get UV coordinates with the upper-left corner als origin.

A typical 4x4 matrix including a translational part looks like this:

X1 Y1 Z1 T1
X2 Y2 Z2 T2
X3 Y3 Z3 T3
0 0 0 1

with (X1, X2, X3) being the local X base vector, (Y1, Y2, Y3) being the local Y base vector, (Z1, Z2, Z3) being the local Z base vector and (T1, T2, T3) being the offset of the local origin (the translational part). All matrices in the library use row-major storage order. That means that the matrix elements are stored row-by-row, i.e. they end up like this in memory: [X1, Y1, Z1, T1, X2, Y2, Z2, T2, X3, Y3, Z3, T3, 0, 0, 0, 1].

Note that this is neither the OpenGL format nor the DirectX format, because both of them specify the matrix layout such that the translational part occupies three consecutive addresses in memory (so those matrices end with [..., T1, T2, T3, 1]), whereas the translation in an Assimp matrix is found at the offsets 3, 7 and 11 (spread across the matrix). You can transpose an Assimp matrix to end up with the format that OpenGL and DirectX mandate. To be very precise: The transposition has nothing to do with a left-handed or right-handed coordinate system but 'converts' between row-major and column-major storage format.

11.24.09: We changed the orientation of our quaternions to the most common convention to avoid confusion. However, if you're a previous user of Assimp and you update the library to revisions beyond SVNREV 502, you have to adapt your animation loading code to match the new quaternion orientation.

The Node Hierarchy

Nodes are little named entities in the scene that have a place and orientation relative to their parents. Starting from the scene's root node all nodes can have 0 to x child nodes, thus forming a hierarchy. They form the base on which the scene is built on: a node can refer to 0..x meshes, can be referred to by a bone of a mesh or can be animated by a key sequence of an animation. DirectX calls them "frames", others call them "objects", we call them aiNode.

A node can potentially refer to single or multiple meshes. The meshes are not stored inside the node, but instead in an array of aiMesh inside the aiScene. A node only refers to them by their array index. This also means that multiple nodes can refer to the same mesh, which provides a simple form of instancing. A mesh referred to by this way lives in the node's local coordinate system. If you want the mesh's orientation in global space, you'd have to concatenate the transformations from the referring node and all of its parents.

Most of the file formats don't really support complex scenes, though, but a single model only. But there are more complex formats such as .3ds, .x or .collada scenes which may contain an arbitrary complex hierarchy of nodes and meshes. I for myself would suggest a recursive filter function such as the following pseudocode:

void CopyNodesWithMeshes( aiNode node, SceneObject targetParent, Matrix4x4 accTransform)
{
SceneObject parent;
Matrix4x4 transform;
// if node has meshes, create a new scene object for it
if( node.mNumMeshes > 0)
{
SceneObjekt newObject = new SceneObject;
targetParent.addChild( newObject);
// copy the meshes
CopyMeshes( node, newObject);
// the new object is the parent for all child nodes
parent = newObject;
transform.SetUnity();
} else
{
// if no meshes, skip the node, but keep its transformation
parent = targetParent;
transform = node.mTransformation * accTransform;
}
// continue for all child nodes
for( all node.mChildren)
CopyNodesWithMeshes( node.mChildren[a], parent, transform);
}

This function copies a node into the scene graph if it has children. If yes, a new scene object is created for the import node and the node's meshes are copied over. If not, no object is created. Potential child objects will be added to the old targetParent, but there transformation will be correct in respect to the global space. This function also works great in filtering the bone nodes - nodes that form the bone hierarchy for another mesh/node, but don't have any mesh themselves.

Meshes

All meshes of an imported scene are stored in an array of aiMesh* inside the aiScene. Nodes refer to them by their index in the array and providing the coordinate system for them, too. One mesh uses only a single material everywhere - if parts of the model use a different material, this part is moved to a separate mesh at the same node. The mesh refers to its material in the same way as the node refers to its meshes: materials are stored in an array inside aiScene, the mesh stores only an index into this array.

An aiMesh is defined by a series of data channels. The presence of these data channels is defined by the contents of the imported file: by default there are only those data channels present in the mesh that were also found in the file. The only channels guaranteed to be always present are aiMesh::mVertices and aiMesh::mFaces. You can test for the presence of other data by testing the pointers against NULL or use the helper functions provided by aiMesh. You may also specify several post processing flags at Importer::ReadFile() to let assimp calculate or recalculate additional data channels for you.

At the moment, a single aiMesh may contain a set of triangles and polygons. A single vertex does always have a position. In addition it may have one normal, one tangent and bitangent, zero to AI_MAX_NUMBER_OF_TEXTURECOORDS (4 at the moment) texture coords and zero to AI_MAX_NUMBER_OF_COLOR_SETS (4) vertex colors. In addition a mesh may or may not have a set of bones described by an array of aiBone structures. How to interpret the bone information is described later on.

Materials

See the Material System Page.

Bones

A mesh may have a set of bones in the form of aiBone objects. Bones are a means to deform a mesh according to the movement of a skeleton. Each bone has a name and a set of vertices on which it has influence. Its offset matrix declares the transformation needed to transform from mesh space to the local space of this bone.

Using the bones name you can find the corresponding node in the node hierarchy. This node in relation to the other bones' nodes defines the skeleton of the mesh. Unfortunately there might also be nodes which are not used by a bone in the mesh, but still affect the pose of the skeleton because they have child nodes which are bones. So when creating the skeleton hierarchy for a mesh I suggest the following method:

a) Create a map or a similar container to store which nodes are necessary for the skeleton. Pre-initialise it for all nodes with a "no".
b) For each bone in the mesh:
b1) Find the corresponding node in the scene's hierarchy by comparing their names.
b2) Mark this node as "yes" in the necessityMap.
b3) Mark all of its parents the same way until you 1) find the mesh's node or 2) the parent of the mesh's node.
c) Recursively iterate over the node hierarchy
c1) If the node is marked as necessary, copy it into the skeleton and check its children
c2) If the node is marked as not necessary, skip it and do not iterate over its children.

Reasons: you need all the parent nodes to keep the transformation chain intact. For most file formats and modelling packages the node hierarchy of the skeleton is either a child of the mesh node or a sibling of the mesh node but this is by no means a requirement so you shouldn't rely on it. The node closest to the root node is your skeleton root, from there you start copying the hierarchy. You can skip every branch without a node being a bone in the mesh - that's why the algorithm skips the whole branch if the node is marked as "not necessary".

You should now have a mesh in your engine with a skeleton that is a subset of the imported hierarchy.

Animations

An imported scene may contain zero to x aiAnimation entries. An animation in this context is a set of keyframe sequences where each sequence describes the orientation of a single node in the hierarchy over a limited time span. Animations of this kind are usually used to animate the skeleton of a skinned mesh, but there are other uses as well.

An aiAnimation has a duration. The duration as well as all time stamps are given in ticks. To get the correct timing, all time stamp thus have to be divided by aiAnimation::mTicksPerSecond. Beware, though, that certain combinations of file format and exporter don't always store this information in the exported file. In this case, mTicksPerSecond is set to 0 to indicate the lack of knowledge.

The aiAnimation consists of a series of aiNodeAnim's. Each bone animation affects a single node in the node hierarchy only, the name specifying which node is affected. For this node the structure stores three separate key sequences: a vector key sequence for the position, a quaternion key sequence for the rotation and another vector key sequence for the scaling. All 3d data is local to the coordinate space of the node's parent, that means in the same space as the node's transformation matrix. There might be cases where animation tracks refer to a non-existent node by their name, but this should not be the case in your every-day data.

To apply such an animation you need to identify the animation tracks that refer to actual bones in your mesh. Then for every track:
a) Find the keys that lay right before the current anim time.
b) Optional: interpolate between these and the following keys.
c) Combine the calculated position, rotation and scaling to a transformation matrix
d) Set the affected node's transformation to the calculated matrix.

If you need hints on how to convert to or from quaternions, have a look at the Matrix&Quaternion FAQ. I suggest using logarithmic interpolation for the scaling keys if you happen to need them - usually you don't need them at all.

Textures

Normally textures used by assets are stored in separate files, however, there are file formats embedding their textures directly into the model file. Such textures are loaded into an aiTexture structure.

In previous versions, the path from the query for AI_MATKEY_TEXTURE(textureType, index) would be *<index> where <index> is the index of the texture in aiScene::mTextures. Now this call will return a file path for embedded textures in FBX files. To test if it is an embedded texture use aiScene::GetEmbeddedTexture. If the returned pointer is not null, it is embedded und can be loaded from the data structure. If it is null, search for a separate file. Other file types still use the old behaviour.
If your rely on the old behaviour, you can use Assimp::Importer::SetPropertyBool with the key AI_CONFIG_IMPORT_FBX_EMBEDDED_TEXTURES_LEGACY_NAMING to force the old behaviour.

There are two cases:

  1. The texture is NOT compressed. Its color data is directly stored in the aiTexture structure as an array of aiTexture::mWidth * aiTexture::mHeight aiTexel structures. Each aiTexel represents a pixel (or "texel") of the texture image. The color data is stored in an unsigned RGBA8888 format, which can be easily used for both Direct3D and OpenGL (swizzling the order of the color components might be necessary). RGBA8888 has been chosen because it is well-known, easy to use and natively supported by nearly all graphics APIs.
  2. This applies if aiTexture::mHeight == 0 is fulfilled. Then, texture is stored in a "compressed" format such as DDS or PNG. The term "compressed" does not mean that the texture data must actually be compressed, however the texture was found in the model file as if it was stored in a separate file on the harddisk. Appropriate decoders (such as libjpeg, libpng, D3DX, DevIL) are required to load theses textures. aiTexture::mWidth specifies the size of the texture data in bytes, aiTexture::pcData is a pointer to the raw image data and aiTexture::achFormatHint is either zeroed or contains the most common file extension of the embedded texture's format. This value is only set if assimp is able to determine the file format.
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Material System

Material System

Overview

All materials are stored in an array of aiMaterial inside the aiScene.

Each aiMesh refers to one material by its index in the array. Due to the vastly diverging definitions and usages of material parameters there is no hard definition of a material structure. Instead a material is defined by a set of properties accessible by their names. Have a look at assimp/material.h to see what types of properties are defined. In this file there are also various functions defined to test for the presence of certain properties in a material and retrieve their values.

Textures

Textures are organized in stacks, each stack being evaluated independently. The final color value from a particular texture stack is used in the shading equation. For example, the computed color value of the diffuse texture stack (aiTextureType_DIFFUSE) is multiplied with the amount of incoming diffuse light to obtain the final diffuse color of a pixel.

Stack Resulting equation
------------------------
| Constant base color | color
------------------------
| Blend operation 0 | +
------------------------
| Strength factor 0 | 0.25*
------------------------
| Texture 0 | texture_0
------------------------
| Blend operation 1 | *
------------------------
| Strength factor 1 | 1.0*
------------------------
| Texture 1 | texture_1
------------------------
... ...

Constants

All material key constants start with 'AI_MATKEY' (it's an ugly macro for historical reasons, don't ask).

Name | Data Type | Default Value | Meaning | Notes
NAME | aiString | n/a | The name of the material, if available. | Ignored by aiProcess_RemoveRedundantMaterials. Materials are considered equal even if their names are different.
COLOR_DIFFUSE | aiColor3D | black (0,0,0) | Diffuse color of the material. This is typically scaled by the amount of incoming diffuse light (e.g. using gouraud shading) | —
COLOR_SPECULAR | aiColor3D | black (0,0,0) | Specular color of the material. This is typically scaled by the amount of incoming specular light (e.g. using phong shading) | —
COLOR_AMBIENT | aiColor3D | black (0,0,0) | Ambient color of the material. This is typically scaled by the amount of ambient light | —
COLOR_EMISSIVE | aiColor3D | black (0,0,0) | Emissive color of the material. This is the amount of light emitted by the object. In real time applications it will usually not affect surrounding objects, but raytracing applications may wish to treat emissive objects as light sources. | —
COLOR_TRANSPARENT | aiColor3D | black (0,0,0) | Defines the transparent color of the material, this is the color to be multiplied with the color of translucent light to construct the final 'destination color' for a particular position in the screen buffer. | —
COLOR_REFLECTIVE | aiColor3D | black (0,0,0) | Defines the reflective color of the material. This is typically scaled by the amount of incoming light from the direction of mirror reflection. Usually combined with an environment lightmap of some kind for real-time applications. | —
REFLECTIVITY | float | 0.0 | Scales the reflective color of the material. | —
WIREFRAME | int | false | Specifies whether wireframe rendering must be turned on for the material. 0 for false, !0 for true. | —
TWOSIDED | int | false | Specifies whether meshes using this material must be rendered without backface culling. 0 for false, !0 for true. | Some importers set this property if they don't know whether the output face order is right. As long as it is not set, you may safely enable backface culling.
SHADING_MODEL | int | gouraud | One of the aiShadingMode enumerated values. Defines the library shading model to use for (real time) rendering to approximate the original look of the material as closely as possible. | The presence of this key might indicate a more complex material. If absent, assume phong shading only if a specular exponent is given.
BLEND_FUNC | int | false | One of the aiBlendMode enumerated values. Defines how the final color value in the screen buffer is computed from the given color at that position and the newly computed color from the material. Simply said, alpha blending settings. | -
OPACITY | float | 1.0 | Defines the opacity of the material in a range between 0..1. | Use this value to decide whether you have to activate alpha blending for rendering. OPACITY != 1 usually also implies TWOSIDED=1 to avoid cull artifacts.
SHININESS | float | 0.f | Defines the shininess of a phong-shaded material. This is actually the exponent of the phong specular equation | SHININESS=0 is equivalent to SHADING_MODEL=aiShadingMode_Gouraud.
SHININESS_STRENGTH | float | 1.0 | Scales the specular color of the material. | This value is kept separate from the specular color by most modelers, and so do we.
REFRACTI | float | 1.0 | Defines the Index Of Refraction for the material. That's not supported by most file formats. | Might be of interest for raytracing.
TEXTURE(t,n) | aiString | n/a | Defines the path of the n'th texture on the stack 't', where 'n' is any value >= 0 and 't' is one of the aiTextureType enumerated values. A file path to an external file or an embedded texture. Use aiScene::GetEmbeddedTexture to test if it is embedded for FBX files, in other cases embedded textures start with '*' followed by an index into aiScene::mTextures. | See the Textures section above. Also see Textures for a more information about texture retrieval.
TEXBLEND(t,n) | float | n/a | Defines the strength the n'th texture on the stack 't'. All color components (rgb) are multiplied with this factor before any further processing is done. | -
TEXOP(t,n) | int | n/a | One of the aiTextureOp enumerated values. Defines the arithmetic operation to be used to combine the n'th texture on the stack 't' with the n-1'th. TEXOP(t,0) refers to the blend operation between the base color for this stack (e.g. COLOR_DIFFUSE for the diffuse stack) and the first texture. | -
MAPPING(t,n) | int | n/a | Defines how the input mapping coordinates for sampling the n'th texture on the stack 't' are computed. Usually explicit UV coordinates are provided, but some model file formats might also be using basic shapes, such as spheres or cylinders, to project textures onto meshes. | See the 'Textures' section below. aiProcess_GenUVCoords can be used to let Assimp compute proper UV coordinates from projective mappings.
UVWSRC(t,n) | int | n/a | Defines the UV channel to be used as input mapping coordinates for sampling the n'th texture on the stack 't'. All meshes assigned to this material share the same UV channel setup | Presence of this key implies MAPPING(t,n) to be aiTextureMapping_UV. See How to map UV channels to textures (MATKEY_UVWSRC) for more details.
MAPPINGMODE_U(t,n) | int | n/a | Any of the aiTextureMapMode enumerated values. Defines the texture wrapping mode on the x axis for sampling the n'th texture on the stack 't'. 'Wrapping' occurs whenever UVs lie outside the 0..1 range. | -
MAPPINGMODE_V(t,n) | int | n/a | Wrap mode on the v axis. See MAPPINGMODE_U. | -
TEXMAP_AXIS(t,n) | aiVector3D | n/a | Defines the base axis to to compute the mapping coordinates for the n'th texture on the stack 't' from. This is not required for UV-mapped textures. For instance, if MAPPING(t,n) is aiTextureMapping_SPHERE, U and V would map to longitude and latitude of a sphere around the given axis. The axis is given in local mesh space. | -
TEXFLAGS(t,n) | int | n/a | Defines miscellaneous flag for the n'th texture on the stack 't'. This is a bitwise combination of the aiTextureFlags enumerated values. | -

C++-API

Retrieving a property from a material is done using various utility functions. For C++ it's simply calling aiMaterial::Get()

aiMaterial* mat = .....
// The generic way
if(AI_SUCCESS != mat->Get(<material-key>,<where-to-store>)) {
// handle epic failure here
}

Simple, isn't it? To get the name of a material you would use

aiString name;
mat->Get(AI_MATKEY_NAME,name);

Or for the diffuse color ('color' won't be modified if the property is not set)

aiColor3D color (0.f,0.f,0.f);
mat->Get(AI_MATKEY_COLOR_DIFFUSE,color);

Note: Get() is actually a template with explicit specializations for aiColor3D, aiColor4D, aiString, float, int and some others. Make sure that the type of the second parameter matches the expected data type of the material property (no compile-time check yet!). Don't follow this advice if you wish to encounter very strange results.

C-API

For good old C it's slightly different. Take a look at the aiGetMaterialGet<data-type> functions.

aiMaterial* mat = .....
if(AI_SUCCESS != aiGetMaterialFloat(mat,<material-key>,<where-to-store>)) {
// handle epic failure here
}

To get the name of a material you would use

aiString name;
aiGetMaterialString(mat,AI_MATKEY_NAME,&name);

Or for the diffuse color ('color' won't be modified if the property is not set)

aiColor3D color (0.f,0.f,0.f);
aiGetMaterialColor(mat,AI_MATKEY_COLOR_DIFFUSE,&color);

How to map UV channels to textures (MATKEY_UVWSRC)

The MATKEY_UVWSRC property is only present if the source format doesn't specify an explicit mapping from textures to UV channels. Many formats don't do this and assimp is not aware of a perfect rule either.

Your handling of UV channels needs to be flexible therefore. Our recommendation is to use logic like this to handle most cases properly:

have only one uv channel?
   assign channel 0 to all textures and break

for all textures
   have uvwsrc for this texture?
      assign channel specified in uvwsrc
   else
      assign channels in ascending order for all texture stacks,
      i.e. diffuse1 gets channel 1, opacity0 gets channel 0.

Pseudo Code Listing

For completeness, the following is a very rough pseudo-code sample showing how to evaluate Assimp materials in your shading pipeline. You'll probably want to limit your handling of all those material keys to a reasonable subset suitable for your purposes (for example most 3d engines won't support highly complex multi-layer materials, but many 3d modellers do).

Also note that this sample is targeted at a (shader-based) rendering pipeline for real time graphics.

// ---------------------------------------------------------------------------------------
// Evaluate multiple textures stacked on top of each other
float3 EvaluateStack(stack)
{
// For the 'diffuse' stack stack.base_color would be COLOR_DIFFUSE
// and TEXTURE(aiTextureType_DIFFUSE,n) the n'th texture.
float3 base = stack.base_color;
for (every texture in stack)
{
// assuming we have explicit & pretransformed UVs for this texture
float3 color = SampleTexture(texture,uv);
// scale by texture blend factor
color *= texture.blend;
if (texture.op == add)
base += color;
else if (texture.op == multiply)
base *= color;
else // other blend ops go here
}
return base;
}
// ---------------------------------------------------------------------------------------
// Compute the diffuse contribution for a pixel
float3 ComputeDiffuseContribution()
{
if (shading == none)
return float3(1,1,1);
float3 intensity (0,0,0);
for (all lights in range)
{
float fac = 1.f;
if (shading == gouraud)
fac = lambert-term ..
else // other shading modes go here
// handling of different types of lights, such as point or spot lights
// ...
// and finally sum the contribution of this single light ...
intensity += light.diffuse_color * fac;
}
// ... and combine the final incoming light with the diffuse color
return EvaluateStack(diffuse) * intensity;
}
// ---------------------------------------------------------------------------------------
// Compute the specular contribution for a pixel
float3 ComputeSpecularContribution()
{
if (shading == gouraud || specular_strength == 0 || specular_exponent == 0)
return float3(0,0,0);
float3 intensity (0,0,0);
for (all lights in range)
{
float fac = 1.f;
if (shading == phong)
fac = phong-term ..
else // other specular shading modes go here
// handling of different types of lights, such as point or spot lights
// ...
// and finally sum the specular contribution of this single light ...
intensity += light.specular_color * fac;
}
// ... and combine the final specular light with the specular color
return EvaluateStack(specular) * intensity * specular_strength;
}
// ---------------------------------------------------------------------------------------
// Compute the ambient contribution for a pixel
float3 ComputeAmbientContribution()
{
if (shading == none)
return float3(0,0,0);
float3 intensity (0,0,0);
for (all lights in range)
{
float fac = 1.f;
// handling of different types of lights, such as point or spot lights
// ...
// and finally sum the ambient contribution of this single light ...
intensity += light.ambient_color * fac;
}
// ... and combine the final ambient light with the ambient color
return EvaluateStack(ambient) * intensity;
}
// ---------------------------------------------------------------------------------------
// Compute the final color value for a pixel
// @param prev Previous color at that position in the framebuffer
float4 PimpMyPixel (float4 prev)
{
// .. handle displacement mapping per vertex
// .. handle bump/normal mapping
// Get all single light contribution terms
float3 diff = ComputeDiffuseContribution();
float3 spec = ComputeSpecularContribution();
float3 ambi = ComputeAmbientContribution();
// .. and compute the final color value for this pixel
float3 color = diff + spec + ambi;
float3 opac = EvaluateStack(opacity);
// note the *slightly* strange meaning of additive and multiplicative blending here ...
// those names will most likely be changed in future versions
if (blend_func == add)
return prev+color*opac;
else if (blend_func == multiply)
return prev*(1.0-opac)+prev*opac;
return color;
}

How to access shader-code from a texture (AI_MATKEY_GLOBAL_SHADERLANG and AI_MATKEY_SHADER_VERTEX, ...)

You can get assigned shader sources by using the following material keys:

AI_MATKEY_GLOBAL_SHADERLANGTo get the used shader language. AI_MATKEY_SHADER_VERTEX Assigned vertex shader code stored as a string. AI_MATKEY_SHADER_FRAGMENT Assigned fragment shader code stored as a string. AI_MATKEY_SHADER_GEO Assigned geometry shader code stored as a string. AI_MATKEY_SHADER_TESSELATION Assigned tesselation shader code stored as a string. AI_MATKEY_SHADER_PRIMITIVE Assigned primitive shader code stored as a string. AI_MATKEY_SHADER_COMPUTE Assigned compute shader code stored as a string.

Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Performance

Performance

Overview

This page discusses general performance issues related to assimp.

Profiling

assimp has built-in support for very basic profiling and time measurement. To turn it on, set the GLOB_MEASURE_TIME configuration switch to true (nonzero). Results are dumped to the log file, so you need to setup an appropriate logger implementation with at least one output stream first (see the Logging Page for the details.).

Note that these measurements are based on a single run of the importer and each of the post processing steps, so a single result set is far away from being significant in a statistic sense. While precision can be improved by running the test multiple times, the low accuracy of the timings may render the results useless for smaller files.

A sample report looks like this (some unrelated log messages omitted, entries grouped for clarity):

Debug, T5488: START `total`
Info,  T5488: Found a matching importer for this file format

Debug, T5488: START `import`
Info,  T5488: BlendModifier: Applied the `Subdivision` modifier to `OBMonkey`
Debug, T5488: END   `import`, dt= 3.516 s

Debug, T5488: START `preprocess`
Debug, T5488: END   `preprocess`, dt= 0.001 s
Info,  T5488: Entering post processing pipeline

Debug, T5488: START `postprocess`
Debug, T5488: RemoveRedundantMatsProcess begin
Debug, T5488: RemoveRedundantMatsProcess finished
Debug, T5488: END   `postprocess`, dt= 0.001 s

Debug, T5488: START `postprocess`
Debug, T5488: TriangulateProcess begin
Info,  T5488: TriangulateProcess finished. All polygons have been triangulated.
Debug, T5488: END   `postprocess`, dt= 3.415 s

Debug, T5488: START `postprocess`
Debug, T5488: SortByPTypeProcess begin
Info,  T5488: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed)
Debug, T5488: SortByPTypeProcess finished

Debug, T5488: START `postprocess`
Debug, T5488: JoinVerticesProcess begin
Debug, T5488: Mesh 0 (unnamed) | Verts in: 503808 out: 126345 | ~74.922
Info,  T5488: JoinVerticesProcess finished | Verts in: 503808 out: 126345 | ~74.9
Debug, T5488: END   `postprocess`, dt= 2.052 s

Debug, T5488: START `postprocess`
Debug, T5488: FlipWindingOrderProcess begin
Debug, T5488: FlipWindingOrderProcess finished
Debug, T5488: END   `postprocess`, dt= 0.006 s

Debug, T5488: START `postprocess`
Debug, T5488: LimitBoneWeightsProcess begin
Debug, T5488: LimitBoneWeightsProcess end
Debug, T5488: END   `postprocess`, dt= 0.001 s

Debug, T5488: START `postprocess`
Debug, T5488: ImproveCacheLocalityProcess begin
Debug, T5488: Mesh 0 | ACMR in: 0.851622 out: 0.718139 | ~15.7
Info,  T5488: Cache relevant are 1 meshes (251904 faces). Average output ACMR is 0.718139
Debug, T5488: ImproveCacheLocalityProcess finished.
Debug, T5488: END   `postprocess`, dt= 1.903 s

Info,  T5488: Leaving post processing pipeline
Debug, T5488: END   `total`, dt= 11.269 s

In this particular example only one fourth of the total import time was spent on the actual importing, while the rest of the time got consumed by the aiProcess_Triangulate, aiProcess_JoinIdenticalVertices and aiProcess_ImproveCacheLocality postprocessing steps. A wise selection of postprocessing steps is therefore essential to getting good performance. Of course this depends on the individual requirements of your application, in many of the typical use cases of assimp performance won't matter (i.e. in an offline content pipeline).

Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Threading

Threading

Overview

This page discusses both assimps scalability in threaded environments and the precautions to be taken in order to use it from multiple threads concurrently.

Thread-safety / using Assimp concurrently from several threads

The library can be accessed by multiple threads simultaneously, as long as the following prerequisites are fulfilled:

  • Users of the C++-API should ensure that they use a dedicated Assimp::Importer instance for each thread. Constructing instances of Assimp::Importer is expensive, so it might be a good idea to let every thread maintain its own thread-local instance (which can be used to load as many files as necessary).
  • The C-API is thread safe.
  • When supplying custom IO logic, one must make sure the underlying implementation is thread-safe.
  • Custom log streams or logger replacements have to be thread-safe, too.

Multiple concurrent imports may or may not be beneficial, however. For certain file formats in conjunction with little or no post processing IO times tend to be the performance bottleneck. Intense post processing together with 'slow' file formats like X or Collada might scale well with multiple concurrent imports.

Internal threading

Internal multi-threading is not currently implemented.

Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Resources

Resources

This page lists some useful resources for assimp.

Note that, even though the core team has an eye on them, we cannot guarantee the accuracy of third-party information. If in doubt, it's best to ask either on the mailing list or on our forums on SF.net.

  • assimp comes with some sample applications, these can be found in the ./samples folder. Don't forget to read the README file.
  • http://www.drivenbynostalgia.com/files/AssimpOpenGLDemo.rar - OpenGl animation sample using the library's animation import facilities.
  • http://nolimitsdesigns.com/game-design/open-asset-import-library-animation-loader/ is another utility to simplify animation playback.
  • http://ogldev.atspace.co.uk/www/tutorial22/tutorial22.html - Tutorial "Loading models using the Open Asset Import Library", out of a series of OpenGl tutorials.
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Importer Notes

Importer Notes

Blender

This section contains implementation notes for the Blender3D importer.

Overview

assimp provides a self-contained reimplementation of Blender's so called SDNA system (http://www.blender.org/development/architecture/notes-on-sdna/). SDNA allows Blender to be fully backward and forward compatible and to exchange files across all platforms. The BLEND format is thus a non-trivial binary monster and the loader tries to read the most of it, naturally limited by the scope of the aiScene output data structure. Consequently, if Blender is the only modeling tool in your asset work flow, consider writing a custom exporter from Blender if assimps format coverage does not meet the requirements.

Current status

The Blender loader does not support animations yet, but is apart from that considered relatively stable.

Notes

When filing bugs on the Blender loader, always give the Blender version (or, even better, post the file caused the error).

IFC

This section contains implementation notes on the IFC-STEP importer.

Overview

The library provides a partial implementation of the IFC2x3 industry standard for automatized exchange of CAE/architectural data sets. See http://en.wikipedia.org/wiki/Industry_Foundation_Classes for more information on the format. We aim at getting as much 3D data out of the files as possible.

Current status

IFC support is new and considered experimental. Please report any bugs you may encounter.

Notes

  • Only the STEP-based encoding is supported. IFCZIP and IFCXML are not (but IFCZIP can simply be unzipped to get a STEP file).
  • The importer leaves vertex coordinates untouched, but applies a global scaling to the root transform to convert from whichever unit the IFC file uses to metres.
  • If multiple geometric representations are provided, the choice which one to load is based on how expensive a representation seems to be in terms of import time. The loader also avoids representation types for which it has known deficits.
  • Not supported are arbitrary binary operations (binary clipping is implemented, though).
  • Of the various relationship types that IFC knows, only aggregation, containment and material assignment are resolved and mapped to the output graph.
  • The implementation knows only about IFC2X3 and applies this rule set to all models it encounters, regardless of their actual version. Loading of older or newer files may fail with parsing errors.

Metadata

IFC file properties (IfcPropertySet) are kept as per-node metadata, see aiNode::mMetaData.

Ogre

ATTENTION*: The Ogre-Loader is currently under development, many things have changed after this documentation was written, but they are not final enough to rewrite the documentation. So things may have changed by now!

This section contains implementations notes for the OgreXML importer.

Overview

Ogre importer is currently optimized for the Blender Ogre exporter, because that's the only one that I use. You can find the Blender Ogre exporter at: http://www.ogre3d.org/forums/viewtopic.php?f=8&t=45922

What will be loaded?

Mesh: Faces, Positions, Normals and all TexCoords. The Materialname will be used to load the material.

Material: The right material in the file will be searched, the importer should work with materials who have 1 technique and 1 pass in this technique. From there, the texturename (for 1 color- and 1 normalmap) and the materialcolors (but not in custom materials) will be loaded. Also, the materialname will be set.

Skeleton: Skeleton with Bone hierarchy (Position and Rotation, but no Scaling in the skeleton is supported), names and transformations, animations with rotation, translation and scaling keys.

How to export Files from Blender

You can find information about how to use the Ogreexporter by your own, so here are just some options that you need, so the assimp importer will load everything correctly:

  • Use either "Rendering Material" or "Custom Material" see Materials
  • do not use "Flip Up Axies to Y"
  • use "Skeleton name follow mesh"

XML Format

There is a binary and a XML mesh Format from Ogre. This loader can only Handle xml files, but don't panic, there is a command line converter, which you can use to create XML files from Binary Files. Just look on the Ogre page for it.

Currently you can only load meshes. So you will need to import the *.mesh.xml file, the loader will try to find the appendant material and skeleton file.

The skeleton file must have the same name as the mesh file, e.g. fish.mesh.xml and fish.skeleton.xml.

Materials

The material file can have the same name as the mesh file (if the file is model.mesh or model.mesh.xml the loader will try to load model.material), or you can use Importer::Importer::SetPropertyString(AI_CONFIG_IMPORT_OGRE_MATERIAL_FILE, "materiafile.material") to specify the name of the material file. This is especially useful if multiply materials a stored in a single file. The importer will first try to load the material with the same name as the mesh and only if this can't be open try to load the alternate material file. The default material filename is "Scene.material".

We suggest that you use custom materials, because they support multiple textures (like colormap and normalmap). First of all you should read the custom material sektion in the Ogre Blender exporter Help File, and than use the assimp.tlp template, which you can find in scripts/OgreImpoter/Assimp.tlp in the assimp source. If you don't set all values, don't worry, they will be ignored during import.

If you want more properties in custom materials, you can easily expand the ogre material loader, it will be just a few lines for each property. Just look in OgreImporterMaterial.cpp

Properties

  • IMPORT_OGRE_TEXTURETYPE_FROM_FILENAME: Normally, a texture is loaded as a colormap, if no target is specified in the materialfile. Is this switch is enabled, texture names ending with _n, _l, _s are used as normalmaps, lightmaps or specularmaps.
    Property type: Bool. Default value: false.
  • IMPORT_OGRE_MATERIAL_FILE: Ogre Meshes contain only the MaterialName, not the MaterialFile. If there is no material file with the same name as the material, Ogre Importer will try to load this file and search the material in it.
    Property type: String. Default value: guessed.

Todo

  • Load colors in custom materials
  • extend custom and normal material loading
  • fix bone hierarchy bug
  • test everything elaboratly
  • check for non existent animation keys (what happens if a one time not all bones have a key?)
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Extending the Library

Extending the Library

Overview

Or - how to write your own loaders. It's easy. You just need to implement the Assimp::BaseImporter class, which defines a few abstract methods, register your loader, test it carefully and provide test models for it.

OK, that sounds too easy :-). The whole procedure for a new loader merely looks like this:

  • Create a header (FormatNameImporter.h) and a unit (FormatNameImporter.cpp) in the <root>/code/ directory
  • Add them to the following workspaces: vc8 and vc9 (the files are in the workspaces directory), CMAKE (code/CMakeLists.txt, create a new source group for your importer and put them also to ADD_LIBRARY( assimp SHARED))
  • Include AssimpPCH.h - this is the PCH file, and it includes already most Assimp-internal stuff.

  • Open Importer.cpp and include your header just below the (include_new_importers_here) line, guarded by a #define

    #if (!defined assimp_BUILD_NO_FormatName_IMPORTER)
    ...
    #endif

    Wrap the same guard around your .cpp!

  • Now advance to the (register_new_importers_here) line in the Importer.cpp and register your importer there - just like all the others do.
  • Setup a suitable test environment (i.e. use AssimpView or your own application), make sure to enable the aiProcess_ValidateDataStructure flag and enable verbose logging. That is, simply call before you import anything:
    DefaultLogger::create("AssimpLog.txt",Logger::VERBOSE)
  • Implement the Assimp::BaseImporter::CanRead(), Assimp::BaseImporter::InternReadFile() and Assimp::BaseImporter::GetExtensionList(). Just copy'n'paste the template from Appendix A and adapt it for your needs.
  • For error handling, throw a dynamic allocated ImportErrorException (see Appendix A) for critical errors, and log errors, warnings, infos and debuginfos with DefaultLogger::get()->[error, warn, debug, info].
  • Make sure that your loader compiles against all build configurations on all supported platforms. You can use our CI-build to check several platforms like Windows and Linux ( 32 bit and 64 bit ).
  • Provide some free test models in <root>/test/models/<FormatName>/ and credit their authors. Test files for a file format shouldn't be too large (~500 KiB in total), and not too repetive. Try to cover all format features with test data.
  • Done! Please, share your loader that everyone can profit from it!

Properties

You can use properties to chance the behavior of you importer. In order to do so, you have to override BaseImporter::SetupProperties, and specify you custom properties in config.h. Just have a look to the other AI_CONFIG_IMPORT_* defines and you will understand, how it works.

The properties can be set with Importer::SetProperty***() and can be accessed in your SetupProperties function with Importer::GetProperty***(). You can store the properties as a member variable of your importer, they are thread safe.

Notes for text importers

  • Try to make your parser as flexible as possible. Don't rely on particular layout, whitespace/tab style, except if the file format has a strict definition, in which case you should always warn about spec violations. But the general rule of thumb is be strict in what you write and tolerant in what you accept.
  • Call Assimp::BaseImporter::ConvertToUTF8() before you parse anything to convert foreign encodings to UTF-8. That's not necessary for XML importers, which must use the provided IrrXML for reading.

Notes for binary importers

  • Take care of endianness issues! Assimp importers mostly support big-endian platforms, which define the AI_BUILD_BIG_ENDIAN constant. See the next section for a list of utilities to simplify this task.
  • Don't trust the input data! Check all offsets!

Utilities

Mixed stuff for internal use by loaders, mostly documented (most of them are already included by AssimpPCH.h):

  • ByteSwapper (ByteSwapper.h) - manual byte swapping stuff for binary loaders.
  • StreamReader (StreamReader.h) - safe, endianess-correct, binary reading.
  • IrrXML (irrXMLWrapper.h) - for XML-parsing (SAX.
  • CommentRemover (RemoveComments.h) - remove single-line and multi-line comments from a text file.
  • fast_atof, strtoul10, strtoul16, SkipSpaceAndLineEnd, SkipToNextToken .. large family of low-level parsing functions, mostly declared in fast_atof.h, StringComparison.h and ParsingUtils.h (a collection that grew historically, so don't expect perfect organization).
  • ComputeNormalsWithSmoothingsGroups() (SmoothingGroups.h) - Computes normal vectors from plain old smoothing groups.
  • SkeletonMeshBuilder (SkeletonMeshBuilder.h) - generate a dummy mesh from a given (animation) skeleton.
  • StandardShapes (StandardShapes.h) - generate meshes for standard solids, such as platonic primitives, cylinders or spheres.
  • BatchLoader (BaseImporter.h) - manage imports from external files. Useful for file formats which spread their data across multiple files.
  • SceneCombiner (SceneCombiner.h) - exhaustive toolset to merge multiple scenes. Useful for file formats which spread their data across multiple files.

Filling materials

The required definitions zo set/remove/query keys in aiMaterial structures are declared in MaterialSystem.h, in a aiMaterial derivate called aiMaterial. The header is included by AssimpPCH.h, so you don't need to bother.

aiMaterial* mat = new aiMaterial();
const float spec = 16.f;
mat->AddProperty(&spec, 1, AI_MATKEY_SHININESS);
//set the name of the material:
NewMaterial->AddProperty(&aiString(MaterialName.c_str()), AI_MATKEY_NAME);//MaterialName is a std::string
//set the first diffuse texture
NewMaterial->AddProperty(&aiString(Texturename.c_str()), AI_MATKEY_TEXTURE(aiTextureType_DIFFUSE, 0));//again, Texturename is a std::string

Appendix A - Template for BaseImporter's abstract methods

// -------------------------------------------------------------------------------
// Returns whether the class can handle the format of the given file.
bool xxxxImporter::CanRead( const std::string& pFile, IOSystem* pIOHandler,
bool checkSig) const
{
const std::string extension = GetExtension(pFile);
if(extension == "xxxx") {
return true;
}
if (!extension.length() || checkSig) {
// no extension given, or we're called a second time because no
// suitable loader was found yet. This means, we're trying to open
// the file and look for and hints to identify the file format.
// #Assimp::BaseImporter provides some utilities:
//
// #Assimp::BaseImporter::SearchFileHeaderForToken - for text files.
// It reads the first lines of the file and does a substring check
// against a given list of 'magic' strings.
//
// #Assimp::BaseImporter::CheckMagicToken - for binary files. It goes
// to a particular offset in the file and and compares the next words
// against a given list of 'magic' tokens.
// These checks MUST be done (even if !checkSig) if the file extension
// is not exclusive to your format. For example, .xml is very common
// and (co)used by many formats.
}
return false;
}
// -------------------------------------------------------------------------------
// Get list of file extensions handled by this loader
void xxxxImporter::GetExtensionList(std::set<std::string>& extensions)
{
extensions.insert("xxx");
}
// -------------------------------------------------------------------------------
void xxxxImporter::InternReadFile( const std::string& pFile,
aiScene* pScene, IOSystem* pIOHandler)
{
std::unique_ptr<IOStream> file( pIOHandler->Open( pFile, "rb"));
// Check whether we can read from the file
if( file.get() == NULL) {
throw DeadlyImportError( "Failed to open xxxx file ", pFile, ".");
}
// Your task: fill pScene
// Throw a ImportErrorException with a meaningful (!) error message if
// something goes wrong.
}
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Animation Overview

Animation Overview

Transformations

This diagram shows how you can calculate your transformationmatrices for an animated character:

Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Deprecated List

Deprecated List
Member aiProcess_ConvertToLeftHanded
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Namespace List

Namespace List
Here is a list of all namespaces with brief descriptions:
[detail level 12]
▼N Assimp | Some C++ utilities for inter- and extrapolation
N Formatter |
N Intern |
N Math |
N Profiling |
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp Namespace Reference

Namespaces | Classes | Typedefs | Functions | Variables
Assimp Namespace Reference

Some C++ utilities for inter- and extrapolation. More...

Namespaces

Formatter
Intern
Math
Profiling

Classes

struct | AttachmentInfo
Helper data structure for SceneCombiner. More...
class | BaseImporter
FOR IMPORTER PLUGINS ONLY: The BaseImporter defines a common interface for all importer worker classes. More...
class | Bitmap
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 | ByteSwap
Defines some useful byte order swap routines. 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 | Exporter
class | ExportProperties
struct | find_node_by_name_predicate
class | Importer
CPP-API: The Importer class forms an C++ interface to the functionality of the Open Asset Import Library. 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 | IOStreamBuffer
Implementation of a cached stream buffer. More...
class | IOSystem
CPP-API: Interface to the file system. More...
class | LineSplitter
Usage: More...
class | LogFunctions
class | Logger
CPP-API: Abstract interface for logger implementations. More...
class | LogStream
CPP-API: Abstract interface for log stream implementations. 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 | NodeAttachmentInfo
struct | NodeConverter
class | NullLogger
CPP-API: Empty logging implementation. More...
class | ProgressHandler
CPP-API: Abstract interface for custom progress report receivers. More...
class | SceneCombiner
Static helper class providing various utilities to merge two scenes. More...
struct | SceneHelper
Utility for SceneCombiner. More...
class | SGSpatialSort
Specialized version of SpatialSort to support smoothing groups This is used in by the 3DS, ASE and LWO loaders. More...
class | SkeletonMeshBuilder
This little helper class constructs a dummy mesh for a given scene the resembles the node hierarchy. More...
class | SmallVector
Small vector with inplace storage. More...
class | SpatialSort
A little helper class to quickly find all vertices in the epsilon environment of a given position. More...
class | StandardShapes
Helper class to generate vertex buffers for standard geometric shapes, such as cylinders, cones, boxes, spheres, elipsoids ... 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 | TXmlParser
class | Vertex
Intermediate description a vertex with all possible components. More...
class | XmlNodeIterator
class | ZipArchiveIOSystem

Typedefs

using | BoneSrcIndex = std::pair< aiBone *, unsigned int >
typedef StreamReader< true, true > | StreamReaderAny
typedef StreamReader< true > | StreamReaderBE
typedef StreamReader< false > | StreamReaderLE
typedef StreamWriter< true, true > | StreamWriterAny
typedef StreamWriter< true > | StreamWriterBE
typedef StreamWriter< false > | StreamWriterLE
using | XmlAttribute = pugi::xml_attribute
using | XmlNode = pugi::xml_node
using | XmlParser = TXmlParser< pugi::xml_node >

Functions

std::string | ai_stdStrToLower (const std::string &str)
ASSIMP_API aiAnimMesh * | aiCreateAnimMesh (const aiMesh *mesh, bool needPositions=true, bool needNormals=true, bool needTangents=true, bool needColors=true, bool needTexCoords=true)
Create aiAnimMesh from aiMesh. More...
AI_FORCE_INLINE 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>
AI_FORCE_INLINE 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...
AI_FORCE_INLINE int | ASSIMP_stricmp (const char *s1, const char *s2)
Helper function to do platform independent string comparison. More...
AI_FORCE_INLINE int | ASSIMP_stricmp (const std::string &a, const std::string &b)
Case independent comparison of two std::strings. More...
AI_FORCE_INLINE int | ASSIMP_strincmp (const char *s1, const char *s2, unsigned int n)
Helper function to do platform independent string comparison. More...
template<typename ExceptionType = DeadlyImportError>
ai_real | fast_atof (const char *c)
template<typename ExceptionType = DeadlyImportError>
ai_real | fast_atof (const char *c, const char **cout)
template<typename ExceptionType = DeadlyImportError>
ai_real | fast_atof (const char **inout)
template<typename Real , typename ExceptionType = DeadlyImportError>
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...
template<class char_t >
AI_FORCE_INLINE bool | GetNextLine (const char_t *&buffer, char_t out[BufferSize])
AI_FORCE_INLINE std::string | GetNextToken (const char *&in)
unsigned int | HexDigitToDecimal (char in)
uint8_t | HexOctetToDecimal (const char *in)
AI_FORCE_INLINE unsigned int | integer_pow (unsigned int base, unsigned int power)
Evaluates an integer power. More...
static AI_FORCE_INLINE bool | isEndOfCache (size_t pos, size_t cacheSize)
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)
AI_FORCE_INLINE Vertex | operator* (const Vertex &v0, ai_real f)
AI_FORCE_INLINE Vertex | operator* (ai_real 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, ai_real f)
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 | SkipLine (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 | SkipSpaces (const char_t **inout)
template<class char_t >
AI_FORCE_INLINE bool | SkipSpacesAndLineEnd (const char_t *in, const char_t **out)
template<class char_t >
AI_FORCE_INLINE bool | SkipSpacesAndLineEnd (const char_t **inout)
AI_FORCE_INLINE void | SkipToken (const char *&in)
int | strtol10 (const char *in, const char **out=0)
template<typename ExceptionType = DeadlyImportError>
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)
template<typename ExceptionType = DeadlyImportError>
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)
template<class string_type >
AI_FORCE_INLINE 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)
std::string | XMLEscape (const std::string &data)

Variables

static const unsigned int | BufferSize = 4096
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]

Detailed Description

Some C++ utilities for inter- and extrapolation.

Assimp's CPP-API and all internal APIs.

Typedef Documentation

◆ BoneSrcIndex

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

◆ StreamReaderAny

typedef StreamReader<true, true> Assimp::StreamReaderAny

◆ StreamReaderBE

typedef StreamReader<true> Assimp::StreamReaderBE

◆ StreamReaderLE

typedef StreamReader<false> Assimp::StreamReaderLE

◆ StreamWriterAny

typedef StreamWriter<true,true> Assimp::StreamWriterAny

◆ StreamWriterBE

typedef StreamWriter<true> Assimp::StreamWriterBE

◆ StreamWriterLE

typedef StreamWriter<false> Assimp::StreamWriterLE

◆ XmlAttribute

using Assimp::XmlAttribute = typedef pugi::xml_attribute

◆ XmlNode

using Assimp::XmlNode = typedef pugi::xml_node

◆ XmlParser

using Assimp::XmlParser = typedef TXmlParser<pugi::xml_node>

Function Documentation

◆ ai_stdStrToLower()

std::string Assimp::ai_stdStrToLower ( const std::string & str )
inline

◆ aiCreateAnimMesh()

ASSIMP_API aiAnimMesh* Assimp::aiCreateAnimMesh | ( | const aiMesh * | mesh,
 |  | bool | needPositions = true,
 |  | bool | needNormals = true,
 |  | bool | needTangents = true,
 |  | bool | needColors = true,
 |  | bool | needTexCoords = true
 | ) |  |

Create aiAnimMesh from aiMesh.

Parameters
mesh | The input mesh to create an animated mesh from.
needPositions | If true, positions will be copied from.
needNormals | If true, normals will be copied from.
needTangents | If true, tangents and bitangents will be copied from.
needColors | If true, colors will be copied from.
needTexCoords | If true, texCoords will be copied from.
Returns
The new created animated mesh.

◆ ASSIMP_itoa10() [1/2]

AI_FORCE_INLINE unsigned int Assimp::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.

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

Parameters
out | Output buffer
max | Maximum number of characters to be written, including '\0'. This parameter may not be 0.
number | Number to be written
Returns
Length of the output string, excluding the '\0'

◆ ASSIMP_itoa10() [2/2]

template<size_t length>
AI_FORCE_INLINE unsigned int Assimp::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.

◆ ASSIMP_stricmp() [1/2]

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

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
s1 | First input string
s2 | Second input string
Returns
0 if the given strings are identical

◆ ASSIMP_stricmp() [2/2]

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

Case independent comparison of two std::strings.

Parameters
a | First string
b | Second string
Returns
0 if a == b

◆ ASSIMP_strincmp()

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

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
s1 | First input string
s2 | Second input string
n | Macimum number of characters to compare
Returns
0 if the given strings are identical

◆ fast_atof() [1/3]

template<typename ExceptionType = DeadlyImportError>
ai_real Assimp::fast_atof ( const char * c )
inline

◆ fast_atof() [2/3]

template<typename ExceptionType = DeadlyImportError>
ai_real Assimp::fast_atof | ( | const char * | c,
 |  | const char ** | cout
 | ) |  |
inline

◆ fast_atof() [3/3]

template<typename ExceptionType = DeadlyImportError>
ai_real Assimp::fast_atof ( const char ** inout )
inline

◆ fast_atoreal_move()

template<typename Real , typename ExceptionType = DeadlyImportError>
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.

◆ GetNextLine()

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

◆ GetNextToken()

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

◆ HexDigitToDecimal()

unsigned int Assimp::HexDigitToDecimal ( char in )
inline

◆ HexOctetToDecimal()

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

◆ integer_pow()

AI_FORCE_INLINE unsigned int Assimp::integer_pow | ( | unsigned int | base,
 |  | unsigned int | power
 | ) |  |

Evaluates an integer power.

todo: move somewhere where it fits better in than here

◆ isEndOfCache()

static AI_FORCE_INLINE bool Assimp::isEndOfCache | ( | size_t | pos,
 |  | size_t | cacheSize
 | ) |  |
static

◆ 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 )

◆ operator*() [1/2]

AI_FORCE_INLINE Vertex Assimp::operator* | ( | const Vertex & | v0,
 |  | ai_real | f
 | ) |  |

◆ operator*() [2/2]

AI_FORCE_INLINE Vertex Assimp::operator* | ( | ai_real | 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,
 |  | ai_real | f
 | ) |  |

◆ SkipLine() [1/2]

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

◆ SkipLine() [2/2]

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

◆ SkipSpaces() [1/2]

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

◆ SkipSpaces() [2/2]

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

◆ SkipSpacesAndLineEnd() [1/2]

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

◆ SkipSpacesAndLineEnd() [2/2]

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

◆ SkipToken()

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

◆ strtol10()

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

◆ strtol10_64()

template<typename ExceptionType = DeadlyImportError>
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()

template<typename ExceptionType = DeadlyImportError>
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

◆ tokenize()

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

Will perform a simple tokenize.

Parameters
str | String to tokenize.
tokens | Array with tokens, will be empty if no token was found.
delimiters | Delimiter 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
in | Input
token | Token to check for
len | Number 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 )

◆ XMLEscape()

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

Variable Documentation

◆ BufferSize

const unsigned int Assimp::BufferSize = 4096
static

◆ ExportProperties

class ASSIMP_API Assimp::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 modeled 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
}
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Assimp::Formatter Namespace Reference

  • Assimp
  • Formatter
Classes | Typedefs
Assimp::Formatter Namespace Reference

Classes

class basic_formatter
stringstream utility. More...

Typedefs

typedef basic_formatter< char > | format
typedef basic_formatter< wchar_t > | wformat

Typedef Documentation

◆ format

typedef basic_formatter< char > Assimp::Formatter::format

◆ wformat

typedef basic_formatter< wchar_t > Assimp::Formatter::wformat
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::Intern Namespace Reference

  • Assimp
  • Intern
Classes
Assimp::Intern Namespace Reference

Classes

struct | ByteSwapper
struct | ByteSwapper< T, false >
struct | divides
struct | Getter
struct | Getter< SwapEndianess, T, false >
struct | minus
struct | multiplies
struct | plus
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::Math Namespace Reference

  • Assimp
  • Math
Functions
Assimp::Math Namespace Reference

Functions

template<typename IntegerType >
IntegerType | gcd (IntegerType a, IntegerType b)
Will return the greatest common divisor. More...
template<class T >
T | getEpsilon ()
Will return the smallest epsilon-value for the requested type. More...
template<typename IntegerType >
IntegerType | lcm (IntegerType a, IntegerType b)
Will return the greatest common divisor. More...
template<class T >
T | PI ()
Will return the constant PI for the requested type. More...

Function Documentation

◆ gcd()

template<typename IntegerType >
IntegerType Assimp::Math::gcd | ( | IntegerType | a,
 |  | IntegerType | b
 | ) |  |
inline

Will return the greatest common divisor.

Parameters
a | [in] Value a.
b | [in] Value b.
Returns
The greatest common divisor.

◆ getEpsilon()

template<class T >
T Assimp::Math::getEpsilon ( )
inline

Will return the smallest epsilon-value for the requested type.

Returns
The numercical limit epsilon depending on its type.

◆ lcm()

template<typename IntegerType >
IntegerType Assimp::Math::lcm | ( | IntegerType | a,
 |  | IntegerType | b
 | ) |  |
inline

Will return the greatest common divisor.

Parameters
a | [in] Value a.
b | [in] Value b.
Returns
The greatest common divisor.

◆ PI()

template<class T >
T Assimp::Math::PI ( )
inline

Will return the constant PI for the requested type.

Returns
Pi
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::Profiling Namespace Reference

  • Assimp
  • Profiling
Classes
Assimp::Profiling Namespace Reference

Classes

class Profiler
Simple wrapper around boost::timer to simplify reporting. More...
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Namespace Members

Here is a list of all namespace members with links to the namespace documentation for each member:

- a -

  • ai_stdStrToLower() : Assimp
  • aiCreateAnimMesh() : Assimp
  • ASSIMP_itoa10() : Assimp
  • ASSIMP_stricmp() : Assimp
  • ASSIMP_strincmp() : Assimp

- b -

  • BoneSrcIndex : Assimp
  • BufferSize : Assimp

- e -

  • ExportProperties : Assimp

- f -

  • fast_atof() : Assimp
  • fast_atof_table : Assimp
  • fast_atoreal_move() : Assimp
  • format : Assimp::Formatter

- g -

  • gcd() : Assimp::Math
  • getEpsilon() : Assimp::Math
  • GetNextLine() : Assimp
  • GetNextToken() : Assimp

- h -

  • HexDigitToDecimal() : Assimp
  • HexOctetToDecimal() : Assimp

- i -

  • integer_pow() : Assimp
  • isEndOfCache() : Assimp
  • IsLineEnd() : Assimp
  • IsLower() : Assimp
  • IsNumeric() : Assimp
  • IsSpace() : Assimp
  • IsSpaceOrNewLine() : Assimp
  • IsUpper() : Assimp

- l -

  • lcm() : Assimp::Math

- o -

  • operator*() : Assimp
  • operator+() : Assimp
  • operator-() : Assimp
  • operator/() : Assimp

- p -

  • PI() : Assimp::Math

- s -

  • SkipLine() : Assimp
  • SkipSpaces() : Assimp
  • SkipSpacesAndLineEnd() : Assimp
  • SkipToken() : Assimp
  • StreamReaderAny : Assimp
  • StreamReaderBE : Assimp
  • StreamReaderLE : Assimp
  • StreamWriterAny : Assimp
  • StreamWriterBE : Assimp
  • StreamWriterLE : Assimp
  • strtol10() : Assimp
  • strtol10_64() : Assimp
  • strtoul10() : Assimp
  • strtoul10_64() : Assimp
  • strtoul16() : Assimp
  • strtoul8() : Assimp
  • strtoul_cppstyle() : Assimp

- t -

  • tokenize() : Assimp
  • TokenMatch() : Assimp
  • TokenMatchI() : Assimp
  • ToLower() : Assimp
  • ToUpper() : Assimp

- w -

  • wformat : Assimp::Formatter

- x -

  • XmlAttribute : Assimp
  • XMLEscape() : Assimp
  • XmlNode : Assimp
  • XmlParser : Assimp
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Namespace Members

- a -

  • ai_stdStrToLower() : Assimp
  • aiCreateAnimMesh() : Assimp
  • ASSIMP_itoa10() : Assimp
  • ASSIMP_stricmp() : Assimp
  • ASSIMP_strincmp() : Assimp

- f -

  • fast_atof() : Assimp
  • fast_atoreal_move() : Assimp

- g -

  • gcd() : Assimp::Math
  • getEpsilon() : Assimp::Math
  • GetNextLine() : Assimp
  • GetNextToken() : Assimp

- h -

  • HexDigitToDecimal() : Assimp
  • HexOctetToDecimal() : Assimp

- i -

  • integer_pow() : Assimp
  • isEndOfCache() : Assimp
  • IsLineEnd() : Assimp
  • IsLower() : Assimp
  • IsNumeric() : Assimp
  • IsSpace() : Assimp
  • IsSpaceOrNewLine() : Assimp
  • IsUpper() : Assimp

- l -

  • lcm() : Assimp::Math

- o -

  • operator*() : Assimp
  • operator+() : Assimp
  • operator-() : Assimp
  • operator/() : Assimp

- p -

  • PI() : Assimp::Math

- s -

  • SkipLine() : Assimp
  • SkipSpaces() : Assimp
  • SkipSpacesAndLineEnd() : Assimp
  • SkipToken() : Assimp
  • strtol10() : Assimp
  • strtol10_64() : Assimp
  • strtoul10() : Assimp
  • strtoul10_64() : Assimp
  • strtoul16() : Assimp
  • strtoul8() : Assimp
  • strtoul_cppstyle() : Assimp

- t -

  • tokenize() : Assimp
  • TokenMatch() : Assimp
  • TokenMatchI() : Assimp
  • ToLower() : Assimp
  • ToUpper() : Assimp

- x -

  • XMLEscape() : Assimp
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Namespace Members

  • BufferSize : Assimp
  • ExportProperties : Assimp
  • fast_atof_table : Assimp
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Namespace Members

  • BoneSrcIndex : Assimp
  • format : Assimp::Formatter
  • StreamReaderAny : Assimp
  • StreamReaderBE : Assimp
  • StreamReaderLE : Assimp
  • StreamWriterAny : Assimp
  • StreamWriterBE : Assimp
  • StreamWriterLE : Assimp
  • wformat : Assimp::Formatter
  • XmlAttribute : Assimp
  • XmlNode : Assimp
  • XmlParser : Assimp
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class List

Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
▼N Assimp | Some C++ utilities for inter- and extrapolation
►N Formatter |
C basic_formatter | Stringstream utility
►N Intern |
C ByteSwapper |
C ByteSwapper< T, false > |
C divides |
C Getter |
C Getter< SwapEndianess, T, false > |
C minus |
C multiplies |
C plus |
►N Profiling |
C Profiler | Simple wrapper around boost::timer to simplify reporting
C AttachmentInfo | Helper data structure for SceneCombiner
C BaseImporter | FOR IMPORTER PLUGINS ONLY: The BaseImporter defines a common interface for all importer worker classes
►C Bitmap |
C DIB |
C Header |
C BlobIOStream | Redirect IOStream to a blob
C BlobIOSystem | Redirect IOSystem to a blob
C BoneWithHash | Helper data structure for SceneCombiner::MergeBones
►C ByteSwap | Defines some useful byte order swap routines
C _swapper< T, 2 > |
C _swapper< T, 4 > |
C _swapper< T, 8 > |
C DefaultIOStream | Default IO implementation, use standard IO operations
C DefaultIOSystem | Default implementation of IOSystem using the standard C file functions
C DefaultLogger | CPP-API: Primary logging facility of Assimp
►C Exporter |
C ExportFormatEntry | Internal description of an Assimp export format option
C ExportProperties |
C find_node_by_name_predicate |
C Importer | CPP-API: The Importer class forms an C++ interface to the functionality of the Open Asset Import Library
C Interpolator | CPP-API: Utility class to simplify interpolations of various data types
C IOStream | CPP-API: Class to handle file I/O for C++
C IOStreamBuffer | Implementation of a cached stream buffer
C IOSystem | CPP-API: Interface to the file system
C LineSplitter | Usage:
C LogFunctions |
C Logger | CPP-API: Abstract interface for logger implementations
C LogStream | CPP-API: Abstract interface for log stream implementations
C MemoryIOStream | Implementation of IOStream to read directly from a memory buffer
C MemoryIOSystem | Dummy IO system to read from a memory buffer
C NodeAttachmentInfo |
C NodeConverter |
C NullLogger | CPP-API: Empty logging implementation
C ProgressHandler | CPP-API: Abstract interface for custom progress report receivers
C SceneCombiner | Static helper class providing various utilities to merge two scenes
C SceneHelper | Utility for SceneCombiner
►C SGSpatialSort | Specialized version of SpatialSort to support smoothing groups This is used in by the 3DS, ASE and LWO loaders
C Entry | An entry in a spatially sorted position array
►C SkeletonMeshBuilder | This little helper class constructs a dummy mesh for a given scene the resembles the node hierarchy
C Face | Faces
C SmallVector | Small vector with inplace storage
►C SpatialSort | A little helper class to quickly find all vertices in the epsilon environment of a given position
C Entry | An entry in a spatially sorted position array
C StandardShapes | Helper class to generate vertex buffers for standard geometric shapes, such as cylinders, cones, boxes, spheres, elipsoids ..
C StreamReader | Wrapper class around IOStream to allow for consistent reading of binary data in both little and big endian format
C StreamWriter | Wrapper class around IOStream to allow for consistent writing of binary data in both little and big endian format
C Subdivider | Helper class to evaluate subdivision surfaces
C TXmlParser |
C Vertex | Intermediate description a vertex with all possible components
C XmlNodeIterator |
C ZipArchiveIOSystem |
C _IEEEDouble | Data structure to represent the bit pattern of a 64 Bit IEEE 754 floating-point number
C _IEEESingle | Data structure to represent the bit pattern of a 32 Bit IEEE 754 floating-point number
C aiAABB |
C aiAnimation | An animation consists of key-frame data for a number of nodes
C aiAnimMesh | An AnimMesh is an attachment to an aiMesh stores per-vertex animations for a particular frame
C aiBone | A single bone of a mesh
C aiCamera | Helper structure to describe a virtual camera
C aiColor3D | Represents a color in Red-Green-Blue space
C aiColor4t | Represents a color in Red-Green-Blue space including an alpha component
C aiExportDataBlob | Describes a blob of exported scene data
C aiExportFormatDesc | Describes an file format which Assimp can export to
C aiFace | A single face in a mesh, referring to multiple vertices
C aiFile | C-API: File callbacks
C aiFileIO | C-API: File system callbacks
C aiImporterDesc | Meta information about a particular importer
C aiLight | Helper structure to describe a light source
C aiLogStream | C-API: Represents a log stream
C aiMaterial | Data structure for a material
C aiMatrix3x3t | Represents a row-major 3x3 matrix
C aiMatrix4x4t | Represents a row-major 4x4 matrix, use this for homogeneous coordinates
C aiMemoryInfo | Stores the memory requirements for different components (e.g
C aiMesh | Enum aiMorphingMethod
C aiMeshAnim | Describes vertex-based animations for a single mesh or a group of meshes
C aiMeshKey | Binds a anim-mesh to a specific point in time
C aiMeshMorphAnim | Describes a morphing animation of a given mesh
C aiMeshMorphKey | Binds a morph anim mesh to a specific point in time
C aiMetadata | Container for holding metadata
C aiMetadataEntry | Metadata entry
C aiNode | A node in the imported hierarchy
C aiNodeAnim | Describes the animation of a single node
C aiPlane | Represents a plane in a three-dimensional, euclidean space
C aiPropertyStore | C-API: Represents an opaque set of settings to be used during importing
C aiQuaterniont | Represents a quaternion in a 4D vector
C aiQuatKey | A time-value pair specifying a rotation for the given time
C aiRay | Represents a ray
C aiScene | The root structure of the imported data
C aiString | Represents an UTF-8 string, zero byte terminated
C aiTexel | Helper structure to represent a texel in a ARGB8888 format
C aiTexture | Helper structure to describe an embedded texture
C aiUVTransform | Defines how an UV channel is transformed
C aiVector2t | Represents a two-dimensional vector
C aiVector3t | Represents a three-dimensional vector
C aiVectorKey | A time-value pair specifying a certain 3D vector for the given time
C aiVertexWeight | A single influence of a bone on a vertex
C DeadlyErrorBase |
C DeadlyExportError |
C DeadlyImportError | FOR IMPORTER PLUGINS ONLY: Simple exception class to be thrown if an unrecoverable error occurs while importing
C ExceptionSwallower |
C ExceptionSwallower< aiReturn > |
C ExceptionSwallower< T * > |
C ExceptionSwallower< void > |
C FaceWithSmoothingGroup | Helper structure representing a face with smoothing groups assigned
C MeshWithSmoothingGroups | Helper structure representing a mesh whose faces have smoothing groups assigned
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > Class Template Reference

  • Assimp
  • Formatter
  • basic_formatter
Public Types | Public Member Functions | List of all members
Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > Class Template Reference

stringstream utility. More...

Public Types

typedef class std::basic_string< T, CharTraits, Allocator > | string
typedef class std::basic_ostringstream< T, CharTraits, Allocator > | stringstream

Public Member Functions

basic_formatter ()
template<typename TT >
basic_formatter (const TT &sin)
basic_formatter (basic_formatter &&other)
basic_formatter (const basic_formatter &other)
operator string () const
template<typename TToken >
const basic_formatter & | operator, (const TToken &s) const
template<typename TToken >
basic_formatter & | operator, (const TToken &s)
template<typename TToken >
basic_formatter & | operator, (TToken &s)
template<typename TToken >
const basic_formatter & | operator<< (const TToken &s) const
template<typename TToken >
basic_formatter & | operator<< (const TToken &s)

Detailed Description

template<typename T, typename CharTraits = std::char_traits<T>, typename Allocator = std::allocator<T>>
class Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >

stringstream utility.

Usage:

void writelog(const std::string&s);
void writelog(const std::wstring&s);
...
writelog(format()<< "hi! this is a number: " << 4);
writelog(wformat()<< L"hi! this is a number: " << 4);

Member Typedef Documentation

◆ string

template<typename T , typename CharTraits = std::char_traits<T>, typename Allocator = std::allocator<T>>
typedef class std::basic_string< T, CharTraits, Allocator > Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >::string

◆ stringstream

template<typename T , typename CharTraits = std::char_traits<T>, typename Allocator = std::allocator<T>>
typedef class std::basic_ostringstream< T, CharTraits, Allocator > Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >::stringstream

Constructor & Destructor Documentation

◆ basic_formatter() [1/4]

template<typename T , typename CharTraits = std::char_traits<T>, typename Allocator = std::allocator<T>>
Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >::basic_formatter ( )
inline

◆ basic_formatter() [2/4]

template<typename T , typename CharTraits = std::char_traits<T>, typename Allocator = std::allocator<T>>
template<typename TT >
Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >::basic_formatter ( const TT & sin )
inline

◆ basic_formatter() [3/4]

template<typename T , typename CharTraits = std::char_traits<T>, typename Allocator = std::allocator<T>>
Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >::basic_formatter ( basic_formatter< T, CharTraits, Allocator > && other )
inline

◆ basic_formatter() [4/4]

template<typename T , typename CharTraits = std::char_traits<T>, typename Allocator = std::allocator<T>>
Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >::basic_formatter ( const basic_formatter< T, CharTraits, Allocator > & other )
inlineexplicit

Member Function Documentation

◆ operator string()

template<typename T , typename CharTraits = std::char_traits<T>, typename Allocator = std::allocator<T>>
Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >::operator string ( ) const
inline

◆ operator,() [1/3]

template<typename T , typename CharTraits = std::char_traits<T>, typename Allocator = std::allocator<T>>
template<typename TToken >
const basic_formatter& Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >::operator, ( const TToken & s ) const
inline

◆ operator,() [2/3]

template<typename T , typename CharTraits = std::char_traits<T>, typename Allocator = std::allocator<T>>
template<typename TToken >
basic_formatter& Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >::operator, ( const TToken & s )
inline

◆ operator,() [3/3]

template<typename T , typename CharTraits = std::char_traits<T>, typename Allocator = std::allocator<T>>
template<typename TToken >
basic_formatter& Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >::operator, ( TToken & s )
inline

◆ operator<<() [1/2]

template<typename T , typename CharTraits = std::char_traits<T>, typename Allocator = std::allocator<T>>
template<typename TToken >
const basic_formatter& Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >::operator<< ( const TToken & s ) const
inline

◆ operator<<() [2/2]

template<typename T , typename CharTraits = std::char_traits<T>, typename Allocator = std::allocator<T>>
template<typename TToken >
basic_formatter& Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >::operator<< ( const TToken & s )
inline
The documentation for this class was generated from the following file:
  • TinyFormatter.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::Intern::ByteSwapper< T, doit > Struct Template Reference

  • Assimp
  • Intern
  • ByteSwapper
Public Member Functions | List of all members
Assimp::Intern::ByteSwapper< T, doit > Struct Template Reference

Public Member Functions

void operator() (T *inout)

Member Function Documentation

◆ operator()()

template<typename T , bool doit>
void Assimp::Intern::ByteSwapper< T, doit >::operator() ( T * inout )
inline
The documentation for this struct was generated from the following file:
  • ByteSwapper.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::Intern::ByteSwapper< T, false > Struct Template Reference

  • Assimp
  • Intern
  • ByteSwapper< T, false >
Public Member Functions | List of all members
Assimp::Intern::ByteSwapper< T, false > Struct Template Reference

Public Member Functions

void operator() (T *)

Member Function Documentation

◆ operator()()

template<typename T >
void Assimp::Intern::ByteSwapper< T, false >::operator() ( T * )
inline
The documentation for this struct was generated from the following file:
  • ByteSwapper.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::Intern::divides< T0, T1, TRES > Struct Template Reference

  • Assimp
  • Intern
  • divides
Public Member Functions | List of all members
Assimp::Intern::divides< T0, T1, TRES > Struct Template Reference

Public Member Functions

TRES operator() (const T0 &t0, const T1 &t1) const

Member Function Documentation

◆ operator()()

template<typename T0 , typename T1 , typename TRES = T0>
TRES Assimp::Intern::divides< T0, T1, TRES >::operator() | ( | const T0 & | t0,
 |  | const T1 & | t1
 | ) |  | const
 inline
The documentation for this struct was generated from the following file:
  • Vertex.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::Intern::Getter< SwapEndianess, T, RuntimeSwitch > Struct Template Reference

  • Assimp
  • Intern
  • Getter
Public Member Functions | List of all members
Assimp::Intern::Getter< SwapEndianess, T, RuntimeSwitch > Struct Template Reference

Public Member Functions

void operator() (T *inout, bool le)

Member Function Documentation

◆ operator()()

template<bool SwapEndianess, typename T , bool RuntimeSwitch>
void Assimp::Intern::Getter< SwapEndianess, T, RuntimeSwitch >::operator() | ( | T * | inout,
 |  | bool | le
 | ) |  |
inline
The documentation for this struct was generated from the following file:
  • ByteSwapper.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::Intern::Getter< SwapEndianess, T, false > Struct Template Reference

  • Assimp
  • Intern
  • Getter< SwapEndianess, T, false >
Public Member Functions | List of all members
Assimp::Intern::Getter< SwapEndianess, T, false > Struct Template Reference

Public Member Functions

void operator() (T *inout, bool)

Member Function Documentation

◆ operator()()

template<bool SwapEndianess, typename T >
void Assimp::Intern::Getter< SwapEndianess, T, false >::operator() | ( | T * | inout,
 |  | bool |
 | ) |  |
inline
The documentation for this struct was generated from the following file:
  • ByteSwapper.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::Intern::minus< T0, T1, TRES > Struct Template Reference

  • Assimp
  • Intern
  • minus
Public Member Functions | List of all members
Assimp::Intern::minus< T0, T1, TRES > Struct Template Reference

Public Member Functions

TRES operator() (const T0 &t0, const T1 &t1) const

Member Function Documentation

◆ operator()()

template<typename T0 , typename T1 , typename TRES = T0>
TRES Assimp::Intern::minus< T0, T1, TRES >::operator() | ( | const T0 & | t0,
 |  | const T1 & | t1
 | ) |  | const
 inline
The documentation for this struct was generated from the following file:
  • Vertex.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::Intern::multiplies< T0, T1, TRES > Struct Template Reference

  • Assimp
  • Intern
  • multiplies
Public Member Functions | List of all members
Assimp::Intern::multiplies< T0, T1, TRES > Struct Template Reference

Public Member Functions

TRES operator() (const T0 &t0, const T1 &t1) const

Member Function Documentation

◆ operator()()

template<typename T0 , typename T1 , typename TRES = T0>
TRES Assimp::Intern::multiplies< T0, T1, TRES >::operator() | ( | const T0 & | t0,
 |  | const T1 & | t1
 | ) |  | const
 inline
The documentation for this struct was generated from the following file:
  • Vertex.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::Intern::plus< T0, T1, TRES > Struct Template Reference

  • Assimp
  • Intern
  • plus
Public Member Functions | List of all members
Assimp::Intern::plus< T0, T1, TRES > Struct Template Reference

Public Member Functions

TRES operator() (const T0 &t0, const T1 &t1) const

Member Function Documentation

◆ operator()()

template<typename T0 , typename T1 , typename TRES = T0>
TRES Assimp::Intern::plus< T0, T1, TRES >::operator() | ( | const T0 & | t0,
 |  | const T1 & | t1
 | ) |  | const
 inline
The documentation for this struct was generated from the following file:
  • Vertex.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::Profiling::Profiler Class Reference

  • Assimp
  • Profiling
  • Profiler
Public Member Functions | List of all members
Assimp::Profiling::Profiler Class Reference

Simple wrapper around boost::timer to simplify reporting. More...

Public Member Functions

void | BeginRegion (const std::string &region)
Start a named timer. More...
void | EndRegion (const std::string &region)
End a specific named timer and write its end time to the log. More...
Profiler ()

Detailed Description

Simple wrapper around boost::timer to simplify reporting.

Timings are automatically dumped to the log file.

Constructor & Destructor Documentation

◆ Profiler()

Assimp::Profiling::Profiler::Profiler ( )
inline

Member Function Documentation

◆ BeginRegion()

void Assimp::Profiling::Profiler::BeginRegion ( const std::string & region )
inline

Start a named timer.

◆ EndRegion()

void Assimp::Profiling::Profiler::EndRegion ( const std::string & region )
inline

End a specific named timer and write its end time to the log.

The documentation for this class was generated from the following file:
  • Profiler.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::AttachmentInfo Struct Reference

  • Assimp
  • AttachmentInfo
Public Member Functions | Public Attributes | List of all members
Assimp::AttachmentInfo Struct Reference

Helper data structure for SceneCombiner. More...

Public Member Functions

AttachmentInfo ()
AttachmentInfo (aiScene *_scene, aiNode *_attachToNode)

Public Attributes

aiNode * attachToNode
aiScene * scene

Detailed Description

Helper data structure for SceneCombiner.

Describes to which node a scene must be attached to.

Constructor & Destructor Documentation

◆ AttachmentInfo() [1/2]

Assimp::AttachmentInfo::AttachmentInfo ( )
inline

◆ AttachmentInfo() [2/2]

Assimp::AttachmentInfo::AttachmentInfo | ( | aiScene * | _scene,
 |  | aiNode * | _attachToNode
 | ) |  |
inline

Member Data Documentation

◆ attachToNode

aiNode* Assimp::AttachmentInfo::attachToNode

◆ scene

aiScene* Assimp::AttachmentInfo::scene
The documentation for this struct was generated from the following file:
  • SceneCombiner.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Assimp::BaseImporter Class Reference

  • Assimp
  • BaseImporter
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
Assimp::BaseImporter Class Referenceabstract

FOR IMPORTER PLUGINS ONLY: The BaseImporter defines a common interface for all importer worker classes. More...

Public Types

enum ImporterUnits {
M, MM, CM, INCHES,
FEET
}
enum TextFileMode { ALLOW_EMPTY, FORBID_EMPTY }
Enum to define, if empty files are ok or not. More...

Public Member Functions

BaseImporter () AI_NO_EXCEPT
Constructor to be privately used by Importer. More...
virtual bool | CanRead (const std::string &pFile, IOSystem *pIOHandler, bool checkSig) const =0
Returns whether the class can handle the format of the given file. More...
virtual const ImporterUnits & | GetApplicationUnits ()
const std::string & | GetErrorText () const
Returns the error description of the last error that occurred. More...
const std::exception_ptr & | GetException () const
Returns the exception of the last exception that occurred. More...
void | GetExtensionList (std::set< std::string > &extensions)
Called by #Importer::GetExtensionList for each loaded importer. More...
virtual double | GetFileScale () const
virtual const aiImporterDesc * | GetInfo () const =0
Called by #Importer::GetImporterInfo to get a description of some loader features. More...
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...

Static Public Member Functions

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...
template<typename T >
static AI_FORCE_INLINE void | CopyVector (std::vector< std::unique_ptr< T > > &vec, T **&out, unsigned int &outLength)
Utility function to move a std::vector of unique_ptrs 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=nullptr, const char *ext2=nullptr)
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...

Public Attributes

std::map< ImporterUnits, double > importerUnits
Assimp Importer unit conversions available NOTE: Valid options are initialised in the constructor in the implementation file to work around a VS2013 compiler bug if support for that compiler is dropped in the future initialisation can be moved back here. More...

Protected Member Functions

virtual void InternReadFile (const std::string &pFile, aiScene *pScene, IOSystem *pIOHandler)=0
Imports the given file into the given scene structure. More...

Protected Attributes

ImporterUnits | applicationUnits = ImporterUnits::M
double | fileScale = 1.0
double | importerScale = 1.0
std::string | m_ErrorText
Error description in case there was one. More...
std::exception_ptr | m_Exception
The exception, in case there was one. More...
ProgressHandler * m_progress
Currently set progress handler. More...

Friends

class Importer

Detailed Description

FOR IMPORTER PLUGINS ONLY: The BaseImporter defines a common interface for all importer worker classes.

The interface defines two functions: CanRead() is used to check if the importer can handle the format of the given file. If an implementation of this function returns true, the importer then calls ReadFile() which imports the given file. ReadFile is not overridable, it just calls InternReadFile() and catches any ImportErrorException that might occur.

Member Enumeration Documentation

◆ ImporterUnits

enum Assimp::BaseImporter::ImporterUnits
Enumerator
M
MM
CM
INCHES
FEET

◆ TextFileMode

enum Assimp::BaseImporter::TextFileMode

Enum to define, if empty files are ok or not.

Enumerator
ALLOW_EMPTY
FORBID_EMPTY

Constructor & Destructor Documentation

◆ BaseImporter()

Assimp::BaseImporter::BaseImporter ( )

Constructor to be privately used by Importer.

◆ ~BaseImporter()

virtual Assimp::BaseImporter::~BaseImporter ( )
virtual

Destructor, private as well.

Member Function Documentation

◆ CanRead()

virtual bool Assimp::BaseImporter::CanRead | ( | const std::string & | pFile,
 |  | IOSystem * | pIOHandler,
 |  | bool | checkSig
 | ) |  | const
 pure virtual

Returns whether the class can handle the format of the given file.

The implementation should be as quick as possible. A check for the file extension is enough. If no suitable loader is found with this strategy, CanRead() is called again, the 'checkSig' parameter set to true this time. Now the implementation is expected to perform a full check of the file structure, possibly searching the first bytes of the file for magic identifiers or keywords.

Parameters
pFile | Path and file name of the file to be examined.
pIOHandler | The IO handler to use for accessing any file.
checkSig | Set to true if this method is called a second time. This time, the implementation may take more time to examine the contents of the file to be loaded for magic bytes, keywords, etc to be able to load files with unknown/not existent file extensions.
Returns
true if the class can read this file, false if not.

◆ CheckMagicToken()

static bool Assimp::BaseImporter::CheckMagicToken | ( | IOSystem * | pIOHandler,
 |  | const std::string & | pFile,
 |  | const void * | magic,
 |  | unsigned int | num,
 |  | unsigned int | offset = 0,
 |  | unsigned int | size = 4
 | ) |  |
static

Check whether a file starts with one or more magic tokens.

Parameters
pFile | Input file
pIOHandler | IO system to be used
magic | n magic tokens num Size of magic
offset | Offset from file start where tokens are located
Size | of one token, in bytes. Maximally 16 bytes.
Returns
true if one of the given tokens was found
Note
For convenience, the check is also performed for the byte-swapped variant of all tokens (big endian). Only for tokens of size 2,4.

◆ ConvertToUTF8()

static void Assimp::BaseImporter::ConvertToUTF8 ( std::vector< char > & data )
static

An utility for all text file loaders.

It converts a file to our UTF8 character set. Errors are reported, but ignored.

Parameters
data File buffer to be converted to UTF8 data. The buffer is resized as appropriate.

◆ ConvertUTF8toISO8859_1()

static void Assimp::BaseImporter::ConvertUTF8toISO8859_1 ( std::string & data )
static

An utility for all text file loaders.

It converts a file from our UTF8 character set back to ISO-8859-1. Errors are reported, but ignored.

Parameters
data File buffer to be converted from UTF8 to ISO-8859-1. The buffer is resized as appropriate.

◆ CopyVector() [1/2]

template<typename T >
static AI_FORCE_INLINE void Assimp::BaseImporter::CopyVector | ( | std::vector< T > & | vec,
 |  | T *& | out,
 |  | unsigned int & | outLength
 | ) |  |
inlinestatic

Utility function to move a std::vector into a aiScene array.

Parameters
vec | The vector to be moved
out | The output pointer to the allocated array.
numOut | The output count of elements copied.

◆ CopyVector() [2/2]

template<typename T >
static AI_FORCE_INLINE void Assimp::BaseImporter::CopyVector | ( | std::vector< std::unique_ptr< T > > & | vec,
 |  | T **& | out,
 |  | unsigned int & | outLength
 | ) |  |
inlinestatic

Utility function to move a std::vector of unique_ptrs into a aiScene array.

Parameters
vec | The vector of unique_ptrs to be moved
out | The output pointer to the allocated array.
numOut | The output count of elements copied.

◆ GetApplicationUnits()

virtual const ImporterUnits& Assimp::BaseImporter::GetApplicationUnits ( )
inlinevirtual

◆ GetErrorText()

const std::string& Assimp::BaseImporter::GetErrorText ( ) const
inline

Returns the error description of the last error that occurred.

If the error is due to a std::exception, this will return the message. Exceptions can also be accessed with GetException().

Returns
A description of the last error that occurred. An empty string if there was no error.

◆ GetException()

const std::exception_ptr& Assimp::BaseImporter::GetException ( ) const
inline

Returns the exception of the last exception that occurred.

Note: Exceptions are not the only source of error details, so GetErrorText should be consulted too.

Returns
The last exception that occurred.

◆ GetExtension()

static std::string Assimp::BaseImporter::GetExtension ( const std::string & pFile )
static

Extract file extension from a string.

Parameters
pFile Input file
Returns
Extension without trailing dot, all lowercase

◆ GetExtensionList()

void Assimp::BaseImporter::GetExtensionList ( std::set< std::string > & extensions )

Called by #Importer::GetExtensionList for each loaded importer.

Take the extension list contained in the structure returned by GetInfo and insert all file extensions into the given set.

Parameters
extension set to collect file extensions in

◆ GetFileScale()

virtual double Assimp::BaseImporter::GetFileScale ( ) const
inlinevirtual

◆ GetInfo()

virtual const aiImporterDesc* Assimp::BaseImporter::GetInfo ( ) const
pure virtual

Called by #Importer::GetImporterInfo to get a description of some loader features.

Importers must provide this information.

◆ InternReadFile()

virtual void Assimp::BaseImporter::InternReadFile | ( | const std::string & | pFile,
 |  | aiScene * | pScene,
 |  | IOSystem * | pIOHandler
 | ) |  |
protectedpure virtual

Imports the given file into the given scene structure.

The function is expected to throw an ImportErrorException if there is an error. If it terminates normally, the data in aiScene is expected to be correct. Override this function to implement the actual importing.
The output scene must meet the following requirements:

  • At least a root node must be there, even if its only purpose is to reference one mesh.
  • aiMesh::mPrimitiveTypes may be 0. The types of primitives in the mesh are determined automatically in this case.
  • the vertex data is stored in a pseudo-indexed "verbose" format. In fact this means that every vertex that is referenced by a face is unique. Or the other way round: a vertex index may not occur twice in a single aiMesh.
  • aiAnimation::mDuration may be -1. Assimp determines the length of the animation automatically in this case as the length of the longest animation channel.
  • aiMesh::mBitangents may be nullptr if tangents and normals are given. In this case bitangents are computed as the cross product between normal and tangent.
  • There needn't be a material. If none is there a default material is generated. However, it is recommended practice for loaders to generate a default material for yourself that matches the default material setting for the file format better than Assimp's generic default material. Note that default materials should be named AI_DEFAULT_MATERIAL_NAME if they're just color-shaded or AI_DEFAULT_TEXTURED_MATERIAL_NAME if they define a (dummy) texture.

If the AI_SCENE_FLAGS_INCOMPLETE-Flag is not set:

  • at least one mesh must be there
  • there may be no meshes with 0 vertices or faces

This won't be checked (except by the validation step): Assimp will crash if one of the conditions is not met!

Parameters
pFile | Path of the file to be imported.
pScene | The scene object to hold the imported data. nullptr is not a valid parameter.
pIOHandler | The IO handler to use for any file access. nullptr is not a valid parameter.

◆ ReadFile()

aiScene* Assimp::BaseImporter::ReadFile | ( | Importer * | pImp,
 |  | const std::string & | pFile,
 |  | IOSystem * | pIOHandler
 | ) |  |

Imports the given file and returns the imported data.

If the import succeeds, ownership of the data is transferred to the caller. If the import fails, nullptr is returned. The function takes care that any partially constructed data is destroyed beforehand.

Parameters
pImp | Importer object hosting this loader.
pFile | Path of the file to be imported.
pIOHandler | IO-Handler used to open this and possible other files.
Returns
The imported data or nullptr if failed. If it failed a human-readable error description can be retrieved by calling GetErrorText()
Note
This function is not intended to be overridden. Implement InternReadFile() to do the import. If an exception is thrown somewhere in InternReadFile(), this function will catch it and transform it into a suitable response to the caller.

◆ SearchFileHeaderForToken()

static bool Assimp::BaseImporter::SearchFileHeaderForToken | ( | IOSystem * | pIOSystem,
 |  | const std::string & | file,
 |  | const char ** | tokens,
 |  | unsigned int | numTokens,
 |  | unsigned int | searchBytes = 200,
 |  | bool | tokensSol = false,
 |  | bool | noAlphaBeforeTokens = false
 | ) |  |
static

A utility for CanRead().

The function searches the header of a file for a specific token and returns true if this token is found. This works for text files only. There is a rudimentary handling of UNICODE files. The comparison is case independent.

Parameters
pIOSystem | IO System to work with
file | File name of the file
tokens | List of tokens to search for
numTokens | Size of the token array
searchBytes | Number of bytes to be searched for the tokens.

◆ SetApplicationUnits()

virtual void Assimp::BaseImporter::SetApplicationUnits ( const ImporterUnits & unit )
inlinevirtual

◆ SetFileScale()

virtual void Assimp::BaseImporter::SetFileScale ( double scale )
inlinevirtual

Will be called only by scale process when scaling is requested.

◆ SetupProperties()

virtual void Assimp::BaseImporter::SetupProperties ( const Importer * pImp )
virtual

Called prior to ReadFile().

The function is a request to the importer to update its configuration basing on the Importer's configuration property list.

Parameters
pImp Importer instance

◆ SimpleExtensionCheck()

static bool Assimp::BaseImporter::SimpleExtensionCheck | ( | const std::string & | pFile,
 |  | const char * | ext0,
 |  | const char * | ext1 = nullptr,
 |  | const char * | ext2 = nullptr
 | ) |  |
static

Check whether a file has a specific file extension.

Parameters
pFile | Input file
ext0 | Extension to check for. Lowercase characters only, no dot!
ext1 | Optional second extension
ext2 | Optional third extension
Note
Case-insensitive

◆ TextFileToBuffer()

static void Assimp::BaseImporter::TextFileToBuffer | ( | IOStream * | stream,
 |  | std::vector< char > & | data,
 |  | TextFileMode | mode = FORBID_EMPTY
 | ) |  |
static

Utility for text file loaders which copies the contents of the file into a memory buffer and converts it to our UTF8 representation.

Parameters
stream | Stream to read from.
data | Output buffer to be resized and filled with the converted text file data. The buffer is terminated with a binary 0.
mode | Whether it is OK to load empty text files.

Friends And Related Function Documentation

◆ Importer

friend class Importer
friend

Member Data Documentation

◆ applicationUnits

ImporterUnits Assimp::BaseImporter::applicationUnits = ImporterUnits::M
protected

◆ fileScale

double Assimp::BaseImporter::fileScale = 1.0
protected

◆ importerScale

double Assimp::BaseImporter::importerScale = 1.0
protected

◆ importerUnits

std::map<ImporterUnits, double> Assimp::BaseImporter::importerUnits

Assimp Importer unit conversions available NOTE: Valid options are initialised in the constructor in the implementation file to work around a VS2013 compiler bug if support for that compiler is dropped in the future initialisation can be moved back here.

◆ m_ErrorText

std::string Assimp::BaseImporter::m_ErrorText
protected

Error description in case there was one.

◆ m_Exception

std::exception_ptr Assimp::BaseImporter::m_Exception
protected

The exception, in case there was one.

◆ m_progress

ProgressHandler* Assimp::BaseImporter::m_progress
protected

Currently set progress handler.

The documentation for this class was generated from the following file:
  • BaseImporter.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Assimp::Bitmap Class Reference

  • Assimp
  • Bitmap
Classes | Static Public Member Functions | Static Protected Member Functions | Static Protected Attributes | List of all members
Assimp::Bitmap Class Reference

Classes

struct | DIB
struct | Header

Static Public Member Functions

static void Save (aiTexture *texture, IOStream *file)

Static Protected Member Functions

static void | WriteData (aiTexture *texture, IOStream *file)
static void | WriteDIB (DIB &dib, IOStream *file)
static void | WriteHeader (Header &header, IOStream *file)

Static Protected Attributes

static const std::size_t mBytesPerPixel = 4

Member Function Documentation

◆ Save()

static void Assimp::Bitmap::Save | ( | aiTexture * | texture,
 |  | IOStream * | file
 | ) |  |
static

◆ WriteData()

static void Assimp::Bitmap::WriteData | ( | aiTexture * | texture,
 |  | IOStream * | file
 | ) |  |
staticprotected

◆ WriteDIB()

static void Assimp::Bitmap::WriteDIB | ( | DIB & | dib,
 |  | IOStream * | file
 | ) |  |
staticprotected

◆ WriteHeader()

static void Assimp::Bitmap::WriteHeader | ( | Header & | header,
 |  | IOStream * | file
 | ) |  |
staticprotected

Member Data Documentation

◆ mBytesPerPixel

const std::size_t Assimp::Bitmap::mBytesPerPixel = 4
staticprotected
The documentation for this class was generated from the following file:
  • Bitmap.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Assimp::Bitmap::DIB Struct Reference

  • Assimp
  • Bitmap
  • DIB
Public Attributes | Static Public Attributes | List of all members
Assimp::Bitmap::DIB Struct Reference

Public Attributes

uint16_t | bits_per_pixel
uint32_t | compression
int32_t | height
uint32_t | image_size
uint32_t | nb_colors
uint32_t | nb_important_colors
uint16_t | planes
uint32_t | size
int32_t | width
int32_t | x_resolution
int32_t | y_resolution

Static Public Attributes

static const std::size_t dib_size

Member Data Documentation

◆ bits_per_pixel

uint16_t Assimp::Bitmap::DIB::bits_per_pixel

◆ compression

uint32_t Assimp::Bitmap::DIB::compression

◆ dib_size

const std::size_t Assimp::Bitmap::DIB::dib_size
static
Initial value:
=
sizeof(uint32_t) +
sizeof(int32_t) +
sizeof(int32_t) +
sizeof(uint16_t) +
sizeof(uint16_t) +
sizeof(uint32_t) +
sizeof(uint32_t) +
sizeof(int32_t) +
sizeof(int32_t) +
sizeof(uint32_t) +
sizeof(uint32_t)

◆ height

int32_t Assimp::Bitmap::DIB::height

◆ image_size

uint32_t Assimp::Bitmap::DIB::image_size

◆ nb_colors

uint32_t Assimp::Bitmap::DIB::nb_colors

◆ nb_important_colors

uint32_t Assimp::Bitmap::DIB::nb_important_colors

◆ planes

uint16_t Assimp::Bitmap::DIB::planes

◆ size

uint32_t Assimp::Bitmap::DIB::size

◆ width

int32_t Assimp::Bitmap::DIB::width

◆ x_resolution

int32_t Assimp::Bitmap::DIB::x_resolution

◆ y_resolution

int32_t Assimp::Bitmap::DIB::y_resolution
The documentation for this struct was generated from the following file:
  • Bitmap.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Assimp::Bitmap::Header Struct Reference

  • Assimp
  • Bitmap
  • Header
Public Attributes | Static Public Attributes | List of all members
Assimp::Bitmap::Header Struct Reference

Public Attributes

uint32_t | offset
uint16_t | reserved1
uint16_t | reserved2
uint32_t | size
uint16_t | type

Static Public Attributes

static const std::size_t header_size

Member Data Documentation

◆ header_size

const std::size_t Assimp::Bitmap::Header::header_size
static
Initial value:
=
sizeof(uint16_t) +
sizeof(uint32_t) +
sizeof(uint16_t) +
sizeof(uint16_t) +
sizeof(uint32_t)

◆ offset

uint32_t Assimp::Bitmap::Header::offset

◆ reserved1

uint16_t Assimp::Bitmap::Header::reserved1

◆ reserved2

uint16_t Assimp::Bitmap::Header::reserved2

◆ size

uint32_t Assimp::Bitmap::Header::size

◆ type

uint16_t Assimp::Bitmap::Header::type
The documentation for this struct was generated from the following file:
  • Bitmap.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Assimp::BlobIOStream Class Reference

  • Assimp
  • BlobIOStream
Public Member Functions | List of all members
Assimp::BlobIOStream Class Reference

Redirect IOStream to a blob. More...

Inherits Assimp::IOStream.

Public Member Functions

BlobIOStream (BlobIOSystem *creator, const std::string &file, size_t initial=4096)
virtual size_t | FileSize () const
Returns filesize Returns the filesize. More...
virtual void | Flush ()
Flush the contents of the file buffer (for writers) See fflush() for more details. More...
aiExportDataBlob * GetBlob ()
virtual size_t | Read (void *, size_t, size_t)
Read from the file. More...
virtual aiReturn | Seek (size_t pOffset, aiOrigin pOrigin)
Set the read/write cursor of the file. More...
virtual size_t | Tell () const
Get the current position of the read/write cursor. More...
virtual size_t | Write (const void *pvBuffer, size_t pSize, size_t pCount)
Write to the file. More...
virtual | ~BlobIOStream ()
- Public Member Functions inherited from Assimp::IOStream
virtual | ~IOStream ()
Destructor. More...

Additional Inherited Members

- Protected Member Functions inherited from Assimp::IOStream
IOStream () AI_NO_EXCEPT
Constructor protected, use IOSystem::Open() to create an instance. More...

Detailed Description

Redirect IOStream to a blob.

Constructor & Destructor Documentation

◆ BlobIOStream()

Assimp::BlobIOStream::BlobIOStream | ( | BlobIOSystem * | creator,
 |  | const std::string & | file,
 |  | size_t | initial = 4096
 | ) |  |
inline

◆ ~BlobIOStream()

Assimp::BlobIOStream::~BlobIOStream ( )
virtual

Member Function Documentation

◆ FileSize()

virtual size_t Assimp::BlobIOStream::FileSize ( ) const
inlinevirtual

Returns filesize Returns the filesize.

Implements Assimp::IOStream.

◆ Flush()

virtual void Assimp::BlobIOStream::Flush ( )
inlinevirtual

Flush the contents of the file buffer (for writers) See fflush() for more details.

Implements Assimp::IOStream.

◆ GetBlob()

aiExportDataBlob* Assimp::BlobIOStream::GetBlob ( )
inline

◆ Read()

virtual size_t Assimp::BlobIOStream::Read | ( | void * | pvBuffer,
 |  | size_t | pSize,
 |  | size_t | pCount
 | ) |  |
inlinevirtual

Read from the file.

See fread() for more details This fails for write-only files

Implements Assimp::IOStream.

◆ Seek()

virtual aiReturn Assimp::BlobIOStream::Seek | ( | size_t | pOffset,
 |  | aiOrigin | pOrigin
 | ) |  |
inlinevirtual

Set the read/write cursor of the file.

Note that the offset is negative for aiOrigin_END. See fseek() for more details

Implements Assimp::IOStream.

◆ Tell()

virtual size_t Assimp::BlobIOStream::Tell ( ) const
inlinevirtual

Get the current position of the read/write cursor.

See ftell() for more details

Implements Assimp::IOStream.

◆ Write()

virtual size_t Assimp::BlobIOStream::Write | ( | const void * | pvBuffer,
 |  | size_t | pSize,
 |  | size_t | pCount
 | ) |  |
inlinevirtual

Write to the file.

See fwrite() for more details This fails for read-only files

Implements Assimp::IOStream.

The documentation for this class was generated from the following file:
  • BlobIOSystem.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Assimp::BlobIOSystem Class Reference

  • Assimp
  • BlobIOSystem
Public Member Functions | Friends | List of all members
Assimp::BlobIOSystem Class Reference

Redirect IOSystem to a blob. More...

Inherits Assimp::IOSystem.

Public Member Functions

BlobIOSystem ()
virtual void | Close (IOStream *pFile)
Closes the given file and releases all resources associated with it. More...
virtual bool | Exists (const char *pFile) const
Tests for the existence of a file at the given path. More...
aiExportDataBlob * GetBlobChain ()
const char * | GetMagicFileName () const
virtual char | getOsSeparator () const
Returns the system specific directory separator. More...
virtual IOStream * | Open (const char *pFile, const char *pMode)
Open a new file with a given path. More...
virtual | ~BlobIOSystem ()
- Public Member Functions inherited from Assimp::IOSystem
virtual bool | ChangeDirectory (const std::string &path)
Will change the current directory to the given path. More...
virtual bool | ComparePaths (const char *one, const char *second) const
Compares two paths and check whether the point to identical files. More...
bool | ComparePaths (const std::string &one, const std::string &second) const
For backward compatibility. More...
virtual bool | CreateDirectory (const std::string &path)
CReates an new directory at the given path. More...
virtual const std::string & | CurrentDirectory () const
Returns the top directory from the stack. More...
virtual bool | DeleteFile (const std::string &file)
AI_FORCE_INLINE bool | Exists (const std::string &pFile) const
For backward compatibility. More...
IOSystem () AI_NO_EXCEPT
Default constructor. More...
IOStream * | Open (const std::string &pFile, const std::string &pMode=std::string("rb"))
For backward compatibility. More...
virtual bool | PopDirectory ()
Pops the top directory from the stack. More...
virtual bool | PushDirectory (const std::string &path)
Pushes a new directory onto the directory stack. More...
virtual size_t | StackSize () const
Returns the number of directories stored on the stack. More...
virtual | ~IOSystem ()
Virtual destructor. More...

Friends

class BlobIOStream

Detailed Description

Redirect IOSystem to a blob.

Constructor & Destructor Documentation

◆ BlobIOSystem()

Assimp::BlobIOSystem::BlobIOSystem ( )
inline

◆ ~BlobIOSystem()

virtual Assimp::BlobIOSystem::~BlobIOSystem ( )
inlinevirtual

Member Function Documentation

◆ Close()

virtual void Assimp::BlobIOSystem::Close ( IOStream * pFile )
inlinevirtual

Closes the given file and releases all resources associated with it.

Parameters
pFile The file instance previously created by Open().

Implements Assimp::IOSystem.

◆ Exists()

virtual bool Assimp::BlobIOSystem::Exists ( const char * pFile ) const
inlinevirtual

Tests for the existence of a file at the given path.

Parameters
pFile Path to the file
Returns
true if there is a file with this path, else false.

Implements Assimp::IOSystem.

◆ GetBlobChain()

aiExportDataBlob* Assimp::BlobIOSystem::GetBlobChain ( )
inline

◆ GetMagicFileName()

const char* Assimp::BlobIOSystem::GetMagicFileName ( ) const
inline

◆ getOsSeparator()

virtual char Assimp::BlobIOSystem::getOsSeparator ( ) const
inlinevirtual

Returns the system specific directory separator.

Returns
System specific directory separator

Implements Assimp::IOSystem.

◆ Open()

virtual IOStream* Assimp::BlobIOSystem::Open | ( | const char * | pFile,
 |  | const char * | pMode
 | ) |  |
inlinevirtual

Open a new file with a given path.

When the access to the file is finished, call Close() to release all associated resources (or the virtual dtor of the IOStream).

Parameters
pFile | Path to the file
pMode | Desired file I/O mode. Required are: "wb", "w", "wt", "rb", "r", "rt".
Returns
New IOStream interface allowing the lib to access the underlying file.
Note
When implementing this class to provide custom IO handling, you probably have to supply an own implementation of IOStream as well.

Implements Assimp::IOSystem.

Friends And Related Function Documentation

◆ BlobIOStream

friend class BlobIOStream
friend
The documentation for this class was generated from the following file:
  • BlobIOSystem.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Assimp::BoneWithHash Struct Reference

  • Assimp
  • BoneWithHash
Public Attributes | List of all members
Assimp::BoneWithHash Struct Reference

Helper data structure for SceneCombiner::MergeBones. More...

Inherits pair< uint32_t, aiString *>.

Public Attributes

std::vector< BoneSrcIndex > pSrcBones

Detailed Description

Helper data structure for SceneCombiner::MergeBones.

Member Data Documentation

◆ pSrcBones

std::vector<BoneSrcIndex> Assimp::BoneWithHash::pSrcBones
The documentation for this struct was generated from the following file:
  • SceneCombiner.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Assimp::ByteSwap Class Reference

  • Assimp
  • ByteSwap
Classes | Static Public Member Functions | List of all members
Assimp::ByteSwap Class Reference

Defines some useful byte order swap routines. More...

Classes

struct | _swapper< T, 2 >
struct | _swapper< T, 4 >
struct | _swapper< T, 8 >

Static Public Member Functions

static void | Swap (float *fOut)
ByteSwap a float. More...
static void | Swap (double *fOut)
ByteSwap a double. More...
static void | Swap (int16_t *fOut)
ByteSwap an int16t. More...
static void | Swap (uint16_t *fOut)
static void | Swap (int32_t *fOut)
ByteSwap an int32t. More...
static void | Swap (uint32_t *fOut)
static void | Swap (int64_t *fOut)
ByteSwap an int64t. More...
static void | Swap (uint64_t *fOut)
static void | Swap2 (void *_szOut)
Swap two bytes of data. More...
static void | Swap4 (void *_szOut)
Swap four bytes of data. More...
static void | Swap8 (void *_szOut)
Swap eight bytes of data. More...
template<typename Type >
static Type | Swapped (Type tOut)
Templatized ByteSwap. More...

Detailed Description

Defines some useful byte order swap routines.

This is required to read big-endian model formats on little-endian machines, and vice versa. Direct use of this class is DEPRECATED. Use #StreamReader instead.

Member Function Documentation

◆ Swap() [1/8]

static void Assimp::ByteSwap::Swap ( float * fOut )
inlinestatic

ByteSwap a float.

Not a joke.

Parameters
[in,out] fOut ehm. ..

◆ Swap() [2/8]

static void Assimp::ByteSwap::Swap ( double * fOut )
inlinestatic

ByteSwap a double.

Not a joke.

Parameters
[in,out] fOut ehm. ..

◆ Swap() [3/8]

static void Assimp::ByteSwap::Swap ( int16_t * fOut )
inlinestatic

ByteSwap an int16t.

Not a joke.

Parameters
[in,out] fOut ehm. ..

◆ Swap() [4/8]

static void Assimp::ByteSwap::Swap ( uint16_t * fOut )
inlinestatic

◆ Swap() [5/8]

static void Assimp::ByteSwap::Swap ( int32_t * fOut )
inlinestatic

ByteSwap an int32t.

Not a joke.

Parameters
[in,out] fOut ehm. ..

◆ Swap() [6/8]

static void Assimp::ByteSwap::Swap ( uint32_t * fOut )
inlinestatic

◆ Swap() [7/8]

static void Assimp::ByteSwap::Swap ( int64_t * fOut )
inlinestatic

ByteSwap an int64t.

Not a joke.

Parameters
[in,out] fOut ehm. ..

◆ Swap() [8/8]

static void Assimp::ByteSwap::Swap ( uint64_t * fOut )
inlinestatic

◆ Swap2()

static void Assimp::ByteSwap::Swap2 ( void * _szOut )
inlinestatic

Swap two bytes of data.

Parameters
[in,out] _szOut A void* to save the reintcasts for the caller.

◆ Swap4()

static void Assimp::ByteSwap::Swap4 ( void * _szOut )
inlinestatic

Swap four bytes of data.

Parameters
[in,out] _szOut A void* to save the reintcasts for the caller.

◆ Swap8()

static void Assimp::ByteSwap::Swap8 ( void * _szOut )
inlinestatic

Swap eight bytes of data.

Parameters
[in,out] _szOut A void* to save the reintcasts for the caller.

◆ Swapped()

template<typename Type >
static Type Assimp::ByteSwap::Swapped ( Type tOut )
inlinestatic

Templatized ByteSwap.

Returns
param tOut as swapped
The documentation for this class was generated from the following file:
  • ByteSwapper.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Assimp::ByteSwap::_swapper< T, 2 > Struct Template Reference

  • Assimp
  • ByteSwap
  • _swapper< T, 2 >
Public Member Functions | List of all members
Assimp::ByteSwap::_swapper< T, 2 > Struct Template Reference

Public Member Functions

T operator() (T tOut)

Member Function Documentation

◆ operator()()

template<typename T >
T Assimp::ByteSwap::_swapper< T, 2 >::operator() ( T tOut )
inline
The documentation for this struct was generated from the following file:
  • ByteSwapper.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Assimp::ByteSwap::_swapper< T, 4 > Struct Template Reference

  • Assimp
  • ByteSwap
  • _swapper< T, 4 >
Public Member Functions | List of all members
Assimp::ByteSwap::_swapper< T, 4 > Struct Template Reference

Public Member Functions

T operator() (T tOut)

Member Function Documentation

◆ operator()()

template<typename T >
T Assimp::ByteSwap::_swapper< T, 4 >::operator() ( T tOut )
inline
The documentation for this struct was generated from the following file:
  • ByteSwapper.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Assimp::ByteSwap::_swapper< T, 8 > Struct Template Reference

  • Assimp
  • ByteSwap
  • _swapper< T, 8 >
Public Member Functions | List of all members
Assimp::ByteSwap::_swapper< T, 8 > Struct Template Reference

Public Member Functions

T operator() (T tOut)

Member Function Documentation

◆ operator()()

template<typename T >
T Assimp::ByteSwap::_swapper< T, 8 >::operator() ( T tOut )
inline
The documentation for this struct was generated from the following file:
  • ByteSwapper.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Assimp::DefaultIOStream Class Reference

  • Assimp
  • DefaultIOStream
Public Member Functions | Protected Member Functions | Friends | List of all members
Assimp::DefaultIOStream Class Reference

Default IO implementation, use standard IO operations. More...

Inherits Assimp::IOStream.

Public Member Functions

size_t | FileSize () const
Get size of file. More...
void | Flush ()
Flush file contents. More...
size_t | Read (void *pvBuffer, size_t pSize, size_t pCount)
Read from stream. More...
aiReturn | Seek (size_t pOffset, aiOrigin pOrigin)
Seek specific position. More...
size_t | Tell () const
Get current seek position. More...
size_t | Write (const void *pvBuffer, size_t pSize, size_t pCount)
Write to stream. More...
~DefaultIOStream ()
Destructor public to allow simple deletion to close the file. More...
- Public Member Functions inherited from Assimp::IOStream
virtual | ~IOStream ()
Destructor. More...

Protected Member Functions

DefaultIOStream () AI_NO_EXCEPT
DefaultIOStream (FILE *pFile, const std::string &strFilename)
- Protected Member Functions inherited from Assimp::IOStream
IOStream () AI_NO_EXCEPT
Constructor protected, use IOSystem::Open() to create an instance. More...

Friends

class DefaultIOSystem

Detailed Description

Default IO implementation, use standard IO operations.

Note
An instance of this class can exist without a valid file handle attached to it. All calls fail, but the instance can nevertheless be used with no restrictions.

Constructor & Destructor Documentation

◆ DefaultIOStream() [1/2]

AI_FORCE_INLINE Assimp::DefaultIOStream::DefaultIOStream ( )
protected

◆ DefaultIOStream() [2/2]

AI_FORCE_INLINE Assimp::DefaultIOStream::DefaultIOStream | ( | FILE * | pFile,
 |  | const std::string & | strFilename
 | ) |  |
protected

◆ ~DefaultIOStream()

Assimp::DefaultIOStream::~DefaultIOStream ( )

Destructor public to allow simple deletion to close the file.

Member Function Documentation

◆ FileSize()

size_t Assimp::DefaultIOStream::FileSize ( ) const
virtual

Get size of file.

Implements Assimp::IOStream.

◆ Flush()

void Assimp::DefaultIOStream::Flush ( )
virtual

Flush file contents.

Implements Assimp::IOStream.

◆ Read()

size_t Assimp::DefaultIOStream::Read | ( | void * | pvBuffer,
 |  | size_t | pSize,
 |  | size_t | pCount
 | ) |  |
virtual

Read from stream.

Implements Assimp::IOStream.

◆ Seek()

aiReturn Assimp::DefaultIOStream::Seek | ( | size_t | pOffset,
 |  | aiOrigin | pOrigin
 | ) |  |
virtual

Seek specific position.

Implements Assimp::IOStream.

◆ Tell()

size_t Assimp::DefaultIOStream::Tell ( ) const
virtual

Get current seek position.

Implements Assimp::IOStream.

◆ Write()

size_t Assimp::DefaultIOStream::Write | ( | const void * | pvBuffer,
 |  | size_t | pSize,
 |  | size_t | pCount
 | ) |  |
virtual

Write to stream.

Implements Assimp::IOStream.

Friends And Related Function Documentation

◆ DefaultIOSystem

friend class DefaultIOSystem
friend
The documentation for this class was generated from the following file:
  • DefaultIOStream.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Assimp::DefaultIOSystem Class Reference

  • Assimp
  • DefaultIOSystem
Public Member Functions | Static Public Member Functions | List of all members
Assimp::DefaultIOSystem Class Reference

Default implementation of IOSystem using the standard C file functions. More...

Inherits Assimp::IOSystem.

Public Member Functions

void | Close (IOStream *pFile)
Closes the given file and releases all resources associated with it. More...
bool | ComparePaths (const char *one, const char *second) const
Compare two paths. More...
bool | Exists (const char *pFile) const
Tests for the existence of a file at the given path. More...
char | getOsSeparator () const
Returns the directory separator. More...
IOStream * | Open (const char *pFile, const char *pMode="rb")
Open a new file with a given path. More...
- Public Member Functions inherited from Assimp::IOSystem
virtual bool | ChangeDirectory (const std::string &path)
Will change the current directory to the given path. More...
bool | ComparePaths (const std::string &one, const std::string &second) const
For backward compatibility. More...
virtual bool | CreateDirectory (const std::string &path)
CReates an new directory at the given path. More...
virtual const std::string & | CurrentDirectory () const
Returns the top directory from the stack. More...
virtual bool | DeleteFile (const std::string &file)
AI_FORCE_INLINE bool | Exists (const std::string &pFile) const
For backward compatibility. More...
IOSystem () AI_NO_EXCEPT
Default constructor. More...
IOStream * | Open (const std::string &pFile, const std::string &pMode=std::string("rb"))
For backward compatibility. More...
virtual bool | PopDirectory ()
Pops the top directory from the stack. More...
virtual bool | PushDirectory (const std::string &path)
Pushes a new directory onto the directory stack. More...
virtual size_t | StackSize () const
Returns the number of directories stored on the stack. More...
virtual | ~IOSystem ()
Virtual destructor. More...

Static Public Member Functions

static std::string | absolutePath (const std::string &path)
get the path of a full filepath example: /tmp/archive.tar.gz -> /tmp/ More...
static std::string | completeBaseName (const std::string &path)
get the complete base name of a full filepath example: /tmp/archive.tar.gz -> archive.tar More...
static std::string | fileName (const std::string &path)
get the file name of a full filepath example: /tmp/archive.tar.gz -> archive.tar.gz More...

Detailed Description

Default implementation of IOSystem using the standard C file functions.

Member Function Documentation

◆ absolutePath()

static std::string Assimp::DefaultIOSystem::absolutePath ( const std::string & path )
static

get the path of a full filepath example: /tmp/archive.tar.gz -> /tmp/

◆ Close()

void Assimp::DefaultIOSystem::Close ( IOStream * pFile )
virtual

Closes the given file and releases all resources associated with it.

Implements Assimp::IOSystem.

◆ ComparePaths()

bool Assimp::DefaultIOSystem::ComparePaths | ( | const char * | one,
 |  | const char * | second
 | ) |  | const
 virtual

Compare two paths.

Reimplemented from Assimp::IOSystem.

◆ completeBaseName()

static std::string Assimp::DefaultIOSystem::completeBaseName ( const std::string & path )
static

get the complete base name of a full filepath example: /tmp/archive.tar.gz -> archive.tar

◆ Exists()

bool Assimp::DefaultIOSystem::Exists ( const char * pFile ) const
virtual

Tests for the existence of a file at the given path.

Implements Assimp::IOSystem.

◆ fileName()

static std::string Assimp::DefaultIOSystem::fileName ( const std::string & path )
static

get the file name of a full filepath example: /tmp/archive.tar.gz -> archive.tar.gz

◆ getOsSeparator()

char Assimp::DefaultIOSystem::getOsSeparator ( ) const
virtual

Returns the directory separator.

Implements Assimp::IOSystem.

◆ Open()

IOStream* Assimp::DefaultIOSystem::Open | ( | const char * | pFile,
 |  | const char * | pMode = "rb"
 | ) |  |
virtual

Open a new file with a given path.

Implements Assimp::IOSystem.

The documentation for this class was generated from the following file:
  • DefaultIOSystem.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::DefaultLogger Class Reference

  • Assimp
  • DefaultLogger
Public Member Functions | Static Public Member Functions | List of all members
Assimp::DefaultLogger Class Reference

CPP-API: Primary logging facility of Assimp. More...

Inherits Assimp::Logger.

Public Member Functions

bool | attachStream (LogStream *pStream, unsigned int severity)
Attach a new log-stream. More...
bool | detachStream (LogStream *pStream, unsigned int severity)
Detach a still attached stream from the logger (or modify the filter flags bits) More...
- Public Member Functions inherited from Assimp::Logger
void | debug (const char *message)
Writes a debug message. More...
void | debug (const std::string &message)
void | error (const char *message)
Writes an error message. More...
void | error (const std::string &message)
LogSeverity | getLogSeverity () const
Get the current log severity. More...
void | info (const char *message)
Writes a info message. More...
void | info (const std::string &message)
void | setLogSeverity (LogSeverity log_severity)
Set a new log severity. More...
void | verboseDebug (const char *message)
Writes a debug message. More...
void | verboseDebug (const std::string &message)
void | warn (const char *message)
Writes a warning message. More...
void | warn (const std::string &message)
virtual | ~Logger ()
Virtual destructor. More...

Static Public Member Functions

static Logger * | create (const char *name=ASSIMP_DEFAULT_LOG_NAME, LogSeverity severity=NORMAL, unsigned int defStreams=aiDefaultLogStream_DEBUGGER|aiDefaultLogStream_FILE, IOSystem *io=nullptr)
Creates a logging instance. More...
static Logger * | get ()
Getter for singleton instance. More...
static bool | isNullLogger ()
Return whether a #NullLogger is currently active. More...
static void | kill ()
Kills the current singleton logger and replaces it with a #NullLogger instance. More...
static void | set (Logger *logger)
Setup a custom Logger implementation. More...

Additional Inherited Members

- Public Types inherited from Assimp::Logger
enum | ErrorSeverity { Debugging = 1, Info = 2, Warn = 4, Err = 8 }
Description for severity of a log message. More...
enum | LogSeverity { NORMAL, DEBUGGING, VERBOSE }
Log severity to describe the granularity of logging. More...
- Protected Member Functions inherited from Assimp::Logger
Logger () AI_NO_EXCEPT
Default constructor. More...
Logger (LogSeverity severity)
Construction with a given log severity. More...
- Protected Attributes inherited from Assimp::Logger
LogSeverity m_Severity

Detailed Description

CPP-API: Primary logging facility of Assimp.

The library stores its primary Logger as a static member of this class. get() returns this primary logger. By default the underlying implementation is just a #NullLogger which rejects all log messages. By calling create(), logging is turned on. To capture the log output multiple log streams (#LogStream) can be attach to the logger. Some default streams for common streaming locations (such as a file, std::cout, OutputDebugString()) are also provided.

If you wish to customize the logging at an even deeper level supply your own implementation of Logger to set().

Note
The whole logging stuff causes a small extra overhead for all imports.

Member Function Documentation

◆ attachStream()

bool Assimp::DefaultLogger::attachStream | ( | LogStream * | pStream,
 |  | unsigned int | severity
 | ) |  |
virtual

Attach a new log-stream.

The logger takes ownership of the stream and is responsible for its destruction (which is done using ::delete when the logger itself is destroyed). Call detachStream to detach a stream and to gain ownership of it again.

Parameters
pStream | Log-stream to attach
severity | Message filter, specified which types of log messages are dispatched to the stream. Provide a bitwise combination of the ErrorSeverity flags.
Returns
true if the stream has been attached, false otherwise.

Implements Assimp::Logger.

◆ create()

static Logger* Assimp::DefaultLogger::create | ( | const char * | name = ASSIMP_DEFAULT_LOG_NAME,
 |  | LogSeverity | severity = NORMAL,
 |  | unsigned int | defStreams = aiDefaultLogStream_DEBUGGER|aiDefaultLogStream_FILE,
 |  | IOSystem * | io = nullptr
 | ) |  |
static

Creates a logging instance.

Parameters
name | Name for log file. Only valid in combination with the aiDefaultLogStream_FILE flag.
severity | Log severity, DEBUG turns on debug messages and VERBOSE turns on all messages.
defStreams | Default log streams to be attached. Any bitwise combination of the aiDefaultLogStream enumerated values. If aiDefaultLogStream_FILE is specified but an empty string is passed for 'name', no log file is created at all.
io | IOSystem to be used to open external files (such as the log file). Pass nullptr to rely on the default implementation. This replaces the default #NullLogger with a #DefaultLogger instance.

◆ detachStream()

bool Assimp::DefaultLogger::detachStream | ( | LogStream * | pStream,
 |  | unsigned int | severity
 | ) |  |
virtual

Detach a still attached stream from the logger (or modify the filter flags bits)

Parameters
pStream | Log-stream instance for detaching
severity | Provide a bitwise combination of the ErrorSeverity flags. This value is &~ed with the current flags of the stream, if the result is 0 the stream is detached from the Logger and the caller retakes the possession of the stream.
Returns
true if the stream has been detached, false otherwise.

Implements Assimp::Logger.

◆ get()

static Logger* Assimp::DefaultLogger::get ( )
static

Getter for singleton instance.

Returns
Only instance. This is never null, but it could be a NullLogger. Use isNullLogger to check this.

◆ isNullLogger()

static bool Assimp::DefaultLogger::isNullLogger ( )
static

Return whether a #NullLogger is currently active.

Returns
true if the current logger is a #NullLogger. Use create() or set() to setup a logger that does actually do something else than just rejecting all log messages.

◆ kill()

static void Assimp::DefaultLogger::kill ( )
static

Kills the current singleton logger and replaces it with a #NullLogger instance.

◆ set()

static void Assimp::DefaultLogger::set ( Logger * logger )
static

Setup a custom Logger implementation.

Use this if the provided #DefaultLogger class doesn't fit into your needs. If the provided message formatting is OK for you, it's much easier to use create() and to attach your own custom output streams to it.

Parameters
logger Pass NULL to setup a default NullLogger
The documentation for this class was generated from the following file:
  • DefaultLogger.hpp
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::Exporter Class Reference

  • Assimp
  • Exporter
Classes | Public Types | Public Member Functions | Protected Attributes | List of all members
Assimp::Exporter Class Reference

Classes

struct ExportFormatEntry
Internal description of an Assimp export format option. More...

Public Types

typedef void(* fpExportFunc) (const char *, IOSystem *, const aiScene *, const ExportProperties *)
Function pointer type of a Export worker function. More...

Public Member Functions

aiReturn | Export (const aiScene *pScene, const char *pFormatId, const char *pPath, unsigned int pPreprocessing=0u, const ExportProperties *pProperties=nullptr)
Convenience function to export directly to a file. More...
aiReturn | Export (const aiScene *pScene, const std::string &pFormatId, const std::string &pPath, unsigned int pPreprocessing=0u, const ExportProperties *pProperties=nullptr)
Exporter ()
The class constructor. More...
const aiExportDataBlob * | ExportToBlob (const aiScene *pScene, const char *pFormatId, unsigned int pPreprocessing=0u, const ExportProperties *pProperties=nullptr)
Exports the given scene to a chosen file format. More...
const aiExportDataBlob * | ExportToBlob (const aiScene *pScene, const std::string &pFormatId, unsigned int pPreprocessing=0u, const ExportProperties *pProperties=nullptr)
void | FreeBlob ()
Frees the current blob. More...
const aiExportDataBlob * | GetBlob () const
Return the blob obtained from the last call to ExportToBlob. More...
const char * | GetErrorString () const
Returns an error description of an error that occurred in Export or ExportToBlob. More...
size_t | GetExportFormatCount () const
Returns the number of export file formats available in the current Assimp build. More...
const aiExportFormatDesc * | GetExportFormatDescription (size_t pIndex) const
Returns a description of the nth export file format. More...
IOSystem * | GetIOHandler () const
Retrieves the IO handler that is currently set. More...
const aiExportDataBlob * | GetOrphanedBlob () const
Orphan the blob from the last call to ExportToBlob. More...
bool | IsDefaultIOHandler () const
Checks whether a default IO handler is active A default handler is active as long the application doesn't supply its own custom IO handler via SetIOHandler(). More...
aiReturn | RegisterExporter (const ExportFormatEntry &desc)
Register a custom exporter. More...
void | SetIOHandler (IOSystem *pIOHandler)
Supplies a custom IO handler to the exporter to use to open and access files. More...
void | SetProgressHandler (ProgressHandler *pHandler)
Supplies a custom progress handler to the exporter. More...
void | UnregisterExporter (const char *id)
Remove an export format previously registered with RegisterExporter from the Exporter instance (this can also be used to drop built-in exporters because those are implicitly registered using RegisterExporter). More...
~Exporter ()
The class destructor. More...

Protected Attributes

ExporterPimpl * pimpl

Member Typedef Documentation

◆ fpExportFunc

typedef void(* Assimp::Exporter::fpExportFunc) (const char *, IOSystem *, const aiScene *, const ExportProperties *)

Function pointer type of a Export worker function.

Constructor & Destructor Documentation

◆ Exporter()

Assimp::Exporter::Exporter ( )

The class constructor.

◆ ~Exporter()

Assimp::Exporter::~Exporter ( )

The class destructor.

Member Function Documentation

◆ Export() [1/2]

aiReturn Assimp::Exporter::Export | ( | const aiScene * | pScene,
 |  | const char * | pFormatId,
 |  | const char * | pPath,
 |  | unsigned int | pPreprocessing = 0u,
 |  | const ExportProperties * | pProperties = nullptr
 | ) |  |

Convenience function to export directly to a file.

Use #SetIOSystem to supply a custom IOSystem to gain fine-grained control about the output data flow of the export process.

Parameters
pBlob | A data blob obtained from a previous call to aiExportScene. Must not be nullptr.
pPath | Full target file name. Target must be accessible.
pPreprocessing | Accepts any choice of the aiPostProcessSteps enumerated flags, but in reality only a subset of them makes sense here. Specifying 'preprocessing' flags is useful if the input scene does not conform to Assimp's default conventions as specified in the Data Structures Page . In short, this means the geometry data should use a right-handed coordinate systems, face winding should be counter-clockwise and the UV coordinate origin is assumed to be in the upper left. The aiProcess_MakeLeftHanded, aiProcess_FlipUVs and aiProcess_FlipWindingOrder flags are used in the import side to allow users to have those defaults automatically adapted to their conventions. Specifying those flags for exporting has the opposite effect, respectively. Some other of the aiPostProcessSteps enumerated values may be useful as well, but you'll need to try out what their effect on the exported file is. Many formats impose their own restrictions on the structure of the geometry stored therein, so some preprocessing may have little or no effect at all, or may be redundant as exporters would apply them anyhow. A good example is triangulation - whilst you can enforce it by specifying the aiProcess_Triangulate flag, most export formats support only triangulate data so they would run the step even if it wasn't requested.

If assimp detects that the input scene was directly taken from the importer side of the library (i.e. not copied using aiCopyScene and potentially modified afterwards), any post-processing steps already applied to the scene will not be applied again, unless they show non-idempotent behavior (aiProcess_MakeLeftHanded, aiProcess_FlipUVs and aiProcess_FlipWindingOrder).

Returns
AI_SUCCESS if everything was fine.
Note
Use aiCopyScene() to get a modifiable copy of a previously imported scene.

◆ Export() [2/2]

aiReturn Assimp::Exporter::Export | ( | const aiScene * | pScene,
 |  | const std::string & | pFormatId,
 |  | const std::string & | pPath,
 |  | unsigned int | pPreprocessing = 0u,
 |  | const ExportProperties * | pProperties = nullptr
 | ) |  |
inline

◆ ExportToBlob() [1/2]

const aiExportDataBlob* Assimp::Exporter::ExportToBlob | ( | const aiScene * | pScene,
 |  | const char * | pFormatId,
 |  | unsigned int | pPreprocessing = 0u,
 |  | const ExportProperties * | pProperties = nullptr
 | ) |  |

Exports the given scene to a chosen file format.

Returns the exported data as a binary blob which you can write into a file or something. When you're done with the data, simply let the Exporter instance go out of scope to have it released automatically.

Parameters
pScene | The scene to export. Stays in possession of the caller, is not changed by the function.
pFormatId | ID string to specify to which format you want to export to. Use GetExportFormatCount / GetExportFormatDescription to learn which export formats are available.
pPreprocessing | See the documentation for Export
Returns
the exported data or nullptr in case of error.
Note
If the Exporter instance did already hold a blob from a previous call to ExportToBlob, it will be disposed. Any IO handlers set via SetIOHandler are ignored here.
Use aiCopyScene() to get a modifiable copy of a previously imported scene.

◆ ExportToBlob() [2/2]

const aiExportDataBlob * Assimp::Exporter::ExportToBlob | ( | const aiScene * | pScene,
 |  | const std::string & | pFormatId,
 |  | unsigned int | pPreprocessing = 0u,
 |  | const ExportProperties * | pProperties = nullptr
 | ) |  |
inline

◆ FreeBlob()

void Assimp::Exporter::FreeBlob ( )

Frees the current blob.

The function does nothing if no blob has previously been previously produced via ExportToBlob. FreeBlob is called automatically by the destructor. The only reason to call it manually would be to reclaim as much storage as possible without giving up the Exporter instance yet.

◆ GetBlob()

const aiExportDataBlob* Assimp::Exporter::GetBlob ( ) const

Return the blob obtained from the last call to ExportToBlob.

◆ GetErrorString()

const char* Assimp::Exporter::GetErrorString ( ) const

Returns an error description of an error that occurred in Export or ExportToBlob.

Returns an empty string if no error occurred.

Returns
A description of the last error, an empty string if no error occurred. The string is never nullptr.
Note
The returned function remains valid until one of the following methods is called: Export, ExportToBlob, FreeBlob

◆ GetExportFormatCount()

size_t Assimp::Exporter::GetExportFormatCount ( ) const

Returns the number of export file formats available in the current Assimp build.

Use #Exporter::GetExportFormatDescription to retrieve infos of a specific export format.

This includes built-in exporters as well as exporters registered using RegisterExporter.

◆ GetExportFormatDescription()

const aiExportFormatDesc* Assimp::Exporter::GetExportFormatDescription ( size_t pIndex ) const

Returns a description of the nth export file format.

Use # #Exporter::GetExportFormatCount to learn how many export formats are supported.

The returned pointer is of static storage duration if the pIndex pertains to a built-in exporter (i.e. one not registered via #RegistrerExporter). It is restricted to the life-time of the Exporter instance otherwise.

Parameters
pIndex Index of the export format to retrieve information for. Valid range is 0 to #Exporter::GetExportFormatCount
Returns
A description of that specific export format. NULL if pIndex is out of range.

◆ GetIOHandler()

IOSystem* Assimp::Exporter::GetIOHandler ( ) const

Retrieves the IO handler that is currently set.

You can use IsDefaultIOHandler() to check whether the returned interface is the default IO handler provided by ASSIMP. The default handler is active as long the application doesn't supply its own custom IO handler via SetIOHandler().

Returns
A valid IOSystem interface, never NULL.

◆ GetOrphanedBlob()

const aiExportDataBlob* Assimp::Exporter::GetOrphanedBlob ( ) const

Orphan the blob from the last call to ExportToBlob.

This means the caller takes ownership and is thus responsible for calling the C API function aiReleaseExportBlob to release it.

◆ IsDefaultIOHandler()

bool Assimp::Exporter::IsDefaultIOHandler ( ) const

Checks whether a default IO handler is active A default handler is active as long the application doesn't supply its own custom IO handler via SetIOHandler().

Returns
true by default

◆ RegisterExporter()

aiReturn Assimp::Exporter::RegisterExporter ( const ExportFormatEntry & desc )

Register a custom exporter.

Custom export formats are limited to to the current Exporter instance and do not affect the library globally. The indexes under which the format's export format description can be queried are assigned monotonously.

Parameters
desc Exporter description.
Returns
aiReturn_SUCCESS if the export format was successfully registered. A common cause that would prevent an exporter from being registered is that its format id is already occupied by another format.

◆ SetIOHandler()

void Assimp::Exporter::SetIOHandler ( IOSystem * pIOHandler )

Supplies a custom IO handler to the exporter to use to open and access files.

If you need Export to use custom IO logic to access the files, you need to supply a custom implementation of IOSystem and IOFile to the exporter.

Exporter takes ownership of the object and will destroy it afterwards. The previously assigned handler will be deleted. Pass NULL to take again ownership of your IOSystem and reset Assimp to use its default implementation, which uses plain file IO.

Parameters
pIOHandler The IO handler to be used in all file accesses of the Importer.

◆ SetProgressHandler()

void Assimp::Exporter::SetProgressHandler ( ProgressHandler * pHandler )

Supplies a custom progress handler to the exporter.

This interface exposes an #Update() callback, which is called more or less periodically (please don't sue us if it isn't as periodically as you'd like it to have ...). This can be used to implement progress bars and loading timeouts.

Parameters
pHandler Progress callback interface. Pass nullptr to disable progress reporting.
Note
Progress handlers can be used to abort the loading at almost any time.

◆ UnregisterExporter()

void Assimp::Exporter::UnregisterExporter ( const char * id )

Remove an export format previously registered with RegisterExporter from the Exporter instance (this can also be used to drop built-in exporters because those are implicitly registered using RegisterExporter).

Parameters
id Format id to be unregistered, this refers to the 'id' field of aiExportFormatDesc.
Note
Calling this method on a format description not yet registered has no effect.

Member Data Documentation

◆ pimpl

ExporterPimpl* Assimp::Exporter::pimpl
protected
The documentation for this class was generated from the following file:
  • Exporter.hpp
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::Exporter::ExportFormatEntry Struct Reference

  • Assimp
  • Exporter
  • ExportFormatEntry
Public Member Functions | Public Attributes | List of all members
Assimp::Exporter::ExportFormatEntry Struct Reference

Internal description of an Assimp export format option. More...

Public Member Functions

ExportFormatEntry (const char *pId, const char *pDesc, const char *pExtension, fpExportFunc pFunction, unsigned int pEnforcePP=0u)
ExportFormatEntry ()

Public Attributes

aiExportFormatDesc mDescription
Public description structure to be returned by aiGetExportFormatDescription() More...
unsigned int mEnforcePP
fpExportFunc mExportFunction

Detailed Description

Internal description of an Assimp export format option.

Constructor & Destructor Documentation

◆ ExportFormatEntry() [1/2]

Assimp::Exporter::ExportFormatEntry::ExportFormatEntry | ( | const char * | pId,
 |  | const char * | pDesc,
 |  | const char * | pExtension,
 |  | fpExportFunc | pFunction,
 |  | unsigned int | pEnforcePP = 0u
 | ) |  |
inline

◆ ExportFormatEntry() [2/2]

Assimp::Exporter::ExportFormatEntry::ExportFormatEntry ( )
inline

Member Data Documentation

◆ mDescription

aiExportFormatDesc Assimp::Exporter::ExportFormatEntry::mDescription

Public description structure to be returned by aiGetExportFormatDescription()

◆ mEnforcePP

unsigned int Assimp::Exporter::ExportFormatEntry::mEnforcePP

◆ mExportFunction

fpExportFunc Assimp::Exporter::ExportFormatEntry::mExportFunction
The documentation for this struct was generated from the following file:
  • Exporter.hpp
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::ExportProperties Class Reference

  • Assimp
  • ExportProperties
Public Types | Public Member Functions | Public Attributes | List of all members
Assimp::ExportProperties Class Reference

Public Types

typedef std::map< KeyType, std::function< void *(void *)> > | CallbackPropertyMap
typedef std::map< KeyType, ai_real > | FloatPropertyMap
typedef std::map< KeyType, int > | IntPropertyMap
typedef unsigned int | KeyType
typedef std::map< KeyType, aiMatrix4x4 > | MatrixPropertyMap
typedef std::map< KeyType, std::string > | StringPropertyMap

Public Member Functions

ExportProperties ()
Standard constructor. More...
ExportProperties (const ExportProperties &other)
Copy constructor. More...
bool | GetPropertyBool (const char *szName, bool bErrorReturn=false) const
Get a boolean configuration property. More...
std::function< void *(void *)> | GetPropertyCallback (const char *szName) const
ai_real | GetPropertyFloat (const char *szName, ai_real fErrorReturn=10e10f) const
Get a floating-point configuration property. More...
int | GetPropertyInteger (const char *szName, int iErrorReturn=0xffffffff) const
Get a configuration property. More...
const aiMatrix4x4 | GetPropertyMatrix (const char *szName, const aiMatrix4x4 &sErrorReturn=aiMatrix4x4()) const
Get a matrix configuration property. More...
const std::string | GetPropertyString (const char *szName, const std::string &sErrorReturn="") const
Get a string configuration property. More...
bool | HasPropertyBool (const char *szName) const
Determine a boolean configuration property has been set. More...
bool | HasPropertyCallback (const char *szName) const
bool | HasPropertyFloat (const char *szName) const
Determine a boolean configuration property has been set. More...
bool | HasPropertyInteger (const char *szName) const
Determine a integer configuration property has been set. More...
bool | HasPropertyMatrix (const char *szName) const
Determine a Matrix configuration property has been set. More...
bool | HasPropertyString (const char *szName) const
Determine a String configuration property has been set. More...
bool | SetPropertyBool (const char *szName, bool value)
Set a boolean configuration property. More...
bool | SetPropertyCallback (const char *szName, const std::function< void *(void *)> &f)
bool | SetPropertyFloat (const char *szName, ai_real fValue)
Set a floating-point configuration property. More...
bool | SetPropertyInteger (const char *szName, int iValue)
Set an integer configuration property. More...
bool | SetPropertyMatrix (const char *szName, const aiMatrix4x4 &sValue)
Set a matrix configuration property. More...
bool | SetPropertyString (const char *szName, const std::string &sValue)
Set a string configuration property. More...

Public Attributes

CallbackPropertyMap mCallbackProperties
FloatPropertyMap mFloatProperties
List of floating-point properties. More...
IntPropertyMap mIntProperties
List of integer properties. More...
MatrixPropertyMap mMatrixProperties
List of Matrix properties. More...
StringPropertyMap mStringProperties
List of string properties. More...

Member Typedef Documentation

◆ CallbackPropertyMap

typedef std::map<KeyType, std::function<void *(void *)> > Assimp::ExportProperties::CallbackPropertyMap

◆ FloatPropertyMap

typedef std::map<KeyType, ai_real> Assimp::ExportProperties::FloatPropertyMap

◆ IntPropertyMap

typedef std::map<KeyType, int> Assimp::ExportProperties::IntPropertyMap

◆ KeyType

typedef unsigned int Assimp::ExportProperties::KeyType

◆ MatrixPropertyMap

typedef std::map<KeyType, aiMatrix4x4> Assimp::ExportProperties::MatrixPropertyMap

◆ StringPropertyMap

typedef std::map<KeyType, std::string> Assimp::ExportProperties::StringPropertyMap

Constructor & Destructor Documentation

◆ ExportProperties() [1/2]

Assimp::ExportProperties::ExportProperties ( )

Standard constructor.

See also
ExportProperties()

◆ ExportProperties() [2/2]

Assimp::ExportProperties::ExportProperties ( const ExportProperties & other )

Copy constructor.

This copies the configuration properties of another ExportProperties.

See also
ExportProperties(const ExportProperties& other)

Member Function Documentation

◆ GetPropertyBool()

bool Assimp::ExportProperties::GetPropertyBool | ( | const char * | szName,
 |  | bool | bErrorReturn = false
 | ) |  | const
 inline

Get a boolean configuration property.

Boolean properties are stored on the integer stack internally so it's possible to set them via SetPropertyBool and query them with GetPropertyBool and vice versa.

See also
GetPropertyInteger()

◆ GetPropertyCallback()

std::function<void *(void *)> Assimp::ExportProperties::GetPropertyCallback ( const char * szName ) const

◆ GetPropertyFloat()

ai_real Assimp::ExportProperties::GetPropertyFloat | ( | const char * | szName,
 |  | ai_real | fErrorReturn = 10e10f
 | ) |  | const

Get a floating-point configuration property.

See also
GetPropertyInteger()

◆ GetPropertyInteger()

int Assimp::ExportProperties::GetPropertyInteger | ( | const char * | szName,
 |  | int | iErrorReturn = 0xffffffff
 | ) |  | const

Get a configuration property.

Parameters
szName | Name of the property. All supported properties are defined in the aiConfig.g header (all constants share the prefix AI_CONFIG_XXX).
iErrorReturn | Value that is returned if the property is not found.
Returns
Current value of the property
Note
Property of different types (float, int, string ..) are kept on different lists, so calling SetPropertyInteger() for a floating-point property has no effect - the loader will call GetPropertyFloat() to read the property, but it won't be there.

◆ GetPropertyMatrix()

const aiMatrix4x4 Assimp::ExportProperties::GetPropertyMatrix | ( | const char * | szName,
 |  | const aiMatrix4x4 & | sErrorReturn = aiMatrix4x4()
 | ) |  | const

Get a matrix configuration property.

The return value remains valid until the property is modified.

See also
GetPropertyInteger()

◆ GetPropertyString()

const std::string Assimp::ExportProperties::GetPropertyString | ( | const char * | szName,
 |  | const std::string & | sErrorReturn = ""
 | ) |  | const

Get a string configuration property.

The return value remains valid until the property is modified.

See also
GetPropertyInteger()

◆ HasPropertyBool()

bool Assimp::ExportProperties::HasPropertyBool ( const char * szName ) const

Determine a boolean configuration property has been set.

See also
HasPropertyBool()

◆ HasPropertyCallback()

bool Assimp::ExportProperties::HasPropertyCallback ( const char * szName ) const

◆ HasPropertyFloat()

bool Assimp::ExportProperties::HasPropertyFloat ( const char * szName ) const

Determine a boolean configuration property has been set.

See also
HasPropertyFloat()

◆ HasPropertyInteger()

bool Assimp::ExportProperties::HasPropertyInteger ( const char * szName ) const

Determine a integer configuration property has been set.

See also
HasPropertyInteger()

◆ HasPropertyMatrix()

bool Assimp::ExportProperties::HasPropertyMatrix ( const char * szName ) const

Determine a Matrix configuration property has been set.

See also
HasPropertyMatrix()

◆ HasPropertyString()

bool Assimp::ExportProperties::HasPropertyString ( const char * szName ) const

Determine a String configuration property has been set.

See also
HasPropertyString()

◆ SetPropertyBool()

bool Assimp::ExportProperties::SetPropertyBool | ( | const char * | szName,
 |  | bool | value
 | ) |  |
inline

Set a boolean configuration property.

Boolean properties are stored on the integer stack internally so it's possible to set them via SetPropertyBool and query them with GetPropertyBool and vice versa.

See also
SetPropertyInteger()

◆ SetPropertyCallback()

bool Assimp::ExportProperties::SetPropertyCallback | ( | const char * | szName,
 |  | const std::function< void *(void *)> & | f
 | ) |  |

◆ SetPropertyFloat()

bool Assimp::ExportProperties::SetPropertyFloat | ( | const char * | szName,
 |  | ai_real | fValue
 | ) |  |

Set a floating-point configuration property.

See also
SetPropertyInteger()

◆ SetPropertyInteger()

bool Assimp::ExportProperties::SetPropertyInteger | ( | const char * | szName,
 |  | int | iValue
 | ) |  |

Set an integer configuration property.

Parameters
szName | Name of the property. All supported properties are defined in the aiConfig.g header (all constants share the prefix AI_CONFIG_XXX and are simple strings).
iValue | New value of the property
Returns
true if the property was set before. The new value replaces the previous value in this case.
Note
Property of different types (float, int, string ..) are kept on different stacks, so calling SetPropertyInteger() for a floating-point property has no effect - the loader will call GetPropertyFloat() to read the property, but it won't be there.

◆ SetPropertyMatrix()

bool Assimp::ExportProperties::SetPropertyMatrix | ( | const char * | szName,
 |  | const aiMatrix4x4 & | sValue
 | ) |  |

Set a matrix configuration property.

See also
SetPropertyInteger()

◆ SetPropertyString()

bool Assimp::ExportProperties::SetPropertyString | ( | const char * | szName,
 |  | const std::string & | sValue
 | ) |  |

Set a string configuration property.

See also
SetPropertyInteger()

Member Data Documentation

◆ mCallbackProperties

CallbackPropertyMap Assimp::ExportProperties::mCallbackProperties

◆ mFloatProperties

FloatPropertyMap Assimp::ExportProperties::mFloatProperties

List of floating-point properties.

◆ mIntProperties

IntPropertyMap Assimp::ExportProperties::mIntProperties

List of integer properties.

◆ mMatrixProperties

MatrixPropertyMap Assimp::ExportProperties::mMatrixProperties

List of Matrix properties.

◆ mStringProperties

StringPropertyMap Assimp::ExportProperties::mStringProperties

List of string properties.

The documentation for this class was generated from the following file:
  • Exporter.hpp
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::find_node_by_name_predicate Struct Reference

  • Assimp
  • find_node_by_name_predicate
Public Member Functions | Public Attributes | List of all members
Assimp::find_node_by_name_predicate Struct Reference

Public Member Functions

find_node_by_name_predicate (const std::string &name)
bool operator() (pugi::xml_node node) const

Public Attributes

std::string mName

Constructor & Destructor Documentation

◆ find_node_by_name_predicate()

Assimp::find_node_by_name_predicate::find_node_by_name_predicate ( const std::string & name )
inline

Member Function Documentation

◆ operator()()

bool Assimp::find_node_by_name_predicate::operator() ( pugi::xml_node node ) const
inline

Member Data Documentation

◆ mName

std::string Assimp::find_node_by_name_predicate::mName
The documentation for this struct was generated from the following file:
  • XmlParser.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::Importer Class Reference

  • Assimp
  • Importer
Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
Assimp::Importer Class Reference

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

Public Member Functions

const aiScene * | ApplyCustomizedPostProcessing (BaseProcess *rootProcess, bool requestValidation)
const aiScene * | ApplyPostProcessing (unsigned int pFlags)
Apply post-processing to an already-imported scene. More...
void | FreeScene ()
Frees the current scene. More...
const char * | GetErrorString () const
Returns an error description of an error that occurred in ReadFile(). More...
const std::exception_ptr & | GetException () const
Returns an exception if one occurred during import. More...
void | GetExtensionList (aiString &szOut) const
Get a full list of all file extensions supported by ASSIMP. More...
void | GetExtensionList (std::string &szOut) const
Get a full list of all file extensions supported by ASSIMP. More...
BaseImporter * | GetImporter (size_t index) const
Find the importer corresponding to a specific index. More...
BaseImporter * | GetImporter (const char *szExtension) const
Find the importer corresponding to a specific file extension. More...
size_t | GetImporterCount () const
Get the number of importers currently registered with Assimp. More...
size_t | GetImporterIndex (const char *szExtension) const
Find the importer index corresponding to a specific file extension. More...
const aiImporterDesc * | GetImporterInfo (size_t index) const
Get meta data for the importer corresponding to a specific index. More...
IOSystem * | GetIOHandler () const
Retrieves the IO handler that is currently set. More...
void | GetMemoryRequirements (aiMemoryInfo &in) const
Returns the storage allocated by ASSIMP to hold the scene data in memory. More...
aiScene * GetOrphanedScene ()
Returns the scene loaded by the last successful call to ReadFile() and releases the scene from the ownership of the Importer instance. More...
ProgressHandler * | GetProgressHandler () const
Retrieves the progress handler that is currently set. More...
bool | GetPropertyBool (const char *szName, bool bErrorReturn=false) const
Get a boolean configuration property. More...
ai_real | GetPropertyFloat (const char *szName, ai_real fErrorReturn=10e10) const
Get a floating-point configuration property. More...
int | GetPropertyInteger (const char *szName, int iErrorReturn=0xffffffff) const
Get a configuration property. More...
aiMatrix4x4 | GetPropertyMatrix (const char *szName, const aiMatrix4x4 &sErrorReturn=aiMatrix4x4()) const
Get a matrix configuration property. More...
std::string | GetPropertyString (const char *szName, const std::string &sErrorReturn="") const
Get a string configuration property. More...
const aiScene * | GetScene () const
Returns the scene loaded by the last successful call to ReadFile() More...
Importer ()
Constructor. More...
Importer (const Importer &other)=delete
Copy constructor. More...
bool | IsDefaultIOHandler () const
Checks whether a default IO handler is active A default handler is active as long the application doesn't supply its own custom IO handler via SetIOHandler(). More...
bool | IsDefaultProgressHandler () const
Checks whether a default progress handler is active A default handler is active as long the application doesn't supply its own custom progress handler via SetProgressHandler(). More...
bool | IsExtensionSupported (const char *szExtension) const
Returns whether a given file extension is supported by ASSIMP. More...
bool | IsExtensionSupported (const std::string &szExtension) const
Returns whether a given file extension is supported by ASSIMP. More...
Importer & | operator= (const Importer &)=delete
Assignment operator has been deleted. More...
ImporterPimpl * | Pimpl ()
Private, do not use. More...
const ImporterPimpl * | Pimpl () const
const aiScene * | ReadFile (const char *pFile, unsigned int pFlags)
Reads the given file and returns its contents if successful. More...
const aiScene * | ReadFile (const std::string &pFile, unsigned int pFlags)
Reads the given file and returns its contents if successful. More...
const aiScene * | ReadFileFromMemory (const void *pBuffer, size_t pLength, unsigned int pFlags, const char *pHint="")
Reads the given file from a memory buffer and returns its contents if successful. More...
aiReturn | RegisterLoader (BaseImporter *pImp)
Registers a new loader. More...
aiReturn | RegisterPPStep (BaseProcess *pImp)
Registers a new post-process step. More...
void | SetExtraVerbose (bool bDo)
Enables "extra verbose" mode. More...
void | SetIOHandler (IOSystem *pIOHandler)
Supplies a custom IO handler to the importer to use to open and access files. More...
void | SetProgressHandler (ProgressHandler *pHandler)
Supplies a custom progress handler to the importer. More...
bool | SetPropertyBool (const char *szName, bool value)
Set a boolean configuration property. More...
bool | SetPropertyFloat (const char *szName, ai_real fValue)
Set a floating-point configuration property. More...
bool | SetPropertyInteger (const char *szName, int iValue)
Set an integer configuration property. More...
bool | SetPropertyMatrix (const char *szName, const aiMatrix4x4 &sValue)
Set a matrix configuration property. More...
bool | SetPropertyString (const char *szName, const std::string &sValue)
Set a string configuration property. More...
aiReturn | UnregisterLoader (BaseImporter *pImp)
Unregisters a loader. More...
aiReturn | UnregisterPPStep (BaseProcess *pImp)
Unregisters a post-process step. More...
bool | ValidateFlags (unsigned int pFlags) const
Check whether a given set of post-processing flags is supported. More...
~Importer ()
Destructor. More...

Static Public Attributes

static const unsigned int MaxLenHint = 200
The upper limit for hints. More...

Protected Attributes

ImporterPimpl * pimpl

Detailed Description

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

Create an object of this class and call ReadFile() to import a file. If the import succeeds, the function returns a pointer to the imported data. The data remains property of the object, it is intended to be accessed read-only. The imported data will be destroyed along with the Importer object. If the import fails, ReadFile() returns a nullptr pointer. In this case you can retrieve a human-readable error description be calling GetErrorString(). You can call ReadFile() multiple times with a single Importer instance. Actually, constructing Importer objects involves quite many allocations and may take some time, so it's better to reuse them as often as possible.

If you need the Importer to do custom file handling to access the files, implement IOSystem and IOStream and supply an instance of your custom IOSystem implementation by calling SetIOHandler() before calling ReadFile(). If you do not assign a custion IO handler, a default handler using the standard C++ IO logic will be used.

Note
One Importer instance is not thread-safe. If you use multiple threads for loading, each thread should maintain its own Importer instance.

Constructor & Destructor Documentation

◆ Importer() [1/2]

Assimp::Importer::Importer ( )

Constructor.

Creates an empty importer object.

Call ReadFile() to start the import process. The configuration property table is initially empty.

◆ Importer() [2/2]

Assimp::Importer::Importer ( const Importer & other )
delete

Copy constructor.

This copies the configuration properties of another Importer. If this Importer owns a scene it won't be copied. Call ReadFile() to start the import process.

◆ ~Importer()

Assimp::Importer::~Importer ( )

Destructor.

The object kept ownership of the imported data, which now will be destroyed along with the object.

Member Function Documentation

◆ ApplyCustomizedPostProcessing()

const aiScene* Assimp::Importer::ApplyCustomizedPostProcessing | ( | BaseProcess * | rootProcess,
 |  | bool | requestValidation
 | ) |  |

◆ ApplyPostProcessing()

const aiScene* Assimp::Importer::ApplyPostProcessing ( unsigned int pFlags )

Apply post-processing to an already-imported scene.

This is strictly equivalent to calling ReadFile() with the same flags. However, you can use this separate function to inspect the imported scene first to fine-tune your post-processing setup.

Parameters
pFlags Provide a bitwise combination of the aiPostProcessSteps flags.
Returns
A pointer to the post-processed data. This is still the same as the pointer returned by ReadFile(). However, if post-processing fails, the scene could now be nullptr. That's quite a rare case, post processing steps are not really designed to 'fail'. To be exact, the #aiProcess_ValidateDS flag is currently the only post processing step which can actually cause the scene to be reset to nullptr.
Note
The method does nothing if no scene is currently bound to the Importer instance.

◆ FreeScene()

void Assimp::Importer::FreeScene ( )

Frees the current scene.

The function does nothing if no scene has previously been read via ReadFile(). FreeScene() is called automatically by the destructor and ReadFile() itself.

◆ GetErrorString()

const char* Assimp::Importer::GetErrorString ( ) const

Returns an error description of an error that occurred in ReadFile().

Returns an empty string if no error occurred.

Returns
A description of the last error, an empty string if no error occurred. The string is never nullptr.
Note
The returned function remains valid until one of the following methods is called: ReadFile(), FreeScene().

◆ GetException()

const std::exception_ptr& Assimp::Importer::GetException ( ) const

Returns an exception if one occurred during import.

Returns
The last exception which occurred.
Note
The returned value remains valid until one of the following methods is called: ReadFile(), FreeScene().

◆ GetExtensionList() [1/2]

void Assimp::Importer::GetExtensionList ( aiString & szOut ) const

Get a full list of all file extensions supported by ASSIMP.

If a file extension is contained in the list this does of course not mean that ASSIMP is able to load all files with this extension — it simply means there is an importer loaded which claims to handle files with this file extension.

Parameters
szOut String to receive the extension list. Format of the list: "*.3ds;*.obj;*.dae". This is useful for use with the WinAPI call GetOpenFileName(Ex).

◆ GetExtensionList() [2/2]

AI_FORCE_INLINE void Assimp::Importer::GetExtensionList ( std::string & szOut ) const
inline

Get a full list of all file extensions supported by ASSIMP.

This function is provided for backward compatibility. See the aiString version for detailed and up-to-date docs.

See also
GetExtensionList(aiString&)

◆ GetImporter() [1/2]

BaseImporter* Assimp::Importer::GetImporter ( size_t index ) const

Find the importer corresponding to a specific index.

Parameters
index Index to query, must be within [0,GetImporterCount())
Returns
Importer instance. nullptr if the index does not exist.

◆ GetImporter() [2/2]

BaseImporter* Assimp::Importer::GetImporter ( const char * szExtension ) const

Find the importer corresponding to a specific file extension.

This is quite similar to IsExtensionSupported except a BaseImporter instance is returned.

Parameters
szExtension Extension to check for. The following formats are recognized (BAH being the file extension): "BAH" (comparison is case-insensitive), ".bah", "*.bah" (wild card and dot characters at the beginning of the extension are skipped).
Returns
nullptr if no importer is found

◆ GetImporterCount()

size_t Assimp::Importer::GetImporterCount ( ) const

Get the number of importers currently registered with Assimp.

◆ GetImporterIndex()

size_t Assimp::Importer::GetImporterIndex ( const char * szExtension ) const

Find the importer index corresponding to a specific file extension.

Parameters
szExtension Extension to check for. The following formats are recognized (BAH being the file extension): "BAH" (comparison is case-insensitive), ".bah", "*.bah" (wild card and dot characters at the beginning of the extension are skipped).
Returns
(size_t)-1 if no importer is found

◆ GetImporterInfo()

const aiImporterDesc* Assimp::Importer::GetImporterInfo ( size_t index ) const

Get meta data for the importer corresponding to a specific index.

For the declaration of aiImporterDesc, include <assimp/importerdesc.h>.

Parameters
index Index to query, must be within [0,GetImporterCount())
Returns
Importer meta data structure, nullptr if the index does not exist or if the importer doesn't offer meta information ( importers may do this at the cost of being hated by their peers).

◆ GetIOHandler()

IOSystem* Assimp::Importer::GetIOHandler ( ) const

Retrieves the IO handler that is currently set.

You can use IsDefaultIOHandler() to check whether the returned interface is the default IO handler provided by ASSIMP. The default handler is active as long the application doesn't supply its own custom IO handler via SetIOHandler().

Returns
A valid IOSystem interface, never nullptr.

◆ GetMemoryRequirements()

void Assimp::Importer::GetMemoryRequirements ( aiMemoryInfo & in ) const

Returns the storage allocated by ASSIMP to hold the scene data in memory.

This refers to the currently loaded file, see ReadFile().

Parameters
in Data structure to be filled.
Note
The returned memory statistics refer to the actual size of the use data of the aiScene. Heap-related overhead is (naturally) not included.

◆ GetOrphanedScene()

aiScene* Assimp::Importer::GetOrphanedScene ( )

Returns the scene loaded by the last successful call to ReadFile() and releases the scene from the ownership of the Importer instance.

The application is now responsible for deleting the scene. Any further calls to GetScene() or GetOrphanedScene() will return nullptr - until a new scene has been loaded via ReadFile().

Returns
Current scene or nullptr if there is currently no scene loaded
Note
Use this method with maximal caution, and only if you have to. By design, aiScene's are exclusively maintained, allocated and deallocated by Assimp and no one else. The reasoning behind this is the golden rule that deallocations should always be done by the module that did the original allocation because heaps are not necessarily shared. GetOrphanedScene() enforces you to delete the returned scene by yourself, but this will only be fine if and only if you're using the same heap as assimp. On Windows, it's typically fine provided everything is linked against the multithreaded-dll version of the runtime library. It will work as well for static linkage with Assimp.

◆ GetProgressHandler()

ProgressHandler* Assimp::Importer::GetProgressHandler ( ) const

Retrieves the progress handler that is currently set.

You can use IsDefaultProgressHandler() to check whether the returned interface is the default handler provided by ASSIMP. The default handler is active as long the application doesn't supply its own custom handler via SetProgressHandler().

Returns
A valid ProgressHandler interface, never nullptr.

◆ GetPropertyBool()

bool Assimp::Importer::GetPropertyBool | ( | const char * | szName,
 |  | bool | bErrorReturn = false
 | ) |  | const
 inline

Get a boolean configuration property.

Boolean properties are stored on the integer stack internally so it's possible to set them via SetPropertyBool and query them with GetPropertyBool and vice versa.

See also
GetPropertyInteger()

◆ GetPropertyFloat()

ai_real Assimp::Importer::GetPropertyFloat | ( | const char * | szName,
 |  | ai_real | fErrorReturn = 10e10
 | ) |  | const

Get a floating-point configuration property.

See also
GetPropertyInteger()

◆ GetPropertyInteger()

int Assimp::Importer::GetPropertyInteger | ( | const char * | szName,
 |  | int | iErrorReturn = 0xffffffff
 | ) |  | const

Get a configuration property.

Parameters
szName | Name of the property. All supported properties are defined in the aiConfig.g header (all constants share the prefix AI_CONFIG_XXX).
iErrorReturn | Value that is returned if the property is not found.
Returns
Current value of the property
Note
Property of different types (float, int, string ..) are kept on different lists, so calling SetPropertyInteger() for a floating-point property has no effect - the loader will call GetPropertyFloat() to read the property, but it won't be there.

◆ GetPropertyMatrix()

aiMatrix4x4 Assimp::Importer::GetPropertyMatrix | ( | const char * | szName,
 |  | const aiMatrix4x4 & | sErrorReturn = aiMatrix4x4()
 | ) |  | const

Get a matrix configuration property.

The return value remains valid until the property is modified.

See also
GetPropertyInteger()

◆ GetPropertyString()

std::string Assimp::Importer::GetPropertyString | ( | const char * | szName,
 |  | const std::string & | sErrorReturn = ""
 | ) |  | const

Get a string configuration property.

The return value remains valid until the property is modified.

See also
GetPropertyInteger()

◆ GetScene()

const aiScene* Assimp::Importer::GetScene ( ) const

Returns the scene loaded by the last successful call to ReadFile()

Returns
Current scene or nullptr if there is currently no scene loaded

◆ IsDefaultIOHandler()

bool Assimp::Importer::IsDefaultIOHandler ( ) const

Checks whether a default IO handler is active A default handler is active as long the application doesn't supply its own custom IO handler via SetIOHandler().

Returns
true by default

◆ IsDefaultProgressHandler()

bool Assimp::Importer::IsDefaultProgressHandler ( ) const

Checks whether a default progress handler is active A default handler is active as long the application doesn't supply its own custom progress handler via SetProgressHandler().

Returns
true by default

◆ IsExtensionSupported() [1/2]

bool Assimp::Importer::IsExtensionSupported ( const char * szExtension ) const

Returns whether a given file extension is supported by ASSIMP.

Parameters
szExtension Extension to be checked. Must include a trailing dot '.'. Example: ".3ds", ".md3". Cases-insensitive.
Returns
true if the extension is supported, false otherwise

◆ IsExtensionSupported() [2/2]

AI_FORCE_INLINE bool Assimp::Importer::IsExtensionSupported ( const std::string & szExtension ) const
inline

Returns whether a given file extension is supported by ASSIMP.

This function is provided for backward compatibility. See the const char* version for detailed and up-to-date docs.

See also
IsExtensionSupported(const char*)

◆ operator=()

Importer& Assimp::Importer::operator= ( const Importer & )
delete

Assignment operator has been deleted.

◆ Pimpl() [1/2]

ImporterPimpl* Assimp::Importer::Pimpl ( )
inline

Private, do not use.

◆ Pimpl() [2/2]

const ImporterPimpl* Assimp::Importer::Pimpl ( ) const
inline

◆ ReadFile() [1/2]

const aiScene* Assimp::Importer::ReadFile | ( | const char * | pFile,
 |  | unsigned int | pFlags
 | ) |  |

Reads the given file and returns its contents if successful.

If the call succeeds, the contents of the file are returned as a pointer to an aiScene object. The returned data is intended to be read-only, the importer object keeps ownership of the data and will destroy it upon destruction. If the import fails, nullptr is returned. A human-readable error description can be retrieved by calling GetErrorString(). The previous scene will be deleted during this call.

Parameters
pFile | Path and filename to the file to be imported.
pFlags | Optional post processing steps to be executed after a successful import. Provide a bitwise combination of the aiPostProcessSteps flags. If you wish to inspect the imported scene first in order to fine-tune your post-processing setup, consider to use ApplyPostProcessing().
Returns
A pointer to the imported data, nullptr if the import failed. The pointer to the scene remains in possession of the Importer instance. Use GetOrphanedScene() to take ownership of it.
Note
Assimp is able to determine the file format of a file automatically.

◆ ReadFile() [2/2]

AI_FORCE_INLINE const aiScene * Assimp::Importer::ReadFile | ( | const std::string & | pFile,
 |  | unsigned int | pFlags
 | ) |  |

Reads the given file and returns its contents if successful.

class Importer

This function is provided for backward compatibility. See the const char* version for detailed docs.

See also
ReadFile(const char*, pFlags)

◆ ReadFileFromMemory()

const aiScene* Assimp::Importer::ReadFileFromMemory | ( | const void * | pBuffer,
 |  | size_t | pLength,
 |  | unsigned int | pFlags,
 |  | const char * | pHint = ""
 | ) |  |

Reads the given file from a memory buffer and returns its contents if successful.

If the call succeeds, the contents of the file are returned as a pointer to an aiScene object. The returned data is intended to be read-only, the importer object keeps ownership of the data and will destroy it upon destruction. If the import fails, nullptr is returned. A human-readable error description can be retrieved by calling GetErrorString(). The previous scene will be deleted during this call. Calling this method doesn't affect the active IOSystem.

Parameters
pBuffer | Pointer to the file data
pLength | Length of pBuffer, in bytes
pFlags | Optional post processing steps to be executed after a successful import. Provide a bitwise combination of the aiPostProcessSteps flags. If you wish to inspect the imported scene first in order to fine-tune your post-processing setup, consider to use ApplyPostProcessing().
pHint | An additional hint to the library. If this is a non empty string, the library looks for a loader to support the file extension specified by pHint and passes the file to the first matching loader. If this loader is unable to completely the request, the library continues and tries to determine the file format on its own, a task that may or may not be successful. Check the return value, and you'll know ...
Returns
A pointer to the imported data, nullptr if the import failed. The pointer to the scene remains in possession of the Importer instance. Use GetOrphanedScene() to take ownership of it.
Note
This is a straightforward way to decode models from memory buffers, but it doesn't handle model formats that spread their data across multiple files or even directories. Examples include OBJ or MD3, which outsource parts of their material info into external scripts. If you need full functionality, provide a custom IOSystem to make Assimp find these files and use the regular ReadFile() API.

◆ RegisterLoader()

aiReturn Assimp::Importer::RegisterLoader ( BaseImporter * pImp )

Registers a new loader.

Parameters
pImp Importer to be added. The Importer instance takes ownership of the pointer, so it will be automatically deleted with the Importer instance.
Returns
AI_SUCCESS if the loader has been added. The registration fails if there is already a loader for a specific file extension.

◆ RegisterPPStep()

aiReturn Assimp::Importer::RegisterPPStep ( BaseProcess * pImp )

Registers a new post-process step.

At the moment, there's a small limitation: new post processing steps are added to end of the list, or in other words, executed last, after all built-in steps.

Parameters
pImp Post-process step to be added. The Importer instance takes ownership of the pointer, so it will be automatically deleted with the Importer instance.
Returns
AI_SUCCESS if the step has been added correctly.

◆ SetExtraVerbose()

void Assimp::Importer::SetExtraVerbose ( bool bDo )

Enables "extra verbose" mode.

'Extra verbose' means the data structure is validated after every single post processing step to make sure everyone modifies the data structure in a well-defined manner. This is a debug feature and not intended for use in production environments.

◆ SetIOHandler()

void Assimp::Importer::SetIOHandler ( IOSystem * pIOHandler )

Supplies a custom IO handler to the importer to use to open and access files.

If you need the importer to use custom IO logic to access the files, you need to provide a custom implementation of IOSystem and IOFile to the importer. Then create an instance of your custom IOSystem implementation and supply it by this function.

The Importer takes ownership of the object and will destroy it afterwards. The previously assigned handler will be deleted. Pass nullptr to take again ownership of your IOSystem and reset Assimp to use its default implementation.

Parameters
pIOHandler The IO handler to be used in all file accesses of the Importer.

◆ SetProgressHandler()

void Assimp::Importer::SetProgressHandler ( ProgressHandler * pHandler )

Supplies a custom progress handler to the importer.

This interface exposes an #Update() callback, which is called more or less periodically (please don't sue us if it isn't as periodically as you'd like it to have ...). This can be used to implement progress bars and loading timeouts.

Parameters
pHandler Progress callback interface. Pass nullptr to disable progress reporting.
Note
Progress handlers can be used to abort the loading at almost any time.

◆ SetPropertyBool()

bool Assimp::Importer::SetPropertyBool | ( | const char * | szName,
 |  | bool | value
 | ) |  |
inline

Set a boolean configuration property.

Boolean properties are stored on the integer stack internally so it's possible to set them via SetPropertyBool and query them with GetPropertyBool and vice versa.

See also
SetPropertyInteger()

◆ SetPropertyFloat()

bool Assimp::Importer::SetPropertyFloat | ( | const char * | szName,
 |  | ai_real | fValue
 | ) |  |

Set a floating-point configuration property.

See also
SetPropertyInteger()

◆ SetPropertyInteger()

bool Assimp::Importer::SetPropertyInteger | ( | const char * | szName,
 |  | int | iValue
 | ) |  |

Set an integer configuration property.

Parameters
szName | Name of the property. All supported properties are defined in the aiConfig.g header (all constants share the prefix AI_CONFIG_XXX and are simple strings).
iValue | New value of the property
Returns
true if the property was set before. The new value replaces the previous value in this case.
Note
Property of different types (float, int, string ..) are kept on different stacks, so calling SetPropertyInteger() for a floating-point property has no effect - the loader will call GetPropertyFloat() to read the property, but it won't be there.

◆ SetPropertyMatrix()

bool Assimp::Importer::SetPropertyMatrix | ( | const char * | szName,
 |  | const aiMatrix4x4 & | sValue
 | ) |  |

Set a matrix configuration property.

See also
SetPropertyInteger()

◆ SetPropertyString()

bool Assimp::Importer::SetPropertyString | ( | const char * | szName,
 |  | const std::string & | sValue
 | ) |  |

Set a string configuration property.

See also
SetPropertyInteger()

◆ UnregisterLoader()

aiReturn Assimp::Importer::UnregisterLoader ( BaseImporter * pImp )

Unregisters a loader.

Parameters
pImp Importer to be unregistered.
Returns
AI_SUCCESS if the loader has been removed. The function fails if the loader is currently in use (this could happen if the Importer instance is used by more than one thread) or if it has not yet been registered.

◆ UnregisterPPStep()

aiReturn Assimp::Importer::UnregisterPPStep ( BaseProcess * pImp )

Unregisters a post-process step.

Parameters
pImp Step to be unregistered.
Returns
AI_SUCCESS if the step has been removed. The function fails if the step is currently in use (this could happen if the Importer instance is used by more than one thread) or if it has not yet been registered.

◆ ValidateFlags()

bool Assimp::Importer::ValidateFlags ( unsigned int pFlags ) const

Check whether a given set of post-processing flags is supported.

Some flags are mutually exclusive, others are probably not available because your excluded them from your Assimp builds. Calling this function is recommended if you're unsure.

Parameters
pFlags Bitwise combination of the aiPostProcess flags.
Returns
true if this flag combination is fine.

Member Data Documentation

◆ MaxLenHint

const unsigned int Assimp::Importer::MaxLenHint = 200
static

The upper limit for hints.

◆ pimpl

ImporterPimpl* Assimp::Importer::pimpl
protected
The documentation for this class was generated from the following file:
  • Importer.hpp
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::Interpolator< T > Struct Template Reference

  • Assimp
  • Interpolator
Public Member Functions | List of all members
Assimp::Interpolator< T > Struct Template Reference

CPP-API: Utility class to simplify interpolations of various data types. More...

Public Member Functions

void operator() (T &anim_out, const T &a, const T &b, ai_real d) const
Get the result of the interpolation between a,b. More...

Detailed Description

template<typename T>
struct Assimp::Interpolator< T >

CPP-API: Utility class to simplify interpolations of various data types.

The type of interpolation is chosen automatically depending on the types of the arguments.

Member Function Documentation

◆ operator()()

template<typename T >
void Assimp::Interpolator< T >::operator() | ( | T & | anim_out,
 |  | const T & | a,
 |  | const T & | b,
 |  | ai_real | d
 | ) |  | const
 inline

Get the result of the interpolation between a,b.

The interpolation algorithm depends on the type of the operands. aiQuaternion's and aiQuatKey's SLERP, the rest does a simple linear interpolation.

The documentation for this struct was generated from the following file:
  • anim.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::IOStream Class Reference

  • Assimp
  • IOStream
Public Member Functions | Protected Member Functions | List of all members
Assimp::IOStream Class Referenceabstract

CPP-API: Class to handle file I/O for C++. More...

Inherits AllocateFromAssimpHeap.

Inherited by Assimp::BlobIOStream, Assimp::DefaultIOStream, and Assimp::MemoryIOStream.

Public Member Functions

virtual size_t | FileSize () const =0
Returns filesize Returns the filesize. More...
virtual void | Flush ()=0
Flush the contents of the file buffer (for writers) See fflush() for more details. More...
virtual size_t | Read (void *pvBuffer, size_t pSize, size_t pCount)=0
Read from the file. More...
virtual aiReturn | Seek (size_t pOffset, aiOrigin pOrigin)=0
Set the read/write cursor of the file. More...
virtual size_t | Tell () const =0
Get the current position of the read/write cursor. More...
virtual size_t | Write (const void *pvBuffer, size_t pSize, size_t pCount)=0
Write to the file. More...
virtual | ~IOStream ()
Destructor. More...

Protected Member Functions

IOStream () AI_NO_EXCEPT
Constructor protected, use IOSystem::Open() to create an instance. More...

Detailed Description

CPP-API: Class to handle file I/O for C++.

Derive an own implementation from this interface to provide custom IO handling to the Importer. If you implement this interface, be sure to also provide an implementation for IOSystem that creates instances of your custom IO class.

Constructor & Destructor Documentation

◆ IOStream()

AI_FORCE_INLINE Assimp::IOStream::IOStream ( )
protected

Constructor protected, use IOSystem::Open() to create an instance.

class IOStream

◆ ~IOStream()

AI_FORCE_INLINE Assimp::IOStream::~IOStream ( )
virtual

Destructor.

Deleting the object closes the underlying file, alternatively you may use IOSystem::Close() to release the file.

Member Function Documentation

◆ FileSize()

virtual size_t Assimp::IOStream::FileSize ( ) const
pure virtual

Returns filesize Returns the filesize.

Implemented in Assimp::BlobIOStream, Assimp::MemoryIOStream, and Assimp::DefaultIOStream.

◆ Flush()

virtual void Assimp::IOStream::Flush ( )
pure virtual

Flush the contents of the file buffer (for writers) See fflush() for more details.

Implemented in Assimp::BlobIOStream, Assimp::MemoryIOStream, and Assimp::DefaultIOStream.

◆ Read()

virtual size_t Assimp::IOStream::Read | ( | void * | pvBuffer,
 |  | size_t | pSize,
 |  | size_t | pCount
 | ) |  |
pure virtual

Read from the file.

See fread() for more details This fails for write-only files

Implemented in Assimp::BlobIOStream, Assimp::DefaultIOStream, and Assimp::MemoryIOStream.

◆ Seek()

virtual aiReturn Assimp::IOStream::Seek | ( | size_t | pOffset,
 |  | aiOrigin | pOrigin
 | ) |  |
pure virtual

Set the read/write cursor of the file.

Note that the offset is negative for aiOrigin_END. See fseek() for more details

Implemented in Assimp::BlobIOStream, Assimp::MemoryIOStream, and Assimp::DefaultIOStream.

◆ Tell()

virtual size_t Assimp::IOStream::Tell ( ) const
pure virtual

Get the current position of the read/write cursor.

See ftell() for more details

Implemented in Assimp::BlobIOStream, Assimp::MemoryIOStream, and Assimp::DefaultIOStream.

◆ Write()

virtual size_t Assimp::IOStream::Write | ( | const void * | pvBuffer,
 |  | size_t | pSize,
 |  | size_t | pCount
 | ) |  |
pure virtual

Write to the file.

See fwrite() for more details This fails for read-only files

Implemented in Assimp::MemoryIOStream, Assimp::BlobIOStream, and Assimp::DefaultIOStream.

The documentation for this class was generated from the following file:
  • IOStream.hpp
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::IOStreamBuffer< T > Class Template Reference

  • Assimp
  • IOStreamBuffer
Public Member Functions | List of all members
Assimp::IOStreamBuffer< T > Class Template Reference

Implementation of a cached stream buffer. More...

Public Member Functions

size_t | cacheSize () const
Returns the cache size. More...
bool | close ()
Will close the cached access. More...
size_t | getCurrentBlockIndex () const
Returns the current block index. More...
size_t | getFilePos () const
Returns the current file pos. More...
bool | getNextBlock (std::vector< T > &buffer)
Will read the next block. More...
bool | getNextDataLine (std::vector< T > &buffer, T continuationToken)
Will read the next line. More...
bool | getNextLine (std::vector< T > &buffer)
Will read the next line ascii or binary end line char. More...
size_t | getNumBlocks () const
Returns the number of blocks to read. More...
IOStreamBuffer (size_t cache=4096 *4096)
The class constructor. More...
bool | open (IOStream *stream)
Will open the cached access for a given stream. More...
bool | readNextBlock ()
Will read the next block. More...
size_t | size () const
Returns the file-size. More...
~IOStreamBuffer ()
The class destructor. More...

Detailed Description

template<class T>
class Assimp::IOStreamBuffer< T >

Implementation of a cached stream buffer.

Constructor & Destructor Documentation

◆ IOStreamBuffer()

template<class T >
AI_FORCE_INLINE Assimp::IOStreamBuffer< T >::IOStreamBuffer ( size_t cache = 4096 * 4096 )

The class constructor.

◆ ~IOStreamBuffer()

template<class T >
AI_FORCE_INLINE Assimp::IOStreamBuffer< T >::~IOStreamBuffer ( )

The class destructor.

Member Function Documentation

◆ cacheSize()

template<class T >
AI_FORCE_INLINE size_t Assimp::IOStreamBuffer< T >::cacheSize ( ) const

Returns the cache size.

Returns
The cache size.

◆ close()

template<class T >
AI_FORCE_INLINE bool Assimp::IOStreamBuffer< T >::close ( )

Will close the cached access.

Returns
true if successful.

◆ getCurrentBlockIndex()

template<class T >
AI_FORCE_INLINE size_t Assimp::IOStreamBuffer< T >::getCurrentBlockIndex ( ) const

Returns the current block index.

Returns
The current block index.

◆ getFilePos()

template<class T >
AI_FORCE_INLINE size_t Assimp::IOStreamBuffer< T >::getFilePos ( ) const

Returns the current file pos.

Returns
The current file pos.

◆ getNextBlock()

template<class T >
AI_FORCE_INLINE bool Assimp::IOStreamBuffer< T >::getNextBlock ( std::vector< T > & buffer )

Will read the next block.

Parameters
buffer The buffer for the next block.
Returns
true if successful.

◆ getNextDataLine()

template<class T >
AI_FORCE_INLINE bool Assimp::IOStreamBuffer< T >::getNextDataLine | ( | std::vector< T > & | buffer,
 |  | T | continuationToken
 | ) |  |

Will read the next line.

Parameters
buffer The buffer for the next line.
Returns
true if successful.

◆ getNextLine()

template<class T >
AI_FORCE_INLINE bool Assimp::IOStreamBuffer< T >::getNextLine ( std::vector< T > & buffer )

Will read the next line ascii or binary end line char.

Parameters
buffer The buffer for the next line.
Returns
true if successful.

◆ getNumBlocks()

template<class T >
AI_FORCE_INLINE size_t Assimp::IOStreamBuffer< T >::getNumBlocks ( ) const

Returns the number of blocks to read.

Returns
The number of blocks.

◆ open()

template<class T >
AI_FORCE_INLINE bool Assimp::IOStreamBuffer< T >::open ( IOStream * stream )

Will open the cached access for a given stream.

Parameters
stream The stream to cache.
Returns
true if successful.

◆ readNextBlock()

template<class T >
AI_FORCE_INLINE bool Assimp::IOStreamBuffer< T >::readNextBlock ( )

Will read the next block.

Returns
true if successful.

◆ size()

template<class T >
AI_FORCE_INLINE size_t Assimp::IOStreamBuffer< T >::size ( ) const

Returns the file-size.

Returns
The file-size.
The documentation for this class was generated from the following file:
  • IOStreamBuffer.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::IOSystem Class Reference

  • Assimp
  • IOSystem
Public Member Functions | List of all members
Assimp::IOSystem Class Referenceabstract

CPP-API: Interface to the file system. More...

Inherits AllocateFromAssimpHeap.

Inherited by Assimp::BlobIOSystem, Assimp::DefaultIOSystem, Assimp::MemoryIOSystem, and Assimp::ZipArchiveIOSystem.

Public Member Functions

virtual bool | ChangeDirectory (const std::string &path)
Will change the current directory to the given path. More...
virtual void | Close (IOStream *pFile)=0
Closes the given file and releases all resources associated with it. More...
virtual bool | ComparePaths (const char *one, const char *second) const
Compares two paths and check whether the point to identical files. More...
bool | ComparePaths (const std::string &one, const std::string &second) const
For backward compatibility. More...
virtual bool | CreateDirectory (const std::string &path)
CReates an new directory at the given path. More...
virtual const std::string & | CurrentDirectory () const
Returns the top directory from the stack. More...
virtual bool | DeleteFile (const std::string &file)
AI_FORCE_INLINE bool | Exists (const std::string &pFile) const
For backward compatibility. More...
virtual bool | Exists (const char *pFile) const =0
Tests for the existence of a file at the given path. More...
virtual char | getOsSeparator () const =0
Returns the system specific directory separator. More...
IOSystem () AI_NO_EXCEPT
Default constructor. More...
virtual IOStream * | Open (const char *pFile, const char *pMode="rb")=0
Open a new file with a given path. More...
IOStream * | Open (const std::string &pFile, const std::string &pMode=std::string("rb"))
For backward compatibility. More...
virtual bool | PopDirectory ()
Pops the top directory from the stack. More...
virtual bool | PushDirectory (const std::string &path)
Pushes a new directory onto the directory stack. More...
virtual size_t | StackSize () const
Returns the number of directories stored on the stack. More...
virtual | ~IOSystem ()
Virtual destructor. More...

Detailed Description

CPP-API: Interface to the file system.

Derive an own implementation from this interface to supply custom file handling to the importer library. If you implement this interface, you also want to supply a custom implementation for IOStream.

See also
Importer::SetIOHandler()

Constructor & Destructor Documentation

◆ IOSystem()

AI_FORCE_INLINE Assimp::IOSystem::IOSystem ( )

Default constructor.

Create an instance of your derived class and assign it to an Assimp::Importer instance by calling Importer::SetIOHandler().

◆ ~IOSystem()

AI_FORCE_INLINE Assimp::IOSystem::~IOSystem ( )
virtual

Virtual destructor.

It is safe to be called from within DLL Assimp, we're constructed on Assimp's heap.

Member Function Documentation

◆ ChangeDirectory()

AI_FORCE_INLINE bool Assimp::IOSystem::ChangeDirectory ( const std::string & path )
virtual

Will change the current directory to the given path.

Parameters
path [in] The path to change to.
Returns
True, when the directory has changed successfully.

Reimplemented in Assimp::MemoryIOSystem.

◆ Close()

virtual void Assimp::IOSystem::Close ( IOStream * pFile )
pure virtual

Closes the given file and releases all resources associated with it.

Parameters
pFile The file instance previously created by Open().

Implemented in Assimp::BlobIOSystem, Assimp::MemoryIOSystem, Assimp::DefaultIOSystem, and Assimp::ZipArchiveIOSystem.

◆ ComparePaths() [1/2]

virtual bool Assimp::IOSystem::ComparePaths | ( | const char * | one,
 |  | const char * | second
 | ) |  | const
 virtual

Compares two paths and check whether the point to identical files.

The dummy implementation of this virtual member performs a case-insensitive comparison of the given strings. The default IO system implementation uses OS mechanisms to convert relative into absolute paths, so the result can be trusted.

Parameters
one | First file
second | Second file
Returns
true if the paths point to the same file. The file needn't be existing, however.

Reimplemented in Assimp::MemoryIOSystem, and Assimp::DefaultIOSystem.

◆ ComparePaths() [2/2]

AI_FORCE_INLINE bool Assimp::IOSystem::ComparePaths | ( | const std::string & | one,
 |  | const std::string & | second
 | ) |  | const
 inline

For backward compatibility.

See also
ComparePaths(const char*, const char*)

◆ CreateDirectory()

AI_FORCE_INLINE bool Assimp::IOSystem::CreateDirectory ( const std::string & path )
virtual

CReates an new directory at the given path.

Parameters
path [in] The path to create.
Returns
True, when a directory was created. False if the directory cannot be created.

Reimplemented in Assimp::MemoryIOSystem.

◆ CurrentDirectory()

AI_FORCE_INLINE const std::string & Assimp::IOSystem::CurrentDirectory ( ) const
virtual

Returns the top directory from the stack.

Returns
The directory on the top of the stack. Returns empty when no directory was pushed to the stack.

Reimplemented in Assimp::MemoryIOSystem.

◆ DeleteFile()

AI_FORCE_INLINE bool Assimp::IOSystem::DeleteFile ( const std::string & file )
virtual

Reimplemented in Assimp::MemoryIOSystem.

◆ Exists() [1/2]

AI_FORCE_INLINE bool Assimp::IOSystem::Exists ( const std::string & pFile ) const

For backward compatibility.

See also
Exists(const char*)

◆ Exists() [2/2]

virtual bool Assimp::IOSystem::Exists ( const char * pFile ) const
pure virtual

Tests for the existence of a file at the given path.

Parameters
pFile Path to the file
Returns
true if there is a file with this path, else false.

Implemented in Assimp::BlobIOSystem, Assimp::MemoryIOSystem, Assimp::ZipArchiveIOSystem, and Assimp::DefaultIOSystem.

◆ getOsSeparator()

virtual char Assimp::IOSystem::getOsSeparator ( ) const
pure virtual

Returns the system specific directory separator.

Returns
System specific directory separator

Implemented in Assimp::BlobIOSystem, Assimp::MemoryIOSystem, Assimp::ZipArchiveIOSystem, and Assimp::DefaultIOSystem.

◆ Open() [1/2]

virtual IOStream* Assimp::IOSystem::Open | ( | const char * | pFile,
 |  | const char * | pMode = "rb"
 | ) |  |
pure virtual

Open a new file with a given path.

When the access to the file is finished, call Close() to release all associated resources (or the virtual dtor of the IOStream).

Parameters
pFile | Path to the file
pMode | Desired file I/O mode. Required are: "wb", "w", "wt", "rb", "r", "rt".
Returns
New IOStream interface allowing the lib to access the underlying file.
Note
When implementing this class to provide custom IO handling, you probably have to supply an own implementation of IOStream as well.

Implemented in Assimp::BlobIOSystem, Assimp::MemoryIOSystem, Assimp::DefaultIOSystem, and Assimp::ZipArchiveIOSystem.

◆ Open() [2/2]

AI_FORCE_INLINE IOStream * Assimp::IOSystem::Open | ( | const std::string & | pFile,
 |  | const std::string & | pMode = std::string("rb")
 | ) |  |
inline

For backward compatibility.

See also
Open(const char*, const char*)

◆ PopDirectory()

AI_FORCE_INLINE bool Assimp::IOSystem::PopDirectory ( )
virtual

Pops the top directory from the stack.

Returns
True, when a directory was on the stack. False if no directory was on the stack.

Reimplemented in Assimp::MemoryIOSystem.

◆ PushDirectory()

AI_FORCE_INLINE bool Assimp::IOSystem::PushDirectory ( const std::string & path )
virtual

Pushes a new directory onto the directory stack.

Parameters
path Path to push onto the stack.
Returns
True, when push was successful, false if path is empty.

Reimplemented in Assimp::MemoryIOSystem.

◆ StackSize()

AI_FORCE_INLINE size_t Assimp::IOSystem::StackSize ( ) const
virtual

Returns the number of directories stored on the stack.

Returns
The number of directories of the stack.

Reimplemented in Assimp::MemoryIOSystem.

The documentation for this class was generated from the following file:
  • IOSystem.hpp
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::LineSplitter Class Reference

  • Assimp
  • LineSplitter
Public Types | Public Member Functions | List of all members
Assimp::LineSplitter Class Reference

Usage: More...

Public Types

typedef size_t line_idx

Public Member Functions

line_idx | get_index () const
StreamReaderLE & get_stream ()
access the underlying stream object More...
template<size_t N>
void | get_tokens (const char *(&tokens)[N]) const
extract the start positions of N tokens from the current line More...
template<size_t N>
AI_FORCE_INLINE void | get_tokens (const char *(&tokens)[N]) const
LineSplitter (StreamReaderLE &stream, bool skip_empty_lines=true, bool trim=true)
construct from existing stream reader note: trim is always assumed true if skyp_empty_lines==true More...
LineSplitter (const LineSplitter &)=delete
LineSplitter (LineSplitter &&)=delete
bool | match_start (const char *check)
!strcmp((*this)->substr(0,strlen(check)),check) More...
operator bool () const
boolean context More...
operator line_idx () const
line indices are zero-based, empty lines are included More...
std::string | operator* () const
LineSplitter & operator++ ()
pseudo-iterator increment More...
LineSplitter & | operator++ (int)
const std::string * | operator-> () const
member access More...
LineSplitter & | operator= (const LineSplitter &)=delete
const char * | operator[] (size_t idx) const
get a pointer to the beginning of a particular token More...
void | swallow_next_increment ()
swallow the next call to ++, return the previous value. More...
~LineSplitter ()

Detailed Description

Usage:

for(LineSplitter splitter(stream);splitter;++splitter) {
if (*splitter == "hi!") {
...
}
else if (splitter->substr(0,5) == "hello") {
...
// access the third token in the line (tokens are space-separated)
if (strtol(splitter[2]) > 5) { .. }
}
ASSIMP_LOG_VERBOSE_DEBUG_F("Current line is: ", splitter.get_index());
}

Member Typedef Documentation

◆ line_idx

typedef size_t Assimp::LineSplitter::line_idx

Constructor & Destructor Documentation

◆ LineSplitter() [1/3]

AI_FORCE_INLINE Assimp::LineSplitter::LineSplitter | ( | StreamReaderLE & | stream,
 |  | bool | skip_empty_lines = true,
 |  | bool | trim = true
 | ) |  |

construct from existing stream reader note: trim is always assumed true if skyp_empty_lines==true

◆ ~LineSplitter()

AI_FORCE_INLINE Assimp::LineSplitter::~LineSplitter ( )

◆ LineSplitter() [2/3]

Assimp::LineSplitter::LineSplitter ( const LineSplitter & )
delete

◆ LineSplitter() [3/3]

Assimp::LineSplitter::LineSplitter ( LineSplitter && )
delete

Member Function Documentation

◆ get_index()

AI_FORCE_INLINE LineSplitter::line_idx Assimp::LineSplitter::get_index ( ) const

◆ get_stream()

AI_FORCE_INLINE StreamReaderLE & Assimp::LineSplitter::get_stream ( )

access the underlying stream object

◆ get_tokens() [1/2]

template<size_t N>
void Assimp::LineSplitter::get_tokens ( const char *(&) tokens[N] ) const

extract the start positions of N tokens from the current line

◆ get_tokens() [2/2]

template<size_t N>
AI_FORCE_INLINE void Assimp::LineSplitter::get_tokens ( const char *(&) tokens[N] ) const

◆ match_start()

AI_FORCE_INLINE bool Assimp::LineSplitter::match_start ( const char * check )

!strcmp((*this)->substr(0,strlen(check)),check)

◆ operator bool()

AI_FORCE_INLINE Assimp::LineSplitter::operator bool ( ) const

boolean context

◆ operator line_idx()

AI_FORCE_INLINE Assimp::LineSplitter::operator line_idx ( ) const

line indices are zero-based, empty lines are included

◆ operator*()

AI_FORCE_INLINE std::string Assimp::LineSplitter::operator* ( ) const

◆ operator++() [1/2]

AI_FORCE_INLINE LineSplitter & Assimp::LineSplitter::operator++ ( )

pseudo-iterator increment

◆ operator++() [2/2]

AI_FORCE_INLINE LineSplitter & Assimp::LineSplitter::operator++ ( int )

◆ operator->()

AI_FORCE_INLINE const std::string * Assimp::LineSplitter::operator-> ( ) const

member access

◆ operator=()

LineSplitter& Assimp::LineSplitter::operator= ( const LineSplitter & )
delete

◆ operator[]()

AI_FORCE_INLINE const char * Assimp::LineSplitter::operator[] ( size_t idx ) const

get a pointer to the beginning of a particular token

◆ swallow_next_increment()

AI_FORCE_INLINE void Assimp::LineSplitter::swallow_next_increment ( )

swallow the next call to ++, return the previous value.

The documentation for this class was generated from the following file:
  • LineSplitter.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::LogFunctions< TDeriving > Class Template Reference

  • Assimp
  • LogFunctions
Static Public Member Functions | List of all members
Assimp::LogFunctions< TDeriving > Class Template Reference

Static Public Member Functions

static void | LogDebug (const Formatter::format &message)
static void | LogDebug (const char *message)
static void | LogError (const Formatter::format &message)
static void | LogError (const char *message)
static void | LogInfo (const Formatter::format &message)
static void | LogInfo (const char *message)
static void | LogVerboseDebug (const Formatter::format &message)
static void | LogVerboseDebug (const char *message)
static void | LogWarn (const Formatter::format &message)
static void | LogWarn (const char *message)
template<typename... T>
static void | ThrowException (T &&... args)

Member Function Documentation

◆ LogDebug() [1/2]

template<class TDeriving >
static void Assimp::LogFunctions< TDeriving >::LogDebug ( const Formatter::format & message )
inlinestatic

◆ LogDebug() [2/2]

template<class TDeriving >
static void Assimp::LogFunctions< TDeriving >::LogDebug ( const char * message )
inlinestatic

◆ LogError() [1/2]

template<class TDeriving >
static void Assimp::LogFunctions< TDeriving >::LogError ( const Formatter::format & message )
inlinestatic

◆ LogError() [2/2]

template<class TDeriving >
static void Assimp::LogFunctions< TDeriving >::LogError ( const char * message )
inlinestatic

◆ LogInfo() [1/2]

template<class TDeriving >
static void Assimp::LogFunctions< TDeriving >::LogInfo ( const Formatter::format & message )
inlinestatic

◆ LogInfo() [2/2]

template<class TDeriving >
static void Assimp::LogFunctions< TDeriving >::LogInfo ( const char * message )
inlinestatic

◆ LogVerboseDebug() [1/2]

template<class TDeriving >
static void Assimp::LogFunctions< TDeriving >::LogVerboseDebug ( const Formatter::format & message )
inlinestatic

◆ LogVerboseDebug() [2/2]

template<class TDeriving >
static void Assimp::LogFunctions< TDeriving >::LogVerboseDebug ( const char * message )
inlinestatic

◆ LogWarn() [1/2]

template<class TDeriving >
static void Assimp::LogFunctions< TDeriving >::LogWarn ( const Formatter::format & message )
inlinestatic

◆ LogWarn() [2/2]

template<class TDeriving >
static void Assimp::LogFunctions< TDeriving >::LogWarn ( const char * message )
inlinestatic

◆ ThrowException()

template<class TDeriving >
template<typename... T>
static void Assimp::LogFunctions< TDeriving >::ThrowException ( T &&... args )
inlinestatic
The documentation for this class was generated from the following file:
  • LogAux.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::Logger Class Reference

  • Assimp
  • Logger
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Assimp::Logger Class Referenceabstract

CPP-API: Abstract interface for logger implementations. More...

Inherits AllocateFromAssimpHeap.

Inherited by Assimp::DefaultLogger, and Assimp::NullLogger.

Public Types

enum | ErrorSeverity { Debugging = 1, Info = 2, Warn = 4, Err = 8 }
Description for severity of a log message. More...
enum | LogSeverity { NORMAL, DEBUGGING, VERBOSE }
Log severity to describe the granularity of logging. More...

Public Member Functions

virtual bool | attachStream (LogStream *pStream, unsigned int severity=Debugging|Err|Warn|Info)=0
Attach a new log-stream. More...
void | debug (const char *message)
Writes a debug message. More...
void | debug (const std::string &message)
virtual bool | detachStream (LogStream *pStream, unsigned int severity=Debugging|Err|Warn|Info)=0
Detach a still attached stream from the logger (or modify the filter flags bits) More...
void | error (const char *message)
Writes an error message. More...
void | error (const std::string &message)
LogSeverity | getLogSeverity () const
Get the current log severity. More...
void | info (const char *message)
Writes a info message. More...
void | info (const std::string &message)
void | setLogSeverity (LogSeverity log_severity)
Set a new log severity. More...
void | verboseDebug (const char *message)
Writes a debug message. More...
void | verboseDebug (const std::string &message)
void | warn (const char *message)
Writes a warning message. More...
void | warn (const std::string &message)
virtual | ~Logger ()
Virtual destructor. More...

Protected Member Functions

Logger () AI_NO_EXCEPT
Default constructor. More...
Logger (LogSeverity severity)
Construction with a given log severity. More...
virtual void | OnDebug (const char *message)=0
Called as a request to write a specific debug message. More...
virtual void | OnError (const char *message)=0
Called as a request to write a specific error message. More...
virtual void | OnInfo (const char *message)=0
Called as a request to write a specific info message. More...
virtual void | OnVerboseDebug (const char *message)=0
Called as a request to write a specific verbose debug message. More...
virtual void | OnWarn (const char *essage)=0
Called as a request to write a specific warn message. More...

Protected Attributes

LogSeverity m_Severity

Detailed Description

CPP-API: Abstract interface for logger implementations.

Assimp provides a default implementation and uses it for almost all logging stuff ('DefaultLogger'). This class defines just basic logging behavior and is not of interest for you. Instead, take a look at #DefaultLogger.

Member Enumeration Documentation

◆ ErrorSeverity

enum Assimp::Logger::ErrorSeverity

Description for severity of a log message.

Every LogStream has a bitwise combination of these flags. A LogStream doesn't receive any messages of a specific type if it doesn't specify the corresponding ErrorSeverity flag.

Enumerator
Debugging | Debug log message.
Info | Info log message.
Warn | Warn log message.
Err | Error log message.

◆ LogSeverity

enum Assimp::Logger::LogSeverity

Log severity to describe the granularity of logging.

Enumerator
NORMAL | Normal granularity of logging.
DEBUGGING | Debug messages will be logged, but not verbose debug messages.
VERBOSE | All messages will be logged.

Constructor & Destructor Documentation

◆ ~Logger()

Assimp::Logger::~Logger ( )
inlinevirtual

Virtual destructor.

◆ Logger() [1/2]

Assimp::Logger::Logger ( )
inlineprotected

Default constructor.

◆ Logger() [2/2]

Assimp::Logger::Logger ( LogSeverity severity )
inlineexplicitprotected

Construction with a given log severity.

Member Function Documentation

◆ attachStream()

virtual bool Assimp::Logger::attachStream | ( | LogStream * | pStream,
 |  | unsigned int | severity = Debugging|Err|Warn|Info
 | ) |  |
pure virtual

Attach a new log-stream.

The logger takes ownership of the stream and is responsible for its destruction (which is done using ::delete when the logger itself is destroyed). Call detachStream to detach a stream and to gain ownership of it again.

Parameters
pStream | Log-stream to attach
severity | Message filter, specified which types of log messages are dispatched to the stream. Provide a bitwise combination of the ErrorSeverity flags.
Returns
true if the stream has been attached, false otherwise.

Implemented in Assimp::DefaultLogger, and Assimp::NullLogger.

◆ debug() [1/2]

void Assimp::Logger::debug ( const char * message )

Writes a debug message.

Parameters
message Debug message

◆ debug() [2/2]

void Assimp::Logger::debug ( const std::string & message )
inline

◆ detachStream()

virtual bool Assimp::Logger::detachStream | ( | LogStream * | pStream,
 |  | unsigned int | severity = Debugging|Err|Warn|Info
 | ) |  |
pure virtual

Detach a still attached stream from the logger (or modify the filter flags bits)

Parameters
pStream | Log-stream instance for detaching
severity | Provide a bitwise combination of the ErrorSeverity flags. This value is &~ed with the current flags of the stream, if the result is 0 the stream is detached from the Logger and the caller retakes the possession of the stream.
Returns
true if the stream has been detached, false otherwise.

Implemented in Assimp::DefaultLogger, and Assimp::NullLogger.

◆ error() [1/2]

void Assimp::Logger::error ( const char * message )

Writes an error message.

Parameters
message Error message

◆ error() [2/2]

void Assimp::Logger::error ( const std::string & message )
inline

◆ getLogSeverity()

Logger::LogSeverity Assimp::Logger::getLogSeverity ( ) const
inline

Get the current log severity.

◆ info() [1/2]

void Assimp::Logger::info ( const char * message )

Writes a info message.

Parameters
message Info message

◆ info() [2/2]

void Assimp::Logger::info ( const std::string & message )
inline

◆ OnDebug()

virtual void Assimp::Logger::OnDebug ( const char * message )
protectedpure virtual

Called as a request to write a specific debug message.

Parameters
message Debug message. Never longer than MAX_LOG_MESSAGE_LENGTH characters (excluding the '0').
Note
The message string is only valid until the scope of the function is left.

Implemented in Assimp::NullLogger.

◆ OnError()

virtual void Assimp::Logger::OnError ( const char * message )
protectedpure virtual

Called as a request to write a specific error message.

Parameters
message Error message. Never longer than MAX_LOG_MESSAGE_LENGTH characters (exluding the '0').
Note
The message string is only valid until the scope of the function is left.

Implemented in Assimp::NullLogger.

◆ OnInfo()

virtual void Assimp::Logger::OnInfo ( const char * message )
protectedpure virtual

Called as a request to write a specific info message.

Parameters
message Info message. Never longer than MAX_LOG_MESSAGE_LENGTH characters (ecxluding the '0').
Note
The message string is only valid until the scope of the function is left.

Implemented in Assimp::NullLogger.

◆ OnVerboseDebug()

virtual void Assimp::Logger::OnVerboseDebug ( const char * message )
protectedpure virtual

Called as a request to write a specific verbose debug message.

Parameters
message Debug message. Never longer than MAX_LOG_MESSAGE_LENGTH characters (excluding the '0').
Note
The message string is only valid until the scope of the function is left.

Implemented in Assimp::NullLogger.

◆ OnWarn()

virtual void Assimp::Logger::OnWarn ( const char * essage )
protectedpure virtual

Called as a request to write a specific warn message.

Parameters
message Warn message. Never longer than MAX_LOG_MESSAGE_LENGTH characters (exluding the '0').
Note
The message string is only valid until the scope of the function is left.

Implemented in Assimp::NullLogger.

◆ setLogSeverity()

void Assimp::Logger::setLogSeverity ( LogSeverity log_severity )
inline

Set a new log severity.

Parameters
log_severity New severity for logging

◆ verboseDebug() [1/2]

void Assimp::Logger::verboseDebug ( const char * message )

Writes a debug message.

Parameters
message Debug message

◆ verboseDebug() [2/2]

void Assimp::Logger::verboseDebug ( const std::string & message )
inline

◆ warn() [1/2]

void Assimp::Logger::warn ( const char * message )

Writes a warning message.

Parameters
message Warn message

◆ warn() [2/2]

void Assimp::Logger::warn ( const std::string & message )
inline

Member Data Documentation

◆ m_Severity

LogSeverity Assimp::Logger::m_Severity
protected
The documentation for this class was generated from the following file:
  • Logger.hpp
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::LogStream Class Reference

  • Assimp
  • LogStream
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
Assimp::LogStream Class Referenceabstract

CPP-API: Abstract interface for log stream implementations. More...

Inherits AllocateFromAssimpHeap.

Public Member Functions

virtual void | write (const char *message)=0
Overwrite this for your own output methods. More...
virtual | ~LogStream ()
Virtual destructor. More...

Static Public Member Functions

static LogStream * createDefaultStream (aiDefaultLogStream stream, const char *name="AssimpLog.txt", IOSystem *io=nullptr)
Creates a default log stream. More...

Protected Member Functions

LogStream () AI_NO_EXCEPT
Default constructor. More...

Detailed Description

CPP-API: Abstract interface for log stream implementations.

Several default implementations are provided, see aiDefaultLogStream for more details. Writing your own implementation of LogStream is just necessary if these are not enough for your purpose.

Constructor & Destructor Documentation

◆ LogStream()

Assimp::LogStream::LogStream ( )
inlineprotected

Default constructor.

◆ ~LogStream()

Assimp::LogStream::~LogStream ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

◆ createDefaultStream()

static LogStream* Assimp::LogStream::createDefaultStream | ( | aiDefaultLogStream | stream,
 |  | const char * | name = "AssimpLog.txt",
 |  | IOSystem * | io = nullptr
 | ) |  |
static

Creates a default log stream.

Parameters
streams | Type of the default stream
name | For aiDefaultLogStream_FILE: name of the output file
io | For aiDefaultLogStream_FILE: IOSystem to be used to open the output file. Pass nullptr for the default implementation.
Returns
New LogStream instance.

◆ write()

virtual void Assimp::LogStream::write ( const char * message )
pure virtual

Overwrite this for your own output methods.

Log messages may consist of multiple lines and you shouldn't expect a consistent formatting. If you want custom formatting (e.g. generate HTML), supply a custom instance of Logger to #DefaultLogger:set(). Usually you can expect that a log message is exactly one line and terminated with a single
character.

Parameters
message Message to be written
The documentation for this class was generated from the following file:
  • LogStream.hpp
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::MemoryIOStream Class Reference

  • Assimp
  • MemoryIOStream
Public Member Functions | List of all members
Assimp::MemoryIOStream Class Reference

Implementation of IOStream to read directly from a memory buffer. More...

Inherits Assimp::IOStream.

Public Member Functions

size_t | FileSize () const
Returns filesize Returns the filesize. More...
void | Flush ()
Flush the contents of the file buffer (for writers) See fflush() for more details. More...
MemoryIOStream (const uint8_t *buff, size_t len, bool own=false)
size_t | Read (void *pvBuffer, size_t pSize, size_t pCount)
Read from the file. More...
aiReturn | Seek (size_t pOffset, aiOrigin pOrigin)
Set the read/write cursor of the file. More...
size_t | Tell () const
Get the current position of the read/write cursor. More...
size_t | Write (const void *, size_t, size_t)
Write to the file. More...
~MemoryIOStream ()
- Public Member Functions inherited from Assimp::IOStream
virtual | ~IOStream ()
Destructor. More...

Additional Inherited Members

- Protected Member Functions inherited from Assimp::IOStream
IOStream () AI_NO_EXCEPT
Constructor protected, use IOSystem::Open() to create an instance. More...

Detailed Description

Implementation of IOStream to read directly from a memory buffer.

Constructor & Destructor Documentation

◆ MemoryIOStream()

Assimp::MemoryIOStream::MemoryIOStream | ( | const uint8_t * | buff,
 |  | size_t | len,
 |  | bool | own = false
 | ) |  |
inline

◆ ~MemoryIOStream()

Assimp::MemoryIOStream::~MemoryIOStream ( )
inline

Member Function Documentation

◆ FileSize()

size_t Assimp::MemoryIOStream::FileSize ( ) const
inlinevirtual

Returns filesize Returns the filesize.

Implements Assimp::IOStream.

◆ Flush()

void Assimp::MemoryIOStream::Flush ( )
inlinevirtual

Flush the contents of the file buffer (for writers) See fflush() for more details.

Implements Assimp::IOStream.

◆ Read()

size_t Assimp::MemoryIOStream::Read | ( | void * | pvBuffer,
 |  | size_t | pSize,
 |  | size_t | pCount
 | ) |  |
inlinevirtual

Read from the file.

See fread() for more details This fails for write-only files

Implements Assimp::IOStream.

◆ Seek()

aiReturn Assimp::MemoryIOStream::Seek | ( | size_t | pOffset,
 |  | aiOrigin | pOrigin
 | ) |  |
inlinevirtual

Set the read/write cursor of the file.

Note that the offset is negative for aiOrigin_END. See fseek() for more details

Implements Assimp::IOStream.

◆ Tell()

size_t Assimp::MemoryIOStream::Tell ( ) const
inlinevirtual

Get the current position of the read/write cursor.

See ftell() for more details

Implements Assimp::IOStream.

◆ Write()

size_t Assimp::MemoryIOStream::Write | ( | const void * | pvBuffer,
 |  | size_t | pSize,
 |  | size_t | pCount
 | ) |  |
inlinevirtual

Write to the file.

See fwrite() for more details This fails for read-only files

Implements Assimp::IOStream.

The documentation for this class was generated from the following file:
  • MemoryIOWrapper.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::MemoryIOSystem Class Reference

  • Assimp
  • MemoryIOSystem
Public Member Functions | List of all members
Assimp::MemoryIOSystem Class Reference

Dummy IO system to read from a memory buffer. More...

Inherits Assimp::IOSystem.

Public Member Functions

bool | ChangeDirectory (const std::string &path) override
Will change the current directory to the given path. More...
void | Close (IOStream *pFile) override
Closes the given file and releases all resources associated with it. More...
bool | ComparePaths (const char *one, const char *second) const override
Compare two paths. More...
bool | CreateDirectory (const std::string &path) override
CReates an new directory at the given path. More...
const std::string & | CurrentDirectory () const override
Returns the top directory from the stack. More...
bool | DeleteFile (const std::string &file) override
bool | Exists (const char *pFile) const override
Tests for the existence of a file at the given path. More...
char | getOsSeparator () const override
Returns the directory separator. More...
MemoryIOSystem (const uint8_t *buff, size_t len, IOSystem *io)
Constructor. More...
IOStream * | Open (const char *pFile, const char *pMode="rb") override
Open a new file with a given path. More...
bool | PopDirectory () override
Pops the top directory from the stack. More...
bool | PushDirectory (const std::string &path) override
Pushes a new directory onto the directory stack. More...
size_t | StackSize () const override
Returns the number of directories stored on the stack. More...
~MemoryIOSystem ()
Destructor. More...
- Public Member Functions inherited from Assimp::IOSystem
bool | ComparePaths (const std::string &one, const std::string &second) const
For backward compatibility. More...
AI_FORCE_INLINE bool | Exists (const std::string &pFile) const
For backward compatibility. More...
IOSystem () AI_NO_EXCEPT
Default constructor. More...
IOStream * | Open (const std::string &pFile, const std::string &pMode=std::string("rb"))
For backward compatibility. More...
virtual | ~IOSystem ()
Virtual destructor. More...

Detailed Description

Dummy IO system to read from a memory buffer.

Constructor & Destructor Documentation

◆ MemoryIOSystem()

Assimp::MemoryIOSystem::MemoryIOSystem | ( | const uint8_t * | buff,
 |  | size_t | len,
 |  | IOSystem * | io
 | ) |  |
inline

Constructor.

◆ ~MemoryIOSystem()

Assimp::MemoryIOSystem::~MemoryIOSystem ( )
inline

Destructor.

Member Function Documentation

◆ ChangeDirectory()

bool Assimp::MemoryIOSystem::ChangeDirectory ( const std::string & path )
inlineoverridevirtual

Will change the current directory to the given path.

Parameters
path [in] The path to change to.
Returns
True, when the directory has changed successfully.

Reimplemented from Assimp::IOSystem.

◆ Close()

void Assimp::MemoryIOSystem::Close ( IOStream * pFile )
inlineoverridevirtual

Closes the given file and releases all resources associated with it.

Implements Assimp::IOSystem.

◆ ComparePaths()

bool Assimp::MemoryIOSystem::ComparePaths | ( | const char * | one,
 |  | const char * | second
 | ) |  | const
 inlineoverridevirtual

Compare two paths.

Reimplemented from Assimp::IOSystem.

◆ CreateDirectory()

bool Assimp::MemoryIOSystem::CreateDirectory ( const std::string & path )
inlineoverridevirtual

CReates an new directory at the given path.

Parameters
path [in] The path to create.
Returns
True, when a directory was created. False if the directory cannot be created.

Reimplemented from Assimp::IOSystem.

◆ CurrentDirectory()

const std::string& Assimp::MemoryIOSystem::CurrentDirectory ( ) const
inlineoverridevirtual

Returns the top directory from the stack.

Returns
The directory on the top of the stack. Returns empty when no directory was pushed to the stack.

Reimplemented from Assimp::IOSystem.

◆ DeleteFile()

bool Assimp::MemoryIOSystem::DeleteFile ( const std::string & file )
inlineoverridevirtual

Reimplemented from Assimp::IOSystem.

◆ Exists()

bool Assimp::MemoryIOSystem::Exists ( const char * pFile ) const
inlineoverridevirtual

Tests for the existence of a file at the given path.

Implements Assimp::IOSystem.

◆ getOsSeparator()

char Assimp::MemoryIOSystem::getOsSeparator ( ) const
inlineoverridevirtual

Returns the directory separator.

Implements Assimp::IOSystem.

◆ Open()

IOStream* Assimp::MemoryIOSystem::Open | ( | const char * | pFile,
 |  | const char * | pMode = "rb"
 | ) |  |
inlineoverridevirtual

Open a new file with a given path.

Implements Assimp::IOSystem.

◆ PopDirectory()

bool Assimp::MemoryIOSystem::PopDirectory ( )
inlineoverridevirtual

Pops the top directory from the stack.

Returns
True, when a directory was on the stack. False if no directory was on the stack.

Reimplemented from Assimp::IOSystem.

◆ PushDirectory()

bool Assimp::MemoryIOSystem::PushDirectory ( const std::string & path )
inlineoverridevirtual

Pushes a new directory onto the directory stack.

Parameters
path Path to push onto the stack.
Returns
True, when push was successful, false if path is empty.

Reimplemented from Assimp::IOSystem.

◆ StackSize()

size_t Assimp::MemoryIOSystem::StackSize ( ) const
inlineoverridevirtual

Returns the number of directories stored on the stack.

Returns
The number of directories of the stack.

Reimplemented from Assimp::IOSystem.

The documentation for this class was generated from the following file:
  • MemoryIOWrapper.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::NodeAttachmentInfo Struct Reference

  • Assimp
  • NodeAttachmentInfo
Public Member Functions | Public Attributes | List of all members
Assimp::NodeAttachmentInfo Struct Reference

Public Member Functions

NodeAttachmentInfo ()
NodeAttachmentInfo (aiNode *_scene, aiNode *_attachToNode, size_t idx)

Public Attributes

aiNode * attachToNode
aiNode * node
bool | resolved
size_t | src_idx

Constructor & Destructor Documentation

◆ NodeAttachmentInfo() [1/2]

Assimp::NodeAttachmentInfo::NodeAttachmentInfo ( )
inline

◆ NodeAttachmentInfo() [2/2]

Assimp::NodeAttachmentInfo::NodeAttachmentInfo | ( | aiNode * | _scene,
 |  | aiNode * | _attachToNode,
 |  | size_t | idx
 | ) |  |
inline

Member Data Documentation

◆ attachToNode

aiNode* Assimp::NodeAttachmentInfo::attachToNode

◆ node

aiNode* Assimp::NodeAttachmentInfo::node

◆ resolved

bool Assimp::NodeAttachmentInfo::resolved

◆ src_idx

size_t Assimp::NodeAttachmentInfo::src_idx
The documentation for this struct was generated from the following file:
  • SceneCombiner.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::NodeConverter< TNodeType > Struct Template Reference

  • Assimp
  • NodeConverter
Static Public Member Functions | List of all members
Assimp::NodeConverter< TNodeType > Struct Template Reference

Static Public Member Functions

static int to_int (TNodeType &node, const char *attribName)

Member Function Documentation

◆ to_int()

template<class TNodeType >
static int Assimp::NodeConverter< TNodeType >::to_int | ( | TNodeType & | node,
 |  | const char * | attribName
 | ) |  |
inlinestatic
The documentation for this struct was generated from the following file:
  • XmlParser.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::NullLogger Class Reference

  • Assimp
  • NullLogger
Public Member Functions | List of all members
Assimp::NullLogger Class Reference

CPP-API: Empty logging implementation. More...

Inherits Assimp::Logger.

Public Member Functions

bool | attachStream (LogStream *pStream, unsigned int severity)
Detach a still attached stream from logger. More...
bool | detachStream (LogStream *pStream, unsigned int severity)
Detach a still attached stream from logger. More...
void | OnDebug (const char *message)
Logs a debug message. More...
void | OnError (const char *message)
Logs an error message. More...
void | OnInfo (const char *message)
Logs an info message. More...
void | OnVerboseDebug (const char *message)
Logs a verbose debug message. More...
void | OnWarn (const char *message)
Logs a warning message. More...
- Public Member Functions inherited from Assimp::Logger
void | debug (const char *message)
Writes a debug message. More...
void | debug (const std::string &message)
void | error (const char *message)
Writes an error message. More...
void | error (const std::string &message)
LogSeverity | getLogSeverity () const
Get the current log severity. More...
void | info (const char *message)
Writes a info message. More...
void | info (const std::string &message)
void | setLogSeverity (LogSeverity log_severity)
Set a new log severity. More...
void | verboseDebug (const char *message)
Writes a debug message. More...
void | verboseDebug (const std::string &message)
void | warn (const char *message)
Writes a warning message. More...
void | warn (const std::string &message)
virtual | ~Logger ()
Virtual destructor. More...

Additional Inherited Members

- Public Types inherited from Assimp::Logger
enum | ErrorSeverity { Debugging = 1, Info = 2, Warn = 4, Err = 8 }
Description for severity of a log message. More...
enum | LogSeverity { NORMAL, DEBUGGING, VERBOSE }
Log severity to describe the granularity of logging. More...
- Protected Member Functions inherited from Assimp::Logger
Logger () AI_NO_EXCEPT
Default constructor. More...
Logger (LogSeverity severity)
Construction with a given log severity. More...
- Protected Attributes inherited from Assimp::Logger
LogSeverity m_Severity

Detailed Description

CPP-API: Empty logging implementation.

Does nothing! Used by default if the application hasn't requested a custom logger via #DefaultLogger::set() or #DefaultLogger::create();

Member Function Documentation

◆ attachStream()

bool Assimp::NullLogger::attachStream | ( | LogStream * | pStream,
 |  | unsigned int | severity
 | ) |  |
inlinevirtual

Detach a still attached stream from logger.

Implements Assimp::Logger.

◆ detachStream()

bool Assimp::NullLogger::detachStream | ( | LogStream * | pStream,
 |  | unsigned int | severity
 | ) |  |
inlinevirtual

Detach a still attached stream from logger.

Implements Assimp::Logger.

◆ OnDebug()

void Assimp::NullLogger::OnDebug ( const char * message )
inlinevirtual

Logs a debug message.

Implements Assimp::Logger.

◆ OnError()

void Assimp::NullLogger::OnError ( const char * message )
inlinevirtual

Logs an error message.

Implements Assimp::Logger.

◆ OnInfo()

void Assimp::NullLogger::OnInfo ( const char * message )
inlinevirtual

Logs an info message.

Implements Assimp::Logger.

◆ OnVerboseDebug()

void Assimp::NullLogger::OnVerboseDebug ( const char * message )
inlinevirtual

Logs a verbose debug message.

Implements Assimp::Logger.

◆ OnWarn()

void Assimp::NullLogger::OnWarn ( const char * message )
inlinevirtual

Logs a warning message.

Implements Assimp::Logger.

The documentation for this class was generated from the following file:
  • NullLogger.hpp
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::ProgressHandler Class Reference

  • Assimp
  • ProgressHandler
Public Member Functions | Protected Member Functions | List of all members
Assimp::ProgressHandler Class Referenceabstract

CPP-API: Abstract interface for custom progress report receivers. More...

Inherits AllocateFromAssimpHeap.

Public Member Functions

virtual bool | Update (float percentage=-1.f)=0
Progress callback. More...
virtual void | UpdateFileRead (int currentStep, int numberOfSteps)
Progress callback for file loading steps. More...
virtual void | UpdateFileWrite (int currentStep, int numberOfSteps)
Progress callback for export steps. More...
virtual void | UpdatePostProcess (int currentStep, int numberOfSteps)
Progress callback for post-processing steps. More...
virtual | ~ProgressHandler ()
Virtual destructor. More...

Protected Member Functions

ProgressHandler () AI_NO_EXCEPT
Default constructor. More...

Detailed Description

CPP-API: Abstract interface for custom progress report receivers.

Each #Importer instance maintains its own ProgressHandler. The default implementation provided by Assimp doesn't do anything at all.

Constructor & Destructor Documentation

◆ ProgressHandler()

Assimp::ProgressHandler::ProgressHandler ( )
inlineprotected

Default constructor.

◆ ~ProgressHandler()

virtual Assimp::ProgressHandler::~ProgressHandler ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

◆ Update()

virtual bool Assimp::ProgressHandler::Update ( float percentage = -1.f )
pure virtual

Progress callback.

Parameters
percentage An estimate of the current loading progress, in percent. Or -1.f if such an estimate is not available.

There are restriction on what you may do from within your implementation of this method: no exceptions may be thrown and no non-const #Importer methods may be called. It is not generally possible to predict the number of callbacks fired during a single import.

Returns
Return false to abort loading at the next possible occasion (loaders and Assimp are generally allowed to perform all needed cleanup tasks prior to returning control to the caller). If the loading is aborted, #Importer::ReadFile() returns always nullptr.

◆ UpdateFileRead()

virtual void Assimp::ProgressHandler::UpdateFileRead | ( | int | currentStep,
 |  | int | numberOfSteps
 | ) |  |
inlinevirtual

Progress callback for file loading steps.

Parameters
numberOfSteps | The number of total post-processing steps
currentStep | The index of the current post-processing step that will run, or equal to numberOfSteps if all of them has finished. This number is always strictly monotone increasing, although not necessarily linearly.
Note
This is currently only used at the start and the end of the file parsing.

◆ UpdateFileWrite()

virtual void Assimp::ProgressHandler::UpdateFileWrite | ( | int | currentStep,
 |  | int | numberOfSteps
 | ) |  |
inlinevirtual

Progress callback for export steps.

Parameters
numberOfSteps | The number of total processing steps
currentStep | The index of the current post-processing step that will run, or equal to numberOfSteps if all of them has finished. This number is always strictly monotone increasing, although not necessarily linearly.

◆ UpdatePostProcess()

virtual void Assimp::ProgressHandler::UpdatePostProcess | ( | int | currentStep,
 |  | int | numberOfSteps
 | ) |  |
inlinevirtual

Progress callback for post-processing steps.

Parameters
numberOfSteps | The number of total post-processing steps
currentStep | The index of the current post-processing step that will run, or equal to numberOfSteps if all of them has finished. This number is always strictly monotone increasing, although not necessarily linearly.
The documentation for this class was generated from the following file:
  • ProgressHandler.hpp
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::SceneCombiner Class Reference

  • Assimp
  • SceneCombiner
Static Public Member Functions | List of all members
Assimp::SceneCombiner Class Reference

Static helper class providing various utilities to merge two scenes. More...

Static Public Member Functions

static void | AddNodePrefixes (aiNode *node, const char *prefix, unsigned int len)
Add a name prefix to all nodes in a scene. More...
static void | AttachToGraph (aiScene *master, std::vector< NodeAttachmentInfo > &srcList)
Attach a list of node graphs to well-defined nodes in a master graph. More...
static void | AttachToGraph (aiNode *attach, std::vector< NodeAttachmentInfo > &srcList)
static void | BuildUniqueBoneList (std::list< BoneWithHash > &asBones, std::vector< aiMesh *>::const_iterator it, std::vector< aiMesh *>::const_iterator end)
Builds a list of uniquely named bones in a mesh list. More...
static void | Copy (aiMesh **dest, const aiMesh *src)
Get a deep copy of a mesh. More...
static void | Copy (aiAnimMesh **dest, const aiAnimMesh *src)
static void | Copy (aiMaterial **dest, const aiMaterial *src)
static void | Copy (aiTexture **dest, const aiTexture *src)
static void | Copy (aiAnimation **dest, const aiAnimation *src)
static void | Copy (aiCamera **dest, const aiCamera *src)
static void | Copy (aiBone **dest, const aiBone *src)
static void | Copy (aiLight **dest, const aiLight *src)
static void | Copy (aiNodeAnim **dest, const aiNodeAnim *src)
static void | Copy (aiMeshMorphAnim **dest, const aiMeshMorphAnim *src)
static void | Copy (aiMetadata **dest, const aiMetadata *src)
static void | Copy (aiNode **dest, const aiNode *src)
static void | CopyScene (aiScene **dest, const aiScene *source, bool allocate=true)
Get a deep copy of a scene. More...
static void | CopySceneFlat (aiScene **dest, const aiScene *source)
Get a flat copy of a scene. More...
static void | MergeBones (aiMesh *out, std::vector< aiMesh *>::const_iterator it, std::vector< aiMesh *>::const_iterator end)
Merges two or more bones. More...
static void | MergeMaterials (aiMaterial **dest, std::vector< aiMaterial *>::const_iterator begin, std::vector< aiMaterial *>::const_iterator end)
Merges two or more materials. More...
static void | MergeMeshes (aiMesh **dest, unsigned int flags, std::vector< aiMesh *>::const_iterator begin, std::vector< aiMesh *>::const_iterator end)
Merges two or more meshes. More...
static void | MergeScenes (aiScene **dest, std::vector< aiScene *> &src, unsigned int flags=0)
Merges two or more scenes. More...
static void | MergeScenes (aiScene **dest, aiScene *master, std::vector< AttachmentInfo > &src, unsigned int flags=0)
Merges two or more scenes and attaches all scenes to a specific position in the node graph of the master scene. More...
static void | OffsetNodeMeshIndices (aiNode *node, unsigned int offset)
Add an offset to all mesh indices in a node graph. More...

Detailed Description

Static helper class providing various utilities to merge two scenes.

It is intended as internal utility and NOT for use by applications.

The class is currently being used by various post-processing steps and loaders (ie. LWS).

Member Function Documentation

◆ AddNodePrefixes()

static void Assimp::SceneCombiner::AddNodePrefixes | ( | aiNode * | node,
 |  | const char * | prefix,
 |  | unsigned int | len
 | ) |  |
static

Add a name prefix to all nodes in a scene.

Parameters
Current | node. This function is called recursively.
prefix | Prefix to be added to all nodes
len | STring length

◆ AttachToGraph() [1/2]

static void Assimp::SceneCombiner::AttachToGraph | ( | aiScene * | master,
 |  | std::vector< NodeAttachmentInfo > & | srcList
 | ) |  |
static

Attach a list of node graphs to well-defined nodes in a master graph.

This is a helper for MergeScenes()

Parameters
master | Master scene
srcList | List of source scenes along with their attachment points. If an attachment point is nullptr (or does not exist in the master graph), a scene is attached to the root of the master graph (as an additional child node) List of duplicates. If elem[n] == n the scene is not a duplicate. Otherwise elem[n] links scene n to its first occurrence.

◆ AttachToGraph() [2/2]

static void Assimp::SceneCombiner::AttachToGraph | ( | aiNode * | attach,
 |  | std::vector< NodeAttachmentInfo > & | srcList
 | ) |  |
static

◆ BuildUniqueBoneList()

static void Assimp::SceneCombiner::BuildUniqueBoneList | ( | std::list< BoneWithHash > & | asBones,
 |  | std::vector< aiMesh *>::const_iterator | it,
 |  | std::vector< aiMesh *>::const_iterator | end
 | ) |  |
static

Builds a list of uniquely named bones in a mesh list.

Parameters
asBones | Receives the output list
it | First mesh to be processed
end | Last mesh to be processed

◆ Copy() [1/12]

static void Assimp::SceneCombiner::Copy | ( | aiMesh ** | dest,
 |  | const aiMesh * | src
 | ) |  |
static

Get a deep copy of a mesh.

Parameters
dest | Receives a pointer to the destination mesh
src | Source mesh - remains unmodified.

◆ Copy() [2/12]

static void Assimp::SceneCombiner::Copy | ( | aiAnimMesh ** | dest,
 |  | const aiAnimMesh * | src
 | ) |  |
static

◆ Copy() [3/12]

static void Assimp::SceneCombiner::Copy | ( | aiMaterial ** | dest,
 |  | const aiMaterial * | src
 | ) |  |
static

◆ Copy() [4/12]

static void Assimp::SceneCombiner::Copy | ( | aiTexture ** | dest,
 |  | const aiTexture * | src
 | ) |  |
static

◆ Copy() [5/12]

static void Assimp::SceneCombiner::Copy | ( | aiAnimation ** | dest,
 |  | const aiAnimation * | src
 | ) |  |
static

◆ Copy() [6/12]

static void Assimp::SceneCombiner::Copy | ( | aiCamera ** | dest,
 |  | const aiCamera * | src
 | ) |  |
static

◆ Copy() [7/12]

static void Assimp::SceneCombiner::Copy | ( | aiBone ** | dest,
 |  | const aiBone * | src
 | ) |  |
static

◆ Copy() [8/12]

static void Assimp::SceneCombiner::Copy | ( | aiLight ** | dest,
 |  | const aiLight * | src
 | ) |  |
static

◆ Copy() [9/12]

static void Assimp::SceneCombiner::Copy | ( | aiNodeAnim ** | dest,
 |  | const aiNodeAnim * | src
 | ) |  |
static

◆ Copy() [10/12]

static void Assimp::SceneCombiner::Copy | ( | aiMeshMorphAnim ** | dest,
 |  | const aiMeshMorphAnim * | src
 | ) |  |
static

◆ Copy() [11/12]

static void Assimp::SceneCombiner::Copy | ( | aiMetadata ** | dest,
 |  | const aiMetadata * | src
 | ) |  |
static

◆ Copy() [12/12]

static void Assimp::SceneCombiner::Copy | ( | aiNode ** | dest,
 |  | const aiNode * | src
 | ) |  |
static

◆ CopyScene()

static void Assimp::SceneCombiner::CopyScene | ( | aiScene ** | dest,
 |  | const aiScene * | source,
 |  | bool | allocate = true
 | ) |  |
static

Get a deep copy of a scene.

Parameters
dest | Receives a pointer to the destination scene
src | Source scene - remains unmodified.

◆ CopySceneFlat()

static void Assimp::SceneCombiner::CopySceneFlat | ( | aiScene ** | dest,
 |  | const aiScene * | source
 | ) |  |
static

Get a flat copy of a scene.

Only the first hierarchy layer is copied. All pointer members of aiScene are shared by source and destination scene. If the pointer doesn't point to nullptr when the function is called, the existing scene is cleared and refilled.

Parameters
dest | Receives a pointer to the destination scene
src | Source scene - remains unmodified.

◆ MergeBones()

static void Assimp::SceneCombiner::MergeBones | ( | aiMesh * | out,
 |  | std::vector< aiMesh *>::const_iterator | it,
 |  | std::vector< aiMesh *>::const_iterator | end
 | ) |  |
static

Merges two or more bones.

Parameters
out | Mesh to receive the output bone list
flags | Currently no parameters
begin | First mesh to be processed
end | Points to the mesh after the last mesh to be processed

◆ MergeMaterials()

static void Assimp::SceneCombiner::MergeMaterials | ( | aiMaterial ** | dest,
 |  | std::vector< aiMaterial *>::const_iterator | begin,
 |  | std::vector< aiMaterial *>::const_iterator | end
 | ) |  |
static

Merges two or more materials.

The materials should be complementary as much as possible. In case of a property present in different materials, the first occurrence is used.

Parameters
dest | Destination material. Must be empty.
begin | First material to be processed
end | Points to the material after the last material to be processed

◆ MergeMeshes()

static void Assimp::SceneCombiner::MergeMeshes | ( | aiMesh ** | dest,
 |  | unsigned int | flags,
 |  | std::vector< aiMesh *>::const_iterator | begin,
 |  | std::vector< aiMesh *>::const_iterator | end
 | ) |  |
static

Merges two or more meshes.

The meshes should have equal vertex formats. Only components that are provided by ALL meshes will be present in the output mesh. An exception is made for VColors - they are set to black. The meshes should have the same material indices, too. The output material index is always the material index of the first mesh.

Parameters
dest | Destination mesh. Must be empty.
flags | Currently no parameters
begin | First mesh to be processed
end | Points to the mesh after the last mesh to be processed

◆ MergeScenes() [1/2]

static void Assimp::SceneCombiner::MergeScenes | ( | aiScene ** | dest,
 |  | std::vector< aiScene *> & | src,
 |  | unsigned int | flags = 0
 | ) |  |
static

Merges two or more scenes.

Parameters
dest | Receives a pointer to the destination scene. If the pointer doesn't point to nullptr when the function is called, the existing scene is cleared and refilled.
src | Non-empty list of scenes to be merged. The function deletes the input scenes afterwards. There may be duplicate scenes.
flags | Combination of the AI_INT_MERGE_SCENE flags defined above

◆ MergeScenes() [2/2]

static void Assimp::SceneCombiner::MergeScenes | ( | aiScene ** | dest,
 |  | aiScene * | master,
 |  | std::vector< AttachmentInfo > & | src,
 |  | unsigned int | flags = 0
 | ) |  |
static

Merges two or more scenes and attaches all scenes to a specific position in the node graph of the master scene.

Parameters
dest | Receives a pointer to the destination scene. If the pointer doesn't point to nullptr when the function is called, the existing scene is cleared and refilled.
master | Master scene. It will be deleted afterwards. All other scenes will be inserted in its node graph.
src | Non-empty list of scenes to be merged along with their corresponding attachment points in the master scene. The function deletes the input scenes afterwards. There may be duplicate scenes.
flags | Combination of the AI_INT_MERGE_SCENE flags defined above

◆ OffsetNodeMeshIndices()

static void Assimp::SceneCombiner::OffsetNodeMeshIndices | ( | aiNode * | node,
 |  | unsigned int | offset
 | ) |  |
static

Add an offset to all mesh indices in a node graph.

Parameters
Current | node. This function is called recursively.
offset | Offset to be added to all mesh indices
The documentation for this class was generated from the following file:
  • SceneCombiner.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::SceneHelper Struct Reference

  • Assimp
  • SceneHelper
Public Member Functions | Public Attributes | List of all members
Assimp::SceneHelper Struct Reference

Utility for SceneCombiner. More...

Public Member Functions

AI_FORCE_INLINE aiScene * operator-> () const
SceneHelper ()
SceneHelper (aiScene *_scene)

Public Attributes

std::set< unsigned int > | hashes
char | id [32]
unsigned int | idlen
aiScene * scene

Detailed Description

Utility for SceneCombiner.

Constructor & Destructor Documentation

◆ SceneHelper() [1/2]

Assimp::SceneHelper::SceneHelper ( )
inline

◆ SceneHelper() [2/2]

Assimp::SceneHelper::SceneHelper ( aiScene * _scene )
inlineexplicit

Member Function Documentation

◆ operator->()

AI_FORCE_INLINE aiScene* Assimp::SceneHelper::operator-> ( ) const
inline

Member Data Documentation

◆ hashes

std::set<unsigned int> Assimp::SceneHelper::hashes

◆ id

char Assimp::SceneHelper::id[32]

◆ idlen

unsigned int Assimp::SceneHelper::idlen

◆ scene

aiScene* Assimp::SceneHelper::scene
The documentation for this struct was generated from the following file:
  • SceneCombiner.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::SGSpatialSort Class Reference

  • Assimp
  • SGSpatialSort
Classes | Public Member Functions | Protected Attributes | List of all members
Assimp::SGSpatialSort Class Reference

Specialized version of SpatialSort to support smoothing groups This is used in by the 3DS, ASE and LWO loaders. More...

Classes

struct Entry
An entry in a spatially sorted position array. More...

Public Member Functions

void | Add (const aiVector3D &vPosition, unsigned int index, unsigned int smoothingGroup)
Add a vertex to the spatial sort. More...
void | FindPositions (const aiVector3D &pPosition, uint32_t pSG, float pRadius, std::vector< unsigned int > &poResults, bool exactMatch=false) const
Returns an iterator for all positions close to the given position. More...
void | Prepare ()
Prepare the spatial sorter for use. More...
SGSpatialSort ()
SGSpatialSort (const std::vector< aiVector3D > &vPositions)
Construction from a given face array, handling smoothing groups properly. More...
~SGSpatialSort ()
Destructor. More...

Protected Attributes

aiVector3D mPlaneNormal
Normal of the sorting plane, normalized. More...
std::vector< Entry > mPositions

Detailed Description

Specialized version of SpatialSort to support smoothing groups This is used in by the 3DS, ASE and LWO loaders.

3DS and ASE share their normal computation code in SmoothingGroups.inl, the LWO loader has its own implementation to handle all details of its file format correctly.

Constructor & Destructor Documentation

◆ SGSpatialSort() [1/2]

Assimp::SGSpatialSort::SGSpatialSort ( )

◆ SGSpatialSort() [2/2]

Assimp::SGSpatialSort::SGSpatialSort ( const std::vector< aiVector3D > & vPositions )
explicit

Construction from a given face array, handling smoothing groups properly.

◆ ~SGSpatialSort()

Assimp::SGSpatialSort::~SGSpatialSort ( )

Destructor.

Member Function Documentation

◆ Add()

void Assimp::SGSpatialSort::Add | ( | const aiVector3D & | vPosition,
 |  | unsigned int | index,
 |  | unsigned int | smoothingGroup
 | ) |  |

Add a vertex to the spatial sort.

Parameters
vPosition | Vertex position to be added
index | Index of the vrtex
smoothingGroup | SmoothingGroup for this vertex

◆ FindPositions()

void Assimp::SGSpatialSort::FindPositions | ( | const aiVector3D & | pPosition,
 |  | uint32_t | pSG,
 |  | float | pRadius,
 |  | std::vector< unsigned int > & | poResults,
 |  | bool | exactMatch = false
 | ) |  | const

Returns an iterator for all positions close to the given position.

Parameters
pPosition | The position to look for vertices.
pSG | Only included vertices with at least one shared smooth group
pRadius | Maximal distance from the position a vertex may have to be counted in.
poResults | The container to store the indices of the found positions. Will be emptied by the call so it may contain anything.
exactMatch | Specifies whether smoothing groups are bit masks (false) or integral values (true). In the latter case, a vertex cannot belong to more than one smoothing group.
Returns
An iterator to iterate over all vertices in the given area.

◆ Prepare()

void Assimp::SGSpatialSort::Prepare ( )

Prepare the spatial sorter for use.

This step runs in O(logn)

Member Data Documentation

◆ mPlaneNormal

aiVector3D Assimp::SGSpatialSort::mPlaneNormal
protected

Normal of the sorting plane, normalized.

The center is always at (0, 0, 0)

◆ mPositions

std::vector<Entry> Assimp::SGSpatialSort::mPositions
protected
The documentation for this class was generated from the following file:
  • SGSpatialSort.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::SGSpatialSort::Entry Struct Reference

  • Assimp
  • SGSpatialSort
  • Entry
Public Member Functions | Public Attributes | List of all members
Assimp::SGSpatialSort::Entry Struct Reference

An entry in a spatially sorted position array. More...

Public Member Functions

Entry () AI_NO_EXCEPT
Entry (unsigned int pIndex, const aiVector3D &pPosition, float pDistance, uint32_t pSG)
bool operator< (const Entry &e) const

Public Attributes

float | mDistance
Distance of this vertex to the sorting plane. More...
unsigned int | mIndex
The vertex referred by this entry. More...
aiVector3D mPosition
Position. More...
uint32_t | mSmoothGroups

Detailed Description

An entry in a spatially sorted position array.

Consists of a vertex index, its position and its pre-calculated distance from the reference plane

Constructor & Destructor Documentation

◆ Entry() [1/2]

Assimp::SGSpatialSort::Entry::Entry ( )
inline

◆ Entry() [2/2]

Assimp::SGSpatialSort::Entry::Entry | ( | unsigned int | pIndex,
 |  | const aiVector3D & | pPosition,
 |  | float | pDistance,
 |  | uint32_t | pSG
 | ) |  |
inline

Member Function Documentation

◆ operator<()

bool Assimp::SGSpatialSort::Entry::operator< ( const Entry & e ) const
inline

Member Data Documentation

◆ mDistance

float Assimp::SGSpatialSort::Entry::mDistance

Distance of this vertex to the sorting plane.

◆ mIndex

unsigned int Assimp::SGSpatialSort::Entry::mIndex

The vertex referred by this entry.

◆ mPosition

aiVector3D Assimp::SGSpatialSort::Entry::mPosition

Position.

◆ mSmoothGroups

uint32_t Assimp::SGSpatialSort::Entry::mSmoothGroups
The documentation for this struct was generated from the following file:
  • SGSpatialSort.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::SkeletonMeshBuilder Class Reference

  • Assimp
  • SkeletonMeshBuilder
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Assimp::SkeletonMeshBuilder Class Reference

This little helper class constructs a dummy mesh for a given scene the resembles the node hierarchy. More...

Classes

struct Face
faces More...

Public Member Functions

SkeletonMeshBuilder (aiScene *pScene, aiNode *root=nullptr, bool bKnobsOnly=false)
The constructor processes the given scene and adds a mesh there. More...

Protected Member Functions

void CreateGeometry (const aiNode *pNode)
Recursively builds a simple mesh representation for the given node and also creates a joint for the node that affects this part of the mesh. More...
aiMaterial * CreateMaterial ()
Creates a dummy material and returns it. More...
aiMesh * CreateMesh ()
Creates the mesh from the internally accumulated stuff and returns it. More...

Protected Attributes

std::vector< aiBone * > | mBones
bones More...
std::vector< Face > | mFaces
bool | mKnobsOnly
std::vector< aiVector3D > | mVertices
space to assemble the mesh data: points More...

Detailed Description

This little helper class constructs a dummy mesh for a given scene the resembles the node hierarchy.

This is useful for file formats that don't carry any mesh data but only animation data.

Constructor & Destructor Documentation

◆ SkeletonMeshBuilder()

Assimp::SkeletonMeshBuilder::SkeletonMeshBuilder | ( | aiScene * | pScene,
 |  | aiNode * | root = nullptr,
 |  | bool | bKnobsOnly = false
 | ) |  |

The constructor processes the given scene and adds a mesh there.

Does nothing if the scene already has mesh data.

Parameters
pScene | The scene for which a skeleton mesh should be constructed.
root | The node to start with. nullptr is the scene root
bKnobsOnly | Set this to true if you don't want the connectors between the knobs representing the nodes.

Member Function Documentation

◆ CreateGeometry()

void Assimp::SkeletonMeshBuilder::CreateGeometry ( const aiNode * pNode )
protected

Recursively builds a simple mesh representation for the given node and also creates a joint for the node that affects this part of the mesh.

Parameters
pNode The node to build geometry for.

◆ CreateMaterial()

aiMaterial* Assimp::SkeletonMeshBuilder::CreateMaterial ( )
protected

Creates a dummy material and returns it.

◆ CreateMesh()

aiMesh* Assimp::SkeletonMeshBuilder::CreateMesh ( )
protected

Creates the mesh from the internally accumulated stuff and returns it.

Member Data Documentation

◆ mBones

std::vector<aiBone *> Assimp::SkeletonMeshBuilder::mBones
protected

bones

◆ mFaces

std::vector<Face> Assimp::SkeletonMeshBuilder::mFaces
protected

◆ mKnobsOnly

bool Assimp::SkeletonMeshBuilder::mKnobsOnly
protected

◆ mVertices

std::vector<aiVector3D> Assimp::SkeletonMeshBuilder::mVertices
protected

space to assemble the mesh data: points

The documentation for this class was generated from the following file:
  • SkeletonMeshBuilder.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::SkeletonMeshBuilder::Face Struct Reference

  • Assimp
  • SkeletonMeshBuilder
  • Face
Public Member Functions | Public Attributes | List of all members
Assimp::SkeletonMeshBuilder::Face Struct Reference

faces More...

Public Member Functions

Face ()
Face (unsigned int p0, unsigned int p1, unsigned int p2)

Public Attributes

unsigned int mIndices [3]

Detailed Description

faces

Constructor & Destructor Documentation

◆ Face() [1/2]

Assimp::SkeletonMeshBuilder::Face::Face ( )

◆ Face() [2/2]

Assimp::SkeletonMeshBuilder::Face::Face | ( | unsigned int | p0,
 |  | unsigned int | p1,
 |  | unsigned int | p2
 | ) |  |
inline

Member Data Documentation

◆ mIndices

unsigned int Assimp::SkeletonMeshBuilder::Face::mIndices[3]
The documentation for this struct was generated from the following file:
  • SkeletonMeshBuilder.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::SmallVector< T, Capacity > Class Template Reference

  • Assimp
  • SmallVector
Public Member Functions | List of all members
Assimp::SmallVector< T, Capacity > Class Template Reference

Small vector with inplace storage. More...

Public Member Functions

T * | begin ()
Returns a pointer to the first item. More...
T * | begin () const
Returns a const pointer to the first item. More...
T * | end ()
Returns a pointer to the end. More...
T * | end () const
Returns a const pointer to the end. More...
SmallVector & | operator= (const SmallVector &)=delete
SmallVector & | operator= (SmallVector &&)=delete
void | push_back (const T &item)
Will push a new item. More...
void | resize (size_t newSize)
Will resize the vector. More...
size_t | size () const
Returns the current size of the vector. More...
SmallVector ()
The default class constructor. More...
SmallVector (const SmallVector &)=delete
SmallVector (SmallVector &&)=delete
~SmallVector ()
The class destructor. More...

Detailed Description

template<typename T, unsigned int Capacity>
class Assimp::SmallVector< T, Capacity >

Small vector with inplace storage.

Reduces heap allocations when list is shorter. It uses a small array for a dedicated size. When the growing gets bigger than this small cache a dynamic growing algorithm will be used.

Constructor & Destructor Documentation

◆ SmallVector() [1/3]

template<typename T , unsigned int Capacity>
Assimp::SmallVector< T, Capacity >::SmallVector ( )
inline

The default class constructor.

◆ ~SmallVector()

template<typename T , unsigned int Capacity>
Assimp::SmallVector< T, Capacity >::~SmallVector ( )
inline

The class destructor.

◆ SmallVector() [2/3]

template<typename T , unsigned int Capacity>
Assimp::SmallVector< T, Capacity >::SmallVector ( const SmallVector< T, Capacity > & )
delete

◆ SmallVector() [3/3]

template<typename T , unsigned int Capacity>
Assimp::SmallVector< T, Capacity >::SmallVector ( SmallVector< T, Capacity > && )
delete

Member Function Documentation

◆ begin() [1/2]

template<typename T , unsigned int Capacity>
T* Assimp::SmallVector< T, Capacity >::begin ( )
inline

Returns a pointer to the first item.

Returns
The first item as a pointer.

◆ begin() [2/2]

template<typename T , unsigned int Capacity>
T* Assimp::SmallVector< T, Capacity >::begin ( ) const
inline

Returns a const pointer to the first item.

Returns
The first item as a const pointer.

◆ end() [1/2]

template<typename T , unsigned int Capacity>
T* Assimp::SmallVector< T, Capacity >::end ( )
inline

Returns a pointer to the end.

Returns
The end as a pointer.

◆ end() [2/2]

template<typename T , unsigned int Capacity>
T* Assimp::SmallVector< T, Capacity >::end ( ) const
inline

Returns a const pointer to the end.

Returns
The end as a const pointer.

◆ operator=() [1/2]

template<typename T , unsigned int Capacity>
SmallVector& Assimp::SmallVector< T, Capacity >::operator= ( const SmallVector< T, Capacity > & )
delete

◆ operator=() [2/2]

template<typename T , unsigned int Capacity>
SmallVector& Assimp::SmallVector< T, Capacity >::operator= ( SmallVector< T, Capacity > && )
delete

◆ push_back()

template<typename T , unsigned int Capacity>
void Assimp::SmallVector< T, Capacity >::push_back ( const T & item )
inline

Will push a new item.

The capacity will grow in case of a too small capacity.

Parameters
item [in] The item to push at the end of the vector.

◆ resize()

template<typename T , unsigned int Capacity>
void Assimp::SmallVector< T, Capacity >::resize ( size_t newSize )
inline

Will resize the vector.

Parameters
newSize [in] The new size.

◆ size()

template<typename T , unsigned int Capacity>
size_t Assimp::SmallVector< T, Capacity >::size ( ) const
inline

Returns the current size of the vector.

Returns
The current size.
The documentation for this class was generated from the following file:
  • SmallVector.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::SpatialSort Class Reference

  • Assimp
  • SpatialSort
Classes | Public Member Functions | Protected Attributes | List of all members
Assimp::SpatialSort Class Reference

A little helper class to quickly find all vertices in the epsilon environment of a given position. More...

Classes

struct Entry
An entry in a spatially sorted position array. More...

Public Member Functions

void | Append (const aiVector3D *pPositions, unsigned int pNumPositions, unsigned int pElementOffset, bool pFinalize=true)
Same as Fill(), except the method appends to existing data in the SpatialSort. More...
void | Fill (const aiVector3D *pPositions, unsigned int pNumPositions, unsigned int pElementOffset, bool pFinalize=true)
Sets the input data for the SpatialSort. More...
void | Finalize ()
Finalize the spatial hash data structure. More...
void | FindIdenticalPositions (const aiVector3D &pPosition, std::vector< unsigned int > &poResults) const
Fills an array with indices of all positions identical to the given position. More...
void | FindPositions (const aiVector3D &pPosition, ai_real pRadius, std::vector< unsigned int > &poResults) const
Returns an iterator for all positions close to the given position. More...
unsigned int | GenerateMappingTable (std::vector< unsigned int > &fill, ai_real pRadius) const
Compute a table that maps each vertex ID referring to a spatially close enough position to the same output ID. More...
SpatialSort ()
SpatialSort (const aiVector3D *pPositions, unsigned int pNumPositions, unsigned int pElementOffset)
Constructs a spatially sorted representation from the given position array. More...
~SpatialSort ()
Destructor. More...

Protected Attributes

aiVector3D mPlaneNormal
Normal of the sorting plane, normalized. More...
std::vector< Entry > mPositions

Detailed Description

A little helper class to quickly find all vertices in the epsilon environment of a given position.

Construct an instance with an array of positions. The class stores the given positions by their indices and sorts them by their distance to an arbitrary chosen plane. You can then query the instance for all vertices close to a given position in an average O(log n) time, with O(n) worst case complexity when all vertices lay on the plane. The plane is chosen so that it avoids common planes in usual data sets.

Constructor & Destructor Documentation

◆ SpatialSort() [1/2]

Assimp::SpatialSort::SpatialSort ( )

◆ SpatialSort() [2/2]

Assimp::SpatialSort::SpatialSort | ( | const aiVector3D * | pPositions,
 |  | unsigned int | pNumPositions,
 |  | unsigned int | pElementOffset
 | ) |  |

Constructs a spatially sorted representation from the given position array.

Supply the positions in its layout in memory, the class will only refer to them by index.

Parameters
pPositions | Pointer to the first position vector of the array.
pNumPositions | Number of vectors to expect in that array.
pElementOffset | Offset in bytes from the beginning of one vector in memory to the beginning of the next vector.

◆ ~SpatialSort()

Assimp::SpatialSort::~SpatialSort ( )

Destructor.

Member Function Documentation

◆ Append()

void Assimp::SpatialSort::Append | ( | const aiVector3D * | pPositions,
 |  | unsigned int | pNumPositions,
 |  | unsigned int | pElementOffset,
 |  | bool | pFinalize = true
 | ) |  |

Same as Fill(), except the method appends to existing data in the SpatialSort.

◆ Fill()

void Assimp::SpatialSort::Fill | ( | const aiVector3D * | pPositions,
 |  | unsigned int | pNumPositions,
 |  | unsigned int | pElementOffset,
 |  | bool | pFinalize = true
 | ) |  |

Sets the input data for the SpatialSort.

This replaces existing data, if any. The new data receives new indices in ascending order.

Parameters
pPositions | Pointer to the first position vector of the array.
pNumPositions | Number of vectors to expect in that array.
pElementOffset | Offset in bytes from the beginning of one vector in memory to the beginning of the next vector.
pFinalize | Specifies whether the SpatialSort's internal representation is finalized after the new data has been added. Finalization is required in order to use #FindPosition() or GenerateMappingTable(). If you don't finalize yet, you can use Append() to add data from other sources.

◆ Finalize()

void Assimp::SpatialSort::Finalize ( )

Finalize the spatial hash data structure.

This can be useful after multiple calls to Append() with the pFinalize parameter set to false. This is finally required before one of FindPositions() and GenerateMappingTable() can be called to query the spatial sort.

◆ FindIdenticalPositions()

void Assimp::SpatialSort::FindIdenticalPositions | ( | const aiVector3D & | pPosition,
 |  | std::vector< unsigned int > & | poResults
 | ) |  | const

Fills an array with indices of all positions identical to the given position.

In opposite to FindPositions(), not an epsilon is used but a (very low) tolerance of four floating-point units.

Parameters
pPosition | The position to look for vertices.
poResults | The container to store the indices of the found positions. Will be emptied by the call so it may contain anything.

◆ FindPositions()

void Assimp::SpatialSort::FindPositions | ( | const aiVector3D & | pPosition,
 |  | ai_real | pRadius,
 |  | std::vector< unsigned int > & | poResults
 | ) |  | const

Returns an iterator for all positions close to the given position.

Parameters
pPosition | The position to look for vertices.
pRadius | Maximal distance from the position a vertex may have to be counted in.
poResults | The container to store the indices of the found positions. Will be emptied by the call so it may contain anything.
Returns
An iterator to iterate over all vertices in the given area.

◆ GenerateMappingTable()

unsigned int Assimp::SpatialSort::GenerateMappingTable | ( | std::vector< unsigned int > & | fill,
 |  | ai_real | pRadius
 | ) |  | const

Compute a table that maps each vertex ID referring to a spatially close enough position to the same output ID.

Output IDs are assigned in ascending order from 0...n.

Parameters
fill | Will be filled with numPositions entries.
pRadius | Maximal distance from the position a vertex may have to be counted in.
Returns
Number of unique vertices (n).

Member Data Documentation

◆ mPlaneNormal

aiVector3D Assimp::SpatialSort::mPlaneNormal
protected

Normal of the sorting plane, normalized.

The center is always at (0, 0, 0)

◆ mPositions

std::vector<Entry> Assimp::SpatialSort::mPositions
protected
The documentation for this class was generated from the following file:
  • SpatialSort.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::SpatialSort::Entry Struct Reference

  • Assimp
  • SpatialSort
  • Entry
Public Member Functions | Public Attributes | List of all members
Assimp::SpatialSort::Entry Struct Reference

An entry in a spatially sorted position array. More...

Public Member Functions

Entry () AI_NO_EXCEPT
Entry (unsigned int pIndex, const aiVector3D &pPosition, ai_real pDistance)
bool operator< (const Entry &e) const

Public Attributes

ai_real mDistance
Distance of this vertex to the sorting plane. More...
unsigned int mIndex
The vertex referred by this entry. More...
aiVector3D mPosition
Position. More...

Detailed Description

An entry in a spatially sorted position array.

Consists of a vertex index, its position and its pre-calculated distance from the reference plane

Constructor & Destructor Documentation

◆ Entry() [1/2]

Assimp::SpatialSort::Entry::Entry ( )
inline

◆ Entry() [2/2]

Assimp::SpatialSort::Entry::Entry | ( | unsigned int | pIndex,
 |  | const aiVector3D & | pPosition,
 |  | ai_real | pDistance
 | ) |  |
inline

Member Function Documentation

◆ operator<()

bool Assimp::SpatialSort::Entry::operator< ( const Entry & e ) const
inline

Member Data Documentation

◆ mDistance

ai_real Assimp::SpatialSort::Entry::mDistance

Distance of this vertex to the sorting plane.

◆ mIndex

unsigned int Assimp::SpatialSort::Entry::mIndex

The vertex referred by this entry.

◆ mPosition

aiVector3D Assimp::SpatialSort::Entry::mPosition

Position.

The documentation for this struct was generated from the following file:
  • SpatialSort.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::StandardShapes Class Reference

  • Assimp
  • StandardShapes
Static Public Member Functions | List of all members
Assimp::StandardShapes Class Reference

Helper class to generate vertex buffers for standard geometric shapes, such as cylinders, cones, boxes, spheres, elipsoids ... More...

Static Public Member Functions

static void | MakeCircle (ai_real radius, unsigned int tess, std::vector< aiVector3D > &positions)
Generates a flat circle. More...
static void | MakeCone (ai_real height, ai_real radius1, ai_real radius2, unsigned int tess, std::vector< aiVector3D > &positions, bool bOpen=false)
Generates a cone or a cylinder, either open or closed. More...
static unsigned int | MakeDodecahedron (std::vector< aiVector3D > &positions, bool polygons=false)
Generates a dodecahedron. More...
static unsigned int | MakeHexahedron (std::vector< aiVector3D > &positions, bool polygons=false)
Generates a hexahedron (cube) More...
static unsigned int | MakeIcosahedron (std::vector< aiVector3D > &positions)
Generates an icosahedron. More...
static aiMesh * | MakeMesh (const std::vector< aiVector3D > &positions, unsigned int numIndices)
Generates a mesh from an array of vertex positions. More...
static aiMesh * | MakeMesh (unsigned int(*GenerateFunc)(std::vector< aiVector3D > &))
static aiMesh * | MakeMesh (unsigned int(*GenerateFunc)(std::vector< aiVector3D > &, bool))
static aiMesh * | MakeMesh (unsigned int n, void(*GenerateFunc)(unsigned int, std::vector< aiVector3D > &))
static unsigned int | MakeOctahedron (std::vector< aiVector3D > &positions)
Generates an octahedron. More...
static void | MakeSphere (unsigned int tess, std::vector< aiVector3D > &positions)
Generates a sphere. More...
static unsigned int | MakeTetrahedron (std::vector< aiVector3D > &positions)
Generates a tetrahedron. More...

Detailed Description

Helper class to generate vertex buffers for standard geometric shapes, such as cylinders, cones, boxes, spheres, elipsoids ...

Member Function Documentation

◆ MakeCircle()

static void Assimp::StandardShapes::MakeCircle | ( | ai_real | radius,
 |  | unsigned int | tess,
 |  | std::vector< aiVector3D > & | positions
 | ) |  |
static

Generates a flat circle.

The circle is constructed in the planned formed by the x,z axes of the cartesian coordinate system.

Parameters
radius | Radius of the circle
tess | Number of segments.
positions | Receives output triangles.

◆ MakeCone()

static void Assimp::StandardShapes::MakeCone | ( | ai_real | height,
 |  | ai_real | radius1,
 |  | ai_real | radius2,
 |  | unsigned int | tess,
 |  | std::vector< aiVector3D > & | positions,
 |  | bool | bOpen = false
 | ) |  |
static

Generates a cone or a cylinder, either open or closed.

|-----| <- radius 1
__x__ <- ] ^
/ \ | height |
/ \ | Y
/ \ |
/ \ |
/______x______\ <- ] <- end cap
|-------------| <- radius 2
Parameters
height | Height of the cone
radius1 | First radius
radius2 | Second radius
tess | Number of triangles.
bOpened | true for an open cone/cylinder. An open shape has no 'end caps'
positions | Receives output triangles

◆ MakeDodecahedron()

static unsigned int Assimp::StandardShapes::MakeDodecahedron | ( | std::vector< aiVector3D > & | positions,
 |  | bool | polygons = false
 | ) |  |
static

Generates a dodecahedron.

Parameters
positions | Receives output triangles
polygons | If you pass true here pentagons will be returned
Returns
Number of vertices per face

◆ MakeHexahedron()

static unsigned int Assimp::StandardShapes::MakeHexahedron | ( | std::vector< aiVector3D > & | positions,
 |  | bool | polygons = false
 | ) |  |
static

Generates a hexahedron (cube)

Hexahedrons can be scaled on all axes.

Parameters
positions | Receives output triangles.
polygons | If you pass true here quads will be returned
Returns
Number of vertices per face

◆ MakeIcosahedron()

static unsigned int Assimp::StandardShapes::MakeIcosahedron ( std::vector< aiVector3D > & positions )
static

Generates an icosahedron.

Parameters
positions Receives output triangles.
Returns
Number of vertices per face

◆ MakeMesh() [1/4]

static aiMesh* Assimp::StandardShapes::MakeMesh | ( | const std::vector< aiVector3D > & | positions,
 |  | unsigned int | numIndices
 | ) |  |
static

Generates a mesh from an array of vertex positions.

Parameters
positions | List of vertex positions
numIndices | Number of indices per primitive
Returns
Output mesh

◆ MakeMesh() [2/4]

static aiMesh* Assimp::StandardShapes::MakeMesh ( unsigned int(*)(std::vector< aiVector3D > &) GenerateFunc )
static

◆ MakeMesh() [3/4]

static aiMesh* Assimp::StandardShapes::MakeMesh ( unsigned int(*)(std::vector< aiVector3D > &, bool) GenerateFunc )
static

◆ MakeMesh() [4/4]

static aiMesh* Assimp::StandardShapes::MakeMesh | ( | unsigned int | n,
 |  | void(*)(unsigned int, std::vector< aiVector3D > &) | GenerateFunc
 | ) |  |
static

◆ MakeOctahedron()

static unsigned int Assimp::StandardShapes::MakeOctahedron ( std::vector< aiVector3D > & positions )
static

Generates an octahedron.

Parameters
positions Receives output triangles.
Returns
Number of vertices per face

◆ MakeSphere()

static void Assimp::StandardShapes::MakeSphere | ( | unsigned int | tess,
 |  | std::vector< aiVector3D > & | positions
 | ) |  |
static

Generates a sphere.

Parameters
tess | Number of subdivions - 0 generates a octahedron
positions | Receives output triangles.

◆ MakeTetrahedron()

static unsigned int Assimp::StandardShapes::MakeTetrahedron ( std::vector< aiVector3D > & positions )
static

Generates a tetrahedron.

Parameters
positions Receives output triangles.
Returns
Number of vertices per face
The documentation for this class was generated from the following file:
  • StandardShapes.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::StreamReader< SwapEndianess, RuntimeSwitch > Class Template Reference

  • Assimp
  • StreamReader
Public Types | Public Member Functions | List of all members
Assimp::StreamReader< SwapEndianess, RuntimeSwitch > Class Template Reference

Wrapper class around IOStream to allow for consistent reading of binary data in both little and big endian format. More...

Public Types

using | diff = size_t
using | pos = size_t

Public Member Functions

void | CopyAndAdvance (void *out, size_t bytes)
Copy n bytes to an external buffer. More...
template<typename T >
T | Get ()
Generic read method. More...
int | GetCurrentPos () const
Get the current offset from the beginning of the file. More...
float | GetF4 ()
Read a float from the stream. More...
double | GetF8 ()
Read a double from the stream. More...
int8_t | GetI1 ()
Read a signed 8 bit integer from the stream. More...
int16_t | GetI2 ()
Read a signed 16 bit integer from the stream. More...
int32_t | GetI4 ()
Read an signed 32 bit integer from the stream. More...
int64_t | GetI8 ()
Read a signed 64 bit integer from the stream. More...
int8_t * | GetPtr () const
Get the current file pointer. More...
unsigned int | GetReadLimit () const
Get the current read limit in bytes. More...
size_t | GetRemainingSize () const
Get the remaining stream size (to the end of the stream) More...
size_t | GetRemainingSizeToLimit () const
Get the remaining stream size (to the current read limit). More...
uint8_t | GetU1 ()
Read a unsigned 8 bit integer from the stream. More...
uint16_t | GetU2 ()
Read a unsigned 16 bit integer from the stream. More...
uint32_t | GetU4 ()
Read an unsigned 32 bit integer from the stream. More...
uint64_t | GetU8 ()
Read a unsigned 64 bit integer from the stream. More...
void | IncPtr (intptr_t plus)
Increase the file pointer (relative seeking) More...
template<typename T >
StreamReader & | operator>> (T &f)
overload operator>> and allow chaining of >> ops. More...
void | SetCurrentPos (size_t pos)
void | SetPtr (int8_t *p)
Set current file pointer (Get it from GetPtr). More...
unsigned int | SetReadLimit (unsigned int _limit)
Setup a temporary read limit. More...
void | SkipToReadLimit ()
Skip to the read limit in bytes. More...
StreamReader (std::shared_ptr< IOStream > stream, bool le=false)
Construction from a given stream with a well-defined endianness. More...
StreamReader (IOStream *stream, bool le=false)
~StreamReader ()

Detailed Description

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
class Assimp::StreamReader< SwapEndianess, RuntimeSwitch >

Wrapper class around IOStream to allow for consistent reading of binary data in both little and big endian format.

Don't attempt to instance the template directly. Use StreamReaderLE to read from a little-endian stream and StreamReaderBE to read from a BE stream. The class expects that the endianness of any input data is known at compile-time, which should usually be true (#BaseImporter::ConvertToUTF8 implements runtime endianness conversions for text files).

XXX switch from unsigned int for size types to size_t? or ptrdiff_t?

Member Typedef Documentation

◆ diff

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
using Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::diff = size_t

◆ pos

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
using Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::pos = size_t

Constructor & Destructor Documentation

◆ StreamReader() [1/2]

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::StreamReader | ( | std::shared_ptr< IOStream > | stream,
 |  | bool | le = false
 | ) |  |
inline

Construction from a given stream with a well-defined endianness.

The StreamReader holds a permanent strong reference to the stream, which is released upon destruction.

Parameters
stream | Input stream. The stream is not restarted if its file pointer is not at 0. Instead, the stream reader reads from the current position to the end of the stream.
le | If RuntimeSwitch is true: specifies whether the stream is in little endian byte order. Otherwise the endianness information is contained in the SwapEndianess template parameter and this parameter is meaningless.

◆ StreamReader() [2/2]

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::StreamReader | ( | IOStream * | stream,
 |  | bool | le = false
 | ) |  |
inline

◆ ~StreamReader()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::~StreamReader ( )
inline

Member Function Documentation

◆ CopyAndAdvance()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::CopyAndAdvance | ( | void * | out,
 |  | size_t | bytes
 | ) |  |
inline

Copy n bytes to an external buffer.

Parameters
out | Destination for copying
bytes | Number of bytes to copy

◆ Get()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
template<typename T >
T Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::Get ( )
inline

Generic read method.

ByteSwap::Swap(T*) must be defined

◆ GetCurrentPos()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
int Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::GetCurrentPos ( ) const
inline

Get the current offset from the beginning of the file.

◆ GetF4()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
float Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::GetF4 ( )
inline

Read a float from the stream.

◆ GetF8()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
double Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::GetF8 ( )
inline

Read a double from the stream.

◆ GetI1()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
int8_t Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::GetI1 ( )
inline

Read a signed 8 bit integer from the stream.

◆ GetI2()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
int16_t Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::GetI2 ( )
inline

Read a signed 16 bit integer from the stream.

◆ GetI4()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
int32_t Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::GetI4 ( )
inline

Read an signed 32 bit integer from the stream.

◆ GetI8()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
int64_t Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::GetI8 ( )
inline

Read a signed 64 bit integer from the stream.

◆ GetPtr()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
int8_t* Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::GetPtr ( ) const
inline

Get the current file pointer.

◆ GetReadLimit()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
unsigned int Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::GetReadLimit ( ) const
inline

Get the current read limit in bytes.

Reading over this limit accidentally raises an exception.

◆ GetRemainingSize()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
size_t Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::GetRemainingSize ( ) const
inline

Get the remaining stream size (to the end of the stream)

◆ GetRemainingSizeToLimit()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
size_t Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::GetRemainingSizeToLimit ( ) const
inline

Get the remaining stream size (to the current read limit).

The return value is the remaining size of the stream if no custom read limit has been set.

◆ GetU1()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
uint8_t Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::GetU1 ( )
inline

Read a unsigned 8 bit integer from the stream.

◆ GetU2()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
uint16_t Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::GetU2 ( )
inline

Read a unsigned 16 bit integer from the stream.

◆ GetU4()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
uint32_t Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::GetU4 ( )
inline

Read an unsigned 32 bit integer from the stream.

◆ GetU8()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
uint64_t Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::GetU8 ( )
inline

Read a unsigned 64 bit integer from the stream.

◆ IncPtr()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::IncPtr ( intptr_t plus )
inline

Increase the file pointer (relative seeking)

◆ operator>>()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
template<typename T >
StreamReader& Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::operator>> ( T & f )
inline

overload operator>> and allow chaining of >> ops.

◆ SetCurrentPos()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::SetCurrentPos ( size_t pos )
inline

◆ SetPtr()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::SetPtr ( int8_t * p )
inline

Set current file pointer (Get it from GetPtr).

This is if you prefer to do pointer arithmetics on your own or want to copy large chunks of data at once.

Parameters
p The new pointer, which is validated against the size limit and buffer boundaries.

◆ SetReadLimit()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
unsigned int Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::SetReadLimit ( unsigned int _limit )
inline

Setup a temporary read limit.

Parameters
limit Maximum number of bytes to be read from the beginning of the file. Specifying UINT_MAX resets the limit to the original end of the stream. Returns the previously set limit.

◆ SkipToReadLimit()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamReader< SwapEndianess, RuntimeSwitch >::SkipToReadLimit ( )
inline

Skip to the read limit in bytes.

Reading over this limit accidentally raises an exception.

The documentation for this class was generated from the following file:
  • StreamReader.h
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > Class Template Reference

  • Assimp
  • StreamWriter
Public Member Functions | List of all members
Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > Class Template Reference

Wrapper class around IOStream to allow for consistent writing of binary data in both little and big endian format. More...

Public Member Functions

void | Flush ()
Flush the contents of the internal buffer, and the output IOStream. More...
std::size_t | GetCurrentPos () const
template<typename T >
StreamWriter & | operator<< (T f)
overload operator<< and allow chaining of MM ops. More...
template<typename T >
void | Put (T f)
Generic write method. More...
void | PutChar (char c)
Write a single character to the stream. More...
void | PutF4 (float f)
Write a float to the stream. More...
void | PutF8 (double d)
Write a double to the stream. More...
void | PutI1 (int8_t n)
Write a signed 8 bit integer to the stream. More...
void | PutI2 (int16_t n)
Write a signed 16 bit integer to the stream. More...
void | PutI4 (int32_t n)
Write an signed 32 bit integer to the stream. More...
void | PutI8 (int64_t n)
Write a signed 64 bit integer to the stream. More...
void | PutString (const aiString &s)
Write an aiString to the stream. More...
void | PutString (const std::string &s)
Write a std::string to the stream. More...
void | PutU1 (uint8_t n)
Write a unsigned 8 bit integer to the stream. More...
void | PutU2 (uint16_t n)
Write a unsigned 16 bit integer to the stream. More...
void | PutU4 (uint32_t n)
Write an unsigned 32 bit integer to the stream. More...
void | PutU8 (uint64_t n)
Write a unsigned 64 bit integer to the stream. More...
aiReturn | Seek (size_t pOffset, aiOrigin pOrigin=aiOrigin_SET)
Seek to the given offset / origin in the output IOStream. More...
void | SetCurrentPos (std::size_t new_cursor)
StreamWriter (std::shared_ptr< IOStream > stream, bool le=false)
Construction from a given stream with a well-defined endianness. More...
StreamWriter (IOStream *stream, bool le=false)
size_t | Tell ()
Tell the current position in the output IOStream. More...
~StreamWriter ()

Detailed Description

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
class Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >

Wrapper class around IOStream to allow for consistent writing of binary data in both little and big endian format.

Don't attempt to instance the template directly. Use StreamWriterLE to write to a little-endian stream and StreamWriterBE to write to a BE stream. Alternatively, there is StreamWriterAny if the endianness of the output stream is to be determined at runtime.

Constructor & Destructor Documentation

◆ StreamWriter() [1/2]

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::StreamWriter | ( | std::shared_ptr< IOStream > | stream,
 |  | bool | le = false
 | ) |  |
inline

Construction from a given stream with a well-defined endianness.

The StreamReader holds a permanent strong reference to the stream, which is released upon destruction.

Parameters
stream | Input stream. The stream is not re-seeked and writing continues at the current position of the stream cursor.
le | If RuntimeSwitch is true: specifies whether the stream is in little endian byte order. Otherwise the endianness information is defined by the SwapEndianess template parameter and this parameter is meaningless.

◆ StreamWriter() [2/2]

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::StreamWriter | ( | IOStream * | stream,
 |  | bool | le = false
 | ) |  |
inline

◆ ~StreamWriter()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::~StreamWriter ( )
inline

Member Function Documentation

◆ Flush()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::Flush ( )
inline

Flush the contents of the internal buffer, and the output IOStream.

◆ GetCurrentPos()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
std::size_t Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::GetCurrentPos ( ) const
inline

◆ operator<<()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
template<typename T >
StreamWriter& Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::operator<< ( T f )
inline

overload operator<< and allow chaining of MM ops.

◆ Put()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
template<typename T >
void Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::Put ( T f )
inline

Generic write method.

ByteSwap::Swap(T*) must be defined

◆ PutChar()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::PutChar ( char c )
inline

Write a single character to the stream.

◆ PutF4()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::PutF4 ( float f )
inline

Write a float to the stream.

◆ PutF8()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::PutF8 ( double d )
inline

Write a double to the stream.

◆ PutI1()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::PutI1 ( int8_t n )
inline

Write a signed 8 bit integer to the stream.

◆ PutI2()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::PutI2 ( int16_t n )
inline

Write a signed 16 bit integer to the stream.

◆ PutI4()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::PutI4 ( int32_t n )
inline

Write an signed 32 bit integer to the stream.

◆ PutI8()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::PutI8 ( int64_t n )
inline

Write a signed 64 bit integer to the stream.

◆ PutString() [1/2]

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::PutString ( const aiString & s )
inline

Write an aiString to the stream.

◆ PutString() [2/2]

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::PutString ( const std::string & s )
inline

Write a std::string to the stream.

◆ PutU1()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::PutU1 ( uint8_t n )
inline

Write a unsigned 8 bit integer to the stream.

◆ PutU2()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::PutU2 ( uint16_t n )
inline

Write a unsigned 16 bit integer to the stream.

◆ PutU4()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::PutU4 ( uint32_t n )
inline

Write an unsigned 32 bit integer to the stream.

◆ PutU8()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::PutU8 ( uint64_t n )
inline

Write a unsigned 64 bit integer to the stream.

◆ Seek()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
aiReturn Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::Seek | ( | size_t | pOffset,
 |  | aiOrigin | pOrigin = aiOrigin_SET
 | ) |  |
inline

Seek to the given offset / origin in the output IOStream.

Flushes the internal buffer and the output IOStream prior to seeking.

◆ SetCurrentPos()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
void Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::SetCurrentPos ( std::size_t new_cursor )
inline

◆ Tell()

template<bool SwapEndianess = false, bool RuntimeSwitch = false>
size_t Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >::Tell ( )
inline

Tell the current position in the output IOStream.

First flushes the internal buffer and the output IOStream.

The documentation for this class was generated from the following file:
  • StreamWriter.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::Subdivider Class Reference

  • Assimp
  • Subdivider
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Assimp::Subdivider Class Referenceabstract

Helper class to evaluate subdivision surfaces. More...

Public Types

enum Algorithm { CATMULL_CLARKE = 0x1 }
Enumerates all supported subvidision algorithms. More...

Public Member Functions

virtual void | Subdivide (aiMesh *mesh, aiMesh *&out, unsigned int num, bool discard_input=false)=0
Subdivide a mesh using the selected algorithm. More...
virtual void | Subdivide (aiMesh **smesh, size_t nmesh, aiMesh **out, unsigned int num, bool discard_input=false)=0
Subdivide multiple meshes using the selected algorithm. More...
virtual | ~Subdivider ()

Static Public Member Functions

static Subdivider * Create (Algorithm algo)
Create a subdivider of a specific type. More...

Detailed Description

Helper class to evaluate subdivision surfaces.

Different algorithms are provided for choice.

Member Enumeration Documentation

◆ Algorithm

enum Assimp::Subdivider::Algorithm

Enumerates all supported subvidision algorithms.

Enumerator
CATMULL_CLARKE

Constructor & Destructor Documentation

◆ ~Subdivider()

Assimp::Subdivider::~Subdivider ( )
inlinevirtual

Member Function Documentation

◆ Create()

static Subdivider* Assimp::Subdivider::Create ( Algorithm algo )
static

Create a subdivider of a specific type.

Parameters
algo Algorithm to be used for subdivision
Returns
Subdivider instance.

◆ Subdivide() [1/2]

virtual void Assimp::Subdivider::Subdivide | ( | aiMesh * | mesh,
 |  | aiMesh *& | out,
 |  | unsigned int | num,
 |  | bool | discard_input = false
 | ) |  |
pure virtual

Subdivide a mesh using the selected algorithm.

Parameters
mesh | First mesh to be subdivided. Must be in verbose format.
out | Receives the output mesh, allocated by me.
num | Number of subdivisions to perform.
discard_input | If true is passed, the input mesh is deleted after the subdivision is complete. This can improve performance because it allows the optimization to reuse the existing mesh for intermediate results.
Precondition
out!=mesh

◆ Subdivide() [2/2]

virtual void Assimp::Subdivider::Subdivide | ( | aiMesh ** | smesh,
 |  | size_t | nmesh,
 |  | aiMesh ** | out,
 |  | unsigned int | num,
 |  | bool | discard_input = false
 | ) |  |
pure virtual

Subdivide multiple meshes using the selected algorithm.

This avoids erroneous smoothing on objects consisting of multiple per-material meshes. Usually, most 3d modellers smooth on a per-object base, regardless the materials assigned to the meshes.

Parameters
smesh | Array of meshes to be subdivided. Must be in verbose format.
nmesh | Number of meshes in smesh.
out | Receives the output meshes. The array must be sufficiently large (at least nmesh elements) and may not overlap the input array. Output meshes map one-to-one to their corresponding input meshes. The meshes are allocated by the function.
discard_input | If true is passed, input meshes are deleted after the subdivision is complete. This can improve performance because it allows the optimization of reusing existing meshes for intermediate results.
num | Number of subdivisions to perform.
Precondition
nmesh != 0, smesh and out may not overlap
The documentation for this class was generated from the following file:
  • Subdivision.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::TXmlParser< TNodeType > Class Template Reference

  • Assimp
  • TXmlParser
Public Member Functions | Static Public Member Functions | List of all members
Assimp::TXmlParser< TNodeType > Class Template Reference

Public Member Functions

void | clear ()
TNodeType * | findNode (const std::string &name)
pugi::xml_document * | getDocument () const
const TNodeType | getRootNode () const
TNodeType | getRootNode ()
bool | hasNode (const std::string &name)
bool | parse (IOStream *stream)
TXmlParser ()
~TXmlParser ()

Static Public Member Functions

static bool | getBoolAttribute (XmlNode &xmlNode, const char *name, bool &val)
static bool | getDoubleAttribute (XmlNode &xmlNode, const char *name, double &val)
static bool | getFloatAttribute (XmlNode &xmlNode, const char *name, float &val)
static bool | getIntAttribute (XmlNode &xmlNode, const char *name, int &val)
static bool | getStdStrAttribute (XmlNode &xmlNode, const char *name, std::string &val)
static bool | getUIntAttribute (XmlNode &xmlNode, const char *name, unsigned int &val)
static bool | getValueAsFloat (XmlNode &node, ai_real &v)
static bool | getValueAsString (XmlNode &node, std::string &text)
static bool | hasAttribute (XmlNode &xmlNode, const char *name)
static bool | hasNode (XmlNode &node, const char *name)

Constructor & Destructor Documentation

◆ TXmlParser()

template<class TNodeType >
Assimp::TXmlParser< TNodeType >::TXmlParser ( )
inline

◆ ~TXmlParser()

template<class TNodeType >
Assimp::TXmlParser< TNodeType >::~TXmlParser ( )
inline

Member Function Documentation

◆ clear()

template<class TNodeType >
void Assimp::TXmlParser< TNodeType >::clear ( )
inline

◆ findNode()

template<class TNodeType >
TNodeType* Assimp::TXmlParser< TNodeType >::findNode ( const std::string & name )
inline

◆ getBoolAttribute()

template<class TNodeType >
static bool Assimp::TXmlParser< TNodeType >::getBoolAttribute | ( | XmlNode & | xmlNode,
 |  | const char * | name,
 |  | bool & | val
 | ) |  |
inlinestatic

◆ getDocument()

template<class TNodeType >
pugi::xml_document* Assimp::TXmlParser< TNodeType >::getDocument ( ) const
inline

◆ getDoubleAttribute()

template<class TNodeType >
static bool Assimp::TXmlParser< TNodeType >::getDoubleAttribute | ( | XmlNode & | xmlNode,
 |  | const char * | name,
 |  | double & | val
 | ) |  |
inlinestatic

◆ getFloatAttribute()

template<class TNodeType >
static bool Assimp::TXmlParser< TNodeType >::getFloatAttribute | ( | XmlNode & | xmlNode,
 |  | const char * | name,
 |  | float & | val
 | ) |  |
inlinestatic

◆ getIntAttribute()

template<class TNodeType >
static bool Assimp::TXmlParser< TNodeType >::getIntAttribute | ( | XmlNode & | xmlNode,
 |  | const char * | name,
 |  | int & | val
 | ) |  |
inlinestatic

◆ getRootNode() [1/2]

template<class TNodeType >
const TNodeType Assimp::TXmlParser< TNodeType >::getRootNode ( ) const
inline

◆ getRootNode() [2/2]

template<class TNodeType >
TNodeType Assimp::TXmlParser< TNodeType >::getRootNode ( )
inline

◆ getStdStrAttribute()

template<class TNodeType >
static bool Assimp::TXmlParser< TNodeType >::getStdStrAttribute | ( | XmlNode & | xmlNode,
 |  | const char * | name,
 |  | std::string & | val
 | ) |  |
inlinestatic

◆ getUIntAttribute()

template<class TNodeType >
static bool Assimp::TXmlParser< TNodeType >::getUIntAttribute | ( | XmlNode & | xmlNode,
 |  | const char * | name,
 |  | unsigned int & | val
 | ) |  |
inlinestatic

◆ getValueAsFloat()

template<class TNodeType >
static bool Assimp::TXmlParser< TNodeType >::getValueAsFloat | ( | XmlNode & | node,
 |  | ai_real & | v
 | ) |  |
inlinestatic

◆ getValueAsString()

template<class TNodeType >
static bool Assimp::TXmlParser< TNodeType >::getValueAsString | ( | XmlNode & | node,
 |  | std::string & | text
 | ) |  |
inlinestatic

◆ hasAttribute()

template<class TNodeType >
static bool Assimp::TXmlParser< TNodeType >::hasAttribute | ( | XmlNode & | xmlNode,
 |  | const char * | name
 | ) |  |
inlinestatic

◆ hasNode() [1/2]

template<class TNodeType >
bool Assimp::TXmlParser< TNodeType >::hasNode ( const std::string & name )
inline

◆ hasNode() [2/2]

template<class TNodeType >
static bool Assimp::TXmlParser< TNodeType >::hasNode | ( | XmlNode & | node,
 |  | const char * | name
 | ) |  |
inlinestatic

◆ parse()

template<class TNodeType >
bool Assimp::TXmlParser< TNodeType >::parse ( IOStream * stream )
inline
The documentation for this class was generated from the following file:
  • XmlParser.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::Vertex Class Reference

  • Assimp
  • Vertex
Public Member Functions | Public Attributes | Friends | List of all members
Assimp::Vertex Class Reference

Intermediate description a vertex with all possible components. More...

Public Member Functions

Vertex & | operator*= (ai_real v)
Vertex & | operator+= (const Vertex &v)
Vertex & | operator-= (const Vertex &v)
Vertex & | operator/= (ai_real v)
void | SortBack (aiMesh *out, unsigned int idx) const
Convert back to non-interleaved storage. More...
Vertex ()
Vertex (const aiMesh *msh, unsigned int idx)
Extract a particular vertex from a mesh and interleave all components. More...
Vertex (const aiAnimMesh *msh, unsigned int idx)
Extract a particular vertex from a anim mesh and interleave all components. More...

Public Attributes

aiVector3D bitangent
aiColor4D colors [AI_MAX_NUMBER_OF_COLOR_SETS]
aiVector3D normal
aiVector3D position
aiVector3D tangent
aiVector3D texcoords [AI_MAX_NUMBER_OF_TEXTURECOORDS]

Friends

Vertex | operator* (const Vertex &, ai_real)
Vertex | operator* (ai_real, const Vertex &)
Vertex | operator+ (const Vertex &, const Vertex &)
Vertex | operator- (const Vertex &, const Vertex &)
Vertex | operator/ (const Vertex &, ai_real)

Detailed Description

Intermediate description a vertex with all possible components.

Defines a full set of operators, so you may use such a 'Vertex' in basic arithmetics. All operators are applied to all vertex components equally. This is useful for stuff like interpolation or subdivision, but won't work if special handling is required for some vertex components.

Constructor & Destructor Documentation

◆ Vertex() [1/3]

Assimp::Vertex::Vertex ( )
inline

◆ Vertex() [2/3]

Assimp::Vertex::Vertex | ( | const aiMesh * | msh,
 |  | unsigned int | idx
 | ) |  |
inlineexplicit

Extract a particular vertex from a mesh and interleave all components.

◆ Vertex() [3/3]

Assimp::Vertex::Vertex | ( | const aiAnimMesh * | msh,
 |  | unsigned int | idx
 | ) |  |
inlineexplicit

Extract a particular vertex from a anim mesh and interleave all components.

Member Function Documentation

◆ operator*=()

Vertex& Assimp::Vertex::operator*= ( ai_real v )
inline

◆ operator+=()

Vertex& Assimp::Vertex::operator+= ( const Vertex & v )
inline

◆ operator-=()

Vertex& Assimp::Vertex::operator-= ( const Vertex & v )
inline

◆ operator/=()

Vertex& Assimp::Vertex::operator/= ( ai_real v )
inline

◆ SortBack()

void Assimp::Vertex::SortBack | ( | aiMesh * | out,
 |  | unsigned int | idx
 | ) |  | const
 inline

Convert back to non-interleaved storage.

Friends And Related Function Documentation

◆ operator* [1/2]

Vertex operator* | ( | const Vertex & | v0,
 |  | ai_real | f
 | ) |  |
friend

◆ operator* [2/2]

Vertex operator* | ( | ai_real | f,
 |  | const Vertex & | v0
 | ) |  |
friend

◆ operator+

Vertex operator+ | ( | const Vertex & | v0,
 |  | const Vertex & | v1
 | ) |  |
friend

◆ operator-

Vertex operator- | ( | const Vertex & | v0,
 |  | const Vertex & | v1
 | ) |  |
friend

◆ operator/

Vertex operator/ | ( | const Vertex & | v0,
 |  | ai_real | f
 | ) |  |
friend

Member Data Documentation

◆ bitangent

aiVector3D Assimp::Vertex::bitangent

◆ colors

aiColor4D Assimp::Vertex::colors[AI_MAX_NUMBER_OF_COLOR_SETS]

◆ normal

aiVector3D Assimp::Vertex::normal

◆ position

aiVector3D Assimp::Vertex::position

◆ tangent

aiVector3D Assimp::Vertex::tangent

◆ texcoords

aiVector3D Assimp::Vertex::texcoords[AI_MAX_NUMBER_OF_TEXTURECOORDS]
The documentation for this class was generated from the following file:
  • Vertex.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::XmlNodeIterator Class Reference

  • Assimp
  • XmlNodeIterator
Public Member Functions | List of all members
Assimp::XmlNodeIterator Class Reference

Public Member Functions

void | clear ()
void | collectChildrenPostOrder (XmlNode &node)
void | collectChildrenPreOrder (XmlNode &node)
bool | getNext (XmlNode &next)
bool | isEmpty () const
size_t | size () const
XmlNodeIterator (XmlNode &parent)

Constructor & Destructor Documentation

◆ XmlNodeIterator()

Assimp::XmlNodeIterator::XmlNodeIterator ( XmlNode & parent )
inline

Member Function Documentation

◆ clear()

void Assimp::XmlNodeIterator::clear ( )
inline

◆ collectChildrenPostOrder()

void Assimp::XmlNodeIterator::collectChildrenPostOrder ( XmlNode & node )
inline

◆ collectChildrenPreOrder()

void Assimp::XmlNodeIterator::collectChildrenPreOrder ( XmlNode & node )
inline

◆ getNext()

bool Assimp::XmlNodeIterator::getNext ( XmlNode & next )
inline

◆ isEmpty()

bool Assimp::XmlNodeIterator::isEmpty ( ) const
inline

◆ size()

size_t Assimp::XmlNodeIterator::size ( ) const
inline
The documentation for this class was generated from the following file:
  • XmlParser.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Assimp::ZipArchiveIOSystem Class Reference

  • Assimp
  • ZipArchiveIOSystem
Public Member Functions | Static Public Member Functions | List of all members
Assimp::ZipArchiveIOSystem Class Reference

Inherits Assimp::IOSystem.

Public Member Functions

void | Close (IOStream *pFile) override
Closes the given file and releases all resources associated with it. More...
bool | Exists (const char *pFilename) const override
Tests for the existence of a file at the given path. More...
void | getFileList (std::vector< std::string > &rFileList) const
Get the list of all files with their simplified paths Intended for use within Assimp library boundaries. More...
void | getFileListExtension (std::vector< std::string > &rFileList, const std::string &extension) const
Get the list of all files with extension (must be lowercase) Intended for use within Assimp library boundaries. More...
char | getOsSeparator () const override
Returns the system specific directory separator. More...
bool | isOpen () const
The file was opened and is a ZIP. More...
IOStream * | Open (const char *pFilename, const char *pMode="rb") override
Open a new file with a given path. More...
ZipArchiveIOSystem (IOSystem *pIOHandler, const char *pFilename, const char *pMode="r")
Open a Zip using the proffered IOSystem. More...
ZipArchiveIOSystem (IOSystem *pIOHandler, const std::string &rFilename, const char *pMode="r")
virtual | ~ZipArchiveIOSystem ()
- Public Member Functions inherited from Assimp::IOSystem
virtual bool | ChangeDirectory (const std::string &path)
Will change the current directory to the given path. More...
virtual bool | ComparePaths (const char *one, const char *second) const
Compares two paths and check whether the point to identical files. More...
bool | ComparePaths (const std::string &one, const std::string &second) const
For backward compatibility. More...
virtual bool | CreateDirectory (const std::string &path)
CReates an new directory at the given path. More...
virtual const std::string & | CurrentDirectory () const
Returns the top directory from the stack. More...
virtual bool | DeleteFile (const std::string &file)
AI_FORCE_INLINE bool | Exists (const std::string &pFile) const
For backward compatibility. More...
IOSystem () AI_NO_EXCEPT
Default constructor. More...
IOStream * | Open (const std::string &pFile, const std::string &pMode=std::string("rb"))
For backward compatibility. More...
virtual bool | PopDirectory ()
Pops the top directory from the stack. More...
virtual bool | PushDirectory (const std::string &path)
Pushes a new directory onto the directory stack. More...
virtual size_t | StackSize () const
Returns the number of directories stored on the stack. More...
virtual | ~IOSystem ()
Virtual destructor. More...

Static Public Member Functions

static bool | isZipArchive (IOSystem *pIOHandler, const char *pFilename)
static bool | isZipArchive (IOSystem *pIOHandler, const std::string &rFilename)

Constructor & Destructor Documentation

◆ ZipArchiveIOSystem() [1/2]

Assimp::ZipArchiveIOSystem::ZipArchiveIOSystem | ( | IOSystem * | pIOHandler,
 |  | const char * | pFilename,
 |  | const char * | pMode = "r"
 | ) |  |

Open a Zip using the proffered IOSystem.

◆ ZipArchiveIOSystem() [2/2]

Assimp::ZipArchiveIOSystem::ZipArchiveIOSystem | ( | IOSystem * | pIOHandler,
 |  | const std::string & | rFilename,
 |  | const char * | pMode = "r"
 | ) |  |

◆ ~ZipArchiveIOSystem()

virtual Assimp::ZipArchiveIOSystem::~ZipArchiveIOSystem ( )
virtual

Member Function Documentation

◆ Close()

void Assimp::ZipArchiveIOSystem::Close ( IOStream * pFile )
overridevirtual

Closes the given file and releases all resources associated with it.

Parameters
pFile The file instance previously created by Open().

Implements Assimp::IOSystem.

◆ Exists()

bool Assimp::ZipArchiveIOSystem::Exists ( const char * pFile ) const
overridevirtual

Tests for the existence of a file at the given path.

Parameters
pFile Path to the file
Returns
true if there is a file with this path, else false.

Implements Assimp::IOSystem.

◆ getFileList()

void Assimp::ZipArchiveIOSystem::getFileList ( std::vector< std::string > & rFileList ) const

Get the list of all files with their simplified paths Intended for use within Assimp library boundaries.

◆ getFileListExtension()

void Assimp::ZipArchiveIOSystem::getFileListExtension | ( | std::vector< std::string > & | rFileList,
 |  | const std::string & | extension
 | ) |  | const

Get the list of all files with extension (must be lowercase) Intended for use within Assimp library boundaries.

◆ getOsSeparator()

char Assimp::ZipArchiveIOSystem::getOsSeparator ( ) const
overridevirtual

Returns the system specific directory separator.

Returns
System specific directory separator

Implements Assimp::IOSystem.

◆ isOpen()

bool Assimp::ZipArchiveIOSystem::isOpen ( ) const

The file was opened and is a ZIP.

◆ isZipArchive() [1/2]

static bool Assimp::ZipArchiveIOSystem::isZipArchive | ( | IOSystem * | pIOHandler,
 |  | const char * | pFilename
 | ) |  |
static

◆ isZipArchive() [2/2]

static bool Assimp::ZipArchiveIOSystem::isZipArchive | ( | IOSystem * | pIOHandler,
 |  | const std::string & | rFilename
 | ) |  |
static

◆ Open()

IOStream* Assimp::ZipArchiveIOSystem::Open | ( | const char * | pFile,
 |  | const char * | pMode = "rb"
 | ) |  |
overridevirtual

Open a new file with a given path.

When the access to the file is finished, call Close() to release all associated resources (or the virtual dtor of the IOStream).

Parameters
pFile | Path to the file
pMode | Desired file I/O mode. Required are: "wb", "w", "wt", "rb", "r", "rt".
Returns
New IOStream interface allowing the lib to access the underlying file.
Note
When implementing this class to provide custom IO handling, you probably have to supply an own implementation of IOStream as well.

Implements Assimp::IOSystem.

The documentation for this class was generated from the following file:
  • ZipArchiveIOSystem.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: _IEEEDouble Union Reference

Public Attributes | List of all members
_IEEEDouble Union Reference

Data structure to represent the bit pattern of a 64 Bit IEEE 754 floating-point number. More...

Public Attributes

double Double
struct {
uint64_t Exp: 11
uint64_t Frac: 52
uint64_t Sign: 1
} IEEE

Detailed Description

Data structure to represent the bit pattern of a 64 Bit IEEE 754 floating-point number.

Member Data Documentation

◆ Double

double _IEEEDouble::Double

◆ Exp

uint64_t _IEEEDouble::Exp

◆ Frac

uint64_t _IEEEDouble::Frac

◆ IEEE

struct { ... } _IEEEDouble::IEEE

◆ Sign

uint64_t _IEEEDouble::Sign
The documentation for this union was generated from the following file:
  • qnan.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: _IEEESingle Union Reference

Public Attributes | List of all members
_IEEESingle Union Reference

Data structure to represent the bit pattern of a 32 Bit IEEE 754 floating-point number. More...

Public Attributes

float Float
struct {
uint32_t Exp: 8
uint32_t Frac: 23
uint32_t Sign: 1
} IEEE

Detailed Description

Data structure to represent the bit pattern of a 32 Bit IEEE 754 floating-point number.

Member Data Documentation

◆ Exp

uint32_t _IEEESingle::Exp

◆ Float

float _IEEESingle::Float

◆ Frac

uint32_t _IEEESingle::Frac

◆ IEEE

struct { ... } _IEEESingle::IEEE

◆ Sign

uint32_t _IEEESingle::Sign
The documentation for this union was generated from the following file:
  • qnan.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiAABB Struct Reference

Public Member Functions | Public Attributes | List of all members
aiAABB Struct Reference

Public Member Functions

aiAABB ()
aiAABB (const aiVector3D &min, const aiVector3D &max)
~aiAABB ()

Public Attributes

C_STRUCT aiVector3D mMax
C_STRUCT aiVector3D mMin

Constructor & Destructor Documentation

◆ aiAABB() [1/2]

aiAABB::aiAABB ( )
inline

◆ aiAABB() [2/2]

aiAABB::aiAABB | ( | const aiVector3D & | min,
 |  | const aiVector3D & | max
 | ) |  |
inline

◆ ~aiAABB()

aiAABB::~aiAABB ( )
inline

Member Data Documentation

◆ mMax

C_STRUCT aiVector3D aiAABB::mMax

◆ mMin

C_STRUCT aiVector3D aiAABB::mMin
The documentation for this struct was generated from the following file:
  • aabb.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiAnimation Struct Reference

Public Member Functions | Public Attributes | List of all members
aiAnimation Struct Reference

An animation consists of key-frame data for a number of nodes. More...

Public Member Functions

aiAnimation () AI_NO_EXCEPT
~aiAnimation ()

Public Attributes

C_STRUCT aiNodeAnim ** mChannels
The node animation channels. More...
double | mDuration
Duration of the animation in ticks. More...
C_STRUCT aiMeshAnim ** mMeshChannels
The mesh animation channels. More...
C_STRUCT aiMeshMorphAnim ** mMorphMeshChannels
The morph mesh animation channels. More...
C_STRUCT aiString mName
The name of the animation. More...
unsigned int | mNumChannels
The number of bone animation channels. More...
unsigned int | mNumMeshChannels
The number of mesh animation channels. More...
unsigned int | mNumMorphMeshChannels
The number of mesh animation channels. More...
double | mTicksPerSecond
Ticks per second. More...

Detailed Description

An animation consists of key-frame data for a number of nodes.

For each node affected by the animation a separate series of data is given.

Constructor & Destructor Documentation

◆ aiAnimation()

aiAnimation::aiAnimation ( )
inline

◆ ~aiAnimation()

aiAnimation::~aiAnimation ( )
inline

Member Data Documentation

◆ mChannels

C_STRUCT aiNodeAnim** aiAnimation::mChannels

The node animation channels.

Each channel affects a single node. The array is mNumChannels in size.

◆ mDuration

double aiAnimation::mDuration

Duration of the animation in ticks.

◆ mMeshChannels

C_STRUCT aiMeshAnim** aiAnimation::mMeshChannels

The mesh animation channels.

Each channel affects a single mesh. The array is mNumMeshChannels in size.

◆ mMorphMeshChannels

C_STRUCT aiMeshMorphAnim** aiAnimation::mMorphMeshChannels

The morph mesh animation channels.

Each channel affects a single mesh. The array is mNumMorphMeshChannels in size.

◆ mName

C_STRUCT aiString aiAnimation::mName

The name of the animation.

If the modeling package this data was exported from does support only a single animation channel, this name is usually empty (length is zero).

◆ mNumChannels

unsigned int aiAnimation::mNumChannels

The number of bone animation channels.

Each channel affects a single node.

◆ mNumMeshChannels

unsigned int aiAnimation::mNumMeshChannels

The number of mesh animation channels.

Each channel affects a single mesh and defines vertex-based animation.

◆ mNumMorphMeshChannels

unsigned int aiAnimation::mNumMorphMeshChannels

The number of mesh animation channels.

Each channel affects a single mesh and defines morphing animation.

◆ mTicksPerSecond

double aiAnimation::mTicksPerSecond

Ticks per second.

0 if not specified in the imported file

The documentation for this struct was generated from the following file:
  • anim.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiAnimMesh Struct Reference

Public Member Functions | Public Attributes | List of all members
aiAnimMesh Struct Reference

An AnimMesh is an attachment to an aiMesh stores per-vertex animations for a particular frame. More...

Public Member Functions

aiAnimMesh () AI_NO_EXCEPT
bool | HasNormals () const
Check whether the anim mesh overrides the vertex normals of its host mesh. More...
bool | HasPositions () const
Check whether the anim mesh overrides the vertex positions of its host mesh. More...
bool | HasTangentsAndBitangents () const
Check whether the anim mesh overrides the vertex tangents and bitangents of its host mesh. More...
bool | HasTextureCoords (unsigned int pIndex) const
Check whether the anim mesh overrides a particular set of texture coordinates on his host mesh. More...
bool | HasVertexColors (unsigned int pIndex) const
Check whether the anim mesh overrides a particular set of vertex colors on his host mesh. More...
~aiAnimMesh ()

Public Attributes

C_STRUCT aiVector3D * mBitangents
Replacement for aiMesh::mBitangents. More...
C_STRUCT aiColor4D * mColors [AI_MAX_NUMBER_OF_COLOR_SETS]
Replacement for aiMesh::mColors. More...
C_STRUCT aiString mName
Anim Mesh name. More...
C_STRUCT aiVector3D * mNormals
Replacement for aiMesh::mNormals. More...
unsigned int | mNumVertices
The number of vertices in the aiAnimMesh, and thus the length of all the member arrays. More...
C_STRUCT aiVector3D * mTangents
Replacement for aiMesh::mTangents. More...
C_STRUCT aiVector3D * mTextureCoords [AI_MAX_NUMBER_OF_TEXTURECOORDS]
Replacement for aiMesh::mTextureCoords. More...
C_STRUCT aiVector3D * mVertices
Replacement for aiMesh::mVertices. More...
float | mWeight
Weight of the AnimMesh. More...

Detailed Description

An AnimMesh is an attachment to an aiMesh stores per-vertex animations for a particular frame.

You may think of an aiAnimMesh as a patch for the host mesh, which replaces only certain vertex data streams at a particular time. Each mesh stores n attached attached meshes (aiMesh::mAnimMeshes). The actual relationship between the time line and anim meshes is established by aiMeshAnim, which references singular mesh attachments by their ID and binds them to a time offset.

Constructor & Destructor Documentation

◆ aiAnimMesh()

aiAnimMesh::aiAnimMesh ( )
inline

◆ ~aiAnimMesh()

aiAnimMesh::~aiAnimMesh ( )
inline

Member Function Documentation

◆ HasNormals()

bool aiAnimMesh::HasNormals ( ) const
inline

Check whether the anim mesh overrides the vertex normals of its host mesh.

◆ HasPositions()

bool aiAnimMesh::HasPositions ( ) const
inline

Check whether the anim mesh overrides the vertex positions of its host mesh.

◆ HasTangentsAndBitangents()

bool aiAnimMesh::HasTangentsAndBitangents ( ) const
inline

Check whether the anim mesh overrides the vertex tangents and bitangents of its host mesh.

As for aiMesh, tangents and bitangents always go together.

◆ HasTextureCoords()

bool aiAnimMesh::HasTextureCoords ( unsigned int pIndex ) const
inline

Check whether the anim mesh overrides a particular set of texture coordinates on his host mesh.

Parameters
pIndex 0<index<AI_MAX_NUMBER_OF_TEXTURECOORDS

◆ HasVertexColors()

bool aiAnimMesh::HasVertexColors ( unsigned int pIndex ) const
inline

Check whether the anim mesh overrides a particular set of vertex colors on his host mesh.

Parameters
pIndex 0<index<AI_MAX_NUMBER_OF_COLOR_SETS

Member Data Documentation

◆ mBitangents

C_STRUCT aiVector3D* aiAnimMesh::mBitangents

Replacement for aiMesh::mBitangents.

◆ mColors

C_STRUCT aiColor4D* aiAnimMesh::mColors[AI_MAX_NUMBER_OF_COLOR_SETS]

Replacement for aiMesh::mColors.

◆ mName

C_STRUCT aiString aiAnimMesh::mName

Anim Mesh name.

◆ mNormals

C_STRUCT aiVector3D* aiAnimMesh::mNormals

Replacement for aiMesh::mNormals.

◆ mNumVertices

unsigned int aiAnimMesh::mNumVertices

The number of vertices in the aiAnimMesh, and thus the length of all the member arrays.

This has always the same value as the mNumVertices property in the corresponding aiMesh. It is duplicated here merely to make the length of the member arrays accessible even if the aiMesh is not known, e.g. from language bindings.

◆ mTangents

C_STRUCT aiVector3D* aiAnimMesh::mTangents

Replacement for aiMesh::mTangents.

◆ mTextureCoords

C_STRUCT aiVector3D* aiAnimMesh::mTextureCoords[AI_MAX_NUMBER_OF_TEXTURECOORDS]

Replacement for aiMesh::mTextureCoords.

◆ mVertices

C_STRUCT aiVector3D* aiAnimMesh::mVertices

Replacement for aiMesh::mVertices.

If this array is non-nullptr, it must contain mNumVertices entries. The corresponding array in the host mesh must be non-nullptr as well - animation meshes may neither add or nor remove vertex components (if a replacement array is nullptr and the corresponding source array is not, the source data is taken instead)

◆ mWeight

float aiAnimMesh::mWeight

Weight of the AnimMesh.

The documentation for this struct was generated from the following file:
  • mesh.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiBone Struct Reference

Public Member Functions | Public Attributes | List of all members
aiBone Struct Reference

A single bone of a mesh. More...

Public Member Functions

aiBone () AI_NO_EXCEPT
Default constructor. More...
aiBone (const aiBone &other)
Copy constructor. More...
aiBone & | operator= (const aiBone &other)
Assignment operator. More...
bool | operator== (const aiBone &rhs) const
~aiBone ()
Destructor - deletes the array of vertex weights. More...

Public Attributes

C_STRUCT aiNode * mArmature
C_STRUCT aiString mName
The name of the bone. More...
C_STRUCT aiNode * mNode
unsigned int mNumWeights
The number of vertices affected by this bone. More...
C_STRUCT aiMatrix4x4 mOffsetMatrix
Matrix that transforms from bone space to mesh space in bind pose. More...
C_STRUCT aiVertexWeight * mWeights
The influence weights of this bone, by vertex index. More...

Detailed Description

A single bone of a mesh.

A bone has a name by which it can be found in the frame hierarchy and by which it can be addressed by animations. In addition it has a number of influences on vertices, and a matrix relating the mesh position to the position of the bone at the time of binding.

Constructor & Destructor Documentation

◆ aiBone() [1/2]

aiBone::aiBone ( )
inline

Default constructor.

◆ aiBone() [2/2]

aiBone::aiBone ( const aiBone & other )
inline

Copy constructor.

◆ ~aiBone()

aiBone::~aiBone ( )
inline

Destructor - deletes the array of vertex weights.

Member Function Documentation

◆ operator=()

aiBone& aiBone::operator= ( const aiBone & other )
inline

Assignment operator.

◆ operator==()

bool aiBone::operator== ( const aiBone & rhs ) const
inline

Member Data Documentation

◆ mArmature

C_STRUCT aiNode* aiBone::mArmature

◆ mName

C_STRUCT aiString aiBone::mName

The name of the bone.

◆ mNode

C_STRUCT aiNode* aiBone::mNode

◆ mNumWeights

unsigned int aiBone::mNumWeights

The number of vertices affected by this bone.

The maximum value for this member is AI_MAX_BONE_WEIGHTS.

◆ mOffsetMatrix

C_STRUCT aiMatrix4x4 aiBone::mOffsetMatrix

Matrix that transforms from bone space to mesh space in bind pose.

This matrix describes the position of the mesh in the local space of this bone when the skeleton was bound. Thus it can be used directly to determine a desired vertex position, given the world-space transform of the bone when animated, and the position of the vertex in mesh space.

It is sometimes called an inverse-bind matrix, or inverse bind pose matrix.

◆ mWeights

C_STRUCT aiVertexWeight* aiBone::mWeights

The influence weights of this bone, by vertex index.

The documentation for this struct was generated from the following file:
  • mesh.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiCamera Struct Reference

Public Member Functions | Public Attributes | List of all members
aiCamera Struct Reference

Helper structure to describe a virtual camera. More...

Public Member Functions

aiCamera () AI_NO_EXCEPT
void GetCameraMatrix (aiMatrix4x4 &out) const
Get a right-handed camera matrix from me. More...

Public Attributes

float | mAspect
Screen aspect ratio. More...
float | mClipPlaneFar
Distance of the far clipping plane from the camera. More...
float | mClipPlaneNear
Distance of the near clipping plane from the camera. More...
float | mHorizontalFOV
Half horizontal field of view angle, in radians. More...
C_STRUCT aiVector3D mLookAt
'LookAt' - vector of the camera coordinate system relative to the coordinate space defined by the corresponding node. More...
C_STRUCT aiString mName
The name of the camera. More...
float | mOrthographicWidth
Half horizontal orthographic width, in scene units. More...
C_STRUCT aiVector3D mPosition
Position of the camera relative to the coordinate space defined by the corresponding node. More...
C_STRUCT aiVector3D mUp
'Up' - vector of the camera coordinate system relative to the coordinate space defined by the corresponding node. More...

Detailed Description

Helper structure to describe a virtual camera.

Cameras have a representation in the node graph and can be animated. An important aspect is that the camera itself is also part of the scene-graph. This means, any values such as the look-at vector are not absolute, they're relative to the coordinate system defined by the node which corresponds to the camera. This allows for camera animations. For static cameras parameters like the 'look-at' or 'up' vectors are usually specified directly in aiCamera, but beware, they could also be encoded in the node transformation. The following (pseudo)code sample shows how to do it:

// Get the camera matrix for a camera at a specific time
// if the node hierarchy for the camera does not contain
// at least one animated node this is a static computation
get-camera-matrix (node sceneRoot, camera cam) : matrix
{
node cnd = find-node-for-camera(cam)
matrix cmt = identity()
// as usual - get the absolute camera transformation for this frame
for each node nd in hierarchy from sceneRoot to cnd
matrix cur
if (is-animated(nd))
cur = eval-animation(nd)
else cur = nd->mTransformation;
cmt = mult-matrices( cmt, cur )
end for
// now multiply with the camera's own local transform
cam = mult-matrices (cam, get-camera-matrix(cmt) )
}
Note
some file formats (such as 3DS, ASE) export a "target point" - the point the camera is looking at (it can even be animated). Assimp writes the target point as a subnode of the camera's main node, called "<camName>.Target". However this is just additional information then the transformation tracks of the camera main node make the camera already look in the right direction.

Constructor & Destructor Documentation

◆ aiCamera()

aiCamera::aiCamera ( )
inline

Member Function Documentation

◆ GetCameraMatrix()

void aiCamera::GetCameraMatrix ( aiMatrix4x4 & out ) const
inline

Get a right-handed camera matrix from me.

Parameters
out Camera matrix to be filled

todo: test ... should work, but i'm not absolutely sure

We don't know whether these vectors are already normalized ...

Member Data Documentation

◆ mAspect

float aiCamera::mAspect

Screen aspect ratio.

This is the ration between the width and the height of the screen. Typical values are 4/3, 1/2 or 1/1. This value is 0 if the aspect ratio is not defined in the source file. 0 is also the default value.

◆ mClipPlaneFar

float aiCamera::mClipPlaneFar

Distance of the far clipping plane from the camera.

The far clipping plane must, of course, be further away than the near clipping plane. The default value is 1000.f. The ratio between the near and the far plane should not be too large (between 1000-10000 should be ok) to avoid floating-point inaccuracies which could lead to z-fighting.

◆ mClipPlaneNear

float aiCamera::mClipPlaneNear

Distance of the near clipping plane from the camera.

The value may not be 0.f (for arithmetic reasons to prevent a division through zero). The default value is 0.1f.

◆ mHorizontalFOV

float aiCamera::mHorizontalFOV

Half horizontal field of view angle, in radians.

The field of view angle is the angle between the center line of the screen and the left or right border. The default value is 1/4PI.

◆ mLookAt

C_STRUCT aiVector3D aiCamera::mLookAt

'LookAt' - vector of the camera coordinate system relative to the coordinate space defined by the corresponding node.

This is the viewing direction of the user. The default value is 0|0|1. The vector may be normalized, but it needn't.

◆ mName

C_STRUCT aiString aiCamera::mName

The name of the camera.

There must be a node in the scenegraph with the same name. This node specifies the position of the camera in the scene hierarchy and can be animated.

◆ mOrthographicWidth

float aiCamera::mOrthographicWidth

Half horizontal orthographic width, in scene units.

The orthographic width specifies the half width of the orthographic view box. If non-zero the camera is orthographic and the mAspect should define to the ratio between the orthographic width and height and mHorizontalFOV should be set to 0. The default value is 0 (not orthographic).

◆ mPosition

C_STRUCT aiVector3D aiCamera::mPosition

Position of the camera relative to the coordinate space defined by the corresponding node.

The default value is 0|0|0.

◆ mUp

C_STRUCT aiVector3D aiCamera::mUp

'Up' - vector of the camera coordinate system relative to the coordinate space defined by the corresponding node.

The 'right' vector of the camera coordinate system is the cross product of the up and lookAt vectors. The default value is 0|1|0. The vector may be normalized, but it needn't.

The documentation for this struct was generated from the following file:
  • camera.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiColor3D Struct Reference

Public Member Functions | Public Attributes | List of all members
aiColor3D Struct Reference

Represents a color in Red-Green-Blue space. More...

Public Member Functions

aiColor3D () AI_NO_EXCEPT
aiColor3D (ai_real _r, ai_real _g, ai_real _b)
aiColor3D (ai_real _r)
aiColor3D (const aiColor3D &o)
bool | IsBlack () const
Check whether a color is black. More...
bool | operator!= (const aiColor3D &other) const
Component-wise inverse comparison. More...
aiColor3D | operator* (const aiColor3D &c) const
Component-wise multiplication. More...
aiColor3D | operator* (ai_real f) const
Multiply with a scalar. More...
aiColor3D | operator+ (const aiColor3D &c) const
Component-wise addition. More...
aiColor3D | operator- (const aiColor3D &c) const
Component-wise subtraction. More...
bool | operator< (const aiColor3D &other) const
Component-wise comparison. More...
aiColor3D & | operator= (const aiColor3D &o)
bool | operator== (const aiColor3D &other) const
Component-wise comparison. More...
ai_real | operator[] (unsigned int i) const
Access a specific color component. More...
ai_real & | operator[] (unsigned int i)
Access a specific color component. More...

Public Attributes

ai_real b
ai_real g
ai_real r
Red, green and blue color values. More...

Detailed Description

Represents a color in Red-Green-Blue space.

Constructor & Destructor Documentation

◆ aiColor3D() [1/4]

aiColor3D::aiColor3D ( )
inline

◆ aiColor3D() [2/4]

aiColor3D::aiColor3D | ( | ai_real | _r,
 |  | ai_real | _g,
 |  | ai_real | _b
 | ) |  |
inline

◆ aiColor3D() [3/4]

aiColor3D::aiColor3D ( ai_real _r )
inlineexplicit

◆ aiColor3D() [4/4]

aiColor3D::aiColor3D ( const aiColor3D & o )
inline

Member Function Documentation

◆ IsBlack()

bool aiColor3D::IsBlack ( ) const
inline

Check whether a color is black.

◆ operator!=()

bool aiColor3D::operator!= ( const aiColor3D & other ) const
inline

Component-wise inverse comparison.

◆ operator*() [1/2]

aiColor3D aiColor3D::operator* ( const aiColor3D & c ) const
inline

Component-wise multiplication.

◆ operator*() [2/2]

aiColor3D aiColor3D::operator* ( ai_real f ) const
inline

Multiply with a scalar.

◆ operator+()

aiColor3D aiColor3D::operator+ ( const aiColor3D & c ) const
inline

Component-wise addition.

◆ operator-()

aiColor3D aiColor3D::operator- ( const aiColor3D & c ) const
inline

Component-wise subtraction.

◆ operator<()

bool aiColor3D::operator< ( const aiColor3D & other ) const
inline

Component-wise comparison.

◆ operator=()

aiColor3D& aiColor3D::operator= ( const aiColor3D & o )
inline

◆ operator==()

bool aiColor3D::operator== ( const aiColor3D & other ) const
inline

Component-wise comparison.

◆ operator[]() [1/2]

ai_real aiColor3D::operator[] ( unsigned int i ) const
inline

Access a specific color component.

◆ operator[]() [2/2]

ai_real& aiColor3D::operator[] ( unsigned int i )
inline

Access a specific color component.

Member Data Documentation

◆ b

ai_real aiColor3D::b

◆ g

ai_real aiColor3D::g

◆ r

ai_real aiColor3D::r

Red, green and blue color values.

The documentation for this struct was generated from the following file:
  • types.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiColor4t< TReal > Class Template Reference

Public Member Functions | Public Attributes | List of all members
aiColor4t< TReal > Class Template Reference

Represents a color in Red-Green-Blue space including an alpha component. More...

Public Member Functions

aiColor4t () AI_NO_EXCEPT
aiColor4t (TReal _r, TReal _g, TReal _b, TReal _a)
aiColor4t (TReal _r)
aiColor4t (const aiColor4t &o)=default
bool | IsBlack () const
check whether a color is (close to) black More...
bool | operator!= (const aiColor4t &other) const
const aiColor4t & | operator*= (TReal f)
const aiColor4t & | operator+= (const aiColor4t &o)
const aiColor4t & | operator-= (const aiColor4t &o)
const aiColor4t & | operator/= (TReal f)
bool | operator< (const aiColor4t &other) const
bool | operator== (const aiColor4t &other) const
TReal | operator[] (unsigned int i) const
TReal & | operator[] (unsigned int i)

Public Attributes

TReal | a
TReal | b
TReal | g
TReal | r

Detailed Description

template<typename TReal>
class aiColor4t< TReal >

Represents a color in Red-Green-Blue space including an alpha component.

Color values range from 0 to 1.

Constructor & Destructor Documentation

◆ aiColor4t() [1/4]

template<typename TReal>
aiColor4t< TReal >::aiColor4t ( )
inline

◆ aiColor4t() [2/4]

template<typename TReal>
aiColor4t< TReal >::aiColor4t | ( | TReal | _r,
 |  | TReal | _g,
 |  | TReal | _b,
 |  | TReal | _a
 | ) |  |
inline

◆ aiColor4t() [3/4]

template<typename TReal>
aiColor4t< TReal >::aiColor4t ( TReal _r )
inlineexplicit

◆ aiColor4t() [4/4]

template<typename TReal>
aiColor4t< TReal >::aiColor4t ( const aiColor4t< TReal > & o )
default

Member Function Documentation

◆ IsBlack()

template<typename TReal >
AI_FORCE_INLINE bool aiColor4t< TReal >::IsBlack ( ) const
inline

check whether a color is (close to) black

◆ operator!=()

template<typename TReal >
AI_FORCE_INLINE bool aiColor4t< TReal >::operator!= ( const aiColor4t< TReal > & other ) const

◆ operator*=()

template<typename TReal>
AI_FORCE_INLINE const aiColor4t< TReal > & aiColor4t< TReal >::operator*= ( TReal f )

◆ operator+=()

template<typename TReal >
AI_FORCE_INLINE const aiColor4t< TReal > & aiColor4t< TReal >::operator+= ( const aiColor4t< TReal > & o )

◆ operator-=()

template<typename TReal >
AI_FORCE_INLINE const aiColor4t< TReal > & aiColor4t< TReal >::operator-= ( const aiColor4t< TReal > & o )

◆ operator/=()

template<typename TReal>
AI_FORCE_INLINE const aiColor4t< TReal > & aiColor4t< TReal >::operator/= ( TReal f )

◆ operator<()

template<typename TReal >
AI_FORCE_INLINE bool aiColor4t< TReal >::operator< ( const aiColor4t< TReal > & other ) const

◆ operator==()

template<typename TReal >
AI_FORCE_INLINE bool aiColor4t< TReal >::operator== ( const aiColor4t< TReal > & other ) const

◆ operator[]() [1/2]

template<typename TReal >
AI_FORCE_INLINE TReal aiColor4t< TReal >::operator[] ( unsigned int i ) const
inline

◆ operator[]() [2/2]

template<typename TReal >
AI_FORCE_INLINE TReal & aiColor4t< TReal >::operator[] ( unsigned int i )
inline

Member Data Documentation

◆ a

template<typename TReal>
TReal aiColor4t< TReal >::a

◆ b

template<typename TReal>
TReal aiColor4t< TReal >::b

◆ g

template<typename TReal>
TReal aiColor4t< TReal >::g

◆ r

template<typename TReal>
TReal aiColor4t< TReal >::r
The documentation for this class was generated from the following files:
  • color4.h
  • color4.inl
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiExportDataBlob Struct Reference

Public Member Functions | Public Attributes | List of all members
aiExportDataBlob Struct Reference

Describes a blob of exported scene data. More...

Public Member Functions

aiExportDataBlob ()
Default constructor. More...
aiExportDataBlob (const aiExportDataBlob &)=delete
aiExportDataBlob & operator= (const aiExportDataBlob &)=delete
~aiExportDataBlob ()
Releases the data. More...

Public Attributes

void * | data
The data. More...
C_STRUCT aiString name
Name of the blob. More...
C_STRUCT aiExportDataBlob * next
Pointer to the next blob in the chain or NULL if there is none. More...
size_t | size
Size of the data in bytes. More...

Detailed Description

Describes a blob of exported scene data.

Use aiExportSceneToBlob() to create a blob containing an exported scene. The memory referred by this structure is owned by Assimp. to free its resources. Don't try to free the memory on your side - it will crash for most build configurations due to conflicting heaps.

Blobs can be nested - each blob may reference another blob, which may in turn reference another blob and so on. This is used when exporters write more than one output file for a given aiScene. See the remarks for aiExportDataBlob::name for more information.

Constructor & Destructor Documentation

◆ aiExportDataBlob() [1/2]

aiExportDataBlob::aiExportDataBlob ( )
inline

Default constructor.

◆ ~aiExportDataBlob()

aiExportDataBlob::~aiExportDataBlob ( )
inline

Releases the data.

◆ aiExportDataBlob() [2/2]

aiExportDataBlob::aiExportDataBlob ( const aiExportDataBlob & )
delete

Member Function Documentation

◆ operator=()

aiExportDataBlob& aiExportDataBlob::operator= ( const aiExportDataBlob & )
delete

Member Data Documentation

◆ data

void* aiExportDataBlob::data

The data.

◆ name

C_STRUCT aiString aiExportDataBlob::name

Name of the blob.

An empty string always indicates the first (and primary) blob, which contains the actual file data. Any other blobs are auxiliary files produced by exporters (i.e. material files). Existence of such files depends on the file format. Most formats don't split assets across multiple files.

If used, blob names usually contain the file extension that should be used when writing the data to disc.

◆ next

C_STRUCT aiExportDataBlob* aiExportDataBlob::next

Pointer to the next blob in the chain or NULL if there is none.

◆ size

size_t aiExportDataBlob::size

Size of the data in bytes.

The documentation for this struct was generated from the following file:
  • cexport.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiExportFormatDesc Struct Reference

Public Attributes | List of all members
aiExportFormatDesc Struct Reference

Describes an file format which Assimp can export to. More...

Public Attributes

const char * | description
A short description of the file format to present to users. More...
const char * | fileExtension
Recommended file extension for the exported file in lower case. More...
const char * | id
a short string ID to uniquely identify the export format. More...

Detailed Description

Describes an file format which Assimp can export to.

Use aiGetExportFormatCount() to learn how many export-formats are supported by the current Assimp-build and aiGetExportFormatDescription() to retrieve the description of the export format option.

Member Data Documentation

◆ description

const char* aiExportFormatDesc::description

A short description of the file format to present to users.

Useful if you want to allow the user to select an export format.

◆ fileExtension

const char* aiExportFormatDesc::fileExtension

Recommended file extension for the exported file in lower case.

◆ id

const char* aiExportFormatDesc::id

a short string ID to uniquely identify the export format.

Use this ID string to specify which file format you want to export to when calling aiExportScene(). Example: "dae" or "obj"

The documentation for this struct was generated from the following file:
  • cexport.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiFace Struct Reference

Public Member Functions | Public Attributes | List of all members
aiFace Struct Reference

A single face in a mesh, referring to multiple vertices. More...

Public Member Functions

aiFace () AI_NO_EXCEPT
Default constructor. More...
aiFace (const aiFace &o)
Copy constructor. Copy the index array. More...
bool | operator!= (const aiFace &o) const
Inverse comparison operator. More...
aiFace & | operator= (const aiFace &o)
Assignment operator. Copy the index array. More...
bool | operator== (const aiFace &o) const
Comparison operator. More...
~aiFace ()
Default destructor. Delete the index array. More...

Public Attributes

unsigned int * | mIndices
Pointer to the indices array. Size of the array is given in numIndices. More...
unsigned int | mNumIndices
Number of indices defining this face. More...

Detailed Description

A single face in a mesh, referring to multiple vertices.

If mNumIndices is 3, we call the face 'triangle', for mNumIndices > 3 it's called 'polygon' (hey, that's just a definition!).
aiMesh::mPrimitiveTypes can be queried to quickly examine which types of primitive are actually present in a mesh. The aiProcess_SortByPType flag executes a special post-processing algorithm which splits meshes with different primitive types mixed up (e.g. lines and triangles) in several 'clean' submeshes. Furthermore there is a configuration option ( AI_CONFIG_PP_SBP_REMOVE) to force aiProcess_SortByPType to remove specific kinds of primitives from the imported scene, completely and forever. In many cases you'll probably want to set this setting to

aiPrimitiveType_LINE|aiPrimitiveType_POINT

Together with the aiProcess_Triangulate flag you can then be sure that aiFace::mNumIndices is always 3.

Note
Take a look at the Data Structures page for more information on the layout and winding order of a face.

Constructor & Destructor Documentation

◆ aiFace() [1/2]

aiFace::aiFace ( )
inline

Default constructor.

◆ ~aiFace()

aiFace::~aiFace ( )
inline

Default destructor. Delete the index array.

◆ aiFace() [2/2]

aiFace::aiFace ( const aiFace & o )
inline

Copy constructor. Copy the index array.

Member Function Documentation

◆ operator!=()

bool aiFace::operator!= ( const aiFace & o ) const
inline

Inverse comparison operator.

Checks whether the index array of two faces is NOT identical

◆ operator=()

aiFace& aiFace::operator= ( const aiFace & o )
inline

Assignment operator. Copy the index array.

◆ operator==()

bool aiFace::operator== ( const aiFace & o ) const
inline

Comparison operator.

Checks whether the index array of two faces is identical

Member Data Documentation

◆ mIndices

unsigned int* aiFace::mIndices

Pointer to the indices array. Size of the array is given in numIndices.

◆ mNumIndices

unsigned int aiFace::mNumIndices

Number of indices defining this face.

The maximum value for this member is AI_MAX_FACE_INDICES.

The documentation for this struct was generated from the following file:
  • mesh.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiFile Struct Reference

Public Attributes | List of all members
aiFile Struct Reference

C-API: File callbacks. More...

Public Attributes

aiFileTellProc FileSizeProc
Callback to retrieve the size of the file, in bytes. More...
aiFileFlushProc FlushProc
Callback to flush the file contents. More...
aiFileReadProc ReadProc
Callback to read from a file. More...
aiFileSeek SeekProc
Callback to set the current position of the file cursor (fseek()) More...
aiFileTellProc TellProc
Callback to retrieve the current position of the file cursor (ftell()) More...
aiUserData UserData
User-defined, opaque data. More...
aiFileWriteProc WriteProc
Callback to write to a file. More...

Detailed Description

C-API: File callbacks.

Actually, it's a data structure to wrap a set of fXXXX (e.g fopen) replacement functions.

The default implementation of the functions utilizes the fXXX functions from the CRT. However, you can supply a custom implementation to Assimp by delivering a custom aiFileIO. Use this to enable reading from other sources, such as ZIP archives or memory locations.

Member Data Documentation

◆ FileSizeProc

aiFileTellProc aiFile::FileSizeProc

Callback to retrieve the size of the file, in bytes.

◆ FlushProc

aiFileFlushProc aiFile::FlushProc

Callback to flush the file contents.

◆ ReadProc

aiFileReadProc aiFile::ReadProc

Callback to read from a file.

◆ SeekProc

aiFileSeek aiFile::SeekProc

Callback to set the current position of the file cursor (fseek())

◆ TellProc

aiFileTellProc aiFile::TellProc

Callback to retrieve the current position of the file cursor (ftell())

◆ UserData

aiUserData aiFile::UserData

User-defined, opaque data.

◆ WriteProc

aiFileWriteProc aiFile::WriteProc

Callback to write to a file.

The documentation for this struct was generated from the following file:
  • cfileio.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiFileIO Struct Reference

Public Attributes | List of all members
aiFileIO Struct Reference

C-API: File system callbacks. More...

Public Attributes

aiFileCloseProc CloseProc
Function used to close an existing file. More...
aiFileOpenProc OpenProc
Function used to open a new file. More...
aiUserData UserData
User-defined, opaque data. More...

Detailed Description

C-API: File system callbacks.

Provided are functions to open and close files. Supply a custom structure to the import function. If you don't, a default implementation is used. Use custom file systems to enable reading from other sources, such as ZIPs or memory locations.

Member Data Documentation

◆ CloseProc

aiFileCloseProc aiFileIO::CloseProc

Function used to close an existing file.

◆ OpenProc

aiFileOpenProc aiFileIO::OpenProc

Function used to open a new file.

◆ UserData

aiUserData aiFileIO::UserData

User-defined, opaque data.

The documentation for this struct was generated from the following file:
  • cfileio.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiImporterDesc Struct Reference

Public Attributes | List of all members
aiImporterDesc Struct Reference

Meta information about a particular importer. More...

Public Attributes

const char * | mAuthor
Original author (left blank if unknown or whole assimp team) More...
const char * | mComments
Implementation comments, i.e. More...
const char * | mFileExtensions
List of file extensions this importer can handle. More...
unsigned int | mFlags
These flags indicate some characteristics common to many importers. More...
const char * | mMaintainer
Current maintainer, left blank if the author maintains. More...
unsigned int | mMaxMajor
Maximum format version that can be loaded im major.minor format, both are set to 0 if there is either no version scheme or if the loader doesn't care. More...
unsigned int | mMaxMinor
unsigned int | mMinMajor
Minimum format version that can be loaded im major.minor format, both are set to 0 if there is either no version scheme or if the loader doesn't care. More...
unsigned int | mMinMinor
const char * | mName
Full name of the importer (i.e. More...

Detailed Description

Meta information about a particular importer.

Importers need to fill this structure, but they can freely decide how talkative they are. A common use case for loader meta info is a user interface in which the user can choose between various import/export file formats. Building such an UI by hand means a lot of maintenance as importers/exporters are added to Assimp, so it might be useful to have a common mechanism to query some rough importer characteristics.

Member Data Documentation

◆ mAuthor

const char* aiImporterDesc::mAuthor

Original author (left blank if unknown or whole assimp team)

◆ mComments

const char* aiImporterDesc::mComments

Implementation comments, i.e.

unimplemented features

◆ mFileExtensions

const char* aiImporterDesc::mFileExtensions

List of file extensions this importer can handle.

List entries are separated by space characters. All entries are lower case without a leading dot (i.e. "xml dae" would be a valid value. Note that multiple importers may respond to the same file extension - assimp calls all importers in the order in which they are registered and each importer gets the opportunity to load the file until one importer "claims" the file. Apart from file extension checks, importers typically use other methods to quickly reject files (i.e. magic words) so this does not mean that common or generic file extensions such as XML would be tediously slow.

◆ mFlags

unsigned int aiImporterDesc::mFlags

These flags indicate some characteristics common to many importers.

◆ mMaintainer

const char* aiImporterDesc::mMaintainer

Current maintainer, left blank if the author maintains.

◆ mMaxMajor

unsigned int aiImporterDesc::mMaxMajor

Maximum format version that can be loaded im major.minor format, both are set to 0 if there is either no version scheme or if the loader doesn't care.

Loaders that expect to be forward-compatible to potential future format versions should indicate zero, otherwise they should specify the current maximum version.

◆ mMaxMinor

unsigned int aiImporterDesc::mMaxMinor

◆ mMinMajor

unsigned int aiImporterDesc::mMinMajor

Minimum format version that can be loaded im major.minor format, both are set to 0 if there is either no version scheme or if the loader doesn't care.

◆ mMinMinor

unsigned int aiImporterDesc::mMinMinor

◆ mName

const char* aiImporterDesc::mName

Full name of the importer (i.e.

Blender3D importer)

The documentation for this struct was generated from the following file:
  • importerdesc.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiLight Struct Reference

Public Member Functions | Public Attributes | List of all members
aiLight Struct Reference

Helper structure to describe a light source. More...

Public Member Functions

aiLight () AI_NO_EXCEPT

Public Attributes

float | mAngleInnerCone
Inner angle of a spot light's light cone. More...
float | mAngleOuterCone
Outer angle of a spot light's light cone. More...
float | mAttenuationConstant
Constant light attenuation factor. More...
float | mAttenuationLinear
Linear light attenuation factor. More...
float | mAttenuationQuadratic
Quadratic light attenuation factor. More...
C_STRUCT aiColor3D mColorAmbient
Ambient color of the light source. More...
C_STRUCT aiColor3D mColorDiffuse
Diffuse color of the light source. More...
C_STRUCT aiColor3D mColorSpecular
Specular color of the light source. More...
C_STRUCT aiVector3D mDirection
Direction of the light source in space. More...
C_STRUCT aiString mName
The name of the light source. More...
C_STRUCT aiVector3D mPosition
Position of the light source in space. More...
C_STRUCT aiVector2D mSize
Size of area light source. More...
C_ENUM aiLightSourceType mType
The type of the light source. More...
C_STRUCT aiVector3D mUp
Up direction of the light source in space. More...

Detailed Description

Helper structure to describe a light source.

Assimp supports multiple sorts of light sources, including directional, point and spot lights. All of them are defined with just a single structure and distinguished by their parameters. Note - some file formats (such as 3DS, ASE) export a "target point" - the point a spot light is looking at (it can even be animated). Assimp writes the target point as a subnode of a spotlights's main node, called "<spotName>.Target". However, this is just additional information then, the transformation tracks of the main node make the spot light already point in the right direction.

Constructor & Destructor Documentation

◆ aiLight()

aiLight::aiLight ( )
inline

Member Data Documentation

◆ mAngleInnerCone

float aiLight::mAngleInnerCone

Inner angle of a spot light's light cone.

The spot light has maximum influence on objects inside this angle. The angle is given in radians. It is 2PI for point lights and undefined for directional lights.

◆ mAngleOuterCone

float aiLight::mAngleOuterCone

Outer angle of a spot light's light cone.

The spot light does not affect objects outside this angle. The angle is given in radians. It is 2PI for point lights and undefined for directional lights. The outer angle must be greater than or equal to the inner angle. It is assumed that the application uses a smooth interpolation between the inner and the outer cone of the spot light.

◆ mAttenuationConstant

float aiLight::mAttenuationConstant

Constant light attenuation factor.

The intensity of the light source at a given distance 'd' from the light's position is

Atten = 1/( att0 + att1 * d + att2 * d*d)

This member corresponds to the att0 variable in the equation. Naturally undefined for directional lights.

◆ mAttenuationLinear

float aiLight::mAttenuationLinear

Linear light attenuation factor.

The intensity of the light source at a given distance 'd' from the light's position is

Atten = 1/( att0 + att1 * d + att2 * d*d)

This member corresponds to the att1 variable in the equation. Naturally undefined for directional lights.

◆ mAttenuationQuadratic

float aiLight::mAttenuationQuadratic

Quadratic light attenuation factor.

The intensity of the light source at a given distance 'd' from the light's position is

Atten = 1/( att0 + att1 * d + att2 * d*d)

This member corresponds to the att2 variable in the equation. Naturally undefined for directional lights.

◆ mColorAmbient

C_STRUCT aiColor3D aiLight::mColorAmbient

Ambient color of the light source.

The ambient light color is multiplied with the ambient material color to obtain the final color that contributes to the ambient shading term. Most renderers will ignore this value it, is just a remaining of the fixed-function pipeline that is still supported by quite many file formats.

◆ mColorDiffuse

C_STRUCT aiColor3D aiLight::mColorDiffuse

Diffuse color of the light source.

The diffuse light color is multiplied with the diffuse material color to obtain the final color that contributes to the diffuse shading term.

◆ mColorSpecular

C_STRUCT aiColor3D aiLight::mColorSpecular

Specular color of the light source.

The specular light color is multiplied with the specular material color to obtain the final color that contributes to the specular shading term.

◆ mDirection

C_STRUCT aiVector3D aiLight::mDirection

Direction of the light source in space.

Relative to the transformation of the node corresponding to the light.

The direction is undefined for point lights. The vector may be normalized, but it needn't.

◆ mName

C_STRUCT aiString aiLight::mName

The name of the light source.

There must be a node in the scenegraph with the same name. This node specifies the position of the light in the scene hierarchy and can be animated.

◆ mPosition

C_STRUCT aiVector3D aiLight::mPosition

Position of the light source in space.

Relative to the transformation of the node corresponding to the light.

The position is undefined for directional lights.

◆ mSize

C_STRUCT aiVector2D aiLight::mSize

Size of area light source.

◆ mType

C_ENUM aiLightSourceType aiLight::mType

The type of the light source.

aiLightSource_UNDEFINED is not a valid value for this member.

◆ mUp

C_STRUCT aiVector3D aiLight::mUp

Up direction of the light source in space.

Relative to the transformation of the node corresponding to the light.

The direction is undefined for point lights. The vector may be normalized, but it needn't.

The documentation for this struct was generated from the following file:
  • light.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiLogStream Struct Reference

Public Attributes | List of all members
aiLogStream Struct Reference

C-API: Represents a log stream. More...

Public Attributes

aiLogStreamCallback callback
callback to be called More...
char * user
user data to be passed to the callback More...

Detailed Description

C-API: Represents a log stream.

A log stream receives all log messages and streams them somewhere.

See also
aiGetPredefinedLogStream
aiAttachLogStream
aiDetachLogStream

Member Data Documentation

◆ callback

aiLogStreamCallback aiLogStream::callback

callback to be called

◆ user

char* aiLogStream::user

user data to be passed to the callback

The documentation for this struct was generated from the following file:
  • cimport.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiMaterial Struct Reference

Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
aiMaterial Struct Reference

Data structure for a material. More...

Public Member Functions

aiReturn | AddBinaryProperty (const void *pInput, unsigned int pSizeInBytes, const char *pKey, unsigned int type, unsigned int index, aiPropertyTypeInfo pType)
Add a property with a given key and type info to the material structure. More...
aiReturn | AddProperty (const aiString *pInput, const char *pKey, unsigned int type=0, unsigned int index=0)
Add a string property with a given key and type info to the material structure. More...
template<class TYPE >
aiReturn | AddProperty (const TYPE *pInput, unsigned int pNumValues, const char *pKey, unsigned int type=0, unsigned int index=0)
Add a property with a given key to the material structure. More...
aiReturn | AddProperty (const aiVector3D *pInput, unsigned int pNumValues, const char *pKey, unsigned int type=0, unsigned int index=0)
aiReturn | AddProperty (const aiColor3D *pInput, unsigned int pNumValues, const char *pKey, unsigned int type=0, unsigned int index=0)
aiReturn | AddProperty (const aiColor4D *pInput, unsigned int pNumValues, const char *pKey, unsigned int type=0, unsigned int index=0)
aiReturn | AddProperty (const int *pInput, unsigned int pNumValues, const char *pKey, unsigned int type=0, unsigned int index=0)
aiReturn | AddProperty (const float *pInput, unsigned int pNumValues, const char *pKey, unsigned int type=0, unsigned int index=0)
aiReturn | AddProperty (const double *pInput, unsigned int pNumValues, const char *pKey, unsigned int type=0, unsigned int index=0)
aiReturn | AddProperty (const aiUVTransform *pInput, unsigned int pNumValues, const char *pKey, unsigned int type=0, unsigned int index=0)
aiMaterial ()
void | Clear ()
Removes all properties from the material. More...
template<typename Type >
aiReturn | Get (const char *pKey, unsigned int type, unsigned int idx, Type *pOut, unsigned int *pMax) const
Retrieve an array of Type values with a specific key from the material. More...
aiReturn | Get (const char *pKey, unsigned int type, unsigned int idx, int *pOut, unsigned int *pMax) const
aiReturn | Get (const char *pKey, unsigned int type, unsigned int idx, ai_real *pOut, unsigned int *pMax) const
template<typename Type >
aiReturn | Get (const char *pKey, unsigned int type, unsigned int idx, Type &pOut) const
Retrieve a Type value with a specific key from the material. More...
aiReturn | Get (const char *pKey, unsigned int type, unsigned int idx, int &pOut) const
aiReturn | Get (const char *pKey, unsigned int type, unsigned int idx, ai_real &pOut) const
aiReturn | Get (const char *pKey, unsigned int type, unsigned int idx, aiString &pOut) const
aiReturn | Get (const char *pKey, unsigned int type, unsigned int idx, aiColor3D &pOut) const
aiReturn | Get (const char *pKey, unsigned int type, unsigned int idx, aiColor4D &pOut) const
aiReturn | Get (const char *pKey, unsigned int type, unsigned int idx, aiUVTransform &pOut) const
aiString | GetName () const
Returns the name of the material. More...
aiReturn | GetTexture (aiTextureType type, unsigned int index, C_STRUCT aiString *path, aiTextureMapping *mapping=NULL, unsigned int *uvindex=NULL, ai_real *blend=NULL, aiTextureOp *op=NULL, aiTextureMapMode *mapmode=NULL) const
Helper function to get all parameters pertaining to a particular texture slot from a material. More...
unsigned int | GetTextureCount (aiTextureType type) const
Get the number of textures for a particular texture type. More...
aiReturn | RemoveProperty (const char *pKey, unsigned int type=0, unsigned int index=0)
Remove a given key from the list. More...
~aiMaterial ()

Static Public Member Functions

static void CopyPropertyList (aiMaterial *pcDest, const aiMaterial *pcSrc)
Copy the property list of a material. More...

Public Attributes

unsigned int | mNumAllocated
Storage allocated. More...
unsigned int | mNumProperties
Number of properties in the data base. More...
C_STRUCT aiMaterialProperty ** | mProperties
List of all material properties loaded. More...

Detailed Description

Data structure for a material.

Material data is stored using a key-value structure. A single key-value pair is called a 'material property'. C++ users should use the provided member functions of aiMaterial to process material properties, C users have to stick with the aiMaterialGetXXX family of unbound functions. The library defines a set of standard keys (AI_MATKEY_XXX).

Constructor & Destructor Documentation

◆ aiMaterial()

aiMaterial::aiMaterial ( )

◆ ~aiMaterial()

aiMaterial::~aiMaterial ( )

Member Function Documentation

◆ AddBinaryProperty()

aiReturn aiMaterial::AddBinaryProperty | ( | const void * | pInput,
 |  | unsigned int | pSizeInBytes,
 |  | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | index,
 |  | aiPropertyTypeInfo | pType
 | ) |  |

Add a property with a given key and type info to the material structure.

Parameters
pInput | Pointer to input data
pSizeInBytes | Size of input data
pKey | Key/Usage of the property (AI_MATKEY_XXX)
type | Set by the AI_MATKEY_XXX macro
index | Set by the AI_MATKEY_XXX macro
pType | Type information hint

◆ AddProperty() [1/9]

aiReturn aiMaterial::AddProperty | ( | const aiString * | pInput,
 |  | const char * | pKey,
 |  | unsigned int | type = 0,
 |  | unsigned int | index = 0
 | ) |  |

Add a string property with a given key and type info to the material structure.

Parameters
pInput | Input string
pKey | Key/Usage of the property (AI_MATKEY_XXX)
type | Set by the AI_MATKEY_XXX macro
index | Set by the AI_MATKEY_XXX macro

◆ AddProperty() [2/9]

template<class TYPE >
aiReturn aiMaterial::AddProperty | ( | const TYPE * | pInput,
 |  | unsigned int | pNumValues,
 |  | const char * | pKey,
 |  | unsigned int | type = 0,
 |  | unsigned int | index = 0
 | ) |  |

Add a property with a given key to the material structure.

Parameters
pInput | Pointer to the input data
pNumValues | Number of values in the array
pKey | Key/Usage of the property (AI_MATKEY_XXX)
type | Set by the AI_MATKEY_XXX macro
index | Set by the AI_MATKEY_XXX macro

◆ AddProperty() [3/9]

aiReturn aiMaterial::AddProperty | ( | const aiVector3D * | pInput,
 |  | unsigned int | pNumValues,
 |  | const char * | pKey,
 |  | unsigned int | type = 0,
 |  | unsigned int | index = 0
 | ) |  |

◆ AddProperty() [4/9]

aiReturn aiMaterial::AddProperty | ( | const aiColor3D * | pInput,
 |  | unsigned int | pNumValues,
 |  | const char * | pKey,
 |  | unsigned int | type = 0,
 |  | unsigned int | index = 0
 | ) |  |

◆ AddProperty() [5/9]

aiReturn aiMaterial::AddProperty | ( | const aiColor4D * | pInput,
 |  | unsigned int | pNumValues,
 |  | const char * | pKey,
 |  | unsigned int | type = 0,
 |  | unsigned int | index = 0
 | ) |  |

◆ AddProperty() [6/9]

aiReturn aiMaterial::AddProperty | ( | const int * | pInput,
 |  | unsigned int | pNumValues,
 |  | const char * | pKey,
 |  | unsigned int | type = 0,
 |  | unsigned int | index = 0
 | ) |  |

◆ AddProperty() [7/9]

aiReturn aiMaterial::AddProperty | ( | const float * | pInput,
 |  | unsigned int | pNumValues,
 |  | const char * | pKey,
 |  | unsigned int | type = 0,
 |  | unsigned int | index = 0
 | ) |  |

◆ AddProperty() [8/9]

aiReturn aiMaterial::AddProperty | ( | const double * | pInput,
 |  | unsigned int | pNumValues,
 |  | const char * | pKey,
 |  | unsigned int | type = 0,
 |  | unsigned int | index = 0
 | ) |  |

◆ AddProperty() [9/9]

aiReturn aiMaterial::AddProperty | ( | const aiUVTransform * | pInput,
 |  | unsigned int | pNumValues,
 |  | const char * | pKey,
 |  | unsigned int | type = 0,
 |  | unsigned int | index = 0
 | ) |  |

◆ Clear()

void aiMaterial::Clear ( )

Removes all properties from the material.

The data array remains allocated so adding new properties is quite fast.

◆ CopyPropertyList()

static void aiMaterial::CopyPropertyList | ( | aiMaterial * | pcDest,
 |  | const aiMaterial * | pcSrc
 | ) |  |
static

Copy the property list of a material.

Parameters
pcDest | Destination material
pcSrc | Source material

◆ Get() [1/10]

template<typename Type >
aiReturn aiMaterial::Get | ( | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | idx,
 |  | Type * | pOut,
 |  | unsigned int * | pMax
 | ) |  | const

Retrieve an array of Type values with a specific key from the material.

Parameters
pKey | Key to search for. One of the AI_MATKEY_XXX constants.
type | .. set by AI_MATKEY_XXX
idx | .. set by AI_MATKEY_XXX
pOut | Pointer to a buffer to receive the result.
pMax | Specifies the size of the given buffer, in Type's. Receives the number of values (not bytes!) read. NULL is a valid value for this parameter.

◆ Get() [2/10]

aiReturn aiMaterial::Get | ( | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | idx,
 |  | int * | pOut,
 |  | unsigned int * | pMax
 | ) |  | const

◆ Get() [3/10]

aiReturn aiMaterial::Get | ( | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | idx,
 |  | ai_real * | pOut,
 |  | unsigned int * | pMax
 | ) |  | const

◆ Get() [4/10]

template<typename Type >
aiReturn aiMaterial::Get | ( | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | idx,
 |  | Type & | pOut
 | ) |  | const

Retrieve a Type value with a specific key from the material.

Parameters
pKey | Key to search for. One of the AI_MATKEY_XXX constants.
type | Specifies the type of the texture to be retrieved ( e.g. diffuse, specular, height map ...)
idx | Index of the texture to be retrieved.
pOut | Reference to receive the output value

◆ Get() [5/10]

aiReturn aiMaterial::Get | ( | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | idx,
 |  | int & | pOut
 | ) |  | const

◆ Get() [6/10]

aiReturn aiMaterial::Get | ( | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | idx,
 |  | ai_real & | pOut
 | ) |  | const

◆ Get() [7/10]

aiReturn aiMaterial::Get | ( | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | idx,
 |  | aiString & | pOut
 | ) |  | const

◆ Get() [8/10]

aiReturn aiMaterial::Get | ( | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | idx,
 |  | aiColor3D & | pOut
 | ) |  | const

◆ Get() [9/10]

aiReturn aiMaterial::Get | ( | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | idx,
 |  | aiColor4D & | pOut
 | ) |  | const

◆ Get() [10/10]

aiReturn aiMaterial::Get | ( | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | idx,
 |  | aiUVTransform & | pOut
 | ) |  | const

◆ GetName()

aiString aiMaterial::GetName ( ) const

Returns the name of the material.

Returns
The name of the material.

◆ GetTexture()

aiReturn aiMaterial::GetTexture | ( | aiTextureType | type,
 |  | unsigned int | index,
 |  | C_STRUCT aiString * | path,
 |  | aiTextureMapping * | mapping = NULL,
 |  | unsigned int * | uvindex = NULL,
 |  | ai_real * | blend = NULL,
 |  | aiTextureOp * | op = NULL,
 |  | aiTextureMapMode * | mapmode = NULL
 | ) |  | const

Helper function to get all parameters pertaining to a particular texture slot from a material.

This function is provided just for convenience, you could also read the single material properties manually.

Parameters
type | Specifies the type of the texture to be retrieved ( e.g. diffuse, specular, height map ...)
index | Index of the texture to be retrieved. The function fails if there is no texture of that type with this index. GetTextureCount() can be used to determine the number of textures per texture type.
path | Receives the path to the texture. If the texture is embedded, receives a '*' followed by the id of the texture (for the textures stored in the corresponding scene) which can be converted to an int using a function like atoi. NULL is a valid value.
mapping | The texture mapping. NULL is allowed as value.
uvindex | Receives the UV index of the texture. NULL is a valid value.
blend | Receives the blend factor for the texture NULL is a valid value.
op | Receives the texture operation to be performed between this texture and the previous texture. NULL is allowed as value.
mapmode | Receives the mapping modes to be used for the texture. The parameter may be NULL but if it is a valid pointer it MUST point to an array of 3 aiTextureMapMode's (one for each axis: UVW order (=XYZ)).

◆ GetTextureCount()

unsigned int aiMaterial::GetTextureCount ( aiTextureType type ) const

Get the number of textures for a particular texture type.

Parameters
type Texture type to check for
Returns
Number of textures for this type.
Note
A texture can be easily queried using GetTexture()

◆ RemoveProperty()

aiReturn aiMaterial::RemoveProperty | ( | const char * | pKey,
 |  | unsigned int | type = 0,
 |  | unsigned int | index = 0
 | ) |  |

Remove a given key from the list.

The function fails if the key isn't found

Parameters
pKey | Key to be deleted
type | Set by the AI_MATKEY_XXX macro
index | Set by the AI_MATKEY_XXX macro

Member Data Documentation

◆ mNumAllocated

unsigned int aiMaterial::mNumAllocated

Storage allocated.

◆ mNumProperties

unsigned int aiMaterial::mNumProperties

Number of properties in the data base.

◆ mProperties

C_STRUCT aiMaterialProperty** aiMaterial::mProperties

List of all material properties loaded.

The documentation for this struct was generated from the following file:
  • material.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiMatrix3x3t< TReal > Class Template Reference

Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
aiMatrix3x3t< TReal > Class Template Reference

Represents a row-major 3x3 matrix. More...

Public Member Functions

aiMatrix3x3t () AI_NO_EXCEPT
aiMatrix3x3t (TReal _a1, TReal _a2, TReal _a3, TReal _b1, TReal _b2, TReal _b3, TReal _c1, TReal _c2, TReal _c3)
aiMatrix3x3t (const aiMatrix4x4t< TReal > &pMatrix)
Construction from a 4x4 matrix. More...
TReal | Determinant () const
bool | Equal (const aiMatrix3x3t< TReal > &m, TReal epsilon=1e-6) const
aiMatrix3x3t & Inverse ()
Invert the matrix. More...
template<typename TOther >
operator aiMatrix3x3t< TOther > () const
bool | operator!= (const aiMatrix3x3t< TReal > &m) const
aiMatrix3x3t | operator* (const aiMatrix3x3t &m) const
aiMatrix3x3t & | operator*= (const aiMatrix3x3t &m)
bool | operator== (const aiMatrix3x3t< TReal > &m) const
TReal * | operator[] (unsigned int p_iIndex)
const TReal * | operator[] (unsigned int p_iIndex) const
aiMatrix3x3t & Transpose ()
Transpose the matrix. More...

Static Public Member Functions

static aiMatrix3x3t & | FromToMatrix (const aiVector3t< TReal > &from, const aiVector3t< TReal > &to, aiMatrix3x3t &out)
A function for creating a rotation matrix that rotates a vector called "from" into another vector called "to". More...
static aiMatrix3x3t & | Rotation (TReal a, const aiVector3t< TReal > &axis, aiMatrix3x3t &out)
Returns a rotation matrix for a rotation around an arbitrary axis. More...
static aiMatrix3x3t & | RotationZ (TReal a, aiMatrix3x3t &out)
Returns a rotation matrix for a rotation around z. More...
static aiMatrix3x3t & | Translation (const aiVector2t< TReal > &v, aiMatrix3x3t &out)
Returns a translation matrix. More...

Public Attributes

TReal | a1
TReal | a2
TReal | a3
TReal | b1
TReal | b2
TReal | b3
TReal | c1
TReal | c2
TReal | c3

Detailed Description

template<typename TReal>
class aiMatrix3x3t< TReal >

Represents a row-major 3x3 matrix.

There's much confusion about matrix layouts (column vs. row order). This is always a row-major matrix. Not even with the aiProcess_ConvertToLeftHanded flag, which absolutely does not affect matrix order - it just affects the handedness of the coordinate system defined thereby.

Constructor & Destructor Documentation

◆ aiMatrix3x3t() [1/3]

template<typename TReal >
aiMatrix3x3t< TReal >::aiMatrix3x3t ( )
inline

◆ aiMatrix3x3t() [2/3]

template<typename TReal >
aiMatrix3x3t< TReal >::aiMatrix3x3t | ( | TReal | _a1,
 |  | TReal | _a2,
 |  | TReal | _a3,
 |  | TReal | _b1,
 |  | TReal | _b2,
 |  | TReal | _b3,
 |  | TReal | _c1,
 |  | TReal | _c2,
 |  | TReal | _c3
 | ) |  |
inline

◆ aiMatrix3x3t() [3/3]

template<typename TReal >
AI_FORCE_INLINE aiMatrix3x3t< TReal >::aiMatrix3x3t ( const aiMatrix4x4t< TReal > & pMatrix )
explicit

Construction from a 4x4 matrix.

The remaining parts of the matrix are ignored.

Member Function Documentation

◆ Determinant()

template<typename TReal >
AI_FORCE_INLINE TReal aiMatrix3x3t< TReal >::Determinant ( ) const

◆ Equal()

template<typename TReal >
AI_FORCE_INLINE bool aiMatrix3x3t< TReal >::Equal | ( | const aiMatrix3x3t< TReal > & | m,
 |  | TReal | epsilon = 1e-6
 | ) |  | const

◆ FromToMatrix()

template<typename TReal >
AI_FORCE_INLINE aiMatrix3x3t< TReal > & aiMatrix3x3t< TReal >::FromToMatrix | ( | const aiVector3t< TReal > & | from,
 |  | const aiVector3t< TReal > & | to,
 |  | aiMatrix3x3t< TReal > & | out
 | ) |  |
static

A function for creating a rotation matrix that rotates a vector called "from" into another vector called "to".

Input : from[3], to[3] which both must be normalized non-zero vectors Output: mtx[3][3] – a 3x3 matrix in column-major form Authors: Tomas Möller, John Hughes "Efficiently Building a Matrix to Rotate One Vector to Another" Journal of Graphics Tools, 4(4):1-4, 1999

Input : from[3], to[3] which both must be normalized non-zero vectors Output: mtx[3][3] – a 3x3 matrix in colum-major form Authors: Tomas Möller, John Hughes "Efficiently Building a Matrix to Rotate One Vector to Another" Journal of Graphics Tools, 4(4):1-4, 1999

◆ Inverse()

template<typename TReal >
AI_FORCE_INLINE aiMatrix3x3t< TReal > & aiMatrix3x3t< TReal >::Inverse ( )

Invert the matrix.

If the matrix is not invertible all elements are set to qnan. Beware, use (f != f) to check whether a TReal f is qnan.

◆ operator aiMatrix3x3t< TOther >()

template<typename TReal >
template<typename TOther >
aiMatrix3x3t< TReal >::operator aiMatrix3x3t< TOther > ( ) const

◆ operator!=()

template<typename TReal >
AI_FORCE_INLINE bool aiMatrix3x3t< TReal >::operator!= ( const aiMatrix3x3t< TReal > & m ) const

◆ operator*()

template<typename TReal >
AI_FORCE_INLINE aiMatrix3x3t< TReal > aiMatrix3x3t< TReal >::operator* ( const aiMatrix3x3t< TReal > & m ) const

◆ operator*=()

template<typename TReal >
AI_FORCE_INLINE aiMatrix3x3t< TReal > & aiMatrix3x3t< TReal >::operator*= ( const aiMatrix3x3t< TReal > & m )

◆ operator==()

template<typename TReal >
AI_FORCE_INLINE bool aiMatrix3x3t< TReal >::operator== ( const aiMatrix3x3t< TReal > & m ) const

◆ operator[]() [1/2]

template<typename TReal >
AI_FORCE_INLINE TReal * aiMatrix3x3t< TReal >::operator[] ( unsigned int p_iIndex )

◆ operator[]() [2/2]

template<typename TReal >
AI_FORCE_INLINE const TReal * aiMatrix3x3t< TReal >::operator[] ( unsigned int p_iIndex ) const

◆ Rotation()

template<typename TReal >
AI_FORCE_INLINE aiMatrix3x3t< TReal > & aiMatrix3x3t< TReal >::Rotation | ( | TReal | a,
 |  | const aiVector3t< TReal > & | axis,
 |  | aiMatrix3x3t< TReal > & | out
 | ) |  |
static

Returns a rotation matrix for a rotation around an arbitrary axis.

Parameters
a | Rotation angle, in radians
axis | Axis to rotate around
out | To be filled

◆ RotationZ()

template<typename TReal >
AI_FORCE_INLINE aiMatrix3x3t< TReal > & aiMatrix3x3t< TReal >::RotationZ | ( | TReal | a,
 |  | aiMatrix3x3t< TReal > & | out
 | ) |  |
static

Returns a rotation matrix for a rotation around z.

Parameters
a | Rotation angle, in radians
out | Receives the output matrix
Returns
Reference to the output matrix

◆ Translation()

template<typename TReal >
AI_FORCE_INLINE aiMatrix3x3t< TReal > & aiMatrix3x3t< TReal >::Translation | ( | const aiVector2t< TReal > & | v,
 |  | aiMatrix3x3t< TReal > & | out
 | ) |  |
static

Returns a translation matrix.

Parameters
v | Translation vector
out | Receives the output matrix
Returns
Reference to the output matrix

◆ Transpose()

template<typename TReal >
AI_FORCE_INLINE aiMatrix3x3t< TReal > & aiMatrix3x3t< TReal >::Transpose ( )

Transpose the matrix.

Member Data Documentation

◆ a1

template<typename TReal >
TReal aiMatrix3x3t< TReal >::a1

◆ a2

template<typename TReal >
TReal aiMatrix3x3t< TReal >::a2

◆ a3

template<typename TReal >
TReal aiMatrix3x3t< TReal >::a3

◆ b1

template<typename TReal >
TReal aiMatrix3x3t< TReal >::b1

◆ b2

template<typename TReal >
TReal aiMatrix3x3t< TReal >::b2

◆ b3

template<typename TReal >
TReal aiMatrix3x3t< TReal >::b3

◆ c1

template<typename TReal >
TReal aiMatrix3x3t< TReal >::c1

◆ c2

template<typename TReal >
TReal aiMatrix3x3t< TReal >::c2

◆ c3

template<typename TReal >
TReal aiMatrix3x3t< TReal >::c3
The documentation for this class was generated from the following files:
  • matrix3x3.h
  • matrix3x3.inl
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiMatrix4x4t< TReal > Class Template Reference

Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
aiMatrix4x4t< TReal > Class Template Reference

Represents a row-major 4x4 matrix, use this for homogeneous coordinates. More...

Public Member Functions

aiMatrix4x4t () AI_NO_EXCEPT
set to identity More...
aiMatrix4x4t (TReal _a1, TReal _a2, TReal _a3, TReal _a4, TReal _b1, TReal _b2, TReal _b3, TReal _b4, TReal _c1, TReal _c2, TReal _c3, TReal _c4, TReal _d1, TReal _d2, TReal _d3, TReal _d4)
construction from single values More...
aiMatrix4x4t (const aiMatrix3x3t< TReal > &m)
construction from 3x3 matrix, remaining elements are set to identity More...
aiMatrix4x4t (const aiVector3t< TReal > &scaling, const aiQuaterniont< TReal > &rotation, const aiVector3t< TReal > &position)
construction from position, rotation and scaling components More...
void | Decompose (aiVector3t< TReal > &scaling, aiQuaterniont< TReal > &rotation, aiVector3t< TReal > &position) const
Decompose a trafo matrix into its original components. More...
void | Decompose (aiVector3t< TReal > &pScaling, aiVector3t< TReal > &pRotation, aiVector3t< TReal > &pPosition) const
Decompose a trafo matrix into its original components. More...
void | Decompose (aiVector3t< TReal > &pScaling, aiVector3t< TReal > &pRotationAxis, TReal &pRotationAngle, aiVector3t< TReal > &pPosition) const
Decompose a trafo matrix into its original components Thx to good FAQ at http://www.gamedev.ru/code/articles/faq_matrix_quat. More...
void | DecomposeNoScaling (aiQuaterniont< TReal > &rotation, aiVector3t< TReal > &position) const
Decompose a trafo matrix with no scaling into its original components. More...
TReal | Determinant () const
bool | Equal (const aiMatrix4x4t &m, TReal epsilon=1e-6) const
aiMatrix4x4t & | FromEulerAnglesXYZ (TReal x, TReal y, TReal z)
Creates a trafo matrix from a set of euler angles. More...
aiMatrix4x4t & | FromEulerAnglesXYZ (const aiVector3t< TReal > &blubb)
aiMatrix4x4t & Inverse ()
Invert the matrix. More...
bool | IsIdentity () const
Returns true of the matrix is the identity matrix. More...
template<typename TOther >
operator aiMatrix4x4t< TOther > () const
bool | operator!= (const aiMatrix4x4t &m) const
aiMatrix4x4t | operator* (const aiMatrix4x4t &m) const
aiMatrix4x4t | operator* (const TReal &aFloat) const
aiMatrix4x4t & | operator*= (const aiMatrix4x4t &m)
aiMatrix4x4t | operator+ (const aiMatrix4x4t &aMatrix) const
bool | operator== (const aiMatrix4x4t &m) const
TReal * | operator[] (unsigned int p_iIndex)
const TReal * | operator[] (unsigned int p_iIndex) const
aiMatrix4x4t & Transpose ()
Transpose the matrix. More...

Static Public Member Functions

static aiMatrix4x4t & | FromToMatrix (const aiVector3t< TReal > &from, const aiVector3t< TReal > &to, aiMatrix4x4t &out)
A function for creating a rotation matrix that rotates a vector called "from" into another vector called "to". More...
static aiMatrix4x4t & | Rotation (TReal a, const aiVector3t< TReal > &axis, aiMatrix4x4t &out)
Returns a rotation matrix for a rotation around an arbitrary axis. More...
static aiMatrix4x4t & | RotationX (TReal a, aiMatrix4x4t &out)
Returns a rotation matrix for a rotation around the x axis. More...
static aiMatrix4x4t & | RotationY (TReal a, aiMatrix4x4t &out)
Returns a rotation matrix for a rotation around the y axis. More...
static aiMatrix4x4t & | RotationZ (TReal a, aiMatrix4x4t &out)
Returns a rotation matrix for a rotation around the z axis. More...
static aiMatrix4x4t & | Scaling (const aiVector3t< TReal > &v, aiMatrix4x4t &out)
Returns a scaling matrix. More...
static aiMatrix4x4t & | Translation (const aiVector3t< TReal > &v, aiMatrix4x4t &out)
Returns a translation matrix. More...

Public Attributes

TReal | a1
TReal | a2
TReal | a3
TReal | a4
TReal | b1
TReal | b2
TReal | b3
TReal | b4
TReal | c1
TReal | c2
TReal | c3
TReal | c4
TReal | d1
TReal | d2
TReal | d3
TReal | d4

Detailed Description

template<typename TReal>
class aiMatrix4x4t< TReal >

Represents a row-major 4x4 matrix, use this for homogeneous coordinates.

There's much confusion about matrix layouts (column vs. row order). This is always a row-major matrix. Not even with the aiProcess_ConvertToLeftHanded flag, which absolutely does not affect matrix order - it just affects the handedness of the coordinate system defined thereby.

Constructor & Destructor Documentation

◆ aiMatrix4x4t() [1/4]

template<typename TReal >
aiMatrix4x4t< TReal >::aiMatrix4x4t ( )

set to identity

◆ aiMatrix4x4t() [2/4]

template<typename TReal >
aiMatrix4x4t< TReal >::aiMatrix4x4t | ( | TReal | _a1,
 |  | TReal | _a2,
 |  | TReal | _a3,
 |  | TReal | _a4,
 |  | TReal | _b1,
 |  | TReal | _b2,
 |  | TReal | _b3,
 |  | TReal | _b4,
 |  | TReal | _c1,
 |  | TReal | _c2,
 |  | TReal | _c3,
 |  | TReal | _c4,
 |  | TReal | _d1,
 |  | TReal | _d2,
 |  | TReal | _d3,
 |  | TReal | _d4
 | ) |  |

construction from single values

◆ aiMatrix4x4t() [3/4]

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal >::aiMatrix4x4t ( const aiMatrix3x3t< TReal > & m )
explicit

construction from 3x3 matrix, remaining elements are set to identity

◆ aiMatrix4x4t() [4/4]

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal >::aiMatrix4x4t | ( | const aiVector3t< TReal > & | scaling,
 |  | const aiQuaterniont< TReal > & | rotation,
 |  | const aiVector3t< TReal > & | position
 | ) |  |

construction from position, rotation and scaling components

Parameters
scaling | The scaling for the x,y,z axes
rotation | The rotation as a hamilton quaternion
position | The position for the x,y,z axes

Member Function Documentation

◆ Decompose() [1/3]

template<typename TReal >
AI_FORCE_INLINE void aiMatrix4x4t< TReal >::Decompose | ( | aiVector3t< TReal > & | scaling,
 |  | aiQuaterniont< TReal > & | rotation,
 |  | aiVector3t< TReal > & | position
 | ) |  | const

Decompose a trafo matrix into its original components.

Parameters
scaling | Receives the output scaling for the x,y,z axes
rotation | Receives the output rotation as a hamilton quaternion
position | Receives the output position for the x,y,z axes

◆ Decompose() [2/3]

template<typename TReal >
AI_FORCE_INLINE void aiMatrix4x4t< TReal >::Decompose | ( | aiVector3t< TReal > & | pScaling,
 |  | aiVector3t< TReal > & | pRotation,
 |  | aiVector3t< TReal > & | pPosition
 | ) |  | const

Decompose a trafo matrix into its original components.

Thx to good FAQ at http://www.gamedev.ru/code/articles/faq_matrix_quat

Parameters
[out] | pScaling | - Receives the output scaling for the x,y,z axes.
[out] | pRotation | - Receives the output rotation as a Euler angles.
[out] | pPosition | - Receives the output position for the x,y,z axes.

◆ Decompose() [3/3]

template<typename TReal >
AI_FORCE_INLINE void aiMatrix4x4t< TReal >::Decompose | ( | aiVector3t< TReal > & | pScaling,
 |  | aiVector3t< TReal > & | pRotationAxis,
 |  | TReal & | pRotationAngle,
 |  | aiVector3t< TReal > & | pPosition
 | ) |  | const

Decompose a trafo matrix into its original components Thx to good FAQ at http://www.gamedev.ru/code/articles/faq_matrix_quat.

Parameters
[out] | pScaling | - Receives the output scaling for the x,y,z axes.
[out] | pRotationAxis | - Receives the output rotation axis.
[out] | pRotationAngle | - Receives the output rotation angle for pRotationAxis.
[out] | pPosition | - Receives the output position for the x,y,z axes.

◆ DecomposeNoScaling()

template<typename TReal >
AI_FORCE_INLINE void aiMatrix4x4t< TReal >::DecomposeNoScaling | ( | aiQuaterniont< TReal > & | rotation,
 |  | aiVector3t< TReal > & | position
 | ) |  | const

Decompose a trafo matrix with no scaling into its original components.

Parameters
rotation | Receives the output rotation as a hamilton quaternion
position | Receives the output position for the x,y,z axes

◆ Determinant()

template<typename TReal >
AI_FORCE_INLINE TReal aiMatrix4x4t< TReal >::Determinant ( ) const

◆ Equal()

template<typename TReal >
AI_FORCE_INLINE bool aiMatrix4x4t< TReal >::Equal | ( | const aiMatrix4x4t< TReal > & | m,
 |  | TReal | epsilon = 1e-6
 | ) |  | const

◆ FromEulerAnglesXYZ() [1/2]

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal > & aiMatrix4x4t< TReal >::FromEulerAnglesXYZ | ( | TReal | x,
 |  | TReal | y,
 |  | TReal | z
 | ) |  |

Creates a trafo matrix from a set of euler angles.

Parameters
x | Rotation angle for the x-axis, in radians
y | Rotation angle for the y-axis, in radians
z | Rotation angle for the z-axis, in radians

◆ FromEulerAnglesXYZ() [2/2]

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal > & aiMatrix4x4t< TReal >::FromEulerAnglesXYZ ( const aiVector3t< TReal > & blubb )

◆ FromToMatrix()

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal > & aiMatrix4x4t< TReal >::FromToMatrix | ( | const aiVector3t< TReal > & | from,
 |  | const aiVector3t< TReal > & | to,
 |  | aiMatrix4x4t< TReal > & | out
 | ) |  |
static

A function for creating a rotation matrix that rotates a vector called "from" into another vector called "to".

Input : from[3], to[3] which both must be normalized non-zero vectors Output: mtx[3][3] – a 3x3 matrix in column-major form Authors: Tomas Mueller, John Hughes "Efficiently Building a Matrix to Rotate One Vector to Another" Journal of Graphics Tools, 4(4):1-4, 1999

Input : from[3], to[3] which both must be normalized non-zero vectors Output: mtx[3][3] – a 3x3 matrix in colum-major form Authors: Tomas Möller, John Hughes "Efficiently Building a Matrix to Rotate One Vector to Another" Journal of Graphics Tools, 4(4):1-4, 1999

◆ Inverse()

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal > & aiMatrix4x4t< TReal >::Inverse ( )

Invert the matrix.

If the matrix is not invertible all elements are set to qnan. Beware, use (f != f) to check whether a TReal f is qnan.

◆ IsIdentity()

template<typename TReal >
AI_FORCE_INLINE bool aiMatrix4x4t< TReal >::IsIdentity ( ) const
inline

Returns true of the matrix is the identity matrix.

The check is performed against a not so small epsilon.

◆ operator aiMatrix4x4t< TOther >()

template<typename TReal >
template<typename TOther >
aiMatrix4x4t< TReal >::operator aiMatrix4x4t< TOther > ( ) const

◆ operator!=()

template<typename TReal >
AI_FORCE_INLINE bool aiMatrix4x4t< TReal >::operator!= ( const aiMatrix4x4t< TReal > & m ) const

◆ operator*() [1/2]

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal > aiMatrix4x4t< TReal >::operator* ( const aiMatrix4x4t< TReal > & m ) const

◆ operator*() [2/2]

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal > aiMatrix4x4t< TReal >::operator* ( const TReal & aFloat ) const

◆ operator*=()

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal > & aiMatrix4x4t< TReal >::operator*= ( const aiMatrix4x4t< TReal > & m )

◆ operator+()

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal > aiMatrix4x4t< TReal >::operator+ ( const aiMatrix4x4t< TReal > & aMatrix ) const

◆ operator==()

template<typename TReal >
AI_FORCE_INLINE bool aiMatrix4x4t< TReal >::operator== ( const aiMatrix4x4t< TReal > & m ) const

◆ operator[]() [1/2]

template<typename TReal >
AI_FORCE_INLINE TReal * aiMatrix4x4t< TReal >::operator[] ( unsigned int p_iIndex )
Parameters
[in] p_iIndex - index of the row.
Returns
pointer to pointed row.

◆ operator[]() [2/2]

template<typename TReal >
AI_FORCE_INLINE const TReal * aiMatrix4x4t< TReal >::operator[] ( unsigned int p_iIndex ) const

◆ Rotation()

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal > & aiMatrix4x4t< TReal >::Rotation | ( | TReal | a,
 |  | const aiVector3t< TReal > & | axis,
 |  | aiMatrix4x4t< TReal > & | out
 | ) |  |
static

Returns a rotation matrix for a rotation around an arbitrary axis.

Parameters
a | Rotation angle, in radians
axis | Rotation axis, should be a normalized vector.
out | Receives the output matrix
Returns
Reference to the output matrix

◆ RotationX()

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal > & aiMatrix4x4t< TReal >::RotationX | ( | TReal | a,
 |  | aiMatrix4x4t< TReal > & | out
 | ) |  |
static

Returns a rotation matrix for a rotation around the x axis.

Parameters
a | Rotation angle, in radians
out | Receives the output matrix
Returns
Reference to the output matrix

◆ RotationY()

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal > & aiMatrix4x4t< TReal >::RotationY | ( | TReal | a,
 |  | aiMatrix4x4t< TReal > & | out
 | ) |  |
static

Returns a rotation matrix for a rotation around the y axis.

Parameters
a | Rotation angle, in radians
out | Receives the output matrix
Returns
Reference to the output matrix

◆ RotationZ()

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal > & aiMatrix4x4t< TReal >::RotationZ | ( | TReal | a,
 |  | aiMatrix4x4t< TReal > & | out
 | ) |  |
static

Returns a rotation matrix for a rotation around the z axis.

Parameters
a | Rotation angle, in radians
out | Receives the output matrix
Returns
Reference to the output matrix

◆ Scaling()

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal > & aiMatrix4x4t< TReal >::Scaling | ( | const aiVector3t< TReal > & | v,
 |  | aiMatrix4x4t< TReal > & | out
 | ) |  |
static

Returns a scaling matrix.

Parameters
v | Scaling vector
out | Receives the output matrix
Returns
Reference to the output matrix

◆ Translation()

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal > & aiMatrix4x4t< TReal >::Translation | ( | const aiVector3t< TReal > & | v,
 |  | aiMatrix4x4t< TReal > & | out
 | ) |  |
static

Returns a translation matrix.

Parameters
v | Translation vector
out | Receives the output matrix
Returns
Reference to the output matrix

◆ Transpose()

template<typename TReal >
AI_FORCE_INLINE aiMatrix4x4t< TReal > & aiMatrix4x4t< TReal >::Transpose ( )

Transpose the matrix.

Member Data Documentation

◆ a1

template<typename TReal>
TReal aiMatrix4x4t< TReal >::a1

◆ a2

template<typename TReal>
TReal aiMatrix4x4t< TReal >::a2

◆ a3

template<typename TReal>
TReal aiMatrix4x4t< TReal >::a3

◆ a4

template<typename TReal>
TReal aiMatrix4x4t< TReal >::a4

◆ b1

template<typename TReal>
TReal aiMatrix4x4t< TReal >::b1

◆ b2

template<typename TReal>
TReal aiMatrix4x4t< TReal >::b2

◆ b3

template<typename TReal>
TReal aiMatrix4x4t< TReal >::b3

◆ b4

template<typename TReal>
TReal aiMatrix4x4t< TReal >::b4

◆ c1

template<typename TReal>
TReal aiMatrix4x4t< TReal >::c1

◆ c2

template<typename TReal>
TReal aiMatrix4x4t< TReal >::c2

◆ c3

template<typename TReal>
TReal aiMatrix4x4t< TReal >::c3

◆ c4

template<typename TReal>
TReal aiMatrix4x4t< TReal >::c4

◆ d1

template<typename TReal>
TReal aiMatrix4x4t< TReal >::d1

◆ d2

template<typename TReal>
TReal aiMatrix4x4t< TReal >::d2

◆ d3

template<typename TReal>
TReal aiMatrix4x4t< TReal >::d3

◆ d4

template<typename TReal>
TReal aiMatrix4x4t< TReal >::d4
The documentation for this class was generated from the following files:
  • matrix3x3.h
  • matrix4x4.h
  • matrix4x4.inl
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiMemoryInfo Struct Reference

Public Member Functions | Public Attributes | List of all members
aiMemoryInfo Struct Reference

Stores the memory requirements for different components (e.g. More...

Public Member Functions

aiMemoryInfo () AI_NO_EXCEPT
Default constructor. More...

Public Attributes

unsigned int | animations
Storage allocated for animation data. More...
unsigned int | cameras
Storage allocated for camera data. More...
unsigned int | lights
Storage allocated for light data. More...
unsigned int | materials
Storage allocated for material data. More...
unsigned int | meshes
Storage allocated for mesh data. More...
unsigned int | nodes
Storage allocated for node data. More...
unsigned int | textures
Storage allocated for texture data. More...
unsigned int | total
Total storage allocated for the full import. More...

Detailed Description

Stores the memory requirements for different components (e.g.

meshes, materials, animations) of an import. All sizes are in bytes.

See also
Importer::GetMemoryRequirements()

Constructor & Destructor Documentation

◆ aiMemoryInfo()

aiMemoryInfo::aiMemoryInfo ( )
inline

Default constructor.

Member Data Documentation

◆ animations

unsigned int aiMemoryInfo::animations

Storage allocated for animation data.

◆ cameras

unsigned int aiMemoryInfo::cameras

Storage allocated for camera data.

◆ lights

unsigned int aiMemoryInfo::lights

Storage allocated for light data.

◆ materials

unsigned int aiMemoryInfo::materials

Storage allocated for material data.

◆ meshes

unsigned int aiMemoryInfo::meshes

Storage allocated for mesh data.

◆ nodes

unsigned int aiMemoryInfo::nodes

Storage allocated for node data.

◆ textures

unsigned int aiMemoryInfo::textures

Storage allocated for texture data.

◆ total

unsigned int aiMemoryInfo::total

Total storage allocated for the full import.

The documentation for this struct was generated from the following file:
  • types.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiMesh Struct Reference

Public Member Functions | Public Attributes | List of all members
aiMesh Struct Reference

enum aiMorphingMethod More...

Public Member Functions

aiMesh () AI_NO_EXCEPT
Default constructor. Initializes all members to 0. More...
unsigned int | GetNumColorChannels () const
Get the number of vertex color channels the mesh contains. More...
unsigned int | GetNumUVChannels () const
Get the number of UV channels the mesh contains. More...
bool | HasBones () const
Check whether the mesh contains bones. More...
bool | HasFaces () const
Check whether the mesh contains faces. More...
bool | HasNormals () const
Check whether the mesh contains normal vectors. More...
bool | HasPositions () const
Check whether the mesh contains positions. More...
bool | HasTangentsAndBitangents () const
Check whether the mesh contains tangent and bitangent vectors It is not possible that it contains tangents and no bitangents (or the other way round). More...
bool | HasTextureCoords (unsigned int pIndex) const
Check whether the mesh contains a texture coordinate set. More...
bool | HasVertexColors (unsigned int pIndex) const
Check whether the mesh contains a vertex color set. More...
~aiMesh ()
Deletes all storage allocated for the mesh. More...

Public Attributes

C_STRUCT aiAABB mAABB
C_STRUCT aiAnimMesh ** mAnimMeshes
Attachment meshes for this mesh, for vertex-based animation. More...
C_STRUCT aiVector3D * mBitangents
Vertex bitangents. More...
C_STRUCT aiBone ** mBones
The bones of this mesh. More...
C_STRUCT aiColor4D * mColors [AI_MAX_NUMBER_OF_COLOR_SETS]
Vertex color sets. More...
C_STRUCT aiFace * mFaces
The faces the mesh is constructed from. More...
unsigned int | mMaterialIndex
The material used by this mesh. More...
unsigned int | mMethod
Method of morphing when animeshes are specified. More...
C_STRUCT aiString mName
Name of the mesh. More...
C_STRUCT aiVector3D * mNormals
Vertex normals. More...
unsigned int | mNumAnimMeshes
The number of attachment meshes. More...
unsigned int | mNumBones
The number of bones this mesh contains. More...
unsigned int | mNumFaces
The number of primitives (triangles, polygons, lines) in this mesh. More...
unsigned int | mNumUVComponents [AI_MAX_NUMBER_OF_TEXTURECOORDS]
Specifies the number of components for a given UV channel. More...
unsigned int | mNumVertices
The number of vertices in this mesh. More...
unsigned int | mPrimitiveTypes
Bitwise combination of the members of the aiPrimitiveType enum. More...
C_STRUCT aiVector3D * mTangents
Vertex tangents. More...
C_STRUCT aiVector3D * mTextureCoords [AI_MAX_NUMBER_OF_TEXTURECOORDS]
Vertex texture coords, also known as UV channels. More...
C_STRUCT aiVector3D * mVertices
Vertex positions. More...

Detailed Description

enum aiMorphingMethod

A mesh represents a geometry or model with a single material.

It usually consists of a number of vertices and a series of primitives/faces referencing the vertices. In addition there might be a series of bones, each of them addressing a number of vertices with a certain weight. Vertex data is presented in channels with each channel containing a single per-vertex information such as a set of texture coords or a normal vector. If a data pointer is non-null, the corresponding data stream is present. From C++-programs you can also use the comfort functions Has*() to test for the presence of various data streams.

A Mesh uses only a single material which is referenced by a material ID.

Note
The mPositions member is usually not optional. However, vertex positions could be missing if the AI_SCENE_FLAGS_INCOMPLETE flag is set in
aiScene::mFlags

Constructor & Destructor Documentation

◆ aiMesh()

aiMesh::aiMesh ( )
inline

Default constructor. Initializes all members to 0.

◆ ~aiMesh()

aiMesh::~aiMesh ( )
inline

Deletes all storage allocated for the mesh.

Member Function Documentation

◆ GetNumColorChannels()

unsigned int aiMesh::GetNumColorChannels ( ) const
inline

Get the number of vertex color channels the mesh contains.

◆ GetNumUVChannels()

unsigned int aiMesh::GetNumUVChannels ( ) const
inline

Get the number of UV channels the mesh contains.

◆ HasBones()

bool aiMesh::HasBones ( ) const
inline

Check whether the mesh contains bones.

◆ HasFaces()

bool aiMesh::HasFaces ( ) const
inline

Check whether the mesh contains faces.

If no special scene flags are set this should always return true

◆ HasNormals()

bool aiMesh::HasNormals ( ) const
inline

Check whether the mesh contains normal vectors.

◆ HasPositions()

bool aiMesh::HasPositions ( ) const
inline

Check whether the mesh contains positions.

Provided no special scene flags are set, this will always be true

◆ HasTangentsAndBitangents()

bool aiMesh::HasTangentsAndBitangents ( ) const
inline

Check whether the mesh contains tangent and bitangent vectors It is not possible that it contains tangents and no bitangents (or the other way round).

The existence of one of them implies that the second is there, too.

◆ HasTextureCoords()

bool aiMesh::HasTextureCoords ( unsigned int pIndex ) const
inline

Check whether the mesh contains a texture coordinate set.

Parameters
pIndex Index of the texture coordinates set

◆ HasVertexColors()

bool aiMesh::HasVertexColors ( unsigned int pIndex ) const
inline

Check whether the mesh contains a vertex color set.

Parameters
pIndex Index of the vertex color set

Member Data Documentation

◆ mAABB

C_STRUCT aiAABB aiMesh::mAABB

◆ mAnimMeshes

C_STRUCT aiAnimMesh** aiMesh::mAnimMeshes

Attachment meshes for this mesh, for vertex-based animation.

Attachment meshes carry replacement data for some of the mesh'es vertex components (usually positions, normals). Note! Currently only works with Collada loader.

◆ mBitangents

C_STRUCT aiVector3D* aiMesh::mBitangents

Vertex bitangents.

The bitangent of a vertex points in the direction of the positive Y texture axis. The array contains normalized vectors, nullptr if not present. The array is mNumVertices in size.

Note
If the mesh contains tangents, it automatically also contains bitangents.

◆ mBones

C_STRUCT aiBone** aiMesh::mBones

The bones of this mesh.

A bone consists of a name by which it can be found in the frame hierarchy and a set of vertex weights.

◆ mColors

C_STRUCT aiColor4D* aiMesh::mColors[AI_MAX_NUMBER_OF_COLOR_SETS]

Vertex color sets.

A mesh may contain 0 to AI_MAX_NUMBER_OF_COLOR_SETS vertex colors per vertex. nullptr if not present. Each array is mNumVertices in size if present.

◆ mFaces

C_STRUCT aiFace* aiMesh::mFaces

The faces the mesh is constructed from.

Each face refers to a number of vertices by their indices. This array is always present in a mesh, its size is given in mNumFaces. If the AI_SCENE_FLAGS_NON_VERBOSE_FORMAT is NOT set each face references an unique set of vertices.

◆ mMaterialIndex

unsigned int aiMesh::mMaterialIndex

The material used by this mesh.

A mesh uses only a single material. If an imported model uses multiple materials, the import splits up the mesh. Use this value as index into the scene's material list.

◆ mMethod

unsigned int aiMesh::mMethod

Method of morphing when animeshes are specified.

◆ mName

C_STRUCT aiString aiMesh::mName

Name of the mesh.

Meshes can be named, but this is not a requirement and leaving this field empty is totally fine. There are mainly three uses for mesh names:

  • some formats name nodes and meshes independently.
  • importers tend to split meshes up to meet the one-material-per-mesh requirement. Assigning the same (dummy) name to each of the result meshes aids the caller at recovering the original mesh partitioning.
  • Vertex animations refer to meshes by their names.

◆ mNormals

C_STRUCT aiVector3D* aiMesh::mNormals

Vertex normals.

The array contains normalized vectors, nullptr if not present. The array is mNumVertices in size. Normals are undefined for point and line primitives. A mesh consisting of points and lines only may not have normal vectors. Meshes with mixed primitive types (i.e. lines and triangles) may have normals, but the normals for vertices that are only referenced by point or line primitives are undefined and set to QNaN (WARN: qNaN compares to inequal to everything, even to qNaN itself. Using code like this to check whether a field is qnan is:

#define IS_QNAN(f) (f != f)

still dangerous because even 1.f == 1.f could evaluate to false! ( remember the subtleties of IEEE754 artithmetics). Use stuff like fpclassify instead.

Note
Normal vectors computed by Assimp are always unit-length. However, this needn't apply for normals that have been taken directly from the model file.

◆ mNumAnimMeshes

unsigned int aiMesh::mNumAnimMeshes

The number of attachment meshes.

Note! Currently only works with Collada loader.

◆ mNumBones

unsigned int aiMesh::mNumBones

The number of bones this mesh contains.

Can be 0, in which case the mBones array is nullptr.

◆ mNumFaces

unsigned int aiMesh::mNumFaces

The number of primitives (triangles, polygons, lines) in this mesh.

This is also the size of the mFaces array. The maximum value for this member is AI_MAX_FACES.

◆ mNumUVComponents

unsigned int aiMesh::mNumUVComponents[AI_MAX_NUMBER_OF_TEXTURECOORDS]

Specifies the number of components for a given UV channel.

Up to three channels are supported (UVW, for accessing volume or cube maps). If the value is 2 for a given channel n, the component p.z of mTextureCoords[n][p] is set to 0.0f. If the value is 1 for a given channel, p.y is set to 0.0f, too.

Note
4D coords are not supported

◆ mNumVertices

unsigned int aiMesh::mNumVertices

The number of vertices in this mesh.

This is also the size of all of the per-vertex data arrays. The maximum value for this member is AI_MAX_VERTICES.

◆ mPrimitiveTypes

unsigned int aiMesh::mPrimitiveTypes

Bitwise combination of the members of the aiPrimitiveType enum.

This specifies which types of primitives are present in the mesh. The "SortByPrimitiveType"-Step can be used to make sure the output meshes consist of one primitive type each.

◆ mTangents

C_STRUCT aiVector3D* aiMesh::mTangents

Vertex tangents.

The tangent of a vertex points in the direction of the positive X texture axis. The array contains normalized vectors, nullptr if not present. The array is mNumVertices in size. A mesh consisting of points and lines only may not have normal vectors. Meshes with mixed primitive types (i.e. lines and triangles) may have normals, but the normals for vertices that are only referenced by point or line primitives are undefined and set to qNaN. See the mNormals member for a detailed discussion of qNaNs.

Note
If the mesh contains tangents, it automatically also contains bitangents.

◆ mTextureCoords

C_STRUCT aiVector3D* aiMesh::mTextureCoords[AI_MAX_NUMBER_OF_TEXTURECOORDS]

Vertex texture coords, also known as UV channels.

A mesh may contain 0 to AI_MAX_NUMBER_OF_TEXTURECOORDS per vertex. nullptr if not present. The array is mNumVertices in size.

◆ mVertices

C_STRUCT aiVector3D* aiMesh::mVertices

Vertex positions.

This array is always present in a mesh. The array is mNumVertices in size.

The documentation for this struct was generated from the following file:
  • mesh.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiMeshAnim Struct Reference

Public Member Functions | Public Attributes | List of all members
aiMeshAnim Struct Reference

Describes vertex-based animations for a single mesh or a group of meshes. More...

Public Member Functions

aiMeshAnim () AI_NO_EXCEPT
~aiMeshAnim ()

Public Attributes

C_STRUCT aiMeshKey * mKeys
Key frames of the animation. More...
C_STRUCT aiString mName
Name of the mesh to be animated. More...
unsigned int mNumKeys
Size of the mKeys array. More...

Detailed Description

Describes vertex-based animations for a single mesh or a group of meshes.

Meshes carry the animation data for each frame in their aiMesh::mAnimMeshes array. The purpose of aiMeshAnim is to define keyframes linking each mesh attachment to a particular point in time.

Constructor & Destructor Documentation

◆ aiMeshAnim()

aiMeshAnim::aiMeshAnim ( )
inline

◆ ~aiMeshAnim()

aiMeshAnim::~aiMeshAnim ( )
inline

Member Data Documentation

◆ mKeys

C_STRUCT aiMeshKey* aiMeshAnim::mKeys

Key frames of the animation.

May not be nullptr.

◆ mName

C_STRUCT aiString aiMeshAnim::mName

Name of the mesh to be animated.

An empty string is not allowed, animated meshes need to be named (not necessarily uniquely, the name can basically serve as wild-card to select a group of meshes with similar animation setup)

◆ mNumKeys

unsigned int aiMeshAnim::mNumKeys

Size of the mKeys array.

Must be 1, at least.

The documentation for this struct was generated from the following file:
  • anim.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiMeshKey Struct Reference

Public Types | Public Member Functions | Public Attributes | List of all members
aiMeshKey Struct Reference

Binds a anim-mesh to a specific point in time. More...

Public Types

typedef unsigned int elem_type

Public Member Functions

aiMeshKey () AI_NO_EXCEPT
aiMeshKey (double time, const unsigned int value)
Construction from a given time and key value. More...
bool | operator!= (const aiMeshKey &o) const
bool | operator< (const aiMeshKey &o) const
bool | operator== (const aiMeshKey &o) const
bool | operator> (const aiMeshKey &o) const

Public Attributes

double | mTime
The time of this key. More...
unsigned int | mValue
Index into the aiMesh::mAnimMeshes array of the mesh corresponding to the aiMeshAnim hosting this key frame. More...

Detailed Description

Binds a anim-mesh to a specific point in time.

Member Typedef Documentation

◆ elem_type

typedef unsigned int aiMeshKey::elem_type

Constructor & Destructor Documentation

◆ aiMeshKey() [1/2]

aiMeshKey::aiMeshKey ( )
inline

◆ aiMeshKey() [2/2]

aiMeshKey::aiMeshKey | ( | double | time,
 |  | const unsigned int | value
 | ) |  |
inline

Construction from a given time and key value.

Member Function Documentation

◆ operator!=()

bool aiMeshKey::operator!= ( const aiMeshKey & o ) const
inline

◆ operator<()

bool aiMeshKey::operator< ( const aiMeshKey & o ) const
inline

◆ operator==()

bool aiMeshKey::operator== ( const aiMeshKey & o ) const
inline

◆ operator>()

bool aiMeshKey::operator> ( const aiMeshKey & o ) const
inline

Member Data Documentation

◆ mTime

double aiMeshKey::mTime

The time of this key.

◆ mValue

unsigned int aiMeshKey::mValue

Index into the aiMesh::mAnimMeshes array of the mesh corresponding to the aiMeshAnim hosting this key frame.

The referenced anim mesh is evaluated according to the rules defined in the docs for aiAnimMesh.

The documentation for this struct was generated from the following file:
  • anim.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiMeshMorphAnim Struct Reference

Public Member Functions | Public Attributes | List of all members
aiMeshMorphAnim Struct Reference

Describes a morphing animation of a given mesh. More...

Public Member Functions

aiMeshMorphAnim () AI_NO_EXCEPT
~aiMeshMorphAnim ()

Public Attributes

C_STRUCT aiMeshMorphKey * mKeys
Key frames of the animation. More...
C_STRUCT aiString mName
Name of the mesh to be animated. More...
unsigned int mNumKeys
Size of the mKeys array. More...

Detailed Description

Describes a morphing animation of a given mesh.

Constructor & Destructor Documentation

◆ aiMeshMorphAnim()

aiMeshMorphAnim::aiMeshMorphAnim ( )
inline

◆ ~aiMeshMorphAnim()

aiMeshMorphAnim::~aiMeshMorphAnim ( )
inline

Member Data Documentation

◆ mKeys

C_STRUCT aiMeshMorphKey* aiMeshMorphAnim::mKeys

Key frames of the animation.

May not be nullptr.

◆ mName

C_STRUCT aiString aiMeshMorphAnim::mName

Name of the mesh to be animated.

An empty string is not allowed, animated meshes need to be named (not necessarily uniquely, the name can basically serve as wildcard to select a group of meshes with similar animation setup)

◆ mNumKeys

unsigned int aiMeshMorphAnim::mNumKeys

Size of the mKeys array.

Must be 1, at least.

The documentation for this struct was generated from the following file:
  • anim.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiMeshMorphKey Struct Reference

Public Member Functions | Public Attributes | List of all members
aiMeshMorphKey Struct Reference

Binds a morph anim mesh to a specific point in time. More...

Public Member Functions

aiMeshMorphKey () AI_NO_EXCEPT
~aiMeshMorphKey ()

Public Attributes

unsigned int | mNumValuesAndWeights
The number of values and weights. More...
double | mTime
The time of this key. More...
unsigned int * | mValues
The values and weights at the time of this key. More...
double * | mWeights

Detailed Description

Binds a morph anim mesh to a specific point in time.

Constructor & Destructor Documentation

◆ aiMeshMorphKey()

aiMeshMorphKey::aiMeshMorphKey ( )
inline

◆ ~aiMeshMorphKey()

aiMeshMorphKey::~aiMeshMorphKey ( )
inline

Member Data Documentation

◆ mNumValuesAndWeights

unsigned int aiMeshMorphKey::mNumValuesAndWeights

The number of values and weights.

◆ mTime

double aiMeshMorphKey::mTime

The time of this key.

◆ mValues

unsigned int* aiMeshMorphKey::mValues

The values and weights at the time of this key.

◆ mWeights

double* aiMeshMorphKey::mWeights
The documentation for this struct was generated from the following file:
  • anim.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiMetadata Struct Reference

Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
aiMetadata Struct Reference

Container for holding metadata. More...

Public Member Functions

template<typename T >
void | Add (const std::string &key, const T &value)
aiMetadata () AI_NO_EXCEPT
The default constructor, set all members to zero by default. More...
aiMetadata (const aiMetadata &rhs)
template<typename T >
bool | Get (unsigned index, T &value) const
template<typename T >
bool | Get (const aiString &key, T &value) const
template<typename T >
bool | Get (const std::string &key, T &value) const
bool | Get (size_t index, const aiString *&key, const aiMetadataEntry *&entry) const
Return metadata entry for analyzing it by user. More...
bool | HasKey (const char *key)
Check whether there is a metadata entry for the given key. More...
aiMetadata & | operator= (aiMetadata rhs)
template<typename T >
bool | Set (unsigned index, const std::string &key, const T &value)
template<typename T >
bool | Set (const std::string &key, const T &value)
~aiMetadata ()
The destructor. More...

Static Public Member Functions

static aiMetadata * | Alloc (unsigned int numProperties)
Allocates property fields + keys. More...
static void | Dealloc (aiMetadata *metadata)
Deallocates property fields + keys. More...

Public Attributes

C_STRUCT aiString * mKeys
Arrays of keys, may not be NULL. More...
unsigned int mNumProperties
Length of the mKeys and mValues arrays, respectively. More...
C_STRUCT aiMetadataEntry * mValues
Arrays of values, may not be NULL. More...

Friends

bool | CompareKeys (const aiMetadata &lhs, const aiMetadata &rhs)
bool | CompareValues (const aiMetadata &lhs, const aiMetadata &rhs)
bool | operator!= (const aiMetadata &lhs, const aiMetadata &rhs)
bool | operator== (const aiMetadata &lhs, const aiMetadata &rhs)

Detailed Description

Container for holding metadata.

Metadata is a key-value store using string keys and values.

Constructor & Destructor Documentation

◆ aiMetadata() [1/2]

aiMetadata::aiMetadata ( )
inline

The default constructor, set all members to zero by default.

◆ aiMetadata() [2/2]

aiMetadata::aiMetadata ( const aiMetadata & rhs )
inline

◆ ~aiMetadata()

aiMetadata::~aiMetadata ( )
inline

The destructor.

Member Function Documentation

◆ Add()

template<typename T >
void aiMetadata::Add | ( | const std::string & | key,
 |  | const T & | value
 | ) |  |
inline

◆ Alloc()

static aiMetadata* aiMetadata::Alloc ( unsigned int numProperties )
inlinestatic

Allocates property fields + keys.

Parameters
numProperties Number of requested properties.

◆ Dealloc()

static void aiMetadata::Dealloc ( aiMetadata * metadata )
inlinestatic

Deallocates property fields + keys.

◆ Get() [1/4]

template<typename T >
bool aiMetadata::Get | ( | unsigned | index,
 |  | T & | value
 | ) |  | const
 inline

◆ Get() [2/4]

template<typename T >
bool aiMetadata::Get | ( | const aiString & | key,
 |  | T & | value
 | ) |  | const
 inline

◆ Get() [3/4]

template<typename T >
bool aiMetadata::Get | ( | const std::string & | key,
 |  | T & | value
 | ) |  | const
 inline

◆ Get() [4/4]

bool aiMetadata::Get | ( | size_t | index,
 |  | const aiString *& | key,
 |  | const aiMetadataEntry *& | entry
 | ) |  | const
 inline

Return metadata entry for analyzing it by user.

Parameters
[in] | pIndex | - index of the entry.
[out] | pKey | - pointer to the key value.
[out] | pEntry | - pointer to the entry: type and value.
Returns
false - if pIndex is out of range, else - true.

◆ HasKey()

bool aiMetadata::HasKey ( const char * key )
inline

Check whether there is a metadata entry for the given key.

Parameters
[in] Key - the key value value to check for.

◆ operator=()

aiMetadata& aiMetadata::operator= ( aiMetadata rhs )
inline

◆ Set() [1/2]

template<typename T >
bool aiMetadata::Set | ( | unsigned | index,
 |  | const std::string & | key,
 |  | const T & | value
 | ) |  |
inline

◆ Set() [2/2]

template<typename T >
bool aiMetadata::Set | ( | const std::string & | key,
 |  | const T & | value
 | ) |  |
inline

Friends And Related Function Documentation

◆ CompareKeys

bool CompareKeys | ( | const aiMetadata & | lhs,
 |  | const aiMetadata & | rhs
 | ) |  |
friend

◆ CompareValues

bool CompareValues | ( | const aiMetadata & | lhs,
 |  | const aiMetadata & | rhs
 | ) |  |
friend

◆ operator!=

bool operator!= | ( | const aiMetadata & | lhs,
 |  | const aiMetadata & | rhs
 | ) |  |
friend

◆ operator==

bool operator== | ( | const aiMetadata & | lhs,
 |  | const aiMetadata & | rhs
 | ) |  |
friend

Member Data Documentation

◆ mKeys

C_STRUCT aiString* aiMetadata::mKeys

Arrays of keys, may not be NULL.

Entries in this array may not be NULL as well.

◆ mNumProperties

unsigned int aiMetadata::mNumProperties

Length of the mKeys and mValues arrays, respectively.

◆ mValues

C_STRUCT aiMetadataEntry* aiMetadata::mValues

Arrays of values, may not be NULL.

Entries in this array may be NULL if the corresponding property key has no assigned value.

The documentation for this struct was generated from the following file:
  • metadata.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiMetadataEntry Struct Reference

Public Member Functions | Public Attributes | List of all members
aiMetadataEntry Struct Reference

Metadata entry. More...

Public Member Functions

aiMetadataEntry ()

Public Attributes

void * mData
aiMetadataType mType

Detailed Description

Metadata entry.

The type field uniquely identifies the underlying type of the data field

Constructor & Destructor Documentation

◆ aiMetadataEntry()

aiMetadataEntry::aiMetadataEntry ( )
inline

Member Data Documentation

◆ mData

void* aiMetadataEntry::mData

◆ mType

aiMetadataType aiMetadataEntry::mType
The documentation for this struct was generated from the following file:
  • metadata.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiNode Struct Reference

Public Member Functions | Public Attributes | List of all members
aiNode Struct Reference

A node in the imported hierarchy. More...

Public Member Functions

void | addChildren (unsigned int numChildren, aiNode **children)
Will add new children. More...
aiNode ()
Constructor. More...
aiNode (const std::string &name)
Construction from a specific name. More...
const aiNode * | FindNode (const aiString &name) const
Searches for a node with a specific name, beginning at this nodes. More...
aiNode * | FindNode (const aiString &name)
const aiNode * | FindNode (const char *name) const
aiNode * | FindNode (const char *name)
~aiNode ()
Destructor. More...

Public Attributes

C_STRUCT aiNode ** mChildren
The child nodes of this node. More...
unsigned int * | mMeshes
The meshes of this node. More...
C_STRUCT aiMetadata * mMetaData
Metadata associated with this node or nullptr if there is no metadata. More...
C_STRUCT aiString mName
The name of the node. More...
unsigned int | mNumChildren
The number of child nodes of this node. More...
unsigned int | mNumMeshes
The number of meshes of this node. More...
C_STRUCT aiNode * mParent
Parent node. More...
C_STRUCT aiMatrix4x4 mTransformation
The transformation relative to the node's parent. More...

Detailed Description

A node in the imported hierarchy.

Each node has name, a parent node (except for the root node), a transformation relative to its parent and possibly several child nodes. Simple file formats don't support hierarchical structures - for these formats the imported scene does consist of only a single root node without children.

Constructor & Destructor Documentation

◆ aiNode() [1/2]

aiNode::aiNode ( )

Constructor.

◆ aiNode() [2/2]

aiNode::aiNode ( const std::string & name )
explicit

Construction from a specific name.

◆ ~aiNode()

aiNode::~aiNode ( )

Destructor.

Member Function Documentation

◆ addChildren()

void aiNode::addChildren | ( | unsigned int | numChildren,
 |  | aiNode ** | children
 | ) |  |

Will add new children.

Parameters
numChildren | Number of children to add.
children | The array with pointers showing to the children.

◆ FindNode() [1/4]

const aiNode* aiNode::FindNode ( const aiString & name ) const
inline

Searches for a node with a specific name, beginning at this nodes.

Normally you will call this method on the root node of the scene.

Parameters
name Name to search for
Returns
nullptr or a valid Node if the search was successful.

◆ FindNode() [2/4]

aiNode* aiNode::FindNode ( const aiString & name )
inline

◆ FindNode() [3/4]

const aiNode* aiNode::FindNode ( const char * name ) const

◆ FindNode() [4/4]

aiNode* aiNode::FindNode ( const char * name )

Member Data Documentation

◆ mChildren

C_STRUCT aiNode** aiNode::mChildren

The child nodes of this node.

nullptr if mNumChildren is 0.

◆ mMeshes

unsigned int* aiNode::mMeshes

The meshes of this node.

Each entry is an index into the mesh list of the aiScene.

◆ mMetaData

C_STRUCT aiMetadata* aiNode::mMetaData

Metadata associated with this node or nullptr if there is no metadata.

Whether any metadata is generated depends on the source file format. See the importer_notes page for more information on every source file format. Importers that don't document any metadata don't write any.

◆ mName

C_STRUCT aiString aiNode::mName

The name of the node.

The name might be empty (length of zero) but all nodes which need to be referenced by either bones or animations are named. Multiple nodes may have the same name, except for nodes which are referenced by bones (see aiBone and aiMesh::mBones). Their names must be unique.

Cameras and lights reference a specific node by name - if there are multiple nodes with this name, they are assigned to each of them.
There are no limitations with regard to the characters contained in the name string as it is usually taken directly from the source file.

Implementations should be able to handle tokens such as whitespace, tabs, line feeds, quotation marks, ampersands etc.

Sometimes assimp introduces new nodes not present in the source file into the hierarchy (usually out of necessity because sometimes the source hierarchy format is simply not compatible). Their names are surrounded by

<>

e.g.

<DummyRootNode>

.

◆ mNumChildren

unsigned int aiNode::mNumChildren

The number of child nodes of this node.

◆ mNumMeshes

unsigned int aiNode::mNumMeshes

The number of meshes of this node.

◆ mParent

C_STRUCT aiNode* aiNode::mParent

Parent node.

nullptr if this node is the root node.

◆ mTransformation

C_STRUCT aiMatrix4x4 aiNode::mTransformation

The transformation relative to the node's parent.

The documentation for this struct was generated from the following file:
  • scene.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiNodeAnim Struct Reference

Public Member Functions | Public Attributes | List of all members
aiNodeAnim Struct Reference

Describes the animation of a single node. More...

Public Member Functions

aiNodeAnim () AI_NO_EXCEPT
~aiNodeAnim ()

Public Attributes

C_STRUCT aiString mNodeName
The name of the node affected by this animation. More...
unsigned int | mNumPositionKeys
The number of position keys. More...
unsigned int | mNumRotationKeys
The number of rotation keys. More...
unsigned int | mNumScalingKeys
The number of scaling keys. More...
C_STRUCT aiVectorKey * mPositionKeys
The position keys of this animation channel. More...
C_ENUM aiAnimBehaviour mPostState
Defines how the animation behaves after the last key was processed. More...
C_ENUM aiAnimBehaviour mPreState
Defines how the animation behaves before the first key is encountered. More...
C_STRUCT aiQuatKey * mRotationKeys
The rotation keys of this animation channel. More...
C_STRUCT aiVectorKey * mScalingKeys
The scaling keys of this animation channel. More...

Detailed Description

Describes the animation of a single node.

The name specifies the bone/node which is affected by this animation channel. The keyframes are given in three separate series of values, one each for position, rotation and scaling. The transformation matrix computed from these values replaces the node's original transformation matrix at a specific time. This means all keys are absolute and not relative to the bone default pose. The order in which the transformations are applied is

  • as usual - scaling, rotation, translation.
Note
All keys are returned in their correct, chronological order. Duplicate keys don't pass the validation step. Most likely there will be no negative time values, but they are not forbidden also ( so implementations need to cope with them! )

Constructor & Destructor Documentation

◆ aiNodeAnim()

aiNodeAnim::aiNodeAnim ( )
inline

◆ ~aiNodeAnim()

aiNodeAnim::~aiNodeAnim ( )
inline

Member Data Documentation

◆ mNodeName

C_STRUCT aiString aiNodeAnim::mNodeName

The name of the node affected by this animation.

The node must exist and it must be unique.

◆ mNumPositionKeys

unsigned int aiNodeAnim::mNumPositionKeys

The number of position keys.

◆ mNumRotationKeys

unsigned int aiNodeAnim::mNumRotationKeys

The number of rotation keys.

◆ mNumScalingKeys

unsigned int aiNodeAnim::mNumScalingKeys

The number of scaling keys.

◆ mPositionKeys

C_STRUCT aiVectorKey* aiNodeAnim::mPositionKeys

The position keys of this animation channel.

Positions are specified as 3D vector. The array is mNumPositionKeys in size.

If there are position keys, there will also be at least one scaling and one rotation key.

◆ mPostState

C_ENUM aiAnimBehaviour aiNodeAnim::mPostState

Defines how the animation behaves after the last key was processed.

The default value is aiAnimBehaviour_DEFAULT (the original transformation matrix of the affected node is taken).

◆ mPreState

C_ENUM aiAnimBehaviour aiNodeAnim::mPreState

Defines how the animation behaves before the first key is encountered.

The default value is aiAnimBehaviour_DEFAULT (the original transformation matrix of the affected node is used).

◆ mRotationKeys

C_STRUCT aiQuatKey* aiNodeAnim::mRotationKeys

The rotation keys of this animation channel.

Rotations are given as quaternions, which are 4D vectors. The array is mNumRotationKeys in size.

If there are rotation keys, there will also be at least one scaling and one position key.

◆ mScalingKeys

C_STRUCT aiVectorKey* aiNodeAnim::mScalingKeys

The scaling keys of this animation channel.

Scalings are specified as 3D vector. The array is mNumScalingKeys in size.

If there are scaling keys, there will also be at least one position and one rotation key.

The documentation for this struct was generated from the following file:
  • anim.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiPlane Struct Reference

Public Member Functions | Public Attributes | List of all members
aiPlane Struct Reference

Represents a plane in a three-dimensional, euclidean space. More...

Public Member Functions

aiPlane () AI_NO_EXCEPT
aiPlane (ai_real _a, ai_real _b, ai_real _c, ai_real _d)
aiPlane (const aiPlane &o)

Public Attributes

ai_real a
Plane equation. More...
ai_real b
ai_real c
ai_real d

Detailed Description

Represents a plane in a three-dimensional, euclidean space.

Constructor & Destructor Documentation

◆ aiPlane() [1/3]

aiPlane::aiPlane ( )
inline

◆ aiPlane() [2/3]

aiPlane::aiPlane | ( | ai_real | _a,
 |  | ai_real | _b,
 |  | ai_real | _c,
 |  | ai_real | _d
 | ) |  |
inline

◆ aiPlane() [3/3]

aiPlane::aiPlane ( const aiPlane & o )
inline

Member Data Documentation

◆ a

ai_real aiPlane::a

Plane equation.

◆ b

ai_real aiPlane::b

◆ c

ai_real aiPlane::c

◆ d

ai_real aiPlane::d
The documentation for this struct was generated from the following file:
  • types.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiPropertyStore Struct Reference

Public Attributes | List of all members
aiPropertyStore Struct Reference

C-API: Represents an opaque set of settings to be used during importing. More...

Public Attributes

char sentinel

Detailed Description

C-API: Represents an opaque set of settings to be used during importing.

See also
aiCreatePropertyStore
aiReleasePropertyStore
aiImportFileExWithProperties
aiSetPropertyInteger
aiSetPropertyFloat
aiSetPropertyString
aiSetPropertyMatrix

Member Data Documentation

◆ sentinel

char aiPropertyStore::sentinel
The documentation for this struct was generated from the following file:
  • cimport.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiQuaterniont< TReal > Class Template Reference

Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
aiQuaterniont< TReal > Class Template Reference

Represents a quaternion in a 4D vector. More...

Public Member Functions

aiQuaterniont () AI_NO_EXCEPT
aiQuaterniont (TReal pw, TReal px, TReal py, TReal pz)
aiQuaterniont (const aiMatrix3x3t< TReal > &pRotMatrix)
Construct from rotation matrix. More...
aiQuaterniont (TReal rotx, TReal roty, TReal rotz)
Construct from euler angles. More...
aiQuaterniont (aiVector3t< TReal > axis, TReal angle)
Construct from an axis-angle pair. More...
aiQuaterniont (aiVector3t< TReal > normalized)
Construct from a normalized quaternion stored in a vec3. More...
aiQuaterniont & Conjugate ()
Compute quaternion conjugate. More...
bool | Equal (const aiQuaterniont &o, TReal epsilon=1e-6) const
aiMatrix3x3t< TReal > | GetMatrix () const
Returns a matrix representation of the quaternion. More...
aiQuaterniont & Normalize ()
Normalize the quaternion. More...
bool | operator!= (const aiQuaterniont &o) const
aiQuaterniont | operator* (const aiQuaterniont &two) const
Multiply two quaternions. More...
bool | operator== (const aiQuaterniont &o) const
aiVector3t< TReal > | Rotate (const aiVector3t< TReal > &in) const
Rotate a point by this quaternion. More...

Static Public Member Functions

static void Interpolate (aiQuaterniont &pOut, const aiQuaterniont &pStart, const aiQuaterniont &pEnd, TReal pFactor)
Performs a spherical interpolation between two quaternions and writes the result into the third. More...

Public Attributes

TReal | w
w,x,y,z components of the quaternion More...
TReal | x
TReal | y
TReal | z

Detailed Description

template<typename TReal>
class aiQuaterniont< TReal >

Represents a quaternion in a 4D vector.

Constructor & Destructor Documentation

◆ aiQuaterniont() [1/6]

template<typename TReal >
aiQuaterniont< TReal >::aiQuaterniont ( )
inline

◆ aiQuaterniont() [2/6]

template<typename TReal >
aiQuaterniont< TReal >::aiQuaterniont | ( | TReal | pw,
 |  | TReal | px,
 |  | TReal | py,
 |  | TReal | pz
 | ) |  |
inline

◆ aiQuaterniont() [3/6]

template<typename TReal >
aiQuaterniont< TReal >::aiQuaterniont ( const aiMatrix3x3t< TReal > & pRotMatrix )
inlineexplicit

Construct from rotation matrix.

Result is undefined if the matrix is not orthonormal.

◆ aiQuaterniont() [4/6]

template<typename TReal >
aiQuaterniont< TReal >::aiQuaterniont | ( | TReal | rotx,
 |  | TReal | roty,
 |  | TReal | rotz
 | ) |  |
inline

Construct from euler angles.

◆ aiQuaterniont() [5/6]

template<typename TReal >
aiQuaterniont< TReal >::aiQuaterniont | ( | aiVector3t< TReal > | axis,
 |  | TReal | angle
 | ) |  |
inline

Construct from an axis-angle pair.

◆ aiQuaterniont() [6/6]

template<typename TReal >
aiQuaterniont< TReal >::aiQuaterniont ( aiVector3t< TReal > normalized )
inlineexplicit

Construct from a normalized quaternion stored in a vec3.

Member Function Documentation

◆ Conjugate()

template<typename TReal >
aiQuaterniont< TReal > & aiQuaterniont< TReal >::Conjugate ( )
inline

Compute quaternion conjugate.

◆ Equal()

template<typename TReal >
bool aiQuaterniont< TReal >::Equal | ( | const aiQuaterniont< TReal > & | o,
 |  | TReal | epsilon = 1e-6
 | ) |  | const
 inline

◆ GetMatrix()

template<typename TReal >
aiMatrix3x3t< TReal > aiQuaterniont< TReal >::GetMatrix ( ) const
inline

Returns a matrix representation of the quaternion.

◆ Interpolate()

template<typename TReal >
void aiQuaterniont< TReal >::Interpolate | ( | aiQuaterniont< TReal > & | pOut,
 |  | const aiQuaterniont< TReal > & | pStart,
 |  | const aiQuaterniont< TReal > & | pEnd,
 |  | TReal | pFactor
 | ) |  |
inlinestatic

Performs a spherical interpolation between two quaternions and writes the result into the third.

Parameters
pOut | Target object to received the interpolated rotation.
pStart | Start rotation of the interpolation at factor == 0.
pEnd | End rotation, factor == 1.
pFactor | Interpolation factor between 0 and 1. Values outside of this range yield undefined results.

◆ Normalize()

template<typename TReal >
aiQuaterniont< TReal > & aiQuaterniont< TReal >::Normalize ( )
inline

Normalize the quaternion.

◆ operator!=()

template<typename TReal >
bool aiQuaterniont< TReal >::operator!= ( const aiQuaterniont< TReal > & o ) const

◆ operator*()

template<typename TReal >
aiQuaterniont< TReal > aiQuaterniont< TReal >::operator* ( const aiQuaterniont< TReal > & two ) const
inline

Multiply two quaternions.

◆ operator==()

template<typename TReal >
bool aiQuaterniont< TReal >::operator== ( const aiQuaterniont< TReal > & o ) const

◆ Rotate()

template<typename TReal >
aiVector3t< TReal > aiQuaterniont< TReal >::Rotate ( const aiVector3t< TReal > & in ) const
inline

Rotate a point by this quaternion.

Member Data Documentation

◆ w

template<typename TReal >
TReal aiQuaterniont< TReal >::w

w,x,y,z components of the quaternion

◆ x

template<typename TReal >
TReal aiQuaterniont< TReal >::x

◆ y

template<typename TReal >
TReal aiQuaterniont< TReal >::y

◆ z

template<typename TReal >
TReal aiQuaterniont< TReal >::z
The documentation for this class was generated from the following files:
  • matrix4x4.h
  • quaternion.h
  • quaternion.inl
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiQuatKey Struct Reference

Public Types | Public Member Functions | Public Attributes | List of all members
aiQuatKey Struct Reference

A time-value pair specifying a rotation for the given time. More...

Public Types

typedef aiQuaternion elem_type

Public Member Functions

aiQuatKey () AI_NO_EXCEPT
aiQuatKey (double time, const aiQuaternion &value)
Construction from a given time and key value. More...
bool | operator!= (const aiQuatKey &rhs) const
bool | operator< (const aiQuatKey &rhs) const
bool | operator== (const aiQuatKey &rhs) const
bool | operator> (const aiQuatKey &rhs) const

Public Attributes

double mTime
The time of this key. More...
C_STRUCT aiQuaternion mValue
The value of this key. More...

Detailed Description

A time-value pair specifying a rotation for the given time.

Rotations are expressed with quaternions.

Member Typedef Documentation

◆ elem_type

typedef aiQuaternion aiQuatKey::elem_type

Constructor & Destructor Documentation

◆ aiQuatKey() [1/2]

aiQuatKey::aiQuatKey ( )
inline

◆ aiQuatKey() [2/2]

aiQuatKey::aiQuatKey | ( | double | time,
 |  | const aiQuaternion & | value
 | ) |  |
inline

Construction from a given time and key value.

Member Function Documentation

◆ operator!=()

bool aiQuatKey::operator!= ( const aiQuatKey & rhs ) const
inline

◆ operator<()

bool aiQuatKey::operator< ( const aiQuatKey & rhs ) const
inline

◆ operator==()

bool aiQuatKey::operator== ( const aiQuatKey & rhs ) const
inline

◆ operator>()

bool aiQuatKey::operator> ( const aiQuatKey & rhs ) const
inline

Member Data Documentation

◆ mTime

double aiQuatKey::mTime

The time of this key.

◆ mValue

C_STRUCT aiQuaternion aiQuatKey::mValue

The value of this key.

The documentation for this struct was generated from the following file:
  • anim.h
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: aiRay Struct Reference

Public Member Functions | Public Attributes | List of all members
aiRay Struct Reference

Represents a ray. More...

Public Member Functions

aiRay () AI_NO_EXCEPT
aiRay (const aiVector3D &_pos, const aiVector3D &_dir)
aiRay (const aiRay &o)

Public Attributes

C_STRUCT aiVector3D dir
C_STRUCT aiVector3D pos
Position and direction of the ray. More...

Detailed Description

Represents a ray.

Constructor & Destructor Documentation

◆ aiRay() [1/3]

aiRay::aiRay ( )
inline

◆ aiRay() [2/3]

aiRay::aiRay | ( | const aiVector3D & | _pos,
 |  | const aiVector3D & | _dir
 | ) |  |
inline

◆ aiRay() [3/3]

aiRay::aiRay ( const aiRay & o )
inline

Member Data Documentation

◆ dir

C_STRUCT aiVector3D aiRay::dir

◆ pos

C_STRUCT aiVector3D aiRay::pos

Position and direction of the ray.

The documentation for this struct was generated from the following file:
  • types.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: aiScene Struct Reference

Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
aiScene Struct Reference

The root structure of the imported data. More...

Public Member Functions

ASSIMP_API aiScene ()
Default constructor - set everything to 0/nullptr. More...
const aiTexture * | GetEmbeddedTexture (const char *filename) const
Returns an embedded texture. More...
bool | HasAnimations () const
Check whether the scene contains animations. More...
bool | HasCameras () const
Check whether the scene contains cameras. More...
bool | HasLights () const
Check whether the scene contains lights. More...
bool | HasMaterials () const
Check whether the scene contains materials Unless no special scene flags are set this will always be true. More...
bool | HasMeshes () const
Check whether the scene contains meshes Unless no special scene flags are set this will always be true. More...
bool | HasTextures () const
Check whether the scene contains textures. More...
ASSIMP_API ~aiScene ()
Destructor. More...

Static Public Member Functions

static const char * GetShortFilename (const char *filename)
Returns a short filename from a full path. More...

Public Attributes

C_STRUCT aiAnimation ** mAnimations
The array of animations. More...
C_STRUCT aiCamera ** mCameras
The array of cameras. More...
unsigned int | mFlags
Any combination of the AI_SCENE_FLAGS_XXX flags. More...
C_STRUCT aiLight ** mLights
The array of light sources. More...
C_STRUCT aiMaterial ** mMaterials
The array of materials. More...
C_STRUCT aiMesh ** mMeshes
The array of meshes. More...
C_STRUCT aiMetadata * mMetaData
The global metadata assigned to the scene itself. More...
C_STRUCT aiString mName
The name of the scene itself. More...
unsigned int | mNumAnimations
The number of animations in the scene. More...
unsigned int | mNumCameras
The number of cameras in the scene. More...
unsigned int | mNumLights
The number of light sources in the scene. More...
unsigned int | mNumMaterials
The number of materials in the scene. More...
unsigned int | mNumMeshes
The number of meshes in the scene. More...
unsigned int | mNumTextures
The number of textures embedded into the file. More...
void * | mPrivate
Internal data, do not touch. More...
C_STRUCT aiNode * mRootNode
The root node of the hierarchy. More...
C_STRUCT aiTexture ** mTextures
The array of embedded textures. More...

Detailed Description

The root structure of the imported data.

Everything that was imported from the given file can be accessed from here. Objects of this class are generally maintained and owned by Assimp, not by the caller. You shouldn't want to instance it, nor should you ever try to delete a given scene on your own.

Constructor & Destructor Documentation

◆ aiScene()

ASSIMP_API aiScene::aiScene ( )

Default constructor - set everything to 0/nullptr.

◆ ~aiScene()

ASSIMP_API aiScene::~aiScene ( )

Destructor.

Member Function Documentation

◆ GetEmbeddedTexture()

const aiTexture* aiScene::GetEmbeddedTexture ( const char * filename ) const
inline

Returns an embedded texture.

◆ GetShortFilename()

static const char* aiScene::GetShortFilename ( const char * filename )
inlinestatic

Returns a short filename from a full path.

◆ HasAnimations()

bool aiScene::HasAnimations ( ) const
inline

Check whether the scene contains animations.

◆ HasCameras()

bool aiScene::HasCameras ( ) const
inline

Check whether the scene contains cameras.

◆ HasLights()

bool aiScene::HasLights ( ) const
inline

Check whether the scene contains lights.

◆ HasMaterials()

bool aiScene::HasMaterials ( ) const
inline

Check whether the scene contains materials Unless no special scene flags are set this will always be true.

◆ HasMeshes()

bool aiScene::HasMeshes ( ) const
inline

Check whether the scene contains meshes Unless no special scene flags are set this will always be true.

◆ HasTextures()

bool aiScene::HasTextures ( ) const
inline

Check whether the scene contains textures.

Member Data Documentation

◆ mAnimations

C_STRUCT aiAnimation** aiScene::mAnimations

The array of animations.

All animations imported from the given file are listed here. The array is mNumAnimations in size.

◆ mCameras

C_STRUCT aiCamera** aiScene::mCameras

The array of cameras.

All cameras imported from the given file are listed here. The array is mNumCameras in size. The first camera in the array (if existing) is the default camera view into the scene.

◆ mFlags

unsigned int aiScene::mFlags

Any combination of the AI_SCENE_FLAGS_XXX flags.

By default this value is 0, no flags are set. Most applications will want to reject all scenes with the AI_SCENE_FLAGS_INCOMPLETE bit set.

◆ mLights

C_STRUCT aiLight** aiScene::mLights

The array of light sources.

All light sources imported from the given file are listed here. The array is mNumLights in size.

◆ mMaterials

C_STRUCT aiMaterial** aiScene::mMaterials

The array of materials.

Use the index given in each aiMesh structure to access this array. The array is mNumMaterials in size. If the AI_SCENE_FLAGS_INCOMPLETE flag is not set there will always be at least ONE material.

◆ mMeshes

C_STRUCT aiMesh** aiScene::mMeshes

The array of meshes.

Use the indices given in the aiNode structure to access this array. The array is mNumMeshes in size. If the AI_SCENE_FLAGS_INCOMPLETE flag is not set there will always be at least ONE material.

◆ mMetaData

C_STRUCT aiMetadata* aiScene::mMetaData

The global metadata assigned to the scene itself.

This data contains global metadata which belongs to the scene like unit-conversions, versions, vendors or other model-specific data. This can be used to store format-specific metadata as well.

◆ mName

C_STRUCT aiString aiScene::mName

The name of the scene itself.

◆ mNumAnimations

unsigned int aiScene::mNumAnimations

The number of animations in the scene.

◆ mNumCameras

unsigned int aiScene::mNumCameras

The number of cameras in the scene.

Cameras are fully optional, in most cases this attribute will be 0

◆ mNumLights

unsigned int aiScene::mNumLights

The number of light sources in the scene.

Light sources are fully optional, in most cases this attribute will be 0

◆ mNumMaterials

unsigned int aiScene::mNumMaterials

The number of materials in the scene.

◆ mNumMeshes

unsigned int aiScene::mNumMeshes

The number of meshes in the scene.

◆ mNumTextures

unsigned int aiScene::mNumTextures

The number of textures embedded into the file.

◆ mPrivate

void* aiScene::mPrivate

Internal data, do not touch.

◆ mRootNode

C_STRUCT aiNode* aiScene::mRootNode

The root node of the hierarchy.

There will always be at least the root node if the import was successful (and no special flags have been set). Presence of further nodes depends on the format and content of the imported file.

◆ mTextures

C_STRUCT aiTexture** aiScene::mTextures

The array of embedded textures.

Not many file formats embed their textures into the file. An example is Quake's MDL format (which is also used by some GameStudio versions)

The documentation for this struct was generated from the following file:
  • scene.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: aiString Struct Reference

Public Member Functions | Public Attributes | List of all members
aiString Struct Reference

Represents an UTF-8 string, zero byte terminated. More...

Public Member Functions

aiString () AI_NO_EXCEPT
Default constructor, the string is set to have zero length. More...
aiString (const aiString &rOther)
Copy constructor. More...
aiString (const std::string &pString)
Constructor from std::string. More...
void | Append (const char *app)
Append a string to the string. More...
const char * | C_Str () const
Returns a pointer to the underlying zero-terminated array of characters. More...
void | Clear ()
Clear the string - reset its length to zero. More...
bool | operator!= (const aiString &other) const
Inverse comparison operator. More...
aiString & | operator= (const aiString &rOther)
Assignment operator. More...
aiString & | operator= (const char *sz)
Assign a const char* to the string. More...
aiString & | operator= (const std::string &pString)
Assign a cstd::string to the string. More...
bool | operator== (const aiString &other) const
Comparison operator. More...
void | Set (const std::string &pString)
Copy a std::string to the aiString. More...
void | Set (const char *sz)
Copy a const char* to the aiString. More...

Public Attributes

char data [MAXLEN]
String buffer. More...
ai_uint32 length
Binary length of the string excluding the terminal 0. More...

Detailed Description

Represents an UTF-8 string, zero byte terminated.

The character set of an aiString is explicitly defined to be UTF-8. This Unicode transformation was chosen in the belief that most strings in 3d files are limited to ASCII, thus the character set needed to be strictly ASCII compatible.

Most text file loaders provide proper Unicode input file handling, special unicode characters are correctly transcoded to UTF8 and are kept throughout the libraries' import pipeline.

For most applications, it will be absolutely sufficient to interpret the aiString as ASCII data and work with it as one would work with a plain char*. Windows users in need of proper support for i.e asian characters can use the MultiByteToWideChar(), WideCharToMultiByte() WinAPI functionality to convert the UTF-8 strings to their working character set (i.e. MBCS, WideChar).

We use this representation instead of std::string to be C-compatible. The (binary) length of such a string is limited to MAXLEN characters (including the the terminating zero).

Constructor & Destructor Documentation

◆ aiString() [1/3]

aiString::aiString ( )
inline

Default constructor, the string is set to have zero length.

◆ aiString() [2/3]

aiString::aiString ( const aiString & rOther )
inline

Copy constructor.

◆ aiString() [3/3]

aiString::aiString ( const std::string & pString )
inlineexplicit

Constructor from std::string.

Member Function Documentation

◆ Append()

void aiString::Append ( const char * app )
inline

Append a string to the string.

◆ C_Str()

const char* aiString::C_Str ( ) const
inline

Returns a pointer to the underlying zero-terminated array of characters.

◆ Clear()

void aiString::Clear ( )
inline

Clear the string - reset its length to zero.

◆ operator!=()

bool aiString::operator!= ( const aiString & other ) const
inline

Inverse comparison operator.

◆ operator=() [1/3]

aiString& aiString::operator= ( const aiString & rOther )
inline

Assignment operator.

◆ operator=() [2/3]

aiString& aiString::operator= ( const char * sz )
inline

Assign a const char* to the string.

◆ operator=() [3/3]

aiString& aiString::operator= ( const std::string & pString )
inline

Assign a cstd::string to the string.

◆ operator==()

bool aiString::operator== ( const aiString & other ) const
inline

Comparison operator.

◆ Set() [1/2]

void aiString::Set ( const std::string & pString )
inline

Copy a std::string to the aiString.

◆ Set() [2/2]

void aiString::Set ( const char * sz )
inline

Copy a const char* to the aiString.

Member Data Documentation

◆ data

char aiString::data[MAXLEN]

String buffer.

Size limit is MAXLEN

◆ length

ai_uint32 aiString::length

Binary length of the string excluding the terminal 0.

This is NOT the logical length of strings containing UTF-8 multi-byte sequences! It's the number of bytes from the beginning of the string to its end.

The documentation for this struct was generated from the following file:
  • types.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: aiTexel Struct Reference

Public Member Functions | Public Attributes | List of all members
aiTexel Struct Reference

Helper structure to represent a texel in a ARGB8888 format. More...

Public Member Functions

operator aiColor4D () const
Conversion to a floating-point 4d color. More...
bool | operator!= (const aiTexel &other) const
Inverse comparison operator. More...
bool | operator== (const aiTexel &other) const
Comparison operator. More...

Public Attributes

unsigned char | a
unsigned char | b
unsigned char | g
unsigned char | r

Detailed Description

Helper structure to represent a texel in a ARGB8888 format.

Used by aiTexture.

Member Function Documentation

◆ operator aiColor4D()

aiTexel::operator aiColor4D ( ) const
inline

Conversion to a floating-point 4d color.

◆ operator!=()

bool aiTexel::operator!= ( const aiTexel & other ) const
inline

Inverse comparison operator.

◆ operator==()

bool aiTexel::operator== ( const aiTexel & other ) const
inline

Comparison operator.

Member Data Documentation

◆ a

unsigned char aiTexel::a

◆ b

unsigned char aiTexel::b

◆ g

unsigned char aiTexel::g

◆ r

unsigned char aiTexel::r
The documentation for this struct was generated from the following file:
  • texture.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: aiTexture Struct Reference

Public Member Functions | Public Attributes | List of all members
aiTexture Struct Reference

Helper structure to describe an embedded texture. More...

Public Member Functions

aiTexture () AI_NO_EXCEPT
bool CheckFormat (const char *s) const
For compressed textures (mHeight == 0): compare the format hint against a given string. More...
~aiTexture ()

Public Attributes

char | achFormatHint [HINTMAXTEXTURELEN]
A hint from the loader to make it easier for applications to determine the type of embedded textures. More...
C_STRUCT aiString mFilename
Texture original filename. More...
unsigned int | mHeight
Height of the texture, in pixels. More...
unsigned int | mWidth
Width of the texture, in pixels. More...
C_STRUCT aiTexel * pcData
Data of the texture. More...

Detailed Description

Helper structure to describe an embedded texture.

Normally textures are contained in external files but some file formats embed them directly in the model file. There are two types of embedded textures:

  1. Uncompressed textures. The color data is given in an uncompressed format.
  2. Compressed textures stored in a file format like png or jpg. The raw file bytes are given so the application must utilize an image decoder (e.g. DevIL) to get access to the actual color data.

Embedded textures are referenced from materials using strings like "*0", "*1", etc. as the texture paths (a single asterisk character followed by the zero-based index of the texture in the aiScene::mTextures array).

Constructor & Destructor Documentation

◆ aiTexture()

aiTexture::aiTexture ( )
inline

◆ ~aiTexture()

aiTexture::~aiTexture ( )
inline

Member Function Documentation

◆ CheckFormat()

bool aiTexture::CheckFormat ( const char * s ) const
inline

For compressed textures (mHeight == 0): compare the format hint against a given string.

Parameters
s Input string. 3 characters are maximally processed. Example values: "jpg", "png"
Returns
true if the given string matches the format hint

Member Data Documentation

◆ achFormatHint

char aiTexture::achFormatHint[HINTMAXTEXTURELEN]

A hint from the loader to make it easier for applications to determine the type of embedded textures.

If mHeight != 0 this member is show how data is packed. Hint will consist of two parts: channel order and channel bitness (count of the bits for every color channel). For simple parsing by the viewer it's better to not omit absent color channel and just use 0 for bitness. For example:

  1. Image contain RGBA and 8 bit per channel, achFormatHint == "rgba8888";
  2. Image contain ARGB and 8 bit per channel, achFormatHint == "argb8888";
  3. Image contain RGB and 5 bit for R and B channels and 6 bit for G channel, achFormatHint == "rgba5650";
  4. One color image with B channel and 1 bit for it, achFormatHint == "rgba0010"; If mHeight == 0 then achFormatHint is set set to '\0\0\0\0' if the loader has no additional information about the texture file format used OR the file extension of the format without a trailing dot. If there are multiple file extensions for a format, the shortest extension is chosen (JPEG maps to 'jpg', not to 'jpeg'). E.g. 'dds\0', 'pcx\0', 'jpg\0'. All characters are lower-case. The fourth character will always be '\0'.

◆ mFilename

C_STRUCT aiString aiTexture::mFilename

Texture original filename.

Used to get the texture reference

◆ mHeight

unsigned int aiTexture::mHeight

Height of the texture, in pixels.

If this value is zero, pcData points to an compressed texture in any format (e.g. JPEG).

◆ mWidth

unsigned int aiTexture::mWidth

Width of the texture, in pixels.

If mHeight is zero the texture is compressed in a format like JPEG. In this case mWidth specifies the size of the memory area pcData is pointing to, in bytes.

◆ pcData

C_STRUCT aiTexel* aiTexture::pcData

Data of the texture.

Points to an array of mWidth * mHeight aiTexel's. The format of the texture data is always ARGB8888 to make the implementation for user of the library as easy as possible. If mHeight = 0 this is a pointer to a memory buffer of size mWidth containing the compressed texture data. Good luck, have fun!

The documentation for this struct was generated from the following file:
  • texture.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: aiUVTransform Struct Reference

Public Member Functions | Public Attributes | List of all members
aiUVTransform Struct Reference

Defines how an UV channel is transformed. More...

Public Member Functions

aiUVTransform () AI_NO_EXCEPT

Public Attributes

ai_real mRotation
Rotation - in counter-clockwise direction. More...
C_STRUCT aiVector2D mScaling
Scaling on the u and v axes. More...
C_STRUCT aiVector2D mTranslation
Translation on the u and v axes. More...

Detailed Description

Defines how an UV channel is transformed.

This is just a helper structure for the AI_MATKEY_UVTRANSFORM key. See its documentation for more details.

Typically you'll want to build a matrix of this information. However, we keep separate scaling/translation/rotation values to make it easier to process and optimize UV transformations internally.

Constructor & Destructor Documentation

◆ aiUVTransform()

aiUVTransform::aiUVTransform ( )
inline

Member Data Documentation

◆ mRotation

ai_real aiUVTransform::mRotation

Rotation - in counter-clockwise direction.

The rotation angle is specified in radians. The rotation center is 0.5f|0.5f. The default value 0.f.

◆ mScaling

C_STRUCT aiVector2D aiUVTransform::mScaling

Scaling on the u and v axes.

The default value is (1|1).

◆ mTranslation

C_STRUCT aiVector2D aiUVTransform::mTranslation

Translation on the u and v axes.

The default value is (0|0).

The documentation for this struct was generated from the following file:
  • material.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: aiVector2t< TReal > Class Template Reference

Public Member Functions | Public Attributes | List of all members
aiVector2t< TReal > Class Template Reference

Represents a two-dimensional vector. More...

Public Member Functions

aiVector2t ()
aiVector2t (TReal _x, TReal _y)
aiVector2t (TReal _xyz)
aiVector2t (const aiVector2t &o)=default
bool | Equal (const aiVector2t &other, TReal epsilon=1e-6) const
TReal | Length () const
aiVector2t & Normalize ()
template<typename TOther >
operator aiVector2t< TOther > () const
bool | operator!= (const aiVector2t &other) const
const aiVector2t & | operator*= (TReal f)
const aiVector2t & | operator+= (const aiVector2t &o)
const aiVector2t & | operator-= (const aiVector2t &o)
const aiVector2t & | operator/= (TReal f)
aiVector2t & | operator= (TReal f)
bool | operator== (const aiVector2t &other) const
TReal | operator[] (unsigned int i) const
void | Set (TReal pX, TReal pY)
TReal | SquareLength () const
const aiVector2t | SymMul (const aiVector2t &o)

Public Attributes

TReal | x
TReal | y

Detailed Description

template<typename TReal>
class aiVector2t< TReal >

Represents a two-dimensional vector.

Constructor & Destructor Documentation

◆ aiVector2t() [1/4]

template<typename TReal >
aiVector2t< TReal >::aiVector2t ( )
inline

◆ aiVector2t() [2/4]

template<typename TReal >
aiVector2t< TReal >::aiVector2t | ( | TReal | _x,
 |  | TReal | _y
 | ) |  |
inline

◆ aiVector2t() [3/4]

template<typename TReal >
aiVector2t< TReal >::aiVector2t ( TReal _xyz )
inlineexplicit

◆ aiVector2t() [4/4]

template<typename TReal >
aiVector2t< TReal >::aiVector2t ( const aiVector2t< TReal > & o )
default

Member Function Documentation

◆ Equal()

template<typename TReal >
bool aiVector2t< TReal >::Equal | ( | const aiVector2t< TReal > & | other,
 |  | TReal | epsilon = 1e-6
 | ) |  | const
 inline

◆ Length()

template<typename TReal >
TReal aiVector2t< TReal >::Length ( ) const
inline

◆ Normalize()

template<typename TReal >
aiVector2t< TReal > & aiVector2t< TReal >::Normalize ( )
inline

◆ operator aiVector2t< TOther >()

template<typename TReal >
template<typename TOther >
aiVector2t< TReal >::operator aiVector2t< TOther > ( ) const

◆ operator!=()

template<typename TReal >
bool aiVector2t< TReal >::operator!= ( const aiVector2t< TReal > & other ) const
inline

◆ operator*=()

template<typename TReal >
const aiVector2t< TReal > & aiVector2t< TReal >::operator*= ( TReal f )
inline

◆ operator+=()

template<typename TReal >
const aiVector2t< TReal > & aiVector2t< TReal >::operator+= ( const aiVector2t< TReal > & o )
inline

◆ operator-=()

template<typename TReal >
const aiVector2t< TReal > & aiVector2t< TReal >::operator-= ( const aiVector2t< TReal > & o )
inline

◆ operator/=()

template<typename TReal >
const aiVector2t< TReal > & aiVector2t< TReal >::operator/= ( TReal f )
inline

◆ operator=()

template<typename TReal >
aiVector2t< TReal > & aiVector2t< TReal >::operator= ( TReal f )
inline

◆ operator==()

template<typename TReal >
bool aiVector2t< TReal >::operator== ( const aiVector2t< TReal > & other ) const
inline

◆ operator[]()

template<typename TReal >
TReal aiVector2t< TReal >::operator[] ( unsigned int i ) const
inline

◆ Set()

template<typename TReal >
void aiVector2t< TReal >::Set | ( | TReal | pX,
 |  | TReal | pY
 | ) |  |
inline

◆ SquareLength()

template<typename TReal >
TReal aiVector2t< TReal >::SquareLength ( ) const
inline

◆ SymMul()

template<typename TReal >
const aiVector2t< TReal > aiVector2t< TReal >::SymMul ( const aiVector2t< TReal > & o )
inline

Member Data Documentation

◆ x

template<typename TReal >
TReal aiVector2t< TReal >::x

◆ y

template<typename TReal >
TReal aiVector2t< TReal >::y
The documentation for this class was generated from the following files:
  • matrix3x3.h
  • vector2.h
  • vector2.inl
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: aiVector3t< TReal > Class Template Reference

Public Member Functions | Public Attributes | List of all members
aiVector3t< TReal > Class Template Reference

Represents a three-dimensional vector. More...

Public Member Functions

aiVector3t () AI_NO_EXCEPT
aiVector3t (TReal _x, TReal _y, TReal _z)
aiVector3t (TReal _xyz)
aiVector3t (const aiVector3t &o)=default
bool | Equal (const aiVector3t &other, TReal epsilon=1e-6) const
TReal | Length () const
Get the length of the vector. More...
aiVector3t & Normalize ()
Normalize the vector. More...
aiVector3t & NormalizeSafe ()
Normalize the vector with extra check for zero vectors. More...
template<typename TOther >
operator aiVector3t< TOther > () const
bool | operator!= (const aiVector3t &other) const
const aiVector3t & | operator*= (TReal f)
aiVector3t & | operator*= (const aiMatrix3x3t< TReal > &mat)
aiVector3t & | operator*= (const aiMatrix4x4t< TReal > &mat)
const aiVector3t & | operator+= (const aiVector3t &o)
const aiVector3t & | operator-= (const aiVector3t &o)
const aiVector3t & | operator/= (TReal f)
bool | operator< (const aiVector3t &other) const
bool | operator== (const aiVector3t &other) const
TReal | operator[] (unsigned int i) const
TReal & | operator[] (unsigned int i)
void | Set (TReal pX, TReal pY, TReal pZ)
Set the components of a vector. More...
TReal | SquareLength () const
Get the squared length of the vector. More...
const aiVector3t | SymMul (const aiVector3t &o)
Componentwise multiplication of two vectors. More...

Public Attributes

TReal | x
TReal | y
TReal | z

Detailed Description

template<typename TReal>
class aiVector3t< TReal >

Represents a three-dimensional vector.

Constructor & Destructor Documentation

◆ aiVector3t() [1/4]

template<typename TReal>
aiVector3t< TReal >::aiVector3t ( )
inline

◆ aiVector3t() [2/4]

template<typename TReal>
aiVector3t< TReal >::aiVector3t | ( | TReal | _x,
 |  | TReal | _y,
 |  | TReal | _z
 | ) |  |
inline

◆ aiVector3t() [3/4]

template<typename TReal>
aiVector3t< TReal >::aiVector3t ( TReal _xyz )
inlineexplicit

◆ aiVector3t() [4/4]

template<typename TReal>
aiVector3t< TReal >::aiVector3t ( const aiVector3t< TReal > & o )
default

Member Function Documentation

◆ Equal()

template<typename TReal>
AI_FORCE_INLINE bool aiVector3t< TReal >::Equal | ( | const aiVector3t< TReal > & | other,
 |  | TReal | epsilon = 1e-6
 | ) |  | const

◆ Length()

template<typename TReal >
AI_FORCE_INLINE TReal aiVector3t< TReal >::Length ( ) const

Get the length of the vector.

Returns
length

◆ Normalize()

template<typename TReal >
AI_FORCE_INLINE aiVector3t< TReal > & aiVector3t< TReal >::Normalize ( )

Normalize the vector.

◆ NormalizeSafe()

template<typename TReal >
AI_FORCE_INLINE aiVector3t< TReal > & aiVector3t< TReal >::NormalizeSafe ( )

Normalize the vector with extra check for zero vectors.

◆ operator aiVector3t< TOther >()

template<typename TReal >
template<typename TOther >
aiVector3t< TReal >::operator aiVector3t< TOther > ( ) const

◆ operator!=()

template<typename TReal >
AI_FORCE_INLINE bool aiVector3t< TReal >::operator!= ( const aiVector3t< TReal > & other ) const

◆ operator*=() [1/3]

template<typename TReal>
AI_FORCE_INLINE const aiVector3t< TReal > & aiVector3t< TReal >::operator*= ( TReal f )

◆ operator*=() [2/3]

template<typename TReal>
AI_FORCE_INLINE aiVector3t< TReal > & aiVector3t< TReal >::operator*= ( const aiMatrix3x3t< TReal > & mat )

◆ operator*=() [3/3]

template<typename TReal>
AI_FORCE_INLINE aiVector3t< TReal > & aiVector3t< TReal >::operator*= ( const aiMatrix4x4t< TReal > & mat )

◆ operator+=()

template<typename TReal >
AI_FORCE_INLINE const aiVector3t< TReal > & aiVector3t< TReal >::operator+= ( const aiVector3t< TReal > & o )

◆ operator-=()

template<typename TReal >
AI_FORCE_INLINE const aiVector3t< TReal > & aiVector3t< TReal >::operator-= ( const aiVector3t< TReal > & o )

◆ operator/=()

template<typename TReal>
AI_FORCE_INLINE const aiVector3t< TReal > & aiVector3t< TReal >::operator/= ( TReal f )

◆ operator<()

template<typename TReal >
AI_FORCE_INLINE bool aiVector3t< TReal >::operator< ( const aiVector3t< TReal > & other ) const

◆ operator==()

template<typename TReal >
AI_FORCE_INLINE bool aiVector3t< TReal >::operator== ( const aiVector3t< TReal > & other ) const

◆ operator[]() [1/2]

template<typename TReal >
AI_FORCE_INLINE TReal aiVector3t< TReal >::operator[] ( unsigned int i ) const

◆ operator[]() [2/2]

template<typename TReal >
AI_FORCE_INLINE TReal & aiVector3t< TReal >::operator[] ( unsigned int i )

◆ Set()

template<typename TReal>
AI_FORCE_INLINE void aiVector3t< TReal >::Set | ( | TReal | pX,
 |  | TReal | pY,
 |  | TReal | pZ
 | ) |  |

Set the components of a vector.

Parameters
pX | X component
pY | Y component
pZ | Z component

◆ SquareLength()

template<typename TReal >
AI_FORCE_INLINE TReal aiVector3t< TReal >::SquareLength ( ) const

Get the squared length of the vector.

Returns
Square length

◆ SymMul()

template<typename TReal >
AI_FORCE_INLINE const aiVector3t< TReal > aiVector3t< TReal >::SymMul ( const aiVector3t< TReal > & o )

Componentwise multiplication of two vectors.

Note that vec*vec yields the dot product.

Parameters
o Second factor

Member Data Documentation

◆ x

template<typename TReal>
TReal aiVector3t< TReal >::x

◆ y

template<typename TReal>
TReal aiVector3t< TReal >::y

◆ z

template<typename TReal>
TReal aiVector3t< TReal >::z
The documentation for this class was generated from the following files:
  • matrix3x3.h
  • vector3.h
  • vector3.inl
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: aiVectorKey Struct Reference

Public Types | Public Member Functions | Public Attributes | List of all members
aiVectorKey Struct Reference

A time-value pair specifying a certain 3D vector for the given time. More...

Public Types

typedef aiVector3D elem_type

Public Member Functions

aiVectorKey () AI_NO_EXCEPT
The default constructor. More...
aiVectorKey (double time, const aiVector3D &value)
Construction from a given time and key value. More...
bool | operator!= (const aiVectorKey &rhs) const
bool | operator< (const aiVectorKey &rhs) const
bool | operator== (const aiVectorKey &rhs) const
bool | operator> (const aiVectorKey &rhs) const

Public Attributes

double mTime
The time of this key. More...
C_STRUCT aiVector3D mValue
The value of this key. More...

Detailed Description

A time-value pair specifying a certain 3D vector for the given time.

Member Typedef Documentation

◆ elem_type

typedef aiVector3D aiVectorKey::elem_type

Constructor & Destructor Documentation

◆ aiVectorKey() [1/2]

aiVectorKey::aiVectorKey ( )
inline

The default constructor.

◆ aiVectorKey() [2/2]

aiVectorKey::aiVectorKey | ( | double | time,
 |  | const aiVector3D & | value
 | ) |  |
inline

Construction from a given time and key value.

Member Function Documentation

◆ operator!=()

bool aiVectorKey::operator!= ( const aiVectorKey & rhs ) const
inline

◆ operator<()

bool aiVectorKey::operator< ( const aiVectorKey & rhs ) const
inline

◆ operator==()

bool aiVectorKey::operator== ( const aiVectorKey & rhs ) const
inline

◆ operator>()

bool aiVectorKey::operator> ( const aiVectorKey & rhs ) const
inline

Member Data Documentation

◆ mTime

double aiVectorKey::mTime

The time of this key.

◆ mValue

C_STRUCT aiVector3D aiVectorKey::mValue

The value of this key.

The documentation for this struct was generated from the following file:
  • anim.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: aiVertexWeight Struct Reference

Public Member Functions | Public Attributes | List of all members
aiVertexWeight Struct Reference

A single influence of a bone on a vertex. More...

Public Member Functions

aiVertexWeight () AI_NO_EXCEPT
Default constructor. More...
aiVertexWeight (unsigned int pID, float pWeight)
Initialization from a given index and vertex weight factor. More...
bool | operator!= (const aiVertexWeight &rhs) const
bool | operator== (const aiVertexWeight &rhs) const

Public Attributes

unsigned int mVertexId
Index of the vertex which is influenced by the bone. More...
ai_real mWeight
The strength of the influence in the range (0...1). More...

Detailed Description

A single influence of a bone on a vertex.

Constructor & Destructor Documentation

◆ aiVertexWeight() [1/2]

aiVertexWeight::aiVertexWeight ( )
inline

Default constructor.

◆ aiVertexWeight() [2/2]

aiVertexWeight::aiVertexWeight | ( | unsigned int | pID,
 |  | float | pWeight
 | ) |  |
inline

Initialization from a given index and vertex weight factor.

Parameters
pID | ID
pWeight | Vertex weight factor

Member Function Documentation

◆ operator!=()

bool aiVertexWeight::operator!= ( const aiVertexWeight & rhs ) const
inline

◆ operator==()

bool aiVertexWeight::operator== ( const aiVertexWeight & rhs ) const
inline

Member Data Documentation

◆ mVertexId

unsigned int aiVertexWeight::mVertexId

Index of the vertex which is influenced by the bone.

◆ mWeight

ai_real aiVertexWeight::mWeight

The strength of the influence in the range (0...1).

The influence from all bones at one vertex amounts to 1.

The documentation for this struct was generated from the following file:
  • mesh.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: DeadlyErrorBase Class Reference

Protected Member Functions | List of all members
DeadlyErrorBase Class Reference

Inherits std::runtime_error.

Inherited by DeadlyExportError, and DeadlyImportError.

Protected Member Functions

DeadlyErrorBase (Assimp::Formatter::format f)
template<typename... T, typename U >
DeadlyErrorBase (Assimp::Formatter::format f, U &&u, T &&... args)

Constructor & Destructor Documentation

◆ DeadlyErrorBase() [1/2]

DeadlyErrorBase::DeadlyErrorBase ( Assimp::Formatter::format f )
protected

◆ DeadlyErrorBase() [2/2]

template<typename... T, typename U >
DeadlyErrorBase::DeadlyErrorBase | ( | Assimp::Formatter::format | f,
 |  | U && | u,
 |  | T &&... | args
 | ) |  |
inlineprotected
The documentation for this class was generated from the following file:
  • Exceptional.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: DeadlyExportError Class Reference

Public Member Functions | List of all members
DeadlyExportError Class Reference

Inherits DeadlyErrorBase.

Public Member Functions

template<typename... T>
DeadlyExportError (T &&... args)
Constructor with arguments. More...

Additional Inherited Members

- Protected Member Functions inherited from DeadlyErrorBase
DeadlyErrorBase (Assimp::Formatter::format f)
template<typename... T, typename U >
DeadlyErrorBase (Assimp::Formatter::format f, U &&u, T &&... args)

Constructor & Destructor Documentation

◆ DeadlyExportError()

template<typename... T>
DeadlyExportError::DeadlyExportError ( T &&... args )
inlineexplicit

Constructor with arguments.

The documentation for this class was generated from the following file:
  • Exceptional.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: DeadlyImportError Class Reference

Public Member Functions | List of all members
DeadlyImportError Class Reference

FOR IMPORTER PLUGINS ONLY: Simple exception class to be thrown if an unrecoverable error occurs while importing. More...

Inherits DeadlyErrorBase.

Public Member Functions

template<typename... T>
DeadlyImportError (T &&... args)
Constructor with arguments. More...

Additional Inherited Members

- Protected Member Functions inherited from DeadlyErrorBase
DeadlyErrorBase (Assimp::Formatter::format f)
template<typename... T, typename U >
DeadlyErrorBase (Assimp::Formatter::format f, U &&u, T &&... args)

Detailed Description

FOR IMPORTER PLUGINS ONLY: Simple exception class to be thrown if an unrecoverable error occurs while importing.

Loading APIs return nullptr instead of a valid aiScene then.

Constructor & Destructor Documentation

◆ DeadlyImportError()

template<typename... T>
DeadlyImportError::DeadlyImportError ( T &&... args )
inlineexplicit

Constructor with arguments.

The documentation for this class was generated from the following file:
  • Exceptional.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: ExceptionSwallower< T > Struct Template Reference

Public Member Functions | List of all members
ExceptionSwallower< T > Struct Template Reference

Public Member Functions

T operator() () const

Member Function Documentation

◆ operator()()

template<typename T >
T ExceptionSwallower< T >::operator() ( ) const
inline
The documentation for this struct was generated from the following file:
  • Exceptional.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: ExceptionSwallower< aiReturn > Struct Template Reference

Public Member Functions | List of all members
ExceptionSwallower< aiReturn > Struct Template Reference

Public Member Functions

aiReturn operator() () const

Member Function Documentation

◆ operator()()

aiReturn ExceptionSwallower< aiReturn >::operator() ( ) const
inline
The documentation for this struct was generated from the following file:
  • Exceptional.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: ExceptionSwallower< T * > Struct Template Reference

Public Member Functions | List of all members
ExceptionSwallower< T * > Struct Template Reference

Public Member Functions

T * operator() () const

Member Function Documentation

◆ operator()()

template<typename T >
T* ExceptionSwallower< T * >::operator() ( ) const
inline
The documentation for this struct was generated from the following file:
  • Exceptional.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: ExceptionSwallower< void > Struct Template Reference

Public Member Functions | List of all members
ExceptionSwallower< void > Struct Template Reference

Public Member Functions

void operator() () const

Member Function Documentation

◆ operator()()

void ExceptionSwallower< void >::operator() ( ) const
inline
The documentation for this struct was generated from the following file:
  • Exceptional.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: FaceWithSmoothingGroup Struct Reference

Public Member Functions | Public Attributes | List of all members
FaceWithSmoothingGroup Struct Reference

Helper structure representing a face with smoothing groups assigned. More...

Public Member Functions

FaceWithSmoothingGroup () AI_NO_EXCEPT

Public Attributes

uint32_t | iSmoothGroup
specifies to which smoothing group the face belongs to More...
uint32_t | mIndices [3]
Indices. More...

Detailed Description

Helper structure representing a face with smoothing groups assigned.

Constructor & Destructor Documentation

◆ FaceWithSmoothingGroup()

FaceWithSmoothingGroup::FaceWithSmoothingGroup ( )
inline

Member Data Documentation

◆ iSmoothGroup

uint32_t FaceWithSmoothingGroup::iSmoothGroup

specifies to which smoothing group the face belongs to

◆ mIndices

uint32_t FaceWithSmoothingGroup::mIndices[3]

Indices.

.3ds is using uint16. However, after an unique vertex set has been generated, individual index values might exceed 2^16

The documentation for this struct was generated from the following file:
  • SmoothingGroups.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: MeshWithSmoothingGroups< T > Struct Template Reference

Public Attributes | List of all members
MeshWithSmoothingGroups< T > Struct Template Reference

Helper structure representing a mesh whose faces have smoothing groups assigned. More...

Public Attributes

std::vector< T > | mFaces
Face lists. More...
std::vector< aiVector3D > | mNormals
List of normal vectors. More...
std::vector< aiVector3D > | mPositions
Vertex positions. More...

Detailed Description

template<class T>
struct MeshWithSmoothingGroups< T >

Helper structure representing a mesh whose faces have smoothing groups assigned.

This allows us to reuse the code for normal computations from smoothings groups for several loaders (3DS, ASE). All of them use face structures which inherit from FaceWithSmoothingGroup, but as they add extra members and need to be copied by value we need to use a template here.

Member Data Documentation

◆ mFaces

template<class T >
std::vector<T> MeshWithSmoothingGroups< T >::mFaces

Face lists.

◆ mNormals

template<class T >
std::vector<aiVector3D> MeshWithSmoothingGroups< T >::mNormals

List of normal vectors.

◆ mPositions

template<class T >
std::vector<aiVector3D> MeshWithSmoothingGroups< T >::mPositions

Vertex positions.

The documentation for this struct was generated from the following file:
  • SmoothingGroups.h
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Class Index

Class Index
_ | a | b | d | e | f | g | h | i | l | m | n | p | s | t | v | x | z
_
aiMeshKey basic_formatter (Assimp::Formatter) Getter< SwapEndianess, T, false > (Assimp::Intern) Profiler (Assimp::Profiling)
aiMeshMorphAnim ByteSwapper (Assimp::Intern)
h
ProgressHandler (Assimp)
_IEEEDouble aiMeshMorphKey ByteSwapper< T, false > (Assimp::Intern)
s
_IEEESingle aiMetadata
d
Bitmap::Header (Assimp)
ByteSwap::_swapper< T, 2 > (Assimp) aiMetadataEntry
i
SceneCombiner (Assimp)
ByteSwap::_swapper< T, 4 > (Assimp) aiNode Bitmap::DIB (Assimp) SceneHelper (Assimp)
ByteSwap::_swapper< T, 8 > (Assimp) aiNodeAnim DefaultIOStream (Assimp) Importer (Assimp) SGSpatialSort (Assimp)
a
aiPlane DefaultIOSystem (Assimp) Interpolator (Assimp) SkeletonMeshBuilder (Assimp)
aiPropertyStore DefaultLogger (Assimp) IOStream (Assimp) SmallVector (Assimp)
aiAABB aiQuaterniont divides (Assimp::Intern) IOStreamBuffer (Assimp) SpatialSort (Assimp)
aiAnimation aiQuatKey DeadlyErrorBase IOSystem (Assimp) StandardShapes (Assimp)
aiAnimMesh aiRay DeadlyExportError
l
StreamReader (Assimp)
aiBone aiScene DeadlyImportError StreamWriter (Assimp)
aiCamera aiString
e
LineSplitter (Assimp) Subdivider (Assimp)
aiColor3D aiTexel LogFunctions (Assimp)
t
aiColor4t aiTexture Exporter (Assimp) Logger (Assimp)
aiExportDataBlob aiUVTransform Exporter::ExportFormatEntry (Assimp) LogStream (Assimp) TXmlParser (Assimp)
aiExportFormatDesc aiVector2t ExportProperties (Assimp)
m
v
aiFace aiVector3t SGSpatialSort::Entry (Assimp)
aiFile aiVectorKey SpatialSort::Entry (Assimp) minus (Assimp::Intern) Vertex (Assimp)
aiFileIO aiVertexWeight ExceptionSwallower multiplies (Assimp::Intern)
x
aiImporterDesc AttachmentInfo (Assimp) ExceptionSwallower< aiReturn > MemoryIOStream (Assimp)
aiLight
b
ExceptionSwallower< T * > MemoryIOSystem (Assimp) XmlNodeIterator (Assimp)
aiLogStream ExceptionSwallower< void > MeshWithSmoothingGroups
z
aiMaterial BaseImporter (Assimp)
f
n
aiMatrix3x3t Bitmap (Assimp) ZipArchiveIOSystem (Assimp)
aiMatrix4x4t BlobIOStream (Assimp) find_node_by_name_predicate (Assimp) NodeAttachmentInfo (Assimp)
aiMemoryInfo BlobIOSystem (Assimp) SkeletonMeshBuilder::Face (Assimp) NodeConverter (Assimp)
aiMesh BoneWithHash (Assimp) FaceWithSmoothingGroup NullLogger (Assimp)
aiMeshAnim ByteSwap (Assimp)
g
p
Getter (Assimp::Intern) plus (Assimp::Intern)
_ | a | b | d | e | f | g | h | i | l | m | n | p | s | t | v | x | z
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Hierarchy

Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
C _IEEEDouble | Data structure to represent the bit pattern of a 64 Bit IEEE 754 floating-point number
C _IEEESingle | Data structure to represent the bit pattern of a 32 Bit IEEE 754 floating-point number
C aiAABB |
C aiAnimation | An animation consists of key-frame data for a number of nodes
C aiAnimMesh | An AnimMesh is an attachment to an aiMesh stores per-vertex animations for a particular frame
C aiBone | A single bone of a mesh
C aiCamera | Helper structure to describe a virtual camera
C aiColor3D | Represents a color in Red-Green-Blue space
C aiColor4t< TReal > | Represents a color in Red-Green-Blue space including an alpha component
C aiColor4t< ai_real > |
C aiExportDataBlob | Describes a blob of exported scene data
C aiExportFormatDesc | Describes an file format which Assimp can export to
C aiFace | A single face in a mesh, referring to multiple vertices
C aiFile | C-API: File callbacks
C aiFileIO | C-API: File system callbacks
C aiImporterDesc | Meta information about a particular importer
C aiLight | Helper structure to describe a light source
C aiLogStream | C-API: Represents a log stream
C aiMaterial | Data structure for a material
C aiMatrix3x3t< TReal > | Represents a row-major 3x3 matrix
C aiMatrix4x4t< TReal > | Represents a row-major 4x4 matrix, use this for homogeneous coordinates
C aiMemoryInfo | Stores the memory requirements for different components (e.g
C aiMesh | Enum aiMorphingMethod
C aiMeshAnim | Describes vertex-based animations for a single mesh or a group of meshes
C aiMeshKey | Binds a anim-mesh to a specific point in time
C aiMeshMorphAnim | Describes a morphing animation of a given mesh
C aiMeshMorphKey | Binds a morph anim mesh to a specific point in time
C aiMetadata | Container for holding metadata
C aiMetadataEntry | Metadata entry
C aiNode | A node in the imported hierarchy
C aiNodeAnim | Describes the animation of a single node
C aiPlane | Represents a plane in a three-dimensional, euclidean space
C aiPropertyStore | C-API: Represents an opaque set of settings to be used during importing
C aiQuaterniont< TReal > | Represents a quaternion in a 4D vector
C aiQuatKey | A time-value pair specifying a rotation for the given time
C aiRay | Represents a ray
C aiScene | The root structure of the imported data
C aiString | Represents an UTF-8 string, zero byte terminated
C aiTexel | Helper structure to represent a texel in a ARGB8888 format
C aiTexture | Helper structure to describe an embedded texture
C aiUVTransform | Defines how an UV channel is transformed
C aiVector2t< TReal > | Represents a two-dimensional vector
C aiVector3t< TReal > | Represents a three-dimensional vector
C aiVector3t< ai_real > |
C aiVectorKey | A time-value pair specifying a certain 3D vector for the given time
C aiVertexWeight | A single influence of a bone on a vertex
C Assimp::AttachmentInfo | Helper data structure for SceneCombiner
C Assimp::BaseImporter | FOR IMPORTER PLUGINS ONLY: The BaseImporter defines a common interface for all importer worker classes
C Assimp::Bitmap |
C Assimp::Bitmap::DIB |
C Assimp::Bitmap::Header |
C Assimp::ByteSwap | Defines some useful byte order swap routines
C Assimp::ByteSwap::_swapper< T, 2 > |
C Assimp::ByteSwap::_swapper< T, 4 > |
C Assimp::ByteSwap::_swapper< T, 8 > |
C Assimp::Exporter |
C Assimp::Exporter::ExportFormatEntry | Internal description of an Assimp export format option
C Assimp::ExportProperties |
C Assimp::find_node_by_name_predicate |
C Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > | Stringstream utility
C Assimp::Importer | CPP-API: The Importer class forms an C++ interface to the functionality of the Open Asset Import Library
C Assimp::Intern::ByteSwapper< T, doit > |
C Assimp::Intern::ByteSwapper< T, false > |
C Assimp::Intern::divides< T0, T1, TRES > |
C Assimp::Intern::Getter< SwapEndianess, T, RuntimeSwitch > |
C Assimp::Intern::Getter< SwapEndianess, T, false > |
C Assimp::Intern::minus< T0, T1, TRES > |
C Assimp::Intern::multiplies< T0, T1, TRES > |
C Assimp::Intern::plus< T0, T1, TRES > |
C Assimp::Interpolator< T > | CPP-API: Utility class to simplify interpolations of various data types
C Assimp::IOStreamBuffer< T > | Implementation of a cached stream buffer
C Assimp::LineSplitter | Usage:
C Assimp::LogFunctions< TDeriving > |
C Assimp::NodeAttachmentInfo |
C Assimp::NodeConverter< TNodeType > |
C Assimp::Profiling::Profiler | Simple wrapper around boost::timer to simplify reporting
C Assimp::SceneCombiner | Static helper class providing various utilities to merge two scenes
C Assimp::SceneHelper | Utility for SceneCombiner
C Assimp::SGSpatialSort | Specialized version of SpatialSort to support smoothing groups This is used in by the 3DS, ASE and LWO loaders
C Assimp::SGSpatialSort::Entry | An entry in a spatially sorted position array
C Assimp::SkeletonMeshBuilder | This little helper class constructs a dummy mesh for a given scene the resembles the node hierarchy
C Assimp::SkeletonMeshBuilder::Face | Faces
C Assimp::SmallVector< T, Capacity > | Small vector with inplace storage
C Assimp::SpatialSort | A little helper class to quickly find all vertices in the epsilon environment of a given position
C Assimp::SpatialSort::Entry | An entry in a spatially sorted position array
C Assimp::StandardShapes | Helper class to generate vertex buffers for standard geometric shapes, such as cylinders, cones, boxes, spheres, elipsoids ..
C Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | Wrapper class around IOStream to allow for consistent reading of binary data in both little and big endian format
C Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | Wrapper class around IOStream to allow for consistent writing of binary data in both little and big endian format
C Assimp::Subdivider | Helper class to evaluate subdivision surfaces
C Assimp::TXmlParser< TNodeType > |
C Assimp::Vertex | Intermediate description a vertex with all possible components
C Assimp::XmlNodeIterator |
C ExceptionSwallower< T > |
C ExceptionSwallower< aiReturn > |
C ExceptionSwallower< T * > |
C ExceptionSwallower< void > |
C FaceWithSmoothingGroup | Helper structure representing a face with smoothing groups assigned
►C AllocateFromAssimpHeap |
►C Assimp::IOStream | CPP-API: Class to handle file I/O for C++
C Assimp::BlobIOStream | Redirect IOStream to a blob
C Assimp::DefaultIOStream | Default IO implementation, use standard IO operations
C Assimp::MemoryIOStream | Implementation of IOStream to read directly from a memory buffer
►C Assimp::IOSystem | CPP-API: Interface to the file system
C Assimp::BlobIOSystem | Redirect IOSystem to a blob
C Assimp::DefaultIOSystem | Default implementation of IOSystem using the standard C file functions
C Assimp::MemoryIOSystem | Dummy IO system to read from a memory buffer
C Assimp::ZipArchiveIOSystem |
►C Assimp::Logger | CPP-API: Abstract interface for logger implementations
C Assimp::DefaultLogger | CPP-API: Primary logging facility of Assimp
C Assimp::NullLogger | CPP-API: Empty logging implementation
C Assimp::LogStream | CPP-API: Abstract interface for log stream implementations
C Assimp::ProgressHandler | CPP-API: Abstract interface for custom progress report receivers
C MeshWithSmoothingGroups< T > | Helper structure representing a mesh whose faces have smoothing groups assigned
►C std::exception | STL class
►C std::runtime_error | STL class
►C DeadlyErrorBase |
C DeadlyExportError |
C DeadlyImportError | FOR IMPORTER PLUGINS ONLY: Simple exception class to be thrown if an unrecoverable error occurs while importing
►C pair |
C Assimp::BoneWithHash | Helper data structure for SceneCombiner::MergeBones
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- a -

  • a : aiColor4t< TReal > , aiPlane , aiTexel
  • a1 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • a2 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • a3 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • a4 : aiMatrix4x4t< TReal >
  • absolutePath() : Assimp::DefaultIOSystem
  • achFormatHint : aiTexture
  • Add() : aiMetadata , Assimp::SGSpatialSort
  • AddBinaryProperty() : aiMaterial
  • addChildren() : aiNode
  • AddNodePrefixes() : Assimp::SceneCombiner
  • AddProperty() : aiMaterial
  • aiAABB() : aiAABB
  • aiAnimation() : aiAnimation
  • aiAnimMesh() : aiAnimMesh
  • aiBone() : aiBone
  • aiCamera() : aiCamera
  • aiColor3D() : aiColor3D
  • aiColor4t() : aiColor4t< TReal >
  • aiExportDataBlob() : aiExportDataBlob
  • aiFace() : aiFace
  • aiLight() : aiLight
  • aiMaterial() : aiMaterial
  • aiMatrix3x3t() : aiMatrix3x3t< TReal >
  • aiMatrix4x4t() : aiMatrix4x4t< TReal >
  • aiMemoryInfo() : aiMemoryInfo
  • aiMesh() : aiMesh
  • aiMeshAnim() : aiMeshAnim
  • aiMeshKey() : aiMeshKey
  • aiMeshMorphAnim() : aiMeshMorphAnim
  • aiMeshMorphKey() : aiMeshMorphKey
  • aiMetadata() : aiMetadata
  • aiMetadataEntry() : aiMetadataEntry
  • aiNode() : aiNode
  • aiNodeAnim() : aiNodeAnim
  • aiPlane() : aiPlane
  • aiQuaterniont() : aiQuaterniont< TReal >
  • aiQuatKey() : aiQuatKey
  • aiRay() : aiRay
  • aiScene() : aiScene
  • aiString() : aiString
  • aiTexture() : aiTexture
  • aiUVTransform() : aiUVTransform
  • aiVector2t() : aiVector2t< TReal >
  • aiVector3t() : aiVector3t< TReal >
  • aiVectorKey() : aiVectorKey
  • aiVertexWeight() : aiVertexWeight
  • Algorithm : Assimp::Subdivider
  • Alloc() : aiMetadata
  • ALLOW_EMPTY : Assimp::BaseImporter
  • animations : aiMemoryInfo
  • Append() : aiString , Assimp::SpatialSort
  • applicationUnits : Assimp::BaseImporter
  • ApplyCustomizedPostProcessing() : Assimp::Importer
  • ApplyPostProcessing() : Assimp::Importer
  • AttachmentInfo() : Assimp::AttachmentInfo
  • attachStream()
: Assimp::DefaultLogger
, Assimp::Logger
, Assimp::NullLogger
  • AttachToGraph() : Assimp::SceneCombiner
  • attachToNode : Assimp::AttachmentInfo , Assimp::NodeAttachmentInfo
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- b -

  • b : aiColor3D , aiColor4t< TReal > , aiPlane , aiTexel
  • b1 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • b2 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • b3 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • b4 : aiMatrix4x4t< TReal >
  • BaseImporter() : Assimp::BaseImporter
  • basic_formatter() : Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >
  • begin() : Assimp::SmallVector< T, Capacity >
  • BeginRegion() : Assimp::Profiling::Profiler
  • bitangent : Assimp::Vertex
  • bits_per_pixel : Assimp::Bitmap::DIB
  • BlobIOStream()
: Assimp::BlobIOStream
, Assimp::BlobIOSystem
  • BlobIOSystem() : Assimp::BlobIOSystem
  • BuildUniqueBoneList() : Assimp::SceneCombiner
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- c -

  • c : aiPlane
  • c1 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • c2 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • c3 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • c4 : aiMatrix4x4t< TReal >
  • C_Str() : aiString
  • cacheSize() : Assimp::IOStreamBuffer< T >
  • callback : aiLogStream
  • CallbackPropertyMap : Assimp::ExportProperties
  • cameras : aiMemoryInfo
  • CanRead() : Assimp::BaseImporter
  • CATMULL_CLARKE : Assimp::Subdivider
  • ChangeDirectory()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
  • CheckFormat() : aiTexture
  • CheckMagicToken() : Assimp::BaseImporter
  • Clear() : aiMaterial , aiString
  • clear()
: Assimp::TXmlParser< TNodeType >
, Assimp::XmlNodeIterator
  • Close()
: Assimp::BlobIOSystem
, Assimp::DefaultIOSystem
  • close() : Assimp::IOStreamBuffer< T >
  • Close()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
, Assimp::ZipArchiveIOSystem
  • CloseProc : aiFileIO
  • CM : Assimp::BaseImporter
  • collectChildrenPostOrder() : Assimp::XmlNodeIterator
  • collectChildrenPreOrder() : Assimp::XmlNodeIterator
  • colors : Assimp::Vertex
  • CompareKeys : aiMetadata
  • ComparePaths()
: Assimp::DefaultIOSystem
, Assimp::IOSystem
, Assimp::MemoryIOSystem
  • CompareValues : aiMetadata
  • completeBaseName() : Assimp::DefaultIOSystem
  • compression : Assimp::Bitmap::DIB
  • Conjugate() : aiQuaterniont< TReal >
  • ConvertToUTF8() : Assimp::BaseImporter
  • ConvertUTF8toISO8859_1() : Assimp::BaseImporter
  • Copy() : Assimp::SceneCombiner
  • CopyAndAdvance() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • CopyPropertyList() : aiMaterial
  • CopyScene() : Assimp::SceneCombiner
  • CopySceneFlat() : Assimp::SceneCombiner
  • CopyVector() : Assimp::BaseImporter
  • create() : Assimp::DefaultLogger
  • Create() : Assimp::Subdivider
  • createDefaultStream() : Assimp::LogStream
  • CreateDirectory()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
  • CreateGeometry() : Assimp::SkeletonMeshBuilder
  • CreateMaterial() : Assimp::SkeletonMeshBuilder
  • CreateMesh() : Assimp::SkeletonMeshBuilder
  • CurrentDirectory()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- d -

  • d : aiPlane
  • d1 : aiMatrix4x4t< TReal >
  • d2 : aiMatrix4x4t< TReal >
  • d3 : aiMatrix4x4t< TReal >
  • d4 : aiMatrix4x4t< TReal >
  • data : aiExportDataBlob , aiString
  • DeadlyErrorBase() : DeadlyErrorBase
  • DeadlyExportError() : DeadlyExportError
  • DeadlyImportError() : DeadlyImportError
  • Dealloc() : aiMetadata
  • debug() : Assimp::Logger
  • Debugging : Assimp::Logger
  • DEBUGGING : Assimp::Logger
  • Decompose() : aiMatrix4x4t< TReal >
  • DecomposeNoScaling() : aiMatrix4x4t< TReal >
  • DefaultIOStream() : Assimp::DefaultIOStream
  • DefaultIOSystem : Assimp::DefaultIOStream
  • DeleteFile()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
  • description : aiExportFormatDesc
  • detachStream()
: Assimp::DefaultLogger
, Assimp::Logger
, Assimp::NullLogger
  • Determinant() : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • dib_size : Assimp::Bitmap::DIB
  • diff : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • dir : aiRay
  • Double : _IEEEDouble
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- e -

  • elem_type : aiMeshKey , aiQuatKey , aiVectorKey
  • end() : Assimp::SmallVector< T, Capacity >
  • EndRegion() : Assimp::Profiling::Profiler
  • Entry()
: Assimp::SGSpatialSort::Entry
, Assimp::SpatialSort::Entry
  • Equal() : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal > , aiQuaterniont< TReal > , aiVector2t< TReal > , aiVector3t< TReal >
  • Err : Assimp::Logger
  • error() : Assimp::Logger
  • ErrorSeverity : Assimp::Logger
  • Exists()
: Assimp::BlobIOSystem
, Assimp::DefaultIOSystem
, Assimp::IOSystem
, Assimp::MemoryIOSystem
, Assimp::ZipArchiveIOSystem
  • Exp : _IEEEDouble , _IEEESingle
  • Export() : Assimp::Exporter
  • Exporter() : Assimp::Exporter
  • ExportFormatEntry() : Assimp::Exporter::ExportFormatEntry
  • ExportProperties() : Assimp::ExportProperties
  • ExportToBlob() : Assimp::Exporter
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- f -

  • Face() : Assimp::SkeletonMeshBuilder::Face
  • FaceWithSmoothingGroup() : FaceWithSmoothingGroup
  • FEET : Assimp::BaseImporter
  • fileExtension : aiExportFormatDesc
  • fileName() : Assimp::DefaultIOSystem
  • fileScale : Assimp::BaseImporter
  • FileSize()
: Assimp::BlobIOStream
, Assimp::DefaultIOStream
, Assimp::IOStream
, Assimp::MemoryIOStream
  • FileSizeProc : aiFile
  • Fill() : Assimp::SpatialSort
  • Finalize() : Assimp::SpatialSort
  • find_node_by_name_predicate() : Assimp::find_node_by_name_predicate
  • FindIdenticalPositions() : Assimp::SpatialSort
  • FindNode() : aiNode
  • findNode() : Assimp::TXmlParser< TNodeType >
  • FindPositions()
: Assimp::SGSpatialSort
, Assimp::SpatialSort
  • Float : _IEEESingle
  • FloatPropertyMap : Assimp::ExportProperties
  • Flush()
: Assimp::BlobIOStream
, Assimp::DefaultIOStream
, Assimp::IOStream
, Assimp::MemoryIOStream
, Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • FlushProc : aiFile
  • FORBID_EMPTY : Assimp::BaseImporter
  • fpExportFunc : Assimp::Exporter
  • Frac : _IEEEDouble , _IEEESingle
  • FreeBlob() : Assimp::Exporter
  • FreeScene() : Assimp::Importer
  • FromEulerAnglesXYZ() : aiMatrix4x4t< TReal >
  • FromToMatrix() : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- g -

  • g : aiColor3D , aiColor4t< TReal > , aiTexel
  • GenerateMappingTable() : Assimp::SpatialSort
  • Get() : aiMaterial , aiMetadata
  • get() : Assimp::DefaultLogger
  • Get() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • get_index() : Assimp::LineSplitter
  • get_stream() : Assimp::LineSplitter
  • get_tokens() : Assimp::LineSplitter
  • GetApplicationUnits() : Assimp::BaseImporter
  • GetBlob()
: Assimp::BlobIOStream
, Assimp::Exporter
  • GetBlobChain() : Assimp::BlobIOSystem
  • getBoolAttribute() : Assimp::TXmlParser< TNodeType >
  • GetCameraMatrix() : aiCamera
  • getCurrentBlockIndex() : Assimp::IOStreamBuffer< T >
  • GetCurrentPos()
: Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
, Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • getDocument() : Assimp::TXmlParser< TNodeType >
  • getDoubleAttribute() : Assimp::TXmlParser< TNodeType >
  • GetEmbeddedTexture() : aiScene
  • GetErrorString()
: Assimp::Exporter
, Assimp::Importer
  • GetErrorText() : Assimp::BaseImporter
  • GetException()
: Assimp::BaseImporter
, Assimp::Importer
  • GetExportFormatCount() : Assimp::Exporter
  • GetExportFormatDescription() : Assimp::Exporter
  • GetExtension() : Assimp::BaseImporter
  • GetExtensionList()
: Assimp::BaseImporter
, Assimp::Importer
  • GetF4() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetF8() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • getFileList() : Assimp::ZipArchiveIOSystem
  • getFileListExtension() : Assimp::ZipArchiveIOSystem
  • getFilePos() : Assimp::IOStreamBuffer< T >
  • GetFileScale() : Assimp::BaseImporter
  • getFloatAttribute() : Assimp::TXmlParser< TNodeType >
  • GetI1() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetI2() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetI4() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetI8() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetImporter() : Assimp::Importer
  • GetImporterCount() : Assimp::Importer
  • GetImporterIndex() : Assimp::Importer
  • GetImporterInfo() : Assimp::Importer
  • GetInfo() : Assimp::BaseImporter
  • getIntAttribute() : Assimp::TXmlParser< TNodeType >
  • GetIOHandler()
: Assimp::Exporter
, Assimp::Importer
  • getLogSeverity() : Assimp::Logger
  • GetMagicFileName() : Assimp::BlobIOSystem
  • GetMatrix() : aiQuaterniont< TReal >
  • GetMemoryRequirements() : Assimp::Importer
  • GetName() : aiMaterial
  • getNext() : Assimp::XmlNodeIterator
  • getNextBlock() : Assimp::IOStreamBuffer< T >
  • getNextDataLine() : Assimp::IOStreamBuffer< T >
  • getNextLine() : Assimp::IOStreamBuffer< T >
  • getNumBlocks() : Assimp::IOStreamBuffer< T >
  • GetNumColorChannels() : aiMesh
  • GetNumUVChannels() : aiMesh
  • GetOrphanedBlob() : Assimp::Exporter
  • GetOrphanedScene() : Assimp::Importer
  • getOsSeparator()
: Assimp::BlobIOSystem
, Assimp::DefaultIOSystem
, Assimp::IOSystem
, Assimp::MemoryIOSystem
, Assimp::ZipArchiveIOSystem
  • GetProgressHandler() : Assimp::Importer
  • GetPropertyBool()
: Assimp::ExportProperties
, Assimp::Importer
  • GetPropertyCallback() : Assimp::ExportProperties
  • GetPropertyFloat()
: Assimp::ExportProperties
, Assimp::Importer
  • GetPropertyInteger()
: Assimp::ExportProperties
, Assimp::Importer
  • GetPropertyMatrix()
: Assimp::ExportProperties
, Assimp::Importer
  • GetPropertyString()
: Assimp::ExportProperties
, Assimp::Importer
  • GetPtr() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetReadLimit() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetRemainingSize() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetRemainingSizeToLimit() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • getRootNode() : Assimp::TXmlParser< TNodeType >
  • GetScene() : Assimp::Importer
  • GetShortFilename() : aiScene
  • getStdStrAttribute() : Assimp::TXmlParser< TNodeType >
  • GetTexture() : aiMaterial
  • GetTextureCount() : aiMaterial
  • GetU1() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetU2() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetU4() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetU8() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • getUIntAttribute() : Assimp::TXmlParser< TNodeType >
  • getValueAsFloat() : Assimp::TXmlParser< TNodeType >
  • getValueAsString() : Assimp::TXmlParser< TNodeType >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- h -

  • HasAnimations() : aiScene
  • hasAttribute() : Assimp::TXmlParser< TNodeType >
  • HasBones() : aiMesh
  • HasCameras() : aiScene
  • HasFaces() : aiMesh
  • hashes : Assimp::SceneHelper
  • HasKey() : aiMetadata
  • HasLights() : aiScene
  • HasMaterials() : aiScene
  • HasMeshes() : aiScene
  • hasNode() : Assimp::TXmlParser< TNodeType >
  • HasNormals() : aiAnimMesh , aiMesh
  • HasPositions() : aiAnimMesh , aiMesh
  • HasPropertyBool() : Assimp::ExportProperties
  • HasPropertyCallback() : Assimp::ExportProperties
  • HasPropertyFloat() : Assimp::ExportProperties
  • HasPropertyInteger() : Assimp::ExportProperties
  • HasPropertyMatrix() : Assimp::ExportProperties
  • HasPropertyString() : Assimp::ExportProperties
  • HasTangentsAndBitangents() : aiAnimMesh , aiMesh
  • HasTextureCoords() : aiAnimMesh , aiMesh
  • HasTextures() : aiScene
  • HasVertexColors() : aiAnimMesh , aiMesh
  • header_size : Assimp::Bitmap::Header
  • height : Assimp::Bitmap::DIB
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- i -

  • id : aiExportFormatDesc , Assimp::SceneHelper
  • idlen : Assimp::SceneHelper
  • IEEE : _IEEEDouble , _IEEESingle
  • image_size : Assimp::Bitmap::DIB
  • Importer : Assimp::BaseImporter , Assimp::Importer
  • importerScale : Assimp::BaseImporter
  • ImporterUnits : Assimp::BaseImporter
  • importerUnits : Assimp::BaseImporter
  • INCHES : Assimp::BaseImporter
  • IncPtr() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • info() : Assimp::Logger
  • Info : Assimp::Logger
  • info() : Assimp::Logger
  • InternReadFile() : Assimp::BaseImporter
  • Interpolate() : aiQuaterniont< TReal >
  • IntPropertyMap : Assimp::ExportProperties
  • Inverse() : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • IOStream() : Assimp::IOStream
  • IOStreamBuffer() : Assimp::IOStreamBuffer< T >
  • IOSystem() : Assimp::IOSystem
  • IsBlack() : aiColor3D , aiColor4t< TReal >
  • IsDefaultIOHandler()
: Assimp::Exporter
, Assimp::Importer
  • IsDefaultProgressHandler() : Assimp::Importer
  • isEmpty() : Assimp::XmlNodeIterator
  • IsExtensionSupported() : Assimp::Importer
  • IsIdentity() : aiMatrix4x4t< TReal >
  • iSmoothGroup : FaceWithSmoothingGroup
  • isNullLogger() : Assimp::DefaultLogger
  • isOpen() : Assimp::ZipArchiveIOSystem
  • isZipArchive() : Assimp::ZipArchiveIOSystem
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- k -

  • KeyType : Assimp::ExportProperties
  • kill() : Assimp::DefaultLogger
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- l -

  • length : aiString
  • Length() : aiVector2t< TReal > , aiVector3t< TReal >
  • lights : aiMemoryInfo
  • line_idx : Assimp::LineSplitter
  • LineSplitter() : Assimp::LineSplitter
  • LogDebug() : Assimp::LogFunctions< TDeriving >
  • LogError() : Assimp::LogFunctions< TDeriving >
  • Logger() : Assimp::Logger
  • LogInfo() : Assimp::LogFunctions< TDeriving >
  • LogSeverity : Assimp::Logger
  • LogStream() : Assimp::LogStream
  • LogVerboseDebug() : Assimp::LogFunctions< TDeriving >
  • LogWarn() : Assimp::LogFunctions< TDeriving >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- m -

  • M : Assimp::BaseImporter
  • m_ErrorText : Assimp::BaseImporter
  • m_Exception : Assimp::BaseImporter
  • m_progress : Assimp::BaseImporter
  • m_Severity : Assimp::Logger
  • mAABB : aiMesh
  • MakeCircle() : Assimp::StandardShapes
  • MakeCone() : Assimp::StandardShapes
  • MakeDodecahedron() : Assimp::StandardShapes
  • MakeHexahedron() : Assimp::StandardShapes
  • MakeIcosahedron() : Assimp::StandardShapes
  • MakeMesh() : Assimp::StandardShapes
  • MakeOctahedron() : Assimp::StandardShapes
  • MakeSphere() : Assimp::StandardShapes
  • MakeTetrahedron() : Assimp::StandardShapes
  • mAngleInnerCone : aiLight
  • mAngleOuterCone : aiLight
  • mAnimations : aiScene
  • mAnimMeshes : aiMesh
  • mArmature : aiBone
  • mAspect : aiCamera
  • match_start() : Assimp::LineSplitter
  • materials : aiMemoryInfo
  • MatrixPropertyMap : Assimp::ExportProperties
  • mAttenuationConstant : aiLight
  • mAttenuationLinear : aiLight
  • mAttenuationQuadratic : aiLight
  • mAuthor : aiImporterDesc
  • MaxLenHint : Assimp::Importer
  • mBitangents : aiAnimMesh , aiMesh
  • mBones : aiMesh , Assimp::SkeletonMeshBuilder
  • mBytesPerPixel : Assimp::Bitmap
  • mCallbackProperties : Assimp::ExportProperties
  • mCameras : aiScene
  • mChannels : aiAnimation
  • mChildren : aiNode
  • mClipPlaneFar : aiCamera
  • mClipPlaneNear : aiCamera
  • mColorAmbient : aiLight
  • mColorDiffuse : aiLight
  • mColors : aiAnimMesh , aiMesh
  • mColorSpecular : aiLight
  • mComments : aiImporterDesc
  • mData : aiMetadataEntry
  • mDescription : Assimp::Exporter::ExportFormatEntry
  • mDirection : aiLight
  • mDistance : Assimp::SGSpatialSort::Entry , Assimp::SpatialSort::Entry
  • mDuration : aiAnimation
  • MemoryIOStream() : Assimp::MemoryIOStream
  • MemoryIOSystem() : Assimp::MemoryIOSystem
  • mEnforcePP : Assimp::Exporter::ExportFormatEntry
  • MergeBones() : Assimp::SceneCombiner
  • MergeMaterials() : Assimp::SceneCombiner
  • MergeMeshes() : Assimp::SceneCombiner
  • MergeScenes() : Assimp::SceneCombiner
  • meshes : aiMemoryInfo
  • mExportFunction : Assimp::Exporter::ExportFormatEntry
  • mFaces : aiMesh , Assimp::SkeletonMeshBuilder , MeshWithSmoothingGroups< T >
  • mFileExtensions : aiImporterDesc
  • mFilename : aiTexture
  • mFlags : aiImporterDesc , aiScene
  • mFloatProperties : Assimp::ExportProperties
  • mHeight : aiTexture
  • mHorizontalFOV : aiCamera
  • mIndex : Assimp::SGSpatialSort::Entry , Assimp::SpatialSort::Entry
  • mIndices : aiFace , Assimp::SkeletonMeshBuilder::Face , FaceWithSmoothingGroup
  • mIntProperties : Assimp::ExportProperties
  • mKeys : aiMeshAnim , aiMeshMorphAnim , aiMetadata
  • mKnobsOnly : Assimp::SkeletonMeshBuilder
  • mLights : aiScene
  • mLookAt : aiCamera
  • MM : Assimp::BaseImporter
  • mMaintainer : aiImporterDesc
  • mMaterialIndex : aiMesh
  • mMaterials : aiScene
  • mMatrixProperties : Assimp::ExportProperties
  • mMax : aiAABB
  • mMaxMajor : aiImporterDesc
  • mMaxMinor : aiImporterDesc
  • mMeshChannels : aiAnimation
  • mMeshes : aiNode , aiScene
  • mMetaData : aiNode , aiScene
  • mMethod : aiMesh
  • mMin : aiAABB
  • mMinMajor : aiImporterDesc
  • mMinMinor : aiImporterDesc
  • mMorphMeshChannels : aiAnimation
  • mName : aiAnimation , aiAnimMesh , aiBone , aiCamera , aiImporterDesc , aiLight , aiMesh , aiMeshAnim , aiMeshMorphAnim , aiNode , aiScene , Assimp::find_node_by_name_predicate
  • mNode : aiBone
  • mNodeName : aiNodeAnim
  • mNormals : aiAnimMesh , aiMesh , MeshWithSmoothingGroups< T >
  • mNumAllocated : aiMaterial
  • mNumAnimations : aiScene
  • mNumAnimMeshes : aiMesh
  • mNumBones : aiMesh
  • mNumCameras : aiScene
  • mNumChannels : aiAnimation
  • mNumChildren : aiNode
  • mNumFaces : aiMesh
  • mNumIndices : aiFace
  • mNumKeys : aiMeshAnim , aiMeshMorphAnim
  • mNumLights : aiScene
  • mNumMaterials : aiScene
  • mNumMeshChannels : aiAnimation
  • mNumMeshes : aiNode , aiScene
  • mNumMorphMeshChannels : aiAnimation
  • mNumPositionKeys : aiNodeAnim
  • mNumProperties : aiMaterial , aiMetadata
  • mNumRotationKeys : aiNodeAnim
  • mNumScalingKeys : aiNodeAnim
  • mNumTextures : aiScene
  • mNumUVComponents : aiMesh
  • mNumValuesAndWeights : aiMeshMorphKey
  • mNumVertices : aiAnimMesh , aiMesh
  • mNumWeights : aiBone
  • mOffsetMatrix : aiBone
  • mOrthographicWidth : aiCamera
  • mParent : aiNode
  • mPlaneNormal : Assimp::SGSpatialSort , Assimp::SpatialSort
  • mPosition : aiCamera , aiLight , Assimp::SGSpatialSort::Entry , Assimp::SpatialSort::Entry
  • mPositionKeys : aiNodeAnim
  • mPositions : Assimp::SGSpatialSort , Assimp::SpatialSort , MeshWithSmoothingGroups< T >
  • mPostState : aiNodeAnim
  • mPreState : aiNodeAnim
  • mPrimitiveTypes : aiMesh
  • mPrivate : aiScene
  • mProperties : aiMaterial
  • mRootNode : aiScene
  • mRotation : aiUVTransform
  • mRotationKeys : aiNodeAnim
  • mScaling : aiUVTransform
  • mScalingKeys : aiNodeAnim
  • mSize : aiLight
  • mSmoothGroups : Assimp::SGSpatialSort::Entry
  • mStringProperties : Assimp::ExportProperties
  • mTangents : aiAnimMesh , aiMesh
  • mTextureCoords : aiAnimMesh , aiMesh
  • mTextures : aiScene
  • mTicksPerSecond : aiAnimation
  • mTime : aiMeshKey , aiMeshMorphKey , aiQuatKey , aiVectorKey
  • mTransformation : aiNode
  • mTranslation : aiUVTransform
  • mType : aiLight , aiMetadataEntry
  • mUp : aiCamera , aiLight
  • mValue : aiMeshKey , aiQuatKey , aiVectorKey
  • mValues : aiMeshMorphKey , aiMetadata
  • mVertexId : aiVertexWeight
  • mVertices : aiAnimMesh , aiMesh , Assimp::SkeletonMeshBuilder
  • mWeight : aiAnimMesh , aiVertexWeight
  • mWeights : aiBone , aiMeshMorphKey
  • mWidth : aiTexture
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- n -

  • name : aiExportDataBlob
  • nb_colors : Assimp::Bitmap::DIB
  • nb_important_colors : Assimp::Bitmap::DIB
  • next : aiExportDataBlob
  • node : Assimp::NodeAttachmentInfo
  • NodeAttachmentInfo() : Assimp::NodeAttachmentInfo
  • nodes : aiMemoryInfo
  • NORMAL : Assimp::Logger
  • normal : Assimp::Vertex
  • Normalize() : aiQuaterniont< TReal > , aiVector2t< TReal > , aiVector3t< TReal >
  • NormalizeSafe() : aiVector3t< TReal >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- o -

  • offset : Assimp::Bitmap::Header
  • OffsetNodeMeshIndices() : Assimp::SceneCombiner
  • OnDebug()
: Assimp::Logger
, Assimp::NullLogger
  • OnError()
: Assimp::Logger
, Assimp::NullLogger
  • OnInfo()
: Assimp::Logger
, Assimp::NullLogger
  • OnVerboseDebug()
: Assimp::Logger
, Assimp::NullLogger
  • OnWarn()
: Assimp::Logger
, Assimp::NullLogger
  • Open()
: Assimp::BlobIOSystem
, Assimp::DefaultIOSystem
  • open() : Assimp::IOStreamBuffer< T >
  • Open()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
, Assimp::ZipArchiveIOSystem
  • OpenProc : aiFileIO
  • operator aiColor4D() : aiTexel
  • operator aiMatrix3x3t< TOther >() : aiMatrix3x3t< TReal >
  • operator aiMatrix4x4t< TOther >() : aiMatrix4x4t< TReal >
  • operator aiVector2t< TOther >() : aiVector2t< TReal >
  • operator aiVector3t< TOther >() : aiVector3t< TReal >
  • operator bool() : Assimp::LineSplitter
  • operator line_idx() : Assimp::LineSplitter
  • operator string() : Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >
  • operator!=() : aiColor3D , aiColor4t< TReal > , aiFace , aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal > , aiMeshKey , aiMetadata , aiQuaterniont< TReal > , aiQuatKey , aiString , aiTexel , aiVector2t< TReal > , aiVector3t< TReal > , aiVectorKey , aiVertexWeight
  • operator()()
: Assimp::ByteSwap::_swapper< T, 2 >
, Assimp::ByteSwap::_swapper< T, 4 >
, Assimp::ByteSwap::_swapper< T, 8 >
, Assimp::find_node_by_name_predicate
, Assimp::Intern::ByteSwapper< T, doit >
, Assimp::Intern::ByteSwapper< T, false >
, Assimp::Intern::divides< T0, T1, TRES >
, Assimp::Intern::Getter< SwapEndianess, T, RuntimeSwitch >
, Assimp::Intern::Getter< SwapEndianess, T, false >
, Assimp::Intern::minus< T0, T1, TRES >
, Assimp::Intern::multiplies< T0, T1, TRES >
, Assimp::Intern::plus< T0, T1, TRES >
, Assimp::Interpolator< T >
, ExceptionSwallower< T >
, ExceptionSwallower< aiReturn >
, ExceptionSwallower< T * >
, ExceptionSwallower< void >
  • operator*() : aiColor3D , aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal > , aiQuaterniont< TReal > , Assimp::LineSplitter , Assimp::Vertex
  • operator*=() : aiColor4t< TReal > , aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal > , aiVector2t< TReal > , aiVector3t< TReal > , Assimp::Vertex
  • operator+() : aiColor3D , aiMatrix4x4t< TReal > , Assimp::Vertex
  • operator++() : Assimp::LineSplitter
  • operator+=() : aiColor4t< TReal > , aiVector2t< TReal > , aiVector3t< TReal > , Assimp::Vertex
  • operator,() : Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >
  • operator-() : aiColor3D , Assimp::Vertex
  • operator-=() : aiColor4t< TReal > , aiVector2t< TReal > , aiVector3t< TReal > , Assimp::Vertex
  • operator->() : Assimp::LineSplitter , Assimp::SceneHelper
  • operator/ : Assimp::Vertex
  • operator/=() : aiColor4t< TReal > , aiVector2t< TReal > , aiVector3t< TReal > , Assimp::Vertex
  • operator<() : aiColor3D , aiColor4t< TReal > , aiMeshKey , aiQuatKey , aiVector3t< TReal > , aiVectorKey , Assimp::SGSpatialSort::Entry , Assimp::SpatialSort::Entry
  • operator<<() : Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > , Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • operator=() : aiBone , aiColor3D , aiExportDataBlob , aiFace , aiMetadata , aiString , aiVector2t< TReal > , Assimp::Importer , Assimp::LineSplitter , Assimp::SmallVector< T, Capacity >
  • operator==() : aiBone , aiColor3D , aiColor4t< TReal > , aiFace , aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal > , aiMeshKey , aiMetadata , aiQuaterniont< TReal > , aiQuatKey , aiString , aiTexel , aiVector2t< TReal > , aiVector3t< TReal > , aiVectorKey , aiVertexWeight
  • operator>() : aiMeshKey , aiQuatKey , aiVectorKey
  • operator>>() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • operator[]() : aiColor3D , aiColor4t< TReal > , aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal > , aiVector2t< TReal > , aiVector3t< TReal > , Assimp::LineSplitter
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- p -

  • parse() : Assimp::TXmlParser< TNodeType >
  • pcData : aiTexture
  • pimpl : Assimp::Exporter , Assimp::Importer
  • Pimpl() : Assimp::Importer
  • planes : Assimp::Bitmap::DIB
  • PopDirectory()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
  • pos : aiRay , Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • position : Assimp::Vertex
  • Prepare() : Assimp::SGSpatialSort
  • Profiler() : Assimp::Profiling::Profiler
  • ProgressHandler() : Assimp::ProgressHandler
  • pSrcBones : Assimp::BoneWithHash
  • push_back() : Assimp::SmallVector< T, Capacity >
  • PushDirectory()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
  • Put() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutChar() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutF4() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutF8() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutI1() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutI2() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutI4() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutI8() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutString() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutU1() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutU2() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutU4() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutU8() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- r -

  • r : aiColor3D , aiColor4t< TReal > , aiTexel
  • Read()
: Assimp::BlobIOStream
, Assimp::DefaultIOStream
, Assimp::IOStream
, Assimp::MemoryIOStream
  • ReadFile()
: Assimp::BaseImporter
, Assimp::Importer
  • ReadFileFromMemory() : Assimp::Importer
  • readNextBlock() : Assimp::IOStreamBuffer< T >
  • ReadProc : aiFile
  • RegisterExporter() : Assimp::Exporter
  • RegisterLoader() : Assimp::Importer
  • RegisterPPStep() : Assimp::Importer
  • RemoveProperty() : aiMaterial
  • reserved1 : Assimp::Bitmap::Header
  • reserved2 : Assimp::Bitmap::Header
  • resize() : Assimp::SmallVector< T, Capacity >
  • resolved : Assimp::NodeAttachmentInfo
  • Rotate() : aiQuaterniont< TReal >
  • Rotation() : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • RotationX() : aiMatrix4x4t< TReal >
  • RotationY() : aiMatrix4x4t< TReal >
  • RotationZ() : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- s -

  • Save() : Assimp::Bitmap
  • Scaling() : aiMatrix4x4t< TReal >
  • scene : Assimp::AttachmentInfo , Assimp::SceneHelper
  • SceneHelper() : Assimp::SceneHelper
  • SearchFileHeaderForToken() : Assimp::BaseImporter
  • Seek()
: Assimp::BlobIOStream
, Assimp::DefaultIOStream
, Assimp::IOStream
, Assimp::MemoryIOStream
, Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • SeekProc : aiFile
  • sentinel : aiPropertyStore
  • Set() : aiMetadata , aiString , aiVector2t< TReal > , aiVector3t< TReal >
  • set() : Assimp::DefaultLogger
  • SetApplicationUnits() : Assimp::BaseImporter
  • SetCurrentPos()
: Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
, Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • SetExtraVerbose() : Assimp::Importer
  • SetFileScale() : Assimp::BaseImporter
  • SetIOHandler()
: Assimp::Exporter
, Assimp::Importer
  • setLogSeverity() : Assimp::Logger
  • SetProgressHandler()
: Assimp::Exporter
, Assimp::Importer
  • SetPropertyBool()
: Assimp::ExportProperties
, Assimp::Importer
  • SetPropertyCallback() : Assimp::ExportProperties
  • SetPropertyFloat()
: Assimp::ExportProperties
, Assimp::Importer
  • SetPropertyInteger()
: Assimp::ExportProperties
, Assimp::Importer
  • SetPropertyMatrix()
: Assimp::ExportProperties
, Assimp::Importer
  • SetPropertyString()
: Assimp::ExportProperties
, Assimp::Importer
  • SetPtr() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • SetReadLimit() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • SetupProperties() : Assimp::BaseImporter
  • SGSpatialSort() : Assimp::SGSpatialSort
  • Sign : _IEEEDouble , _IEEESingle
  • SimpleExtensionCheck() : Assimp::BaseImporter
  • size
: aiExportDataBlob
, Assimp::Bitmap::DIB
, Assimp::Bitmap::Header
, Assimp::IOStreamBuffer< T >
, Assimp::SmallVector< T, Capacity >
, Assimp::XmlNodeIterator
  • SkeletonMeshBuilder() : Assimp::SkeletonMeshBuilder
  • SkipToReadLimit() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • SmallVector() : Assimp::SmallVector< T, Capacity >
  • SortBack() : Assimp::Vertex
  • SpatialSort() : Assimp::SpatialSort
  • SquareLength() : aiVector2t< TReal > , aiVector3t< TReal >
  • src_idx : Assimp::NodeAttachmentInfo
  • StackSize()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
  • StreamReader() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • StreamWriter() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • string : Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >
  • StringPropertyMap : Assimp::ExportProperties
  • stringstream : Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >
  • Subdivide() : Assimp::Subdivider
  • swallow_next_increment() : Assimp::LineSplitter
  • Swap() : Assimp::ByteSwap
  • Swap2() : Assimp::ByteSwap
  • Swap4() : Assimp::ByteSwap
  • Swap8() : Assimp::ByteSwap
  • Swapped() : Assimp::ByteSwap
  • SymMul() : aiVector2t< TReal > , aiVector3t< TReal >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- t -

  • tangent : Assimp::Vertex
  • Tell()
: Assimp::BlobIOStream
, Assimp::DefaultIOStream
, Assimp::IOStream
, Assimp::MemoryIOStream
, Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • TellProc : aiFile
  • texcoords : Assimp::Vertex
  • TextFileMode : Assimp::BaseImporter
  • TextFileToBuffer() : Assimp::BaseImporter
  • textures : aiMemoryInfo
  • ThrowException() : Assimp::LogFunctions< TDeriving >
  • to_int() : Assimp::NodeConverter< TNodeType >
  • total : aiMemoryInfo
  • Translation() : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • Transpose() : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • TXmlParser() : Assimp::TXmlParser< TNodeType >
  • type : Assimp::Bitmap::Header
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- u -

  • UnregisterExporter() : Assimp::Exporter
  • UnregisterLoader() : Assimp::Importer
  • UnregisterPPStep() : Assimp::Importer
  • Update() : Assimp::ProgressHandler
  • UpdateFileRead() : Assimp::ProgressHandler
  • UpdateFileWrite() : Assimp::ProgressHandler
  • UpdatePostProcess() : Assimp::ProgressHandler
  • user : aiLogStream
  • UserData : aiFile , aiFileIO
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- v -

  • ValidateFlags() : Assimp::Importer
  • VERBOSE : Assimp::Logger
  • verboseDebug() : Assimp::Logger
  • Vertex() : Assimp::Vertex
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- w -

  • w : aiQuaterniont< TReal >
  • warn() : Assimp::Logger
  • Warn : Assimp::Logger
  • warn() : Assimp::Logger
  • width : Assimp::Bitmap::DIB
  • Write()
: Assimp::BlobIOStream
, Assimp::DefaultIOStream
, Assimp::IOStream
  • write() : Assimp::LogStream
  • Write() : Assimp::MemoryIOStream
  • WriteData() : Assimp::Bitmap
  • WriteDIB() : Assimp::Bitmap
  • WriteHeader() : Assimp::Bitmap
  • WriteProc : aiFile
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- x -

  • x : aiQuaterniont< TReal > , aiVector2t< TReal > , aiVector3t< TReal >
  • x_resolution : Assimp::Bitmap::DIB
  • XmlNodeIterator() : Assimp::XmlNodeIterator
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- y -

  • y : aiQuaterniont< TReal > , aiVector2t< TReal > , aiVector3t< TReal >
  • y_resolution : Assimp::Bitmap::DIB
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- z -

  • z : aiQuaterniont< TReal > , aiVector3t< TReal >
  • ZipArchiveIOSystem() : Assimp::ZipArchiveIOSystem
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members

Here is a list of all class members with links to the classes they belong to:

- ~ -

  • ~aiAABB() : aiAABB
  • ~aiAnimation() : aiAnimation
  • ~aiAnimMesh() : aiAnimMesh
  • ~aiBone() : aiBone
  • ~aiExportDataBlob() : aiExportDataBlob
  • ~aiFace() : aiFace
  • ~aiMaterial() : aiMaterial
  • ~aiMesh() : aiMesh
  • ~aiMeshAnim() : aiMeshAnim
  • ~aiMeshMorphAnim() : aiMeshMorphAnim
  • ~aiMeshMorphKey() : aiMeshMorphKey
  • ~aiMetadata() : aiMetadata
  • ~aiNode() : aiNode
  • ~aiNodeAnim() : aiNodeAnim
  • ~aiScene() : aiScene
  • ~aiTexture() : aiTexture
  • ~BaseImporter() : Assimp::BaseImporter
  • ~BlobIOStream() : Assimp::BlobIOStream
  • ~BlobIOSystem() : Assimp::BlobIOSystem
  • ~DefaultIOStream() : Assimp::DefaultIOStream
  • ~Exporter() : Assimp::Exporter
  • ~Importer() : Assimp::Importer
  • ~IOStream() : Assimp::IOStream
  • ~IOStreamBuffer() : Assimp::IOStreamBuffer< T >
  • ~IOSystem() : Assimp::IOSystem
  • ~LineSplitter() : Assimp::LineSplitter
  • ~Logger() : Assimp::Logger
  • ~LogStream() : Assimp::LogStream
  • ~MemoryIOStream() : Assimp::MemoryIOStream
  • ~MemoryIOSystem() : Assimp::MemoryIOSystem
  • ~ProgressHandler() : Assimp::ProgressHandler
  • ~SGSpatialSort() : Assimp::SGSpatialSort
  • ~SmallVector() : Assimp::SmallVector< T, Capacity >
  • ~SpatialSort() : Assimp::SpatialSort
  • ~StreamReader() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • ~StreamWriter() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • ~Subdivider() : Assimp::Subdivider
  • ~TXmlParser() : Assimp::TXmlParser< TNodeType >
  • ~ZipArchiveIOSystem() : Assimp::ZipArchiveIOSystem
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- a -

  • absolutePath() : Assimp::DefaultIOSystem
  • Add() : aiMetadata , Assimp::SGSpatialSort
  • AddBinaryProperty() : aiMaterial
  • addChildren() : aiNode
  • AddNodePrefixes() : Assimp::SceneCombiner
  • AddProperty() : aiMaterial
  • aiAABB() : aiAABB
  • aiAnimation() : aiAnimation
  • aiAnimMesh() : aiAnimMesh
  • aiBone() : aiBone
  • aiCamera() : aiCamera
  • aiColor3D() : aiColor3D
  • aiColor4t() : aiColor4t< TReal >
  • aiExportDataBlob() : aiExportDataBlob
  • aiFace() : aiFace
  • aiLight() : aiLight
  • aiMaterial() : aiMaterial
  • aiMatrix3x3t() : aiMatrix3x3t< TReal >
  • aiMatrix4x4t() : aiMatrix4x4t< TReal >
  • aiMemoryInfo() : aiMemoryInfo
  • aiMesh() : aiMesh
  • aiMeshAnim() : aiMeshAnim
  • aiMeshKey() : aiMeshKey
  • aiMeshMorphAnim() : aiMeshMorphAnim
  • aiMeshMorphKey() : aiMeshMorphKey
  • aiMetadata() : aiMetadata
  • aiMetadataEntry() : aiMetadataEntry
  • aiNode() : aiNode
  • aiNodeAnim() : aiNodeAnim
  • aiPlane() : aiPlane
  • aiQuaterniont() : aiQuaterniont< TReal >
  • aiQuatKey() : aiQuatKey
  • aiRay() : aiRay
  • aiScene() : aiScene
  • aiString() : aiString
  • aiTexture() : aiTexture
  • aiUVTransform() : aiUVTransform
  • aiVector2t() : aiVector2t< TReal >
  • aiVector3t() : aiVector3t< TReal >
  • aiVectorKey() : aiVectorKey
  • aiVertexWeight() : aiVertexWeight
  • Alloc() : aiMetadata
  • Append() : aiString , Assimp::SpatialSort
  • ApplyCustomizedPostProcessing() : Assimp::Importer
  • ApplyPostProcessing() : Assimp::Importer
  • AttachmentInfo() : Assimp::AttachmentInfo
  • attachStream()
: Assimp::DefaultLogger
, Assimp::Logger
, Assimp::NullLogger
  • AttachToGraph() : Assimp::SceneCombiner
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- b -

  • BaseImporter() : Assimp::BaseImporter
  • basic_formatter() : Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >
  • begin() : Assimp::SmallVector< T, Capacity >
  • BeginRegion() : Assimp::Profiling::Profiler
  • BlobIOStream() : Assimp::BlobIOStream
  • BlobIOSystem() : Assimp::BlobIOSystem
  • BuildUniqueBoneList() : Assimp::SceneCombiner
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- c -

  • C_Str() : aiString
  • cacheSize() : Assimp::IOStreamBuffer< T >
  • CanRead() : Assimp::BaseImporter
  • ChangeDirectory()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
  • CheckFormat() : aiTexture
  • CheckMagicToken() : Assimp::BaseImporter
  • Clear() : aiMaterial , aiString
  • clear()
: Assimp::TXmlParser< TNodeType >
, Assimp::XmlNodeIterator
  • Close()
: Assimp::BlobIOSystem
, Assimp::DefaultIOSystem
  • close() : Assimp::IOStreamBuffer< T >
  • Close()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
, Assimp::ZipArchiveIOSystem
  • collectChildrenPostOrder() : Assimp::XmlNodeIterator
  • collectChildrenPreOrder() : Assimp::XmlNodeIterator
  • ComparePaths()
: Assimp::DefaultIOSystem
, Assimp::IOSystem
, Assimp::MemoryIOSystem
  • completeBaseName() : Assimp::DefaultIOSystem
  • Conjugate() : aiQuaterniont< TReal >
  • ConvertToUTF8() : Assimp::BaseImporter
  • ConvertUTF8toISO8859_1() : Assimp::BaseImporter
  • Copy() : Assimp::SceneCombiner
  • CopyAndAdvance() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • CopyPropertyList() : aiMaterial
  • CopyScene() : Assimp::SceneCombiner
  • CopySceneFlat() : Assimp::SceneCombiner
  • CopyVector() : Assimp::BaseImporter
  • create() : Assimp::DefaultLogger
  • Create() : Assimp::Subdivider
  • createDefaultStream() : Assimp::LogStream
  • CreateDirectory()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
  • CreateGeometry() : Assimp::SkeletonMeshBuilder
  • CreateMaterial() : Assimp::SkeletonMeshBuilder
  • CreateMesh() : Assimp::SkeletonMeshBuilder
  • CurrentDirectory()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- d -

  • DeadlyErrorBase() : DeadlyErrorBase
  • DeadlyExportError() : DeadlyExportError
  • DeadlyImportError() : DeadlyImportError
  • Dealloc() : aiMetadata
  • debug() : Assimp::Logger
  • Decompose() : aiMatrix4x4t< TReal >
  • DecomposeNoScaling() : aiMatrix4x4t< TReal >
  • DefaultIOStream() : Assimp::DefaultIOStream
  • DeleteFile()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
  • detachStream()
: Assimp::DefaultLogger
, Assimp::Logger
, Assimp::NullLogger
  • Determinant() : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- e -

  • end() : Assimp::SmallVector< T, Capacity >
  • EndRegion() : Assimp::Profiling::Profiler
  • Entry()
: Assimp::SGSpatialSort::Entry
, Assimp::SpatialSort::Entry
  • Equal() : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal > , aiQuaterniont< TReal > , aiVector2t< TReal > , aiVector3t< TReal >
  • error() : Assimp::Logger
  • Exists()
: Assimp::BlobIOSystem
, Assimp::DefaultIOSystem
, Assimp::IOSystem
, Assimp::MemoryIOSystem
, Assimp::ZipArchiveIOSystem
  • Export() : Assimp::Exporter
  • Exporter() : Assimp::Exporter
  • ExportFormatEntry() : Assimp::Exporter::ExportFormatEntry
  • ExportProperties() : Assimp::ExportProperties
  • ExportToBlob() : Assimp::Exporter
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- f -

  • Face() : Assimp::SkeletonMeshBuilder::Face
  • FaceWithSmoothingGroup() : FaceWithSmoothingGroup
  • fileName() : Assimp::DefaultIOSystem
  • FileSize()
: Assimp::BlobIOStream
, Assimp::DefaultIOStream
, Assimp::IOStream
, Assimp::MemoryIOStream
  • Fill() : Assimp::SpatialSort
  • Finalize() : Assimp::SpatialSort
  • find_node_by_name_predicate() : Assimp::find_node_by_name_predicate
  • FindIdenticalPositions() : Assimp::SpatialSort
  • FindNode() : aiNode
  • findNode() : Assimp::TXmlParser< TNodeType >
  • FindPositions()
: Assimp::SGSpatialSort
, Assimp::SpatialSort
  • Flush()
: Assimp::BlobIOStream
, Assimp::DefaultIOStream
, Assimp::IOStream
, Assimp::MemoryIOStream
, Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • FreeBlob() : Assimp::Exporter
  • FreeScene() : Assimp::Importer
  • FromEulerAnglesXYZ() : aiMatrix4x4t< TReal >
  • FromToMatrix() : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- g -

  • GenerateMappingTable() : Assimp::SpatialSort
  • Get() : aiMaterial , aiMetadata
  • get() : Assimp::DefaultLogger
  • Get() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • get_index() : Assimp::LineSplitter
  • get_stream() : Assimp::LineSplitter
  • get_tokens() : Assimp::LineSplitter
  • GetApplicationUnits() : Assimp::BaseImporter
  • GetBlob()
: Assimp::BlobIOStream
, Assimp::Exporter
  • GetBlobChain() : Assimp::BlobIOSystem
  • getBoolAttribute() : Assimp::TXmlParser< TNodeType >
  • GetCameraMatrix() : aiCamera
  • getCurrentBlockIndex() : Assimp::IOStreamBuffer< T >
  • GetCurrentPos()
: Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
, Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • getDocument() : Assimp::TXmlParser< TNodeType >
  • getDoubleAttribute() : Assimp::TXmlParser< TNodeType >
  • GetEmbeddedTexture() : aiScene
  • GetErrorString()
: Assimp::Exporter
, Assimp::Importer
  • GetErrorText() : Assimp::BaseImporter
  • GetException()
: Assimp::BaseImporter
, Assimp::Importer
  • GetExportFormatCount() : Assimp::Exporter
  • GetExportFormatDescription() : Assimp::Exporter
  • GetExtension() : Assimp::BaseImporter
  • GetExtensionList()
: Assimp::BaseImporter
, Assimp::Importer
  • GetF4() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetF8() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • getFileList() : Assimp::ZipArchiveIOSystem
  • getFileListExtension() : Assimp::ZipArchiveIOSystem
  • getFilePos() : Assimp::IOStreamBuffer< T >
  • GetFileScale() : Assimp::BaseImporter
  • getFloatAttribute() : Assimp::TXmlParser< TNodeType >
  • GetI1() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetI2() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetI4() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetI8() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetImporter() : Assimp::Importer
  • GetImporterCount() : Assimp::Importer
  • GetImporterIndex() : Assimp::Importer
  • GetImporterInfo() : Assimp::Importer
  • GetInfo() : Assimp::BaseImporter
  • getIntAttribute() : Assimp::TXmlParser< TNodeType >
  • GetIOHandler()
: Assimp::Exporter
, Assimp::Importer
  • getLogSeverity() : Assimp::Logger
  • GetMagicFileName() : Assimp::BlobIOSystem
  • GetMatrix() : aiQuaterniont< TReal >
  • GetMemoryRequirements() : Assimp::Importer
  • GetName() : aiMaterial
  • getNext() : Assimp::XmlNodeIterator
  • getNextBlock() : Assimp::IOStreamBuffer< T >
  • getNextDataLine() : Assimp::IOStreamBuffer< T >
  • getNextLine() : Assimp::IOStreamBuffer< T >
  • getNumBlocks() : Assimp::IOStreamBuffer< T >
  • GetNumColorChannels() : aiMesh
  • GetNumUVChannels() : aiMesh
  • GetOrphanedBlob() : Assimp::Exporter
  • GetOrphanedScene() : Assimp::Importer
  • getOsSeparator()
: Assimp::BlobIOSystem
, Assimp::DefaultIOSystem
, Assimp::IOSystem
, Assimp::MemoryIOSystem
, Assimp::ZipArchiveIOSystem
  • GetProgressHandler() : Assimp::Importer
  • GetPropertyBool()
: Assimp::ExportProperties
, Assimp::Importer
  • GetPropertyCallback() : Assimp::ExportProperties
  • GetPropertyFloat()
: Assimp::ExportProperties
, Assimp::Importer
  • GetPropertyInteger()
: Assimp::ExportProperties
, Assimp::Importer
  • GetPropertyMatrix()
: Assimp::ExportProperties
, Assimp::Importer
  • GetPropertyString()
: Assimp::ExportProperties
, Assimp::Importer
  • GetPtr() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetReadLimit() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetRemainingSize() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetRemainingSizeToLimit() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • getRootNode() : Assimp::TXmlParser< TNodeType >
  • GetScene() : Assimp::Importer
  • GetShortFilename() : aiScene
  • getStdStrAttribute() : Assimp::TXmlParser< TNodeType >
  • GetTexture() : aiMaterial
  • GetTextureCount() : aiMaterial
  • GetU1() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetU2() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetU4() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • GetU8() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • getUIntAttribute() : Assimp::TXmlParser< TNodeType >
  • getValueAsFloat() : Assimp::TXmlParser< TNodeType >
  • getValueAsString() : Assimp::TXmlParser< TNodeType >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- h -

  • HasAnimations() : aiScene
  • hasAttribute() : Assimp::TXmlParser< TNodeType >
  • HasBones() : aiMesh
  • HasCameras() : aiScene
  • HasFaces() : aiMesh
  • HasKey() : aiMetadata
  • HasLights() : aiScene
  • HasMaterials() : aiScene
  • HasMeshes() : aiScene
  • hasNode() : Assimp::TXmlParser< TNodeType >
  • HasNormals() : aiAnimMesh , aiMesh
  • HasPositions() : aiAnimMesh , aiMesh
  • HasPropertyBool() : Assimp::ExportProperties
  • HasPropertyCallback() : Assimp::ExportProperties
  • HasPropertyFloat() : Assimp::ExportProperties
  • HasPropertyInteger() : Assimp::ExportProperties
  • HasPropertyMatrix() : Assimp::ExportProperties
  • HasPropertyString() : Assimp::ExportProperties
  • HasTangentsAndBitangents() : aiAnimMesh , aiMesh
  • HasTextureCoords() : aiAnimMesh , aiMesh
  • HasTextures() : aiScene
  • HasVertexColors() : aiAnimMesh , aiMesh
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- i -

  • Importer() : Assimp::Importer
  • IncPtr() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • info() : Assimp::Logger
  • InternReadFile() : Assimp::BaseImporter
  • Interpolate() : aiQuaterniont< TReal >
  • Inverse() : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • IOStream() : Assimp::IOStream
  • IOStreamBuffer() : Assimp::IOStreamBuffer< T >
  • IOSystem() : Assimp::IOSystem
  • IsBlack() : aiColor3D , aiColor4t< TReal >
  • IsDefaultIOHandler()
: Assimp::Exporter
, Assimp::Importer
  • IsDefaultProgressHandler() : Assimp::Importer
  • isEmpty() : Assimp::XmlNodeIterator
  • IsExtensionSupported() : Assimp::Importer
  • IsIdentity() : aiMatrix4x4t< TReal >
  • isNullLogger() : Assimp::DefaultLogger
  • isOpen() : Assimp::ZipArchiveIOSystem
  • isZipArchive() : Assimp::ZipArchiveIOSystem
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- k -

  • kill() : Assimp::DefaultLogger
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- l -

  • Length() : aiVector2t< TReal > , aiVector3t< TReal >
  • LineSplitter() : Assimp::LineSplitter
  • LogDebug() : Assimp::LogFunctions< TDeriving >
  • LogError() : Assimp::LogFunctions< TDeriving >
  • Logger() : Assimp::Logger
  • LogInfo() : Assimp::LogFunctions< TDeriving >
  • LogStream() : Assimp::LogStream
  • LogVerboseDebug() : Assimp::LogFunctions< TDeriving >
  • LogWarn() : Assimp::LogFunctions< TDeriving >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- m -

  • MakeCircle() : Assimp::StandardShapes
  • MakeCone() : Assimp::StandardShapes
  • MakeDodecahedron() : Assimp::StandardShapes
  • MakeHexahedron() : Assimp::StandardShapes
  • MakeIcosahedron() : Assimp::StandardShapes
  • MakeMesh() : Assimp::StandardShapes
  • MakeOctahedron() : Assimp::StandardShapes
  • MakeSphere() : Assimp::StandardShapes
  • MakeTetrahedron() : Assimp::StandardShapes
  • match_start() : Assimp::LineSplitter
  • MemoryIOStream() : Assimp::MemoryIOStream
  • MemoryIOSystem() : Assimp::MemoryIOSystem
  • MergeBones() : Assimp::SceneCombiner
  • MergeMaterials() : Assimp::SceneCombiner
  • MergeMeshes() : Assimp::SceneCombiner
  • MergeScenes() : Assimp::SceneCombiner
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- n -

  • NodeAttachmentInfo() : Assimp::NodeAttachmentInfo
  • Normalize() : aiQuaterniont< TReal > , aiVector2t< TReal > , aiVector3t< TReal >
  • NormalizeSafe() : aiVector3t< TReal >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- o -

  • OffsetNodeMeshIndices() : Assimp::SceneCombiner
  • OnDebug()
: Assimp::Logger
, Assimp::NullLogger
  • OnError()
: Assimp::Logger
, Assimp::NullLogger
  • OnInfo()
: Assimp::Logger
, Assimp::NullLogger
  • OnVerboseDebug()
: Assimp::Logger
, Assimp::NullLogger
  • OnWarn()
: Assimp::Logger
, Assimp::NullLogger
  • Open()
: Assimp::BlobIOSystem
, Assimp::DefaultIOSystem
  • open() : Assimp::IOStreamBuffer< T >
  • Open()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
, Assimp::ZipArchiveIOSystem
  • operator aiColor4D() : aiTexel
  • operator aiMatrix3x3t< TOther >() : aiMatrix3x3t< TReal >
  • operator aiMatrix4x4t< TOther >() : aiMatrix4x4t< TReal >
  • operator aiVector2t< TOther >() : aiVector2t< TReal >
  • operator aiVector3t< TOther >() : aiVector3t< TReal >
  • operator bool() : Assimp::LineSplitter
  • operator line_idx() : Assimp::LineSplitter
  • operator string() : Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >
  • operator!=() : aiColor3D , aiColor4t< TReal > , aiFace , aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal > , aiMeshKey , aiQuaterniont< TReal > , aiQuatKey , aiString , aiTexel , aiVector2t< TReal > , aiVector3t< TReal > , aiVectorKey , aiVertexWeight
  • operator()()
: Assimp::ByteSwap::_swapper< T, 2 >
, Assimp::ByteSwap::_swapper< T, 4 >
, Assimp::ByteSwap::_swapper< T, 8 >
, Assimp::find_node_by_name_predicate
, Assimp::Intern::ByteSwapper< T, doit >
, Assimp::Intern::ByteSwapper< T, false >
, Assimp::Intern::divides< T0, T1, TRES >
, Assimp::Intern::Getter< SwapEndianess, T, RuntimeSwitch >
, Assimp::Intern::Getter< SwapEndianess, T, false >
, Assimp::Intern::minus< T0, T1, TRES >
, Assimp::Intern::multiplies< T0, T1, TRES >
, Assimp::Intern::plus< T0, T1, TRES >
, Assimp::Interpolator< T >
, ExceptionSwallower< T >
, ExceptionSwallower< aiReturn >
, ExceptionSwallower< T * >
, ExceptionSwallower< void >
  • operator*() : aiColor3D , aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal > , aiQuaterniont< TReal > , Assimp::LineSplitter
  • operator*=() : aiColor4t< TReal > , aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal > , aiVector2t< TReal > , aiVector3t< TReal > , Assimp::Vertex
  • operator+() : aiColor3D , aiMatrix4x4t< TReal >
  • operator++() : Assimp::LineSplitter
  • operator+=() : aiColor4t< TReal > , aiVector2t< TReal > , aiVector3t< TReal > , Assimp::Vertex
  • operator,() : Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >
  • operator-() : aiColor3D
  • operator-=() : aiColor4t< TReal > , aiVector2t< TReal > , aiVector3t< TReal > , Assimp::Vertex
  • operator->() : Assimp::LineSplitter , Assimp::SceneHelper
  • operator/=() : aiColor4t< TReal > , aiVector2t< TReal > , aiVector3t< TReal > , Assimp::Vertex
  • operator<() : aiColor3D , aiColor4t< TReal > , aiMeshKey , aiQuatKey , aiVector3t< TReal > , aiVectorKey , Assimp::SGSpatialSort::Entry , Assimp::SpatialSort::Entry
  • operator<<() : Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > , Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • operator=() : aiBone , aiColor3D , aiExportDataBlob , aiFace , aiMetadata , aiString , aiVector2t< TReal > , Assimp::Importer , Assimp::LineSplitter , Assimp::SmallVector< T, Capacity >
  • operator==() : aiBone , aiColor3D , aiColor4t< TReal > , aiFace , aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal > , aiMeshKey , aiQuaterniont< TReal > , aiQuatKey , aiString , aiTexel , aiVector2t< TReal > , aiVector3t< TReal > , aiVectorKey , aiVertexWeight
  • operator>() : aiMeshKey , aiQuatKey , aiVectorKey
  • operator>>() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • operator[]() : aiColor3D , aiColor4t< TReal > , aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal > , aiVector2t< TReal > , aiVector3t< TReal > , Assimp::LineSplitter
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- p -

  • parse() : Assimp::TXmlParser< TNodeType >
  • Pimpl() : Assimp::Importer
  • PopDirectory()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
  • Prepare() : Assimp::SGSpatialSort
  • Profiler() : Assimp::Profiling::Profiler
  • ProgressHandler() : Assimp::ProgressHandler
  • push_back() : Assimp::SmallVector< T, Capacity >
  • PushDirectory()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
  • Put() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutChar() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutF4() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutF8() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutI1() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutI2() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutI4() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutI8() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutString() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutU1() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutU2() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutU4() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • PutU8() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- r -

  • Read()
: Assimp::BlobIOStream
, Assimp::DefaultIOStream
, Assimp::IOStream
, Assimp::MemoryIOStream
  • ReadFile()
: Assimp::BaseImporter
, Assimp::Importer
  • ReadFileFromMemory() : Assimp::Importer
  • readNextBlock() : Assimp::IOStreamBuffer< T >
  • RegisterExporter() : Assimp::Exporter
  • RegisterLoader() : Assimp::Importer
  • RegisterPPStep() : Assimp::Importer
  • RemoveProperty() : aiMaterial
  • resize() : Assimp::SmallVector< T, Capacity >
  • Rotate() : aiQuaterniont< TReal >
  • Rotation() : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • RotationX() : aiMatrix4x4t< TReal >
  • RotationY() : aiMatrix4x4t< TReal >
  • RotationZ() : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- s -

  • Save() : Assimp::Bitmap
  • Scaling() : aiMatrix4x4t< TReal >
  • SceneHelper() : Assimp::SceneHelper
  • SearchFileHeaderForToken() : Assimp::BaseImporter
  • Seek()
: Assimp::BlobIOStream
, Assimp::DefaultIOStream
, Assimp::IOStream
, Assimp::MemoryIOStream
, Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • Set() : aiMetadata , aiString , aiVector2t< TReal > , aiVector3t< TReal >
  • set() : Assimp::DefaultLogger
  • SetApplicationUnits() : Assimp::BaseImporter
  • SetCurrentPos()
: Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
, Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • SetExtraVerbose() : Assimp::Importer
  • SetFileScale() : Assimp::BaseImporter
  • SetIOHandler()
: Assimp::Exporter
, Assimp::Importer
  • setLogSeverity() : Assimp::Logger
  • SetProgressHandler()
: Assimp::Exporter
, Assimp::Importer
  • SetPropertyBool()
: Assimp::ExportProperties
, Assimp::Importer
  • SetPropertyCallback() : Assimp::ExportProperties
  • SetPropertyFloat()
: Assimp::ExportProperties
, Assimp::Importer
  • SetPropertyInteger()
: Assimp::ExportProperties
, Assimp::Importer
  • SetPropertyMatrix()
: Assimp::ExportProperties
, Assimp::Importer
  • SetPropertyString()
: Assimp::ExportProperties
, Assimp::Importer
  • SetPtr() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • SetReadLimit() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • SetupProperties() : Assimp::BaseImporter
  • SGSpatialSort() : Assimp::SGSpatialSort
  • SimpleExtensionCheck() : Assimp::BaseImporter
  • size()
: Assimp::IOStreamBuffer< T >
, Assimp::SmallVector< T, Capacity >
, Assimp::XmlNodeIterator
  • SkeletonMeshBuilder() : Assimp::SkeletonMeshBuilder
  • SkipToReadLimit() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • SmallVector() : Assimp::SmallVector< T, Capacity >
  • SortBack() : Assimp::Vertex
  • SpatialSort() : Assimp::SpatialSort
  • SquareLength() : aiVector2t< TReal > , aiVector3t< TReal >
  • StackSize()
: Assimp::IOSystem
, Assimp::MemoryIOSystem
  • StreamReader() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • StreamWriter() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • Subdivide() : Assimp::Subdivider
  • swallow_next_increment() : Assimp::LineSplitter
  • Swap() : Assimp::ByteSwap
  • Swap2() : Assimp::ByteSwap
  • Swap4() : Assimp::ByteSwap
  • Swap8() : Assimp::ByteSwap
  • Swapped() : Assimp::ByteSwap
  • SymMul() : aiVector2t< TReal > , aiVector3t< TReal >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- t -

  • Tell()
: Assimp::BlobIOStream
, Assimp::DefaultIOStream
, Assimp::IOStream
, Assimp::MemoryIOStream
, Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • TextFileToBuffer() : Assimp::BaseImporter
  • ThrowException() : Assimp::LogFunctions< TDeriving >
  • to_int() : Assimp::NodeConverter< TNodeType >
  • Translation() : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • Transpose() : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • TXmlParser() : Assimp::TXmlParser< TNodeType >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- u -

  • UnregisterExporter() : Assimp::Exporter
  • UnregisterLoader() : Assimp::Importer
  • UnregisterPPStep() : Assimp::Importer
  • Update() : Assimp::ProgressHandler
  • UpdateFileRead() : Assimp::ProgressHandler
  • UpdateFileWrite() : Assimp::ProgressHandler
  • UpdatePostProcess() : Assimp::ProgressHandler
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- v -

  • ValidateFlags() : Assimp::Importer
  • verboseDebug() : Assimp::Logger
  • Vertex() : Assimp::Vertex
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- w -

  • warn() : Assimp::Logger
  • Write()
: Assimp::BlobIOStream
, Assimp::DefaultIOStream
, Assimp::IOStream
  • write() : Assimp::LogStream
  • Write() : Assimp::MemoryIOStream
  • WriteData() : Assimp::Bitmap
  • WriteDIB() : Assimp::Bitmap
  • WriteHeader() : Assimp::Bitmap
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- x -

  • XmlNodeIterator() : Assimp::XmlNodeIterator
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- z -

  • ZipArchiveIOSystem() : Assimp::ZipArchiveIOSystem
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Functions

- ~ -

  • ~aiAABB() : aiAABB
  • ~aiAnimation() : aiAnimation
  • ~aiAnimMesh() : aiAnimMesh
  • ~aiBone() : aiBone
  • ~aiExportDataBlob() : aiExportDataBlob
  • ~aiFace() : aiFace
  • ~aiMaterial() : aiMaterial
  • ~aiMesh() : aiMesh
  • ~aiMeshAnim() : aiMeshAnim
  • ~aiMeshMorphAnim() : aiMeshMorphAnim
  • ~aiMeshMorphKey() : aiMeshMorphKey
  • ~aiMetadata() : aiMetadata
  • ~aiNode() : aiNode
  • ~aiNodeAnim() : aiNodeAnim
  • ~aiScene() : aiScene
  • ~aiTexture() : aiTexture
  • ~BaseImporter() : Assimp::BaseImporter
  • ~BlobIOStream() : Assimp::BlobIOStream
  • ~BlobIOSystem() : Assimp::BlobIOSystem
  • ~DefaultIOStream() : Assimp::DefaultIOStream
  • ~Exporter() : Assimp::Exporter
  • ~Importer() : Assimp::Importer
  • ~IOStream() : Assimp::IOStream
  • ~IOStreamBuffer() : Assimp::IOStreamBuffer< T >
  • ~IOSystem() : Assimp::IOSystem
  • ~LineSplitter() : Assimp::LineSplitter
  • ~Logger() : Assimp::Logger
  • ~LogStream() : Assimp::LogStream
  • ~MemoryIOStream() : Assimp::MemoryIOStream
  • ~MemoryIOSystem() : Assimp::MemoryIOSystem
  • ~ProgressHandler() : Assimp::ProgressHandler
  • ~SGSpatialSort() : Assimp::SGSpatialSort
  • ~SmallVector() : Assimp::SmallVector< T, Capacity >
  • ~SpatialSort() : Assimp::SpatialSort
  • ~StreamReader() : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • ~StreamWriter() : Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
  • ~Subdivider() : Assimp::Subdivider
  • ~TXmlParser() : Assimp::TXmlParser< TNodeType >
  • ~ZipArchiveIOSystem() : Assimp::ZipArchiveIOSystem
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- a -

  • a : aiColor4t< TReal > , aiPlane , aiTexel
  • a1 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • a2 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • a3 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • a4 : aiMatrix4x4t< TReal >
  • achFormatHint : aiTexture
  • animations : aiMemoryInfo
  • applicationUnits : Assimp::BaseImporter
  • attachToNode : Assimp::AttachmentInfo , Assimp::NodeAttachmentInfo
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- b -

  • b : aiColor3D , aiColor4t< TReal > , aiPlane , aiTexel
  • b1 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • b2 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • b3 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • b4 : aiMatrix4x4t< TReal >
  • bitangent : Assimp::Vertex
  • bits_per_pixel : Assimp::Bitmap::DIB
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- c -

  • c : aiPlane
  • c1 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • c2 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • c3 : aiMatrix3x3t< TReal > , aiMatrix4x4t< TReal >
  • c4 : aiMatrix4x4t< TReal >
  • callback : aiLogStream
  • cameras : aiMemoryInfo
  • CloseProc : aiFileIO
  • colors : Assimp::Vertex
  • compression : Assimp::Bitmap::DIB
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- d -

  • d : aiPlane
  • d1 : aiMatrix4x4t< TReal >
  • d2 : aiMatrix4x4t< TReal >
  • d3 : aiMatrix4x4t< TReal >
  • d4 : aiMatrix4x4t< TReal >
  • data : aiExportDataBlob , aiString
  • description : aiExportFormatDesc
  • dib_size : Assimp::Bitmap::DIB
  • dir : aiRay
  • Double : _IEEEDouble
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- e -

  • Exp : _IEEEDouble , _IEEESingle
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- f -

  • fileExtension : aiExportFormatDesc
  • fileScale : Assimp::BaseImporter
  • FileSizeProc : aiFile
  • Float : _IEEESingle
  • FlushProc : aiFile
  • Frac : _IEEEDouble , _IEEESingle
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- g -

  • g : aiColor3D , aiColor4t< TReal > , aiTexel
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- h -

  • hashes : Assimp::SceneHelper
  • header_size : Assimp::Bitmap::Header
  • height : Assimp::Bitmap::DIB
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- i -

  • id : aiExportFormatDesc , Assimp::SceneHelper
  • idlen : Assimp::SceneHelper
  • IEEE : _IEEEDouble , _IEEESingle
  • image_size : Assimp::Bitmap::DIB
  • importerScale : Assimp::BaseImporter
  • importerUnits : Assimp::BaseImporter
  • iSmoothGroup : FaceWithSmoothingGroup
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- l -

  • length : aiString
  • lights : aiMemoryInfo
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- m -

  • m_ErrorText : Assimp::BaseImporter
  • m_Exception : Assimp::BaseImporter
  • m_progress : Assimp::BaseImporter
  • m_Severity : Assimp::Logger
  • mAABB : aiMesh
  • mAngleInnerCone : aiLight
  • mAngleOuterCone : aiLight
  • mAnimations : aiScene
  • mAnimMeshes : aiMesh
  • mArmature : aiBone
  • mAspect : aiCamera
  • materials : aiMemoryInfo
  • mAttenuationConstant : aiLight
  • mAttenuationLinear : aiLight
  • mAttenuationQuadratic : aiLight
  • mAuthor : aiImporterDesc
  • MaxLenHint : Assimp::Importer
  • mBitangents : aiAnimMesh , aiMesh
  • mBones : aiMesh , Assimp::SkeletonMeshBuilder
  • mBytesPerPixel : Assimp::Bitmap
  • mCallbackProperties : Assimp::ExportProperties
  • mCameras : aiScene
  • mChannels : aiAnimation
  • mChildren : aiNode
  • mClipPlaneFar : aiCamera
  • mClipPlaneNear : aiCamera
  • mColorAmbient : aiLight
  • mColorDiffuse : aiLight
  • mColors : aiAnimMesh , aiMesh
  • mColorSpecular : aiLight
  • mComments : aiImporterDesc
  • mData : aiMetadataEntry
  • mDescription : Assimp::Exporter::ExportFormatEntry
  • mDirection : aiLight
  • mDistance : Assimp::SGSpatialSort::Entry , Assimp::SpatialSort::Entry
  • mDuration : aiAnimation
  • mEnforcePP : Assimp::Exporter::ExportFormatEntry
  • meshes : aiMemoryInfo
  • mExportFunction : Assimp::Exporter::ExportFormatEntry
  • mFaces : aiMesh , Assimp::SkeletonMeshBuilder , MeshWithSmoothingGroups< T >
  • mFileExtensions : aiImporterDesc
  • mFilename : aiTexture
  • mFlags : aiImporterDesc , aiScene
  • mFloatProperties : Assimp::ExportProperties
  • mHeight : aiTexture
  • mHorizontalFOV : aiCamera
  • mIndex : Assimp::SGSpatialSort::Entry , Assimp::SpatialSort::Entry
  • mIndices : aiFace , Assimp::SkeletonMeshBuilder::Face , FaceWithSmoothingGroup
  • mIntProperties : Assimp::ExportProperties
  • mKeys : aiMeshAnim , aiMeshMorphAnim , aiMetadata
  • mKnobsOnly : Assimp::SkeletonMeshBuilder
  • mLights : aiScene
  • mLookAt : aiCamera
  • mMaintainer : aiImporterDesc
  • mMaterialIndex : aiMesh
  • mMaterials : aiScene
  • mMatrixProperties : Assimp::ExportProperties
  • mMax : aiAABB
  • mMaxMajor : aiImporterDesc
  • mMaxMinor : aiImporterDesc
  • mMeshChannels : aiAnimation
  • mMeshes : aiNode , aiScene
  • mMetaData : aiNode , aiScene
  • mMethod : aiMesh
  • mMin : aiAABB
  • mMinMajor : aiImporterDesc
  • mMinMinor : aiImporterDesc
  • mMorphMeshChannels : aiAnimation
  • mName : aiAnimation , aiAnimMesh , aiBone , aiCamera , aiImporterDesc , aiLight , aiMesh , aiMeshAnim , aiMeshMorphAnim , aiNode , aiScene , Assimp::find_node_by_name_predicate
  • mNode : aiBone
  • mNodeName : aiNodeAnim
  • mNormals : aiAnimMesh , aiMesh , MeshWithSmoothingGroups< T >
  • mNumAllocated : aiMaterial
  • mNumAnimations : aiScene
  • mNumAnimMeshes : aiMesh
  • mNumBones : aiMesh
  • mNumCameras : aiScene
  • mNumChannels : aiAnimation
  • mNumChildren : aiNode
  • mNumFaces : aiMesh
  • mNumIndices : aiFace
  • mNumKeys : aiMeshAnim , aiMeshMorphAnim
  • mNumLights : aiScene
  • mNumMaterials : aiScene
  • mNumMeshChannels : aiAnimation
  • mNumMeshes : aiNode , aiScene
  • mNumMorphMeshChannels : aiAnimation
  • mNumPositionKeys : aiNodeAnim
  • mNumProperties : aiMaterial , aiMetadata
  • mNumRotationKeys : aiNodeAnim
  • mNumScalingKeys : aiNodeAnim
  • mNumTextures : aiScene
  • mNumUVComponents : aiMesh
  • mNumValuesAndWeights : aiMeshMorphKey
  • mNumVertices : aiAnimMesh , aiMesh
  • mNumWeights : aiBone
  • mOffsetMatrix : aiBone
  • mOrthographicWidth : aiCamera
  • mParent : aiNode
  • mPlaneNormal : Assimp::SGSpatialSort , Assimp::SpatialSort
  • mPosition : aiCamera , aiLight , Assimp::SGSpatialSort::Entry , Assimp::SpatialSort::Entry
  • mPositionKeys : aiNodeAnim
  • mPositions : Assimp::SGSpatialSort , Assimp::SpatialSort , MeshWithSmoothingGroups< T >
  • mPostState : aiNodeAnim
  • mPreState : aiNodeAnim
  • mPrimitiveTypes : aiMesh
  • mPrivate : aiScene
  • mProperties : aiMaterial
  • mRootNode : aiScene
  • mRotation : aiUVTransform
  • mRotationKeys : aiNodeAnim
  • mScaling : aiUVTransform
  • mScalingKeys : aiNodeAnim
  • mSize : aiLight
  • mSmoothGroups : Assimp::SGSpatialSort::Entry
  • mStringProperties : Assimp::ExportProperties
  • mTangents : aiAnimMesh , aiMesh
  • mTextureCoords : aiAnimMesh , aiMesh
  • mTextures : aiScene
  • mTicksPerSecond : aiAnimation
  • mTime : aiMeshKey , aiMeshMorphKey , aiQuatKey , aiVectorKey
  • mTransformation : aiNode
  • mTranslation : aiUVTransform
  • mType : aiLight , aiMetadataEntry
  • mUp : aiCamera , aiLight
  • mValue : aiMeshKey , aiQuatKey , aiVectorKey
  • mValues : aiMeshMorphKey , aiMetadata
  • mVertexId : aiVertexWeight
  • mVertices : aiAnimMesh , aiMesh , Assimp::SkeletonMeshBuilder
  • mWeight : aiAnimMesh , aiVertexWeight
  • mWeights : aiBone , aiMeshMorphKey
  • mWidth : aiTexture
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- n -

  • name : aiExportDataBlob
  • nb_colors : Assimp::Bitmap::DIB
  • nb_important_colors : Assimp::Bitmap::DIB
  • next : aiExportDataBlob
  • node : Assimp::NodeAttachmentInfo
  • nodes : aiMemoryInfo
  • normal : Assimp::Vertex
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- o -

  • offset : Assimp::Bitmap::Header
  • OpenProc : aiFileIO
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- p -

  • pcData : aiTexture
  • pimpl : Assimp::Exporter , Assimp::Importer
  • planes : Assimp::Bitmap::DIB
  • pos : aiRay
  • position : Assimp::Vertex
  • pSrcBones : Assimp::BoneWithHash
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- r -

  • r : aiColor3D , aiColor4t< TReal > , aiTexel
  • ReadProc : aiFile
  • reserved1 : Assimp::Bitmap::Header
  • reserved2 : Assimp::Bitmap::Header
  • resolved : Assimp::NodeAttachmentInfo
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- s -

  • scene : Assimp::AttachmentInfo , Assimp::SceneHelper
  • SeekProc : aiFile
  • sentinel : aiPropertyStore
  • Sign : _IEEEDouble , _IEEESingle
  • size : aiExportDataBlob , Assimp::Bitmap::DIB , Assimp::Bitmap::Header
  • src_idx : Assimp::NodeAttachmentInfo
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- t -

  • tangent : Assimp::Vertex
  • TellProc : aiFile
  • texcoords : Assimp::Vertex
  • textures : aiMemoryInfo
  • total : aiMemoryInfo
  • type : Assimp::Bitmap::Header
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- u -

  • user : aiLogStream
  • UserData : aiFile , aiFileIO
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- w -

  • w : aiQuaterniont< TReal >
  • width : Assimp::Bitmap::DIB
  • WriteProc : aiFile
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- x -

  • x : aiQuaterniont< TReal > , aiVector2t< TReal > , aiVector3t< TReal >
  • x_resolution : Assimp::Bitmap::DIB
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- y -

  • y : aiQuaterniont< TReal > , aiVector2t< TReal > , aiVector3t< TReal >
  • y_resolution : Assimp::Bitmap::DIB
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Variables

- z -

  • z : aiQuaterniont< TReal > , aiVector3t< TReal >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Typedefs

  • CallbackPropertyMap : Assimp::ExportProperties
  • diff : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • elem_type : aiMeshKey , aiQuatKey , aiVectorKey
  • FloatPropertyMap : Assimp::ExportProperties
  • fpExportFunc : Assimp::Exporter
  • IntPropertyMap : Assimp::ExportProperties
  • KeyType : Assimp::ExportProperties
  • line_idx : Assimp::LineSplitter
  • MatrixPropertyMap : Assimp::ExportProperties
  • pos : Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
  • string : Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >
  • StringPropertyMap : Assimp::ExportProperties
  • stringstream : Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Enumerations

  • Algorithm : Assimp::Subdivider
  • ErrorSeverity : Assimp::Logger
  • ImporterUnits : Assimp::BaseImporter
  • LogSeverity : Assimp::Logger
  • TextFileMode : Assimp::BaseImporter
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Class Members - Enumerator

  • ALLOW_EMPTY : Assimp::BaseImporter
  • CATMULL_CLARKE : Assimp::Subdivider
  • CM : Assimp::BaseImporter
  • DEBUGGING : Assimp::Logger
  • Debugging : Assimp::Logger
  • Err : Assimp::Logger
  • FEET : Assimp::BaseImporter
  • FORBID_EMPTY : Assimp::BaseImporter
  • INCHES : Assimp::BaseImporter
  • Info : Assimp::Logger
  • M : Assimp::BaseImporter
  • MM : Assimp::BaseImporter
  • NORMAL : Assimp::Logger
  • VERBOSE : Assimp::Logger
  • Warn : Assimp::Logger
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: Class Members - Related Functions

  • BlobIOStream : Assimp::BlobIOSystem
  • CompareKeys : aiMetadata
  • CompareValues : aiMetadata
  • DefaultIOSystem : Assimp::DefaultIOStream
  • Importer : Assimp::BaseImporter
  • operator!= : aiMetadata
  • operator* : Assimp::Vertex
  • operator+ : Assimp::Vertex
  • operator- : Assimp::Vertex
  • operator/ : Assimp::Vertex
  • operator== : aiMetadata
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File List

File List
Here is a list of all files with brief descriptions:
aabb.h |
ai_assert.h |
AndroidJNIIOSystem.h |
anim.h | Defines the data structures in which the imported animations are returned
BaseImporter.h |
Bitmap.h | Defines bitmap format helper for textures
BlobIOSystem.h |
ByteSwapper.h |
camera.h | Defines the aiCamera data structure
cexport.h | Defines the C-API for the Assimp export interface
cfileio.h | Defines generic C routines to access memory-mapped files
cimport.h | Defines the C-API to the Open Asset Import Library
ColladaMetaData.h | Declares common metadata constants used by Collada files
color4.h | RGBA color structure, including operators when compiling in C++
color4.inl | Inline implementation of aiColor4t<TReal> operators
commonMetaData.h | Defines a set of common scene metadata keys
config.h | Defines constants for configurable properties for the library
CreateAnimMesh.h | Create AnimMesh from Mesh
DefaultIOStream.h |
DefaultIOSystem.h |
DefaultLogger.hpp |
Defines.h |
defs.h | Assimp build configuration setup
dox.h | General documentation built from a doxygen comment
Exceptional.h |
Exporter.hpp | Defines the CPP-API for the Assimp export interface
fast_atof.h |
GenericProperty.h |
Hash.h |
Importer.hpp | Defines the C++-API to the Open Asset Import Library
importerdesc.h | aiImporterFlags, aiImporterDesc implementation
IOStream.hpp | File I/O wrappers for C++
IOStreamBuffer.h |
IOSystem.hpp | File system wrapper for C++
light.h | Defines the aiLight data structure
LineSplitter.h | LineSplitter, a helper class to iterate through all lines of a file easily
LogAux.h | Common logging usage patterns for importer implementations
Logger.hpp | Abstract base class 'Logger', base of the logging system
LogStream.hpp | Abstract base class 'LogStream', representing an output log stream
material.h | Defines the material system of the library
material.inl | Defines the C++ getters for the material system
MathFunctions.h | Implementation of math utility functions
matrix3x3.h | Definition of a 3x3 matrix, including operators when compiling in C++
matrix3x3.inl | Inline implementation of the 3x3 matrix operators
matrix4x4.h | 4x4 matrix structure, including operators when compiling in C++
matrix4x4.inl | Inline implementation of the 4x4 matrix operators
MemoryIOWrapper.h | Handy IOStream/IOSystem implemetation to read directly from a memory buffer
mesh.h | Declares the data structures in which the imported geometry is returned by ASSIMP: aiMesh, aiFace and aiBone data structures
metadata.h | Defines the data structures for holding node meta information
NullLogger.hpp | Dummy logger
ParsingUtils.h | Defines helper functions for text parsing
pbrmaterial.h | Defines the material system of the library
poppack1.h |
postprocess.h | Definitions for import post processing steps
Profiler.h | Utility to measure the respective runtime of each import step
ProgressHandler.hpp | Abstract base class 'ProgressHandler'
pstdint.h |
pushpack1.h |
qnan.h | Some utilities for our dealings with qnans
quaternion.h | Quaternion structure, including operators when compiling in C++
quaternion.inl | Inline implementation of aiQuaterniont<TReal> operators
RemoveComments.h |
scene.h | Defines the data structures in which the imported scene is returned
SceneCombiner.h |
SGSpatialSort.h |
SkeletonMeshBuilder.h | Helper class to construct a dummy mesh for file formats containing only motion data
SmallVector.h |
SmoothingGroups.h |
SmoothingGroups.inl |
SpatialSort.h |
StandardShapes.h |
StreamReader.h |
StreamWriter.h |
StringComparison.h |
StringUtils.h |
Subdivision.h |
texture.h | Defines texture helper structures for the library
TinyFormatter.h | Utility to format log messages more easily
types.h | Basic data types and primitives, such as vectors or colors
vector2.h | 2D vector structure, including operators when compiling in C++
vector2.inl | Inline implementation of aiVector2t<TReal> operators
vector3.h | 3D vector structure, including operators when compiling in C++
vector3.inl | Inline implementation of aiVector3t<TReal> operators
version.h | Functions to query the version of the Assimp runtime, check compile flags, ..
Vertex.h |
XmlParser.h |
XMLTools.h |
ZipArchiveIOSystem.h | Implementation of IOSystem to read a ZIP file from another IOSystem
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: aabb.h File Reference

  • include
  • assimp
Classes | Macros
aabb.h File Reference

Classes

struct aiAABB

Macros

#define AI_AABB_H_INC

Macro Definition Documentation

◆ AI_AABB_H_INC

#define AI_AABB_H_INC
Generated on Mon Dec 14 2020 19:31:08 for Assimp by doxygen 1.8.13


Assimp: ai_assert.h File Reference

  • include
  • assimp
Macros
ai_assert.h File Reference

Macros

#define | ai_assert(expression)
#define | ai_assert_entry()
#define | AI_ASSERT_H_INC

Macro Definition Documentation

◆ ai_assert

#define ai_assert ( expression )

◆ ai_assert_entry

#define ai_assert_entry ( )

◆ AI_ASSERT_H_INC

#define AI_ASSERT_H_INC
Generated on Mon Dec 14 2020 19:31:08 for Assimp by doxygen 1.8.13


Assimp: AndroidJNIIOSystem.h File Reference

  • include
  • assimp
  • port
  • AndroidJNI
AndroidJNIIOSystem.h File Reference
Generated on Mon Dec 14 2020 19:31:08 for Assimp by doxygen 1.8.13


Assimp: anim.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros | Enumerations
anim.h File Reference

Defines the data structures in which the imported animations are returned. More...

Classes

struct | aiAnimation
An animation consists of key-frame data for a number of nodes. More...
struct | aiMeshAnim
Describes vertex-based animations for a single mesh or a group of meshes. More...
struct | aiMeshKey
Binds a anim-mesh to a specific point in time. More...
struct | aiMeshMorphAnim
Describes a morphing animation of a given mesh. More...
struct | aiMeshMorphKey
Binds a morph anim mesh to a specific point in time. More...
struct | aiNodeAnim
Describes the animation of a single node. More...
struct | aiQuatKey
A time-value pair specifying a rotation for the given time. More...
struct | aiVectorKey
A time-value pair specifying a certain 3D vector for the given time. More...
struct | Assimp::Interpolator< T >
CPP-API: Utility class to simplify interpolations of various data types. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_ANIM_H_INC

Enumerations

enum aiAnimBehaviour {
aiAnimBehaviour_DEFAULT = 0x0, aiAnimBehaviour_CONSTANT = 0x1, aiAnimBehaviour_LINEAR = 0x2, aiAnimBehaviour_REPEAT = 0x3,
_aiAnimBehaviour_Force32Bit = INT_MAX
}
Defines how an animation channel behaves outside the defined time range. More...

Detailed Description

Defines the data structures in which the imported animations are returned.

Macro Definition Documentation

◆ AI_ANIM_H_INC

#define AI_ANIM_H_INC

Enumeration Type Documentation

◆ aiAnimBehaviour

enum aiAnimBehaviour

Defines how an animation channel behaves outside the defined time range.

This corresponds to aiNodeAnim::mPreState and aiNodeAnim::mPostState.

Enumerator
aiAnimBehaviour_DEFAULT | The value from the default node transformation is taken.
aiAnimBehaviour_CONSTANT | The nearest key value is used without interpolation.
aiAnimBehaviour_LINEAR | The value of the nearest two keys is linearly extrapolated for the current time value.
aiAnimBehaviour_REPEAT | The animation is repeated. If the animation key go from n to m and the current time is t, use the value at (t-n) % (|m-n|).
_aiAnimBehaviour_Force32Bit | This value is not used, it is just here to force the the compiler to map this enum to a 32 Bit integer.
Generated on Mon Dec 14 2020 19:31:08 for Assimp by doxygen 1.8.13


Assimp: BaseImporter.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
BaseImporter.h File Reference

Classes

class Assimp::BaseImporter
FOR IMPORTER PLUGINS ONLY: The BaseImporter defines a common interface for all importer worker classes. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define | AI_MAKE_MAGIC(string)
#define | INCLUDED_AI_BASEIMPORTER_H

Macro Definition Documentation

◆ AI_MAKE_MAGIC

#define AI_MAKE_MAGIC ( string )
Value:
((uint32_t)((string[0] << 24) + \
(string[1] << 16) + (string[2] << 8) + string[3]))

◆ INCLUDED_AI_BASEIMPORTER_H

#define INCLUDED_AI_BASEIMPORTER_H
Generated on Mon Dec 14 2020 19:31:08 for Assimp by doxygen 1.8.13


Assimp: Bitmap.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
Bitmap.h File Reference

Defines bitmap format helper for textures. More...

Classes

class | Assimp::Bitmap
struct | Assimp::Bitmap::DIB
struct | Assimp::Bitmap::Header

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_BITMAP_H_INC

Detailed Description

Defines bitmap format helper for textures.

Used for file formats which embed their textures into the model file.

Macro Definition Documentation

◆ AI_BITMAP_H_INC

#define AI_BITMAP_H_INC
Generated on Mon Dec 14 2020 19:31:08 for Assimp by doxygen 1.8.13


Assimp: BlobIOSystem.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
BlobIOSystem.h File Reference

Classes

class | Assimp::BlobIOStream
Redirect IOStream to a blob. More...
class | Assimp::BlobIOSystem
Redirect IOSystem to a blob. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_BLOBIO_MAGIC "$blobfile"

Macro Definition Documentation

◆ AI_BLOBIO_MAGIC

#define AI_BLOBIO_MAGIC "$blobfile"
Generated on Mon Dec 14 2020 19:31:08 for Assimp by doxygen 1.8.13


Assimp: ByteSwapper.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
ByteSwapper.h File Reference

Classes

class | Assimp::ByteSwap
Defines some useful byte order swap routines. More...
struct | Assimp::ByteSwap::_swapper< T, 2 >
struct | Assimp::ByteSwap::_swapper< T, 4 >
struct | Assimp::ByteSwap::_swapper< T, 8 >
struct | Assimp::Intern::ByteSwapper< T, doit >
struct | Assimp::Intern::ByteSwapper< T, false >
struct | Assimp::Intern::Getter< SwapEndianess, T, RuntimeSwitch >
struct | Assimp::Intern::Getter< SwapEndianess, T, false >

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.
Assimp::Intern

Macros

#define | AI_BE(t) (t)
#define | AI_BYTESWAPPER_H_INC
#define | AI_LE(t) ByteSwap::Swapped(t)
#define | AI_LSWAP2(p) ByteSwap::Swap2(&(p))
#define | AI_LSWAP2P(p) ByteSwap::Swap2((p))
#define | AI_LSWAP4(p) ByteSwap::Swap4(&(p))
#define | AI_LSWAP4P(p) ByteSwap::Swap4((p))
#define | AI_LSWAP8(p) ByteSwap::Swap8(&(p))
#define | AI_LSWAP8P(p) ByteSwap::Swap8((p))
#define | AI_SWAP2(p)
#define | AI_SWAP2P(p)
#define | AI_SWAP4(p)
#define | AI_SWAP4P(p)
#define | AI_SWAP8(p)
#define | AI_SWAP8P(p)
#define | BE_NCONST const
#define | LE_NCONST

Macro Definition Documentation

◆ AI_BE

#define AI_BE ( t ) (t)

◆ AI_BYTESWAPPER_H_INC

#define AI_BYTESWAPPER_H_INC

◆ AI_LE

#define AI_LE ( t ) ByteSwap::Swapped(t)

◆ AI_LSWAP2

#define AI_LSWAP2 ( p ) ByteSwap::Swap2(&(p))

◆ AI_LSWAP2P

#define AI_LSWAP2P ( p ) ByteSwap::Swap2((p))

◆ AI_LSWAP4

#define AI_LSWAP4 ( p ) ByteSwap::Swap4(&(p))

◆ AI_LSWAP4P

#define AI_LSWAP4P ( p ) ByteSwap::Swap4((p))

◆ AI_LSWAP8

#define AI_LSWAP8 ( p ) ByteSwap::Swap8(&(p))

◆ AI_LSWAP8P

#define AI_LSWAP8P ( p ) ByteSwap::Swap8((p))

◆ AI_SWAP2

#define AI_SWAP2 ( p )

◆ AI_SWAP2P

#define AI_SWAP2P ( p )

◆ AI_SWAP4

#define AI_SWAP4 ( p )

◆ AI_SWAP4P

#define AI_SWAP4P ( p )

◆ AI_SWAP8

#define AI_SWAP8 ( p )

◆ AI_SWAP8P

#define AI_SWAP8P ( p )

◆ BE_NCONST

#define BE_NCONST const

◆ LE_NCONST

#define LE_NCONST
Generated on Mon Dec 14 2020 19:31:08 for Assimp by doxygen 1.8.13


Assimp: camera.h File Reference

  • include
  • assimp
Classes | Macros
camera.h File Reference

Defines the aiCamera data structure. More...

Classes

struct aiCamera
Helper structure to describe a virtual camera. More...

Macros

#define AI_CAMERA_H_INC

Detailed Description

Defines the aiCamera data structure.

Macro Definition Documentation

◆ AI_CAMERA_H_INC

#define AI_CAMERA_H_INC
Generated on Mon Dec 14 2020 19:31:08 for Assimp by doxygen 1.8.13


Assimp: cexport.h File Reference

  • include
  • assimp
Classes | Macros | Functions
cexport.h File Reference

Defines the C-API for the Assimp export interface. More...

Classes

struct | aiExportDataBlob
Describes a blob of exported scene data. More...
struct | aiExportFormatDesc
Describes an file format which Assimp can export to. More...

Macros

#define AI_EXPORT_H_INC

Functions

ASSIMP_API void | aiCopyScene (const C_STRUCT aiScene *pIn, C_STRUCT aiScene **pOut)
Create a modifiable copy of a scene. More...
ASSIMP_API aiReturn | aiExportScene (const C_STRUCT aiScene *pScene, const char *pFormatId, const char *pFileName, unsigned int pPreprocessing)
Exports the given scene to a chosen file format and writes the result file(s) to disk. More...
ASSIMP_API aiReturn | aiExportSceneEx (const C_STRUCT aiScene *pScene, const char *pFormatId, const char *pFileName, C_STRUCT aiFileIO *pIO, unsigned int pPreprocessing)
Exports the given scene to a chosen file format using custom IO logic supplied by you. More...
ASSIMP_API const C_STRUCT aiExportDataBlob * | aiExportSceneToBlob (const C_STRUCT aiScene *pScene, const char *pFormatId, unsigned int pPreprocessing)
Exports the given scene to a chosen file format. More...
ASSIMP_API void | aiFreeScene (const C_STRUCT aiScene *pIn)
Frees a scene copy created using aiCopyScene() More...
ASSIMP_API size_t | aiGetExportFormatCount (void)
Returns the number of export file formats available in the current Assimp build. More...
ASSIMP_API const C_STRUCT aiExportFormatDesc * | aiGetExportFormatDescription (size_t pIndex)
Returns a description of the nth export file format. More...
ASSIMP_API void | aiReleaseExportBlob (const C_STRUCT aiExportDataBlob *pData)
Releases the memory associated with the given exported data. More...
ASSIMP_API void | aiReleaseExportFormatDescription (const C_STRUCT aiExportFormatDesc *desc)
Release a description of the nth export file format. More...

Detailed Description

Defines the C-API for the Assimp export interface.

Macro Definition Documentation

◆ AI_EXPORT_H_INC

#define AI_EXPORT_H_INC

Function Documentation

◆ aiCopyScene()

ASSIMP_API void aiCopyScene | ( | const C_STRUCT aiScene * | pIn,
 |  | C_STRUCT aiScene ** | pOut
 | ) |  |

Create a modifiable copy of a scene.

This is useful to import files via Assimp, change their topology and export them again. Since the scene returned by the various importer functions is const, a modifiable copy is needed.

Parameters
pIn | Valid scene to be copied
pOut | Receives a modifyable copy of the scene. Use aiFreeScene() to delete it again.

◆ aiExportScene()

ASSIMP_API aiReturn aiExportScene | ( | const C_STRUCT aiScene * | pScene,
 |  | const char * | pFormatId,
 |  | const char * | pFileName,
 |  | unsigned int | pPreprocessing
 | ) |  |

Exports the given scene to a chosen file format and writes the result file(s) to disk.

Parameters
pScene | The scene to export. Stays in possession of the caller, is not changed by the function. The scene is expected to conform to Assimp's Importer output format as specified in the Data Structures Page . In short, this means the model data should use a right-handed coordinate systems, face winding should be counter-clockwise and the UV coordinate origin is assumed to be in the upper left. If your input data uses different conventions, have a look at the last parameter.
pFormatId | ID string to specify to which format you want to export to. Use aiGetExportFormatCount() / aiGetExportFormatDescription() to learn which export formats are available.
pFileName | Output file to write
pPreprocessing | Accepts any choice of the aiPostProcessSteps enumerated flags, but in reality only a subset of them makes sense here. Specifying 'preprocessing' flags is useful if the input scene does not conform to Assimp's default conventions as specified in the Data Structures Page . In short, this means the geometry data should use a right-handed coordinate systems, face winding should be counter-clockwise and the UV coordinate origin is assumed to be in the upper left. The aiProcess_MakeLeftHanded, aiProcess_FlipUVs and aiProcess_FlipWindingOrder flags are used in the import side to allow users to have those defaults automatically adapted to their conventions. Specifying those flags for exporting has the opposite effect, respectively. Some other of the aiPostProcessSteps enumerated values may be useful as well, but you'll need to try out what their effect on the exported file is. Many formats impose their own restrictions on the structure of the geometry stored therein, so some preprocessing may have little or no effect at all, or may be redundant as exporters would apply them anyhow. A good example is triangulation - whilst you can enforce it by specifying the aiProcess_Triangulate flag, most export formats support only triangulate data so they would run the step anyway.

If assimp detects that the input scene was directly taken from the importer side of the library (i.e. not copied using aiCopyScene and potentially modified afterwards), any post-processing steps already applied to the scene will not be applied again, unless they show non-idempotent behavior (aiProcess_MakeLeftHanded, aiProcess_FlipUVs and aiProcess_FlipWindingOrder).

Returns
a status code indicating the result of the export
Note
Use aiCopyScene() to get a modifiable copy of a previously imported scene.

◆ aiExportSceneEx()

ASSIMP_API aiReturn aiExportSceneEx | ( | const C_STRUCT aiScene * | pScene,
 |  | const char * | pFormatId,
 |  | const char * | pFileName,
 |  | C_STRUCT aiFileIO * | pIO,
 |  | unsigned int | pPreprocessing
 | ) |  |

Exports the given scene to a chosen file format using custom IO logic supplied by you.

Parameters
pScene | The scene to export. Stays in possession of the caller, is not changed by the function.
pFormatId | ID string to specify to which format you want to export to. Use aiGetExportFormatCount() / aiGetExportFormatDescription() to learn which export formats are available.
pFileName | Output file to write
pIO | custom IO implementation to be used. Use this if you use your own storage methods. If none is supplied, a default implementation using standard file IO is used. Note that aiExportSceneToBlob is provided as convenience function to export to memory buffers.
pPreprocessing | Please see the documentation for aiExportScene
Returns
a status code indicating the result of the export
Note
Include <aiFileIO.h> for the definition of aiFileIO.
Use aiCopyScene() to get a modifiable copy of a previously imported scene.

◆ aiExportSceneToBlob()

ASSIMP_API const C_STRUCT aiExportDataBlob* aiExportSceneToBlob | ( | const C_STRUCT aiScene * | pScene,
 |  | const char * | pFormatId,
 |  | unsigned int | pPreprocessing
 | ) |  |

Exports the given scene to a chosen file format.

Returns the exported data as a binary blob which you can write into a file or something. When you're done with the data, use aiReleaseExportBlob() to free the resources associated with the export.

Parameters
pScene | The scene to export. Stays in possession of the caller, is not changed by the function.
pFormatId | ID string to specify to which format you want to export to. Use aiGetExportFormatCount() / aiGetExportFormatDescription() to learn which export formats are available.
pPreprocessing | Please see the documentation for aiExportScene
Returns
the exported data or NULL in case of error

◆ aiFreeScene()

ASSIMP_API void aiFreeScene ( const C_STRUCT aiScene * pIn )

Frees a scene copy created using aiCopyScene()

◆ aiGetExportFormatCount()

ASSIMP_API size_t aiGetExportFormatCount ( void )

Returns the number of export file formats available in the current Assimp build.

Use aiGetExportFormatDescription() to retrieve infos of a specific export format.

◆ aiGetExportFormatDescription()

ASSIMP_API const C_STRUCT aiExportFormatDesc* aiGetExportFormatDescription ( size_t pIndex )

Returns a description of the nth export file format.

Use aiGetExportFormatCount() to learn how many export formats are supported. The description must be released by calling aiReleaseExportFormatDescription afterwards.

Parameters
pIndex Index of the export format to retrieve information for. Valid range is 0 to aiGetExportFormatCount()
Returns
A description of that specific export format. NULL if pIndex is out of range.

◆ aiReleaseExportBlob()

ASSIMP_API void aiReleaseExportBlob ( const C_STRUCT aiExportDataBlob * pData )

Releases the memory associated with the given exported data.

Use this function to free a data blob returned by aiExportScene().

Parameters
pData the data blob returned by aiExportSceneToBlob

◆ aiReleaseExportFormatDescription()

ASSIMP_API void aiReleaseExportFormatDescription ( const C_STRUCT aiExportFormatDesc * desc )

Release a description of the nth export file format.

Must be returned by aiGetExportFormatDescription

Parameters
desc Pointer to the description
Generated on Mon Dec 14 2020 19:31:08 for Assimp by doxygen 1.8.13


Assimp: cfileio.h File Reference

  • include
  • assimp
Classes | Macros | Typedefs
cfileio.h File Reference

Defines generic C routines to access memory-mapped files. More...

Classes

struct | aiFile
C-API: File callbacks. More...
struct | aiFileIO
C-API: File system callbacks. More...

Macros

#define AI_FILEIO_H_INC

Typedefs

typedef void(* | aiFileCloseProc) (C_STRUCT aiFileIO *, C_STRUCT aiFile *)
typedef void(* | aiFileFlushProc) (C_STRUCT aiFile *)
typedef C_STRUCT aiFile *(* | aiFileOpenProc) (C_STRUCT aiFileIO *, const char *, const char *)
typedef size_t(* | aiFileReadProc) (C_STRUCT aiFile *, char *, size_t, size_t)
typedef C_ENUM aiReturn(* | aiFileSeek) (C_STRUCT aiFile *, size_t, C_ENUM aiOrigin)
typedef size_t(* | aiFileTellProc) (C_STRUCT aiFile *)
typedef size_t(* | aiFileWriteProc) (C_STRUCT aiFile *, const char *, size_t, size_t)
typedef char * | aiUserData

Detailed Description

Defines generic C routines to access memory-mapped files.

Macro Definition Documentation

◆ AI_FILEIO_H_INC

#define AI_FILEIO_H_INC

Typedef Documentation

◆ aiFileCloseProc

typedef void(* aiFileCloseProc) (C_STRUCT aiFileIO *, C_STRUCT aiFile *)

◆ aiFileFlushProc

typedef void(* aiFileFlushProc) (C_STRUCT aiFile *)

◆ aiFileOpenProc

typedef C_STRUCT aiFile*(* aiFileOpenProc) (C_STRUCT aiFileIO *, const char *, const char *)

◆ aiFileReadProc

typedef size_t(* aiFileReadProc) (C_STRUCT aiFile *, char *, size_t, size_t)

◆ aiFileSeek

typedef C_ENUM aiReturn(* aiFileSeek) (C_STRUCT aiFile *, size_t, C_ENUM aiOrigin)

◆ aiFileTellProc

typedef size_t(* aiFileTellProc) (C_STRUCT aiFile *)

◆ aiFileWriteProc

typedef size_t(* aiFileWriteProc) (C_STRUCT aiFile *, const char *, size_t, size_t)

◆ aiUserData

typedef char* aiUserData
Generated on Mon Dec 14 2020 19:31:08 for Assimp by doxygen 1.8.13


Assimp: cimport.h File Reference

  • include
  • assimp
Classes | Macros | Typedefs | Functions
cimport.h File Reference

Defines the C-API to the Open Asset Import Library. More...

Classes

struct | aiLogStream
C-API: Represents a log stream. More...
struct | aiPropertyStore
C-API: Represents an opaque set of settings to be used during importing. More...

Macros

#define | AI_ASSIMP_H_INC
#define | AI_FALSE 0
#define | AI_TRUE 1

Typedefs

typedef int | aiBool
Our own C boolean type. More...
typedef void(* | aiLogStreamCallback) (const char *, char *)

Functions

ASSIMP_API const C_STRUCT aiScene * | aiApplyPostProcessing (const C_STRUCT aiScene *pScene, unsigned int pFlags)
Apply post-processing to an already-imported scene. More...
ASSIMP_API void | aiAttachLogStream (const C_STRUCT aiLogStream *stream)
Attach a custom log stream to the libraries' logging system. More...
ASSIMP_API C_STRUCT aiPropertyStore * | aiCreatePropertyStore (void)
Create an empty property store. More...
ASSIMP_API void | aiCreateQuaternionFromMatrix (C_STRUCT aiQuaternion *quat, const C_STRUCT aiMatrix3x3 *mat)
Construct a quaternion from a 3x3 rotation matrix. More...
ASSIMP_API void | aiDecomposeMatrix (const C_STRUCT aiMatrix4x4 *mat, C_STRUCT aiVector3D *scaling, C_STRUCT aiQuaternion *rotation, C_STRUCT aiVector3D *position)
Decompose a transformation matrix into its rotational, translational and scaling components. More...
ASSIMP_API void | aiDetachAllLogStreams (void)
Detach all active log streams from the libraries' logging system. More...
ASSIMP_API C_ENUM aiReturn | aiDetachLogStream (const C_STRUCT aiLogStream *stream)
Detach a custom log stream from the libraries' logging system. More...
ASSIMP_API void | aiEnableVerboseLogging (aiBool d)
Enable verbose logging. More...
ASSIMP_API const char * | aiGetErrorString (void)
Returns the error text of the last failed import process. More...
ASSIMP_API void | aiGetExtensionList (C_STRUCT aiString *szOut)
Get a list of all file extensions supported by ASSIMP. More...
ASSIMP_API size_t | aiGetImportFormatCount (void)
Returns the number of import file formats available in the current Assimp build. More...
ASSIMP_API const C_STRUCT aiImporterDesc * | aiGetImportFormatDescription (size_t pIndex)
Returns a description of the nth import file format. More...
ASSIMP_API void | aiGetMemoryRequirements (const C_STRUCT aiScene *pIn, C_STRUCT aiMemoryInfo *in)
Get the approximated storage required by an imported asset. More...
ASSIMP_API C_STRUCT aiLogStream | aiGetPredefinedLogStream (C_ENUM aiDefaultLogStream pStreams, const char *file)
Get one of the predefine log streams. More...
ASSIMP_API void | aiIdentityMatrix3 (C_STRUCT aiMatrix3x3 *mat)
Get a 3x3 identity matrix. More...
ASSIMP_API void | aiIdentityMatrix4 (C_STRUCT aiMatrix4x4 *mat)
Get a 4x4 identity matrix. More...
ASSIMP_API const C_STRUCT aiScene * | aiImportFile (const char *pFile, unsigned int pFlags)
Reads the given file and returns its content. More...
ASSIMP_API const C_STRUCT aiScene * | aiImportFileEx (const char *pFile, unsigned int pFlags, C_STRUCT aiFileIO *pFS)
Reads the given file using user-defined I/O functions and returns its content. More...
ASSIMP_API const C_STRUCT aiScene * | aiImportFileExWithProperties (const char *pFile, unsigned int pFlags, C_STRUCT aiFileIO *pFS, const C_STRUCT aiPropertyStore *pProps)
Same as aiImportFileEx, but adds an extra parameter containing importer settings. More...
ASSIMP_API const C_STRUCT aiScene * | aiImportFileFromMemory (const char *pBuffer, unsigned int pLength, unsigned int pFlags, const char *pHint)
Reads the given file from a given memory buffer,. More...
ASSIMP_API const C_STRUCT aiScene * | aiImportFileFromMemoryWithProperties (const char *pBuffer, unsigned int pLength, unsigned int pFlags, const char *pHint, const C_STRUCT aiPropertyStore *pProps)
Same as aiImportFileFromMemory, but adds an extra parameter containing importer settings. More...
ASSIMP_API aiBool | aiIsExtensionSupported (const char *szExtension)
Returns whether a given file extension is supported by ASSIMP. More...
ASSIMP_API int | aiMatrix3AreEqual (const C_STRUCT aiMatrix3x3 *a, const C_STRUCT aiMatrix3x3 *b)
Check if 3x3 matrices are equal. More...
ASSIMP_API int | aiMatrix3AreEqualEpsilon (const C_STRUCT aiMatrix3x3 *a, const C_STRUCT aiMatrix3x3 *b, const float epsilon)
Check if 3x3 matrices are equal. More...
ASSIMP_API float | aiMatrix3Determinant (const C_STRUCT aiMatrix3x3 *mat)
Get the determinant of a 3x3 matrix. More...
ASSIMP_API void | aiMatrix3FromMatrix4 (C_STRUCT aiMatrix3x3 *dst, const C_STRUCT aiMatrix4x4 *mat)
Construct a 3x3 matrix from a 4x4 matrix. More...
ASSIMP_API void | aiMatrix3FromQuaternion (C_STRUCT aiMatrix3x3 *mat, const C_STRUCT aiQuaternion *q)
Construct a 3x3 matrix from a quaternion. More...
ASSIMP_API void | aiMatrix3FromRotationAroundAxis (C_STRUCT aiMatrix3x3 *mat, const C_STRUCT aiVector3D *axis, const float angle)
Returns a 3x3 rotation matrix for a rotation around an arbitrary axis. More...
ASSIMP_API void | aiMatrix3FromTo (C_STRUCT aiMatrix3x3 *mat, const C_STRUCT aiVector3D *from, const C_STRUCT aiVector3D *to)
Create a 3x3 matrix that rotates one vector to another vector. More...
ASSIMP_API void | aiMatrix3Inverse (C_STRUCT aiMatrix3x3 *mat)
Invert a 3x3 matrix. More...
ASSIMP_API void | aiMatrix3RotationZ (C_STRUCT aiMatrix3x3 *mat, const float angle)
Get a 3x3 rotation matrix around the Z axis. More...
ASSIMP_API void | aiMatrix3Translation (C_STRUCT aiMatrix3x3 *mat, const C_STRUCT aiVector2D *translation)
Get a 3x3 translation matrix. More...
ASSIMP_API void | aiMatrix4Add (C_STRUCT aiMatrix4x4 *dst, const C_STRUCT aiMatrix4x4 *src)
Add 4x4 matrices. More...
ASSIMP_API int | aiMatrix4AreEqual (const C_STRUCT aiMatrix4x4 *a, const C_STRUCT aiMatrix4x4 *b)
Check if 4x4 matrices are equal. More...
ASSIMP_API int | aiMatrix4AreEqualEpsilon (const C_STRUCT aiMatrix4x4 *a, const C_STRUCT aiMatrix4x4 *b, const float epsilon)
Check if 4x4 matrices are equal. More...
ASSIMP_API void | aiMatrix4DecomposeIntoScalingAxisAnglePosition (const C_STRUCT aiMatrix4x4 *mat, C_STRUCT aiVector3D *scaling, C_STRUCT aiVector3D *axis, ai_real *angle, C_STRUCT aiVector3D *position)
Decompose a transformation matrix into its scaling, rotational split into an axis and rotational angle, and it's translational components. More...
ASSIMP_API void | aiMatrix4DecomposeIntoScalingEulerAnglesPosition (const C_STRUCT aiMatrix4x4 *mat, C_STRUCT aiVector3D *scaling, C_STRUCT aiVector3D *rotation, C_STRUCT aiVector3D *position)
Decompose a transformation matrix into its scaling, rotational as euler angles, and translational components. More...
ASSIMP_API void | aiMatrix4DecomposeNoScaling (const C_STRUCT aiMatrix4x4 *mat, C_STRUCT aiQuaternion *rotation, C_STRUCT aiVector3D *position)
Decompose a transformation matrix into its rotational and translational components. More...
ASSIMP_API float | aiMatrix4Determinant (const C_STRUCT aiMatrix4x4 *mat)
Get the determinant of a 4x4 matrix. More...
ASSIMP_API void | aiMatrix4FromEulerAngles (C_STRUCT aiMatrix4x4 *mat, float x, float y, float z)
Creates a 4x4 matrix from a set of euler angles. More...
ASSIMP_API void | aiMatrix4FromMatrix3 (C_STRUCT aiMatrix4x4 *dst, const C_STRUCT aiMatrix3x3 *mat)
Construct a 4x4 matrix from a 3x3 matrix. More...
ASSIMP_API void | aiMatrix4FromRotationAroundAxis (C_STRUCT aiMatrix4x4 *mat, const C_STRUCT aiVector3D *axis, const float angle)
Returns a 4x4 rotation matrix for a rotation around an arbitrary axis. More...
ASSIMP_API void | aiMatrix4FromScalingQuaternionPosition (C_STRUCT aiMatrix4x4 *mat, const C_STRUCT aiVector3D *scaling, const C_STRUCT aiQuaternion *rotation, const C_STRUCT aiVector3D *position)
Construct a 4x4 matrix from scaling, rotation and position. More...
ASSIMP_API void | aiMatrix4FromTo (C_STRUCT aiMatrix4x4 *mat, const C_STRUCT aiVector3D *from, const C_STRUCT aiVector3D *to)
Create a 4x4 matrix that rotates one vector to another vector. More...
ASSIMP_API void | aiMatrix4Inverse (C_STRUCT aiMatrix4x4 *mat)
Invert a 4x4 matrix. More...
ASSIMP_API int | aiMatrix4IsIdentity (const C_STRUCT aiMatrix4x4 *mat)
Returns true of the matrix is the identity matrix. More...
ASSIMP_API void | aiMatrix4RotationX (C_STRUCT aiMatrix4x4 *mat, const float angle)
Get a 4x4 rotation matrix around the X axis. More...
ASSIMP_API void | aiMatrix4RotationY (C_STRUCT aiMatrix4x4 *mat, const float angle)
Get a 4x4 rotation matrix around the Y axis. More...
ASSIMP_API void | aiMatrix4RotationZ (C_STRUCT aiMatrix4x4 *mat, const float angle)
Get a 4x4 rotation matrix around the Z axis. More...
ASSIMP_API void | aiMatrix4Scaling (C_STRUCT aiMatrix4x4 *mat, const C_STRUCT aiVector3D *scaling)
Get a 4x4 scaling matrix. More...
ASSIMP_API void | aiMatrix4Translation (C_STRUCT aiMatrix4x4 *mat, const C_STRUCT aiVector3D *translation)
Get a 4x4 translation matrix. More...
ASSIMP_API void | aiMultiplyMatrix3 (C_STRUCT aiMatrix3x3 *dst, const C_STRUCT aiMatrix3x3 *src)
Multiply two 3x3 matrices. More...
ASSIMP_API void | aiMultiplyMatrix4 (C_STRUCT aiMatrix4x4 *dst, const C_STRUCT aiMatrix4x4 *src)
Multiply two 4x4 matrices. More...
ASSIMP_API int | aiQuaternionAreEqual (const C_STRUCT aiQuaternion *a, const C_STRUCT aiQuaternion *b)
Check if quaternions are equal. More...
ASSIMP_API int | aiQuaternionAreEqualEpsilon (const C_STRUCT aiQuaternion *a, const C_STRUCT aiQuaternion *b, const float epsilon)
Check if quaternions are equal using epsilon. More...
ASSIMP_API void | aiQuaternionConjugate (C_STRUCT aiQuaternion *q)
Compute quaternion conjugate. More...
ASSIMP_API void | aiQuaternionFromAxisAngle (C_STRUCT aiQuaternion *q, const C_STRUCT aiVector3D *axis, const float angle)
Create a Quaternion from an axis angle pair. More...
ASSIMP_API void | aiQuaternionFromEulerAngles (C_STRUCT aiQuaternion *q, float x, float y, float z)
Create a Quaternion from euler angles. More...
ASSIMP_API void | aiQuaternionFromNormalizedQuaternion (C_STRUCT aiQuaternion *q, const C_STRUCT aiVector3D *normalized)
Create a Quaternion from a normalized quaternion stored in a 3D vector. More...
ASSIMP_API void | aiQuaternionInterpolate (C_STRUCT aiQuaternion *dst, const C_STRUCT aiQuaternion *start, const C_STRUCT aiQuaternion *end, const float factor)
Performs a spherical interpolation between two quaternions. More...
ASSIMP_API void | aiQuaternionMultiply (C_STRUCT aiQuaternion *dst, const C_STRUCT aiQuaternion *q)
Multiply quaternions. More...
ASSIMP_API void | aiQuaternionNormalize (C_STRUCT aiQuaternion *q)
Normalize a quaternion. More...
ASSIMP_API void | aiReleaseImport (const C_STRUCT aiScene *pScene)
Releases all resources associated with the given import process. More...
ASSIMP_API void | aiReleasePropertyStore (C_STRUCT aiPropertyStore *p)
Delete a property store. More...
ASSIMP_API void | aiSetImportPropertyFloat (C_STRUCT aiPropertyStore *store, const char *szName, ai_real value)
Set a floating-point property. More...
ASSIMP_API void | aiSetImportPropertyInteger (C_STRUCT aiPropertyStore *store, const char *szName, int value)
Set an integer property. More...
ASSIMP_API void | aiSetImportPropertyMatrix (C_STRUCT aiPropertyStore *store, const char *szName, const C_STRUCT aiMatrix4x4 *mat)
Set a matrix property. More...
ASSIMP_API void | aiSetImportPropertyString (C_STRUCT aiPropertyStore *store, const char *szName, const C_STRUCT aiString *st)
Set a string property. More...
ASSIMP_API void | aiTransformVecByMatrix3 (C_STRUCT aiVector3D *vec, const C_STRUCT aiMatrix3x3 *mat)
Transform a vector by a 3x3 matrix. More...
ASSIMP_API void | aiTransformVecByMatrix4 (C_STRUCT aiVector3D *vec, const C_STRUCT aiMatrix4x4 *mat)
Transform a vector by a 4x4 matrix. More...
ASSIMP_API void | aiTransposeMatrix3 (C_STRUCT aiMatrix3x3 *mat)
Transpose a 3x3 matrix. More...
ASSIMP_API void | aiTransposeMatrix4 (C_STRUCT aiMatrix4x4 *mat)
Transpose a 4x4 matrix. More...
ASSIMP_API void | aiVector2Add (C_STRUCT aiVector2D *dst, const C_STRUCT aiVector2D *src)
Add 2D vectors. More...
ASSIMP_API int | aiVector2AreEqual (const C_STRUCT aiVector2D *a, const C_STRUCT aiVector2D *b)
Check if 2D vectors are equal. More...
ASSIMP_API int | aiVector2AreEqualEpsilon (const C_STRUCT aiVector2D *a, const C_STRUCT aiVector2D *b, const float epsilon)
Check if 2D vectors are equal using epsilon. More...
ASSIMP_API void | aiVector2DivideByScalar (C_STRUCT aiVector2D *dst, const float s)
Divide a 2D vector by a scalar. More...
ASSIMP_API void | aiVector2DivideByVector (C_STRUCT aiVector2D *dst, C_STRUCT aiVector2D *v)
Divide each component of a 2D vector by the components of another vector. More...
ASSIMP_API float | aiVector2DotProduct (const C_STRUCT aiVector2D *a, const C_STRUCT aiVector2D *b)
Get the dot product of 2D vectors. More...
ASSIMP_API float | aiVector2Length (const C_STRUCT aiVector2D *v)
Get the length of a 2D vector. More...
ASSIMP_API void | aiVector2Negate (C_STRUCT aiVector2D *dst)
Negate a 2D vector. More...
ASSIMP_API void | aiVector2Normalize (C_STRUCT aiVector2D *v)
Normalize a 2D vector. More...
ASSIMP_API void | aiVector2Scale (C_STRUCT aiVector2D *dst, const float s)
Multiply a 2D vector by a scalar. More...
ASSIMP_API float | aiVector2SquareLength (const C_STRUCT aiVector2D *v)
Get the squared length of a 2D vector. More...
ASSIMP_API void | aiVector2Subtract (C_STRUCT aiVector2D *dst, const C_STRUCT aiVector2D *src)
Subtract 2D vectors. More...
ASSIMP_API void | aiVector2SymMul (C_STRUCT aiVector2D *dst, const C_STRUCT aiVector2D *other)
Multiply each component of a 2D vector with the components of another vector. More...
ASSIMP_API void | aiVector3Add (C_STRUCT aiVector3D *dst, const C_STRUCT aiVector3D *src)
Add 3D vectors. More...
ASSIMP_API int | aiVector3AreEqual (const C_STRUCT aiVector3D *a, const C_STRUCT aiVector3D *b)
Check if 3D vectors are equal. More...
ASSIMP_API int | aiVector3AreEqualEpsilon (const C_STRUCT aiVector3D *a, const C_STRUCT aiVector3D *b, const float epsilon)
Check if 3D vectors are equal using epsilon. More...
ASSIMP_API void | aiVector3CrossProduct (C_STRUCT aiVector3D *dst, const C_STRUCT aiVector3D *a, const C_STRUCT aiVector3D *b)
Get cross product of 3D vectors. More...
ASSIMP_API void | aiVector3DivideByScalar (C_STRUCT aiVector3D *dst, const float s)
Divide a 3D vector by a scalar. More...
ASSIMP_API void | aiVector3DivideByVector (C_STRUCT aiVector3D *dst, C_STRUCT aiVector3D *v)
Divide each component of a 3D vector by the components of another vector. More...
ASSIMP_API float | aiVector3DotProduct (const C_STRUCT aiVector3D *a, const C_STRUCT aiVector3D *b)
Get the dot product of 3D vectors. More...
ASSIMP_API float | aiVector3Length (const C_STRUCT aiVector3D *v)
Get the length of a 3D vector. More...
ASSIMP_API int | aiVector3LessThan (const C_STRUCT aiVector3D *a, const C_STRUCT aiVector3D *b)
Check if vector a is less than vector b. More...
ASSIMP_API void | aiVector3Negate (C_STRUCT aiVector3D *dst)
Negate a 3D vector. More...
ASSIMP_API void | aiVector3Normalize (C_STRUCT aiVector3D *v)
Normalize a 3D vector. More...
ASSIMP_API void | aiVector3NormalizeSafe (C_STRUCT aiVector3D *v)
Check for division by zero and normalize a 3D vector. More...
ASSIMP_API void | aiVector3RotateByQuaternion (C_STRUCT aiVector3D *v, const C_STRUCT aiQuaternion *q)
Rotate a 3D vector by a quaternion. More...
ASSIMP_API void | aiVector3Scale (C_STRUCT aiVector3D *dst, const float s)
Multiply a 3D vector by a scalar. More...
ASSIMP_API float | aiVector3SquareLength (const C_STRUCT aiVector3D *v)
Get the squared length of a 3D vector. More...
ASSIMP_API void | aiVector3Subtract (C_STRUCT aiVector3D *dst, const C_STRUCT aiVector3D *src)
Subtract 3D vectors. More...
ASSIMP_API void | aiVector3SymMul (C_STRUCT aiVector3D *dst, const C_STRUCT aiVector3D *other)
Multiply each component of a 3D vector with the components of another vector. More...

Detailed Description

Defines the C-API to the Open Asset Import Library.

Macro Definition Documentation

◆ AI_ASSIMP_H_INC

#define AI_ASSIMP_H_INC

◆ AI_FALSE

#define AI_FALSE 0

◆ AI_TRUE

#define AI_TRUE 1

Typedef Documentation

◆ aiBool

typedef int aiBool

Our own C boolean type.

◆ aiLogStreamCallback

typedef void(* aiLogStreamCallback) (const char *, char *)

Function Documentation

◆ aiApplyPostProcessing()

ASSIMP_API const C_STRUCT aiScene* aiApplyPostProcessing | ( | const C_STRUCT aiScene * | pScene,
 |  | unsigned int | pFlags
 | ) |  |

Apply post-processing to an already-imported scene.

This is strictly equivalent to calling aiImportFile()/aiImportFileEx with the same flags. However, you can use this separate function to inspect the imported scene first to fine-tune your post-processing setup.

Parameters
pScene | Scene to work on.
pFlags | Provide a bitwise combination of the aiPostProcessSteps flags.
Returns
A pointer to the post-processed data. Post processing is done in-place, meaning this is still the same aiScene which you passed for pScene. However, if post-processing failed, the scene could now be NULL. That's quite a rare case, post processing steps are not really designed to 'fail'. To be exact, the aiProcess_ValidateDataStructure flag is currently the only post processing step which can actually cause the scene to be reset to NULL.

◆ aiAttachLogStream()

ASSIMP_API void aiAttachLogStream ( const C_STRUCT aiLogStream * stream )

Attach a custom log stream to the libraries' logging system.

Attaching a log stream can slightly reduce Assimp's overall import performance. Multiple log-streams can be attached.

Parameters
stream Describes the new log stream.
Note
To ensure proper destruction of the logging system, you need to manually call aiDetachLogStream() on every single log stream you attach. Alternatively (for the lazy folks) aiDetachAllLogStreams is provided.

◆ aiCreatePropertyStore()

ASSIMP_API C_STRUCT aiPropertyStore* aiCreatePropertyStore ( void )

Create an empty property store.

Property stores are used to collect import settings.

Returns
New property store. Property stores need to be manually destroyed using the aiReleasePropertyStore API function.

◆ aiCreateQuaternionFromMatrix()

ASSIMP_API void aiCreateQuaternionFromMatrix | ( | C_STRUCT aiQuaternion * | quat,
 |  | const C_STRUCT aiMatrix3x3 * | mat
 | ) |  |

Construct a quaternion from a 3x3 rotation matrix.

Parameters
quat | Receives the output quaternion.
mat | Matrix to 'quaternionize'.
See also
aiQuaternion(const aiMatrix3x3& pRotMatrix)

◆ aiDecomposeMatrix()

ASSIMP_API void aiDecomposeMatrix | ( | const C_STRUCT aiMatrix4x4 * | mat,
 |  | C_STRUCT aiVector3D * | scaling,
 |  | C_STRUCT aiQuaternion * | rotation,
 |  | C_STRUCT aiVector3D * | position
 | ) |  |

Decompose a transformation matrix into its rotational, translational and scaling components.

Parameters
mat | Matrix to decompose
scaling | Receives the scaling component
rotation | Receives the rotational component
position | Receives the translational component.
See also
aiMatrix4x4::Decompose (aiVector3D&, aiQuaternion&, aiVector3D&) const;

◆ aiDetachAllLogStreams()

ASSIMP_API void aiDetachAllLogStreams ( void )

Detach all active log streams from the libraries' logging system.

This ensures that the logging system is terminated properly and all resources allocated by it are actually freed. If you attached a stream, don't forget to detach it again.

See also
aiAttachLogStream
aiDetachLogStream

◆ aiDetachLogStream()

ASSIMP_API C_ENUM aiReturn aiDetachLogStream ( const C_STRUCT aiLogStream * stream )

Detach a custom log stream from the libraries' logging system.

This is the counterpart of aiAttachLogStream. If you attached a stream, don't forget to detach it again.

Parameters
stream The log stream to be detached.
Returns
AI_SUCCESS if the log stream has been detached successfully.
See also
aiDetachAllLogStreams

◆ aiEnableVerboseLogging()

ASSIMP_API void aiEnableVerboseLogging ( aiBool d )

Enable verbose logging.

Verbose logging includes debug-related stuff and detailed import statistics. This can have severe impact on import performance and memory consumption. However, it might be useful to find out why a file didn't read correctly.

Parameters
d AI_TRUE or AI_FALSE, your decision.

◆ aiGetErrorString()

ASSIMP_API const char* aiGetErrorString ( void )

Returns the error text of the last failed import process.

Returns
A textual description of the error that occurred at the last import process. NULL if there was no error. There can't be an error if you got a non-NULL aiScene from aiImportFile/aiImportFileEx/aiApplyPostProcessing.

◆ aiGetExtensionList()

ASSIMP_API void aiGetExtensionList ( C_STRUCT aiString * szOut )

Get a list of all file extensions supported by ASSIMP.

If a file extension is contained in the list this does, of course, not mean that ASSIMP is able to load all files with this extension.

Parameters
szOut String to receive the extension list. Format of the list: "*.3ds;*.obj;*.dae". NULL is not a valid parameter.

◆ aiGetImportFormatCount()

ASSIMP_API size_t aiGetImportFormatCount ( void )

Returns the number of import file formats available in the current Assimp build.

Use aiGetImportFormatDescription() to retrieve infos of a specific import format.

◆ aiGetImportFormatDescription()

ASSIMP_API const C_STRUCT aiImporterDesc* aiGetImportFormatDescription ( size_t pIndex )

Returns a description of the nth import file format.

Use aiGetImportFormatCount() to learn how many import formats are supported.

Parameters
pIndex Index of the import format to retrieve information for. Valid range is 0 to aiGetImportFormatCount()
Returns
A description of that specific import format. NULL if pIndex is out of range.

◆ aiGetMemoryRequirements()

ASSIMP_API void aiGetMemoryRequirements | ( | const C_STRUCT aiScene * | pIn,
 |  | C_STRUCT aiMemoryInfo * | in
 | ) |  |

Get the approximated storage required by an imported asset.

Parameters
pIn | Input asset.
in | Data structure to be filled.

◆ aiGetPredefinedLogStream()

ASSIMP_API C_STRUCT aiLogStream aiGetPredefinedLogStream | ( | C_ENUM aiDefaultLogStream | pStreams,
 |  | const char * | file
 | ) |  |

Get one of the predefine log streams.

This is the quick'n'easy solution to access Assimp's log system. Attaching a log stream can slightly reduce Assimp's overall import performance.

Usage is rather simple (this will stream the log to a file, named log.txt, and the stdout stream of the process:

struct aiLogStream c;
c = aiGetPredefinedLogStream(aiDefaultLogStream_FILE,"log.txt");
aiAttachLogStream(&c);
c = aiGetPredefinedLogStream(aiDefaultLogStream_STDOUT,NULL);
aiAttachLogStream(&c);
Parameters
pStreams | One of the aiDefaultLogStream enumerated values.
file | Solely for the aiDefaultLogStream_FILE flag: specifies the file to write to. Pass NULL for all other flags.
Returns
The log stream. callback is set to NULL if something went wrong.

◆ aiIdentityMatrix3()

ASSIMP_API void aiIdentityMatrix3 ( C_STRUCT aiMatrix3x3 * mat )

Get a 3x3 identity matrix.

Parameters
mat Matrix to receive its personal identity

◆ aiIdentityMatrix4()

ASSIMP_API void aiIdentityMatrix4 ( C_STRUCT aiMatrix4x4 * mat )

Get a 4x4 identity matrix.

Parameters
mat Matrix to receive its personal identity

◆ aiImportFile()

ASSIMP_API const C_STRUCT aiScene* aiImportFile | ( | const char * | pFile,
 |  | unsigned int | pFlags
 | ) |  |

Reads the given file and returns its content.

If the call succeeds, the imported data is returned in an aiScene structure. The data is intended to be read-only, it stays property of the ASSIMP library and will be stable until aiReleaseImport() is called. After you're done with it, call aiReleaseImport() to free the resources associated with this file. If the import fails, NULL is returned instead. Call aiGetErrorString() to retrieve a human-readable error text.

Parameters
pFile | Path and filename of the file to be imported, expected to be a null-terminated c-string. NULL is not a valid value.
pFlags | Optional post processing steps to be executed after a successful import. Provide a bitwise combination of the aiPostProcessSteps flags.
Returns
Pointer to the imported data or NULL if the import failed.

◆ aiImportFileEx()

ASSIMP_API const C_STRUCT aiScene* aiImportFileEx | ( | const char * | pFile,
 |  | unsigned int | pFlags,
 |  | C_STRUCT aiFileIO * | pFS
 | ) |  |

Reads the given file using user-defined I/O functions and returns its content.

If the call succeeds, the imported data is returned in an aiScene structure. The data is intended to be read-only, it stays property of the ASSIMP library and will be stable until aiReleaseImport() is called. After you're done with it, call aiReleaseImport() to free the resources associated with this file. If the import fails, NULL is returned instead. Call aiGetErrorString() to retrieve a human-readable error text.

Parameters
pFile | Path and filename of the file to be imported, expected to be a null-terminated c-string. NULL is not a valid value.
pFlags | Optional post processing steps to be executed after a successful import. Provide a bitwise combination of the aiPostProcessSteps flags.
pFS | aiFileIO structure. Will be used to open the model file itself and any other files the loader needs to open. Pass NULL to use the default implementation.
Returns
Pointer to the imported data or NULL if the import failed.
Note
Include <aiFileIO.h> for the definition of aiFileIO.

◆ aiImportFileExWithProperties()

ASSIMP_API const C_STRUCT aiScene* aiImportFileExWithProperties | ( | const char * | pFile,
 |  | unsigned int | pFlags,
 |  | C_STRUCT aiFileIO * | pFS,
 |  | const C_STRUCT aiPropertyStore * | pProps
 | ) |  |

Same as aiImportFileEx, but adds an extra parameter containing importer settings.

Parameters
pFile | Path and filename of the file to be imported, expected to be a null-terminated c-string. NULL is not a valid value.
pFlags | Optional post processing steps to be executed after a successful import. Provide a bitwise combination of the aiPostProcessSteps flags.
pFS | aiFileIO structure. Will be used to open the model file itself and any other files the loader needs to open. Pass NULL to use the default implementation.
pProps | aiPropertyStore instance containing import settings.
Returns
Pointer to the imported data or NULL if the import failed.
Note
Include <aiFileIO.h> for the definition of aiFileIO.
See also
aiImportFileEx

◆ aiImportFileFromMemory()

ASSIMP_API const C_STRUCT aiScene* aiImportFileFromMemory | ( | const char * | pBuffer,
 |  | unsigned int | pLength,
 |  | unsigned int | pFlags,
 |  | const char * | pHint
 | ) |  |

Reads the given file from a given memory buffer,.

If the call succeeds, the contents of the file are returned as a pointer to an aiScene object. The returned data is intended to be read-only, the importer keeps ownership of the data and will destroy it upon destruction. If the import fails, NULL is returned. A human-readable error description can be retrieved by calling aiGetErrorString().

Parameters
pBuffer | Pointer to the file data
pLength | Length of pBuffer, in bytes
pFlags | Optional post processing steps to be executed after a successful import. Provide a bitwise combination of the aiPostProcessSteps flags. If you wish to inspect the imported scene first in order to fine-tune your post-processing setup, consider to use aiApplyPostProcessing().
pHint | An additional hint to the library. If this is a non empty string, the library looks for a loader to support the file extension specified by pHint and passes the file to the first matching loader. If this loader is unable to completely the request, the library continues and tries to determine the file format on its own, a task that may or may not be successful. Check the return value, and you'll know ...
Returns
A pointer to the imported data, NULL if the import failed.
Note
This is a straightforward way to decode models from memory buffers, but it doesn't handle model formats that spread their data across multiple files or even directories. Examples include OBJ or MD3, which outsource parts of their material info into external scripts. If you need full functionality, provide a custom IOSystem to make Assimp find these files and use the regular aiImportFileEx()/aiImportFileExWithProperties() API.

◆ aiImportFileFromMemoryWithProperties()

ASSIMP_API const C_STRUCT aiScene* aiImportFileFromMemoryWithProperties | ( | const char * | pBuffer,
 |  | unsigned int | pLength,
 |  | unsigned int | pFlags,
 |  | const char * | pHint,
 |  | const C_STRUCT aiPropertyStore * | pProps
 | ) |  |

Same as aiImportFileFromMemory, but adds an extra parameter containing importer settings.

Parameters
pBuffer | Pointer to the file data
pLength | Length of pBuffer, in bytes
pFlags | Optional post processing steps to be executed after a successful import. Provide a bitwise combination of the aiPostProcessSteps flags. If you wish to inspect the imported scene first in order to fine-tune your post-processing setup, consider to use aiApplyPostProcessing().
pHint | An additional hint to the library. If this is a non empty string, the library looks for a loader to support the file extension specified by pHint and passes the file to the first matching loader. If this loader is unable to completely the request, the library continues and tries to determine the file format on its own, a task that may or may not be successful. Check the return value, and you'll know ...
pProps | aiPropertyStore instance containing import settings.
Returns
A pointer to the imported data, NULL if the import failed.
Note
This is a straightforward way to decode models from memory buffers, but it doesn't handle model formats that spread their data across multiple files or even directories. Examples include OBJ or MD3, which outsource parts of their material info into external scripts. If you need full functionality, provide a custom IOSystem to make Assimp find these files and use the regular aiImportFileEx()/aiImportFileExWithProperties() API.
See also
aiImportFileFromMemory

◆ aiIsExtensionSupported()

ASSIMP_API aiBool aiIsExtensionSupported ( const char * szExtension )

Returns whether a given file extension is supported by ASSIMP.

Parameters
szExtension Extension for which the function queries support for. Must include a leading dot '.'. Example: ".3ds", ".md3"
Returns
AI_TRUE if the file extension is supported.

◆ aiMatrix3AreEqual()

ASSIMP_API int aiMatrix3AreEqual | ( | const C_STRUCT aiMatrix3x3 * | a,
 |  | const C_STRUCT aiMatrix3x3 * | b
 | ) |  |

Check if 3x3 matrices are equal.

Parameters
a | First matrix to compare
b | Second matrix to compare
Returns
1 if the matrices are equal
0 if the matrices are not equal

◆ aiMatrix3AreEqualEpsilon()

ASSIMP_API int aiMatrix3AreEqualEpsilon | ( | const C_STRUCT aiMatrix3x3 * | a,
 |  | const C_STRUCT aiMatrix3x3 * | b,
 |  | const float | epsilon
 | ) |  |

Check if 3x3 matrices are equal.

Parameters
a | First matrix to compare
b | Second matrix to compare
epsilon | Epsilon
Returns
1 if the matrices are equal
0 if the matrices are not equal

◆ aiMatrix3Determinant()

ASSIMP_API float aiMatrix3Determinant ( const C_STRUCT aiMatrix3x3 * mat )

Get the determinant of a 3x3 matrix.

Parameters
mat Matrix to get the determinant from

◆ aiMatrix3FromMatrix4()

ASSIMP_API void aiMatrix3FromMatrix4 | ( | C_STRUCT aiMatrix3x3 * | dst,
 |  | const C_STRUCT aiMatrix4x4 * | mat
 | ) |  |

Construct a 3x3 matrix from a 4x4 matrix.

Parameters
dst | Receives the output matrix
mat | The 4x4 matrix to use

◆ aiMatrix3FromQuaternion()

ASSIMP_API void aiMatrix3FromQuaternion | ( | C_STRUCT aiMatrix3x3 * | mat,
 |  | const C_STRUCT aiQuaternion * | q
 | ) |  |

Construct a 3x3 matrix from a quaternion.

Parameters
mat | Receives the output matrix
q | The quaternion matrix to use

◆ aiMatrix3FromRotationAroundAxis()

ASSIMP_API void aiMatrix3FromRotationAroundAxis | ( | C_STRUCT aiMatrix3x3 * | mat,
 |  | const C_STRUCT aiVector3D * | axis,
 |  | const float | angle
 | ) |  |

Returns a 3x3 rotation matrix for a rotation around an arbitrary axis.

Parameters
mat | Receives the output matrix
axis | Rotation axis, should be a normalized vector
angle | Rotation angle, in radians

◆ aiMatrix3FromTo()

ASSIMP_API void aiMatrix3FromTo | ( | C_STRUCT aiMatrix3x3 * | mat,
 |  | const C_STRUCT aiVector3D * | from,
 |  | const C_STRUCT aiVector3D * | to
 | ) |  |

Create a 3x3 matrix that rotates one vector to another vector.

Parameters
mat | Receives the output matrix
from | Vector to rotate from
to | Vector to rotate to

◆ aiMatrix3Inverse()

ASSIMP_API void aiMatrix3Inverse ( C_STRUCT aiMatrix3x3 * mat )

Invert a 3x3 matrix.

Parameters
mat Matrix to invert

◆ aiMatrix3RotationZ()

ASSIMP_API void aiMatrix3RotationZ | ( | C_STRUCT aiMatrix3x3 * | mat,
 |  | const float | angle
 | ) |  |

Get a 3x3 rotation matrix around the Z axis.

Parameters
mat | Receives the output matrix
angle | Rotation angle, in radians

◆ aiMatrix3Translation()

ASSIMP_API void aiMatrix3Translation | ( | C_STRUCT aiMatrix3x3 * | mat,
 |  | const C_STRUCT aiVector2D * | translation
 | ) |  |

Get a 3x3 translation matrix.

Parameters
mat | Receives the output matrix
translation | The translation vector

◆ aiMatrix4Add()

ASSIMP_API void aiMatrix4Add | ( | C_STRUCT aiMatrix4x4 * | dst,
 |  | const C_STRUCT aiMatrix4x4 * | src
 | ) |  |

Add 4x4 matrices.

Parameters
dst | First addend, receives result.
src | Matrix to be added to 'dst'.

◆ aiMatrix4AreEqual()

ASSIMP_API int aiMatrix4AreEqual | ( | const C_STRUCT aiMatrix4x4 * | a,
 |  | const C_STRUCT aiMatrix4x4 * | b
 | ) |  |

Check if 4x4 matrices are equal.

Parameters
a | First matrix to compare
b | Second matrix to compare
Returns
1 if the matrices are equal
0 if the matrices are not equal

◆ aiMatrix4AreEqualEpsilon()

ASSIMP_API int aiMatrix4AreEqualEpsilon | ( | const C_STRUCT aiMatrix4x4 * | a,
 |  | const C_STRUCT aiMatrix4x4 * | b,
 |  | const float | epsilon
 | ) |  |

Check if 4x4 matrices are equal.

Parameters
a | First matrix to compare
b | Second matrix to compare
epsilon | Epsilon
Returns
1 if the matrices are equal
0 if the matrices are not equal

◆ aiMatrix4DecomposeIntoScalingAxisAnglePosition()

ASSIMP_API void aiMatrix4DecomposeIntoScalingAxisAnglePosition | ( | const C_STRUCT aiMatrix4x4 * | mat,
 |  | C_STRUCT aiVector3D * | scaling,
 |  | C_STRUCT aiVector3D * | axis,
 |  | ai_real * | angle,
 |  | C_STRUCT aiVector3D * | position
 | ) |  |

Decompose a transformation matrix into its scaling, rotational split into an axis and rotational angle, and it's translational components.

Parameters
mat | Matrix to decompose
rotation | Receives the rotational component
axis | Receives the output rotation axis
angle | Receives the output rotation angle
position | Receives the output position for the x,y,z axes.

◆ aiMatrix4DecomposeIntoScalingEulerAnglesPosition()

ASSIMP_API void aiMatrix4DecomposeIntoScalingEulerAnglesPosition | ( | const C_STRUCT aiMatrix4x4 * | mat,
 |  | C_STRUCT aiVector3D * | scaling,
 |  | C_STRUCT aiVector3D * | rotation,
 |  | C_STRUCT aiVector3D * | position
 | ) |  |

Decompose a transformation matrix into its scaling, rotational as euler angles, and translational components.

Parameters
mat | Matrix to decompose
scaling | Receives the output scaling for the x,y,z axes
rotation | Receives the output rotation as a Euler angles
position | Receives the output position for the x,y,z axes

◆ aiMatrix4DecomposeNoScaling()

ASSIMP_API void aiMatrix4DecomposeNoScaling | ( | const C_STRUCT aiMatrix4x4 * | mat,
 |  | C_STRUCT aiQuaternion * | rotation,
 |  | C_STRUCT aiVector3D * | position
 | ) |  |

Decompose a transformation matrix into its rotational and translational components.

Parameters
mat | Matrix to decompose
rotation | Receives the rotational component
position | Receives the translational component.

◆ aiMatrix4Determinant()

ASSIMP_API float aiMatrix4Determinant ( const C_STRUCT aiMatrix4x4 * mat )

Get the determinant of a 4x4 matrix.

Parameters
mat Matrix to get the determinant from
Returns
The determinant of the matrix

◆ aiMatrix4FromEulerAngles()

ASSIMP_API void aiMatrix4FromEulerAngles | ( | C_STRUCT aiMatrix4x4 * | mat,
 |  | float | x,
 |  | float | y,
 |  | float | z
 | ) |  |

Creates a 4x4 matrix from a set of euler angles.

Parameters
mat | Receives the output matrix
x | Rotation angle for the x-axis, in radians
y | Rotation angle for the y-axis, in radians
z | Rotation angle for the z-axis, in radians

◆ aiMatrix4FromMatrix3()

ASSIMP_API void aiMatrix4FromMatrix3 | ( | C_STRUCT aiMatrix4x4 * | dst,
 |  | const C_STRUCT aiMatrix3x3 * | mat
 | ) |  |

Construct a 4x4 matrix from a 3x3 matrix.

Parameters
dst | Receives the output matrix
mat | The 3x3 matrix to use

◆ aiMatrix4FromRotationAroundAxis()

ASSIMP_API void aiMatrix4FromRotationAroundAxis | ( | C_STRUCT aiMatrix4x4 * | mat,
 |  | const C_STRUCT aiVector3D * | axis,
 |  | const float | angle
 | ) |  |

Returns a 4x4 rotation matrix for a rotation around an arbitrary axis.

Parameters
mat | Receives the output matrix
axis | Rotation axis, should be a normalized vector
angle | Rotation angle, in radians

◆ aiMatrix4FromScalingQuaternionPosition()

ASSIMP_API void aiMatrix4FromScalingQuaternionPosition | ( | C_STRUCT aiMatrix4x4 * | mat,
 |  | const C_STRUCT aiVector3D * | scaling,
 |  | const C_STRUCT aiQuaternion * | rotation,
 |  | const C_STRUCT aiVector3D * | position
 | ) |  |

Construct a 4x4 matrix from scaling, rotation and position.

Parameters
mat | Receives the output matrix.
scaling | The scaling for the x,y,z axes
rotation | The rotation as a hamilton quaternion
position | The position for the x,y,z axes

◆ aiMatrix4FromTo()

ASSIMP_API void aiMatrix4FromTo | ( | C_STRUCT aiMatrix4x4 * | mat,
 |  | const C_STRUCT aiVector3D * | from,
 |  | const C_STRUCT aiVector3D * | to
 | ) |  |

Create a 4x4 matrix that rotates one vector to another vector.

Parameters
mat | Receives the output matrix
from | Vector to rotate from
to | Vector to rotate to

◆ aiMatrix4Inverse()

ASSIMP_API void aiMatrix4Inverse ( C_STRUCT aiMatrix4x4 * mat )

Invert a 4x4 matrix.

Parameters
result Matrix to invert

◆ aiMatrix4IsIdentity()

ASSIMP_API int aiMatrix4IsIdentity ( const C_STRUCT aiMatrix4x4 * mat )

Returns true of the matrix is the identity matrix.

Parameters
mat Matrix to get the determinant from
Returns
1 if mat is an identity matrix.
0 if mat is not an identity matrix.

◆ aiMatrix4RotationX()

ASSIMP_API void aiMatrix4RotationX | ( | C_STRUCT aiMatrix4x4 * | mat,
 |  | const float | angle
 | ) |  |

Get a 4x4 rotation matrix around the X axis.

Parameters
mat | Receives the output matrix
angle | Rotation angle, in radians

◆ aiMatrix4RotationY()

ASSIMP_API void aiMatrix4RotationY | ( | C_STRUCT aiMatrix4x4 * | mat,
 |  | const float | angle
 | ) |  |

Get a 4x4 rotation matrix around the Y axis.

Parameters
mat | Receives the output matrix
angle | Rotation angle, in radians

◆ aiMatrix4RotationZ()

ASSIMP_API void aiMatrix4RotationZ | ( | C_STRUCT aiMatrix4x4 * | mat,
 |  | const float | angle
 | ) |  |

Get a 4x4 rotation matrix around the Z axis.

Parameters
mat | Receives the output matrix
angle | Rotation angle, in radians

◆ aiMatrix4Scaling()

ASSIMP_API void aiMatrix4Scaling | ( | C_STRUCT aiMatrix4x4 * | mat,
 |  | const C_STRUCT aiVector3D * | scaling
 | ) |  |

Get a 4x4 scaling matrix.

Parameters
mat | Receives the output matrix
scaling | The scaling vector

◆ aiMatrix4Translation()

ASSIMP_API void aiMatrix4Translation | ( | C_STRUCT aiMatrix4x4 * | mat,
 |  | const C_STRUCT aiVector3D * | translation
 | ) |  |

Get a 4x4 translation matrix.

Parameters
mat | Receives the output matrix
translation | The translation vector

◆ aiMultiplyMatrix3()

ASSIMP_API void aiMultiplyMatrix3 | ( | C_STRUCT aiMatrix3x3 * | dst,
 |  | const C_STRUCT aiMatrix3x3 * | src
 | ) |  |

Multiply two 3x3 matrices.

Parameters
dst | First factor, receives result.
src | Matrix to be multiplied with 'dst'.

◆ aiMultiplyMatrix4()

ASSIMP_API void aiMultiplyMatrix4 | ( | C_STRUCT aiMatrix4x4 * | dst,
 |  | const C_STRUCT aiMatrix4x4 * | src
 | ) |  |

Multiply two 4x4 matrices.

Parameters
dst | First factor, receives result.
src | Matrix to be multiplied with 'dst'.

◆ aiQuaternionAreEqual()

ASSIMP_API int aiQuaternionAreEqual | ( | const C_STRUCT aiQuaternion * | a,
 |  | const C_STRUCT aiQuaternion * | b
 | ) |  |

Check if quaternions are equal.

Parameters
a | First quaternion to compare
b | Second quaternion to compare
Returns
1 if the quaternions are equal
0 if the quaternions are not equal

◆ aiQuaternionAreEqualEpsilon()

ASSIMP_API int aiQuaternionAreEqualEpsilon | ( | const C_STRUCT aiQuaternion * | a,
 |  | const C_STRUCT aiQuaternion * | b,
 |  | const float | epsilon
 | ) |  |

Check if quaternions are equal using epsilon.

Parameters
a | First quaternion to compare
b | Second quaternion to compare
epsilon | Epsilon
Returns
1 if the quaternions are equal
0 if the quaternions are not equal

◆ aiQuaternionConjugate()

ASSIMP_API void aiQuaternionConjugate ( C_STRUCT aiQuaternion * q )

Compute quaternion conjugate.

Parameters
q Quaternion to compute conjugate, receives the output quaternion

◆ aiQuaternionFromAxisAngle()

ASSIMP_API void aiQuaternionFromAxisAngle | ( | C_STRUCT aiQuaternion * | q,
 |  | const C_STRUCT aiVector3D * | axis,
 |  | const float | angle
 | ) |  |

Create a Quaternion from an axis angle pair.

Parameters
q | Receives the output quaternion
axis | The orientation axis
angle | The rotation angle, in radians

◆ aiQuaternionFromEulerAngles()

ASSIMP_API void aiQuaternionFromEulerAngles | ( | C_STRUCT aiQuaternion * | q,
 |  | float | x,
 |  | float | y,
 |  | float | z
 | ) |  |

Create a Quaternion from euler angles.

Parameters
q | Receives the output quaternion
x | Rotation angle for the x-axis, in radians
y | Rotation angle for the y-axis, in radians
z | Rotation angle for the z-axis, in radians

◆ aiQuaternionFromNormalizedQuaternion()

ASSIMP_API void aiQuaternionFromNormalizedQuaternion | ( | C_STRUCT aiQuaternion * | q,
 |  | const C_STRUCT aiVector3D * | normalized
 | ) |  |

Create a Quaternion from a normalized quaternion stored in a 3D vector.

Parameters
q | Receives the output quaternion
normalized | The vector that stores the quaternion

◆ aiQuaternionInterpolate()

ASSIMP_API void aiQuaternionInterpolate | ( | C_STRUCT aiQuaternion * | dst,
 |  | const C_STRUCT aiQuaternion * | start,
 |  | const C_STRUCT aiQuaternion * | end,
 |  | const float | factor
 | ) |  |

Performs a spherical interpolation between two quaternions.

Parameters
dst | Receives the quaternion resulting from the interpolation.
start | Quaternion when factor == 0
end | Quaternion when factor == 1
factor | Interpolation factor between 0 and 1

◆ aiQuaternionMultiply()

ASSIMP_API void aiQuaternionMultiply | ( | C_STRUCT aiQuaternion * | dst,
 |  | const C_STRUCT aiQuaternion * | q
 | ) |  |

Multiply quaternions.

Parameters
dst | First quaternion, receives the output quaternion
q | Second quaternion

◆ aiQuaternionNormalize()

ASSIMP_API void aiQuaternionNormalize ( C_STRUCT aiQuaternion * q )

Normalize a quaternion.

Parameters
q Quaternion to normalize

◆ aiReleaseImport()

ASSIMP_API void aiReleaseImport ( const C_STRUCT aiScene * pScene )

Releases all resources associated with the given import process.

Call this function after you're done with the imported data.

Parameters
pScene The imported data to release. NULL is a valid value.

◆ aiReleasePropertyStore()

ASSIMP_API void aiReleasePropertyStore ( C_STRUCT aiPropertyStore * p )

Delete a property store.

Parameters
p Property store to be deleted.

◆ aiSetImportPropertyFloat()

ASSIMP_API void aiSetImportPropertyFloat | ( | C_STRUCT aiPropertyStore * | store,
 |  | const char * | szName,
 |  | ai_real | value
 | ) |  |

Set a floating-point property.

This is the C-version of Assimp::Importer::SetPropertyFloat(). In the C interface, properties are always shared by all imports. It is not possible to specify them per import.

Parameters
store | Store to modify. Use aiCreatePropertyStore to obtain a store.
szName | Name of the configuration property to be set. All supported public properties are defined in the config.h header file (AI_CONFIG_XXX).
value | New value for the property

◆ aiSetImportPropertyInteger()

ASSIMP_API void aiSetImportPropertyInteger | ( | C_STRUCT aiPropertyStore * | store,
 |  | const char * | szName,
 |  | int | value
 | ) |  |

Set an integer property.

This is the C-version of Assimp::Importer::SetPropertyInteger(). In the C interface, properties are always shared by all imports. It is not possible to specify them per import.

Parameters
store | Store to modify. Use aiCreatePropertyStore to obtain a store.
szName | Name of the configuration property to be set. All supported public properties are defined in the config.h header file (AI_CONFIG_XXX).
value | New value for the property

◆ aiSetImportPropertyMatrix()

ASSIMP_API void aiSetImportPropertyMatrix | ( | C_STRUCT aiPropertyStore * | store,
 |  | const char * | szName,
 |  | const C_STRUCT aiMatrix4x4 * | mat
 | ) |  |

Set a matrix property.

This is the C-version of Assimp::Importer::SetPropertyMatrix(). In the C interface, properties are always shared by all imports. It is not possible to specify them per import.

Parameters
store | Store to modify. Use aiCreatePropertyStore to obtain a store.
szName | Name of the configuration property to be set. All supported public properties are defined in the config.h header file (AI_CONFIG_XXX).
mat | New value for the property

◆ aiSetImportPropertyString()

ASSIMP_API void aiSetImportPropertyString | ( | C_STRUCT aiPropertyStore * | store,
 |  | const char * | szName,
 |  | const C_STRUCT aiString * | st
 | ) |  |

Set a string property.

This is the C-version of Assimp::Importer::SetPropertyString(). In the C interface, properties are always shared by all imports. It is not possible to specify them per import.

Parameters
store | Store to modify. Use aiCreatePropertyStore to obtain a store.
szName | Name of the configuration property to be set. All supported public properties are defined in the config.h header file (AI_CONFIG_XXX).
st | New value for the property

◆ aiTransformVecByMatrix3()

ASSIMP_API void aiTransformVecByMatrix3 | ( | C_STRUCT aiVector3D * | vec,
 |  | const C_STRUCT aiMatrix3x3 * | mat
 | ) |  |

Transform a vector by a 3x3 matrix.

Parameters
vec | Vector to be transformed.
mat | Matrix to transform the vector with.

◆ aiTransformVecByMatrix4()

ASSIMP_API void aiTransformVecByMatrix4 | ( | C_STRUCT aiVector3D * | vec,
 |  | const C_STRUCT aiMatrix4x4 * | mat
 | ) |  |

Transform a vector by a 4x4 matrix.

Parameters
vec | Vector to be transformed.
mat | Matrix to transform the vector with.

◆ aiTransposeMatrix3()

ASSIMP_API void aiTransposeMatrix3 ( C_STRUCT aiMatrix3x3 * mat )

Transpose a 3x3 matrix.

Parameters
mat Pointer to the matrix to be transposed

◆ aiTransposeMatrix4()

ASSIMP_API void aiTransposeMatrix4 ( C_STRUCT aiMatrix4x4 * mat )

Transpose a 4x4 matrix.

Parameters
mat Pointer to the matrix to be transposed

◆ aiVector2Add()

ASSIMP_API void aiVector2Add | ( | C_STRUCT aiVector2D * | dst,
 |  | const C_STRUCT aiVector2D * | src
 | ) |  |

Add 2D vectors.

Parameters
dst | First addend, receives result.
src | Vector to be added to 'dst'.

◆ aiVector2AreEqual()

ASSIMP_API int aiVector2AreEqual | ( | const C_STRUCT aiVector2D * | a,
 |  | const C_STRUCT aiVector2D * | b
 | ) |  |

Check if 2D vectors are equal.

Parameters
a | First vector to compare
b | Second vector to compare
Returns
1 if the vectors are equal
0 if the vectors are not equal

◆ aiVector2AreEqualEpsilon()

ASSIMP_API int aiVector2AreEqualEpsilon | ( | const C_STRUCT aiVector2D * | a,
 |  | const C_STRUCT aiVector2D * | b,
 |  | const float | epsilon
 | ) |  |

Check if 2D vectors are equal using epsilon.

Parameters
a | First vector to compare
b | Second vector to compare
epsilon | Epsilon
Returns
1 if the vectors are equal
0 if the vectors are not equal

◆ aiVector2DivideByScalar()

ASSIMP_API void aiVector2DivideByScalar | ( | C_STRUCT aiVector2D * | dst,
 |  | const float | s
 | ) |  |

Divide a 2D vector by a scalar.

Parameters
dst | Vector to be divided by s
s | Scalar divisor

◆ aiVector2DivideByVector()

ASSIMP_API void aiVector2DivideByVector | ( | C_STRUCT aiVector2D * | dst,
 |  | C_STRUCT aiVector2D * | v
 | ) |  |

Divide each component of a 2D vector by the components of another vector.

Parameters
dst | Vector as the dividend
v | Vector as the divisor

◆ aiVector2DotProduct()

ASSIMP_API float aiVector2DotProduct | ( | const C_STRUCT aiVector2D * | a,
 |  | const C_STRUCT aiVector2D * | b
 | ) |  |

Get the dot product of 2D vectors.

Parameters
a | First vector
b | Second vector
Returns
The dot product of vectors

◆ aiVector2Length()

ASSIMP_API float aiVector2Length ( const C_STRUCT aiVector2D * v )

Get the length of a 2D vector.

Returns
v Vector to evaluate

◆ aiVector2Negate()

ASSIMP_API void aiVector2Negate ( C_STRUCT aiVector2D * dst )

Negate a 2D vector.

Parameters
dst Vector to be negated

◆ aiVector2Normalize()

ASSIMP_API void aiVector2Normalize ( C_STRUCT aiVector2D * v )

Normalize a 2D vector.

Parameters
v Vector to normalize

◆ aiVector2Scale()

ASSIMP_API void aiVector2Scale | ( | C_STRUCT aiVector2D * | dst,
 |  | const float | s
 | ) |  |

Multiply a 2D vector by a scalar.

Parameters
dst | Vector to be scaled by s
s | Scale factor

◆ aiVector2SquareLength()

ASSIMP_API float aiVector2SquareLength ( const C_STRUCT aiVector2D * v )

Get the squared length of a 2D vector.

Returns
v Vector to evaluate

◆ aiVector2Subtract()

ASSIMP_API void aiVector2Subtract | ( | C_STRUCT aiVector2D * | dst,
 |  | const C_STRUCT aiVector2D * | src
 | ) |  |

Subtract 2D vectors.

Parameters
dst | Minuend, receives result.
src | Vector to be subtracted from 'dst'.

◆ aiVector2SymMul()

ASSIMP_API void aiVector2SymMul | ( | C_STRUCT aiVector2D * | dst,
 |  | const C_STRUCT aiVector2D * | other
 | ) |  |

Multiply each component of a 2D vector with the components of another vector.

Parameters
dst | First vector, receives result
other | Second vector

◆ aiVector3Add()

ASSIMP_API void aiVector3Add | ( | C_STRUCT aiVector3D * | dst,
 |  | const C_STRUCT aiVector3D * | src
 | ) |  |

Add 3D vectors.

Parameters
dst | First addend, receives result.
src | Vector to be added to 'dst'.

◆ aiVector3AreEqual()

ASSIMP_API int aiVector3AreEqual | ( | const C_STRUCT aiVector3D * | a,
 |  | const C_STRUCT aiVector3D * | b
 | ) |  |

Check if 3D vectors are equal.

Parameters
a | First vector to compare
b | Second vector to compare
Returns
1 if the vectors are equal
0 if the vectors are not equal

◆ aiVector3AreEqualEpsilon()

ASSIMP_API int aiVector3AreEqualEpsilon | ( | const C_STRUCT aiVector3D * | a,
 |  | const C_STRUCT aiVector3D * | b,
 |  | const float | epsilon
 | ) |  |

Check if 3D vectors are equal using epsilon.

Parameters
a | First vector to compare
b | Second vector to compare
epsilon | Epsilon
Returns
1 if the vectors are equal
0 if the vectors are not equal

◆ aiVector3CrossProduct()

ASSIMP_API void aiVector3CrossProduct | ( | C_STRUCT aiVector3D * | dst,
 |  | const C_STRUCT aiVector3D * | a,
 |  | const C_STRUCT aiVector3D * | b
 | ) |  |

Get cross product of 3D vectors.

Parameters
dst | Vector to receive the result.
a | First vector
b | Second vector
Returns
The dot product of vectors

◆ aiVector3DivideByScalar()

ASSIMP_API void aiVector3DivideByScalar | ( | C_STRUCT aiVector3D * | dst,
 |  | const float | s
 | ) |  |

Divide a 3D vector by a scalar.

Parameters
dst | Vector to be divided by s
s | Scalar divisor

◆ aiVector3DivideByVector()

ASSIMP_API void aiVector3DivideByVector | ( | C_STRUCT aiVector3D * | dst,
 |  | C_STRUCT aiVector3D * | v
 | ) |  |

Divide each component of a 3D vector by the components of another vector.

Parameters
dst | Vector as the dividend
v | Vector as the divisor

◆ aiVector3DotProduct()

ASSIMP_API float aiVector3DotProduct | ( | const C_STRUCT aiVector3D * | a,
 |  | const C_STRUCT aiVector3D * | b
 | ) |  |

Get the dot product of 3D vectors.

Parameters
a | First vector
b | Second vector
Returns
The dot product of vectors

◆ aiVector3Length()

ASSIMP_API float aiVector3Length ( const C_STRUCT aiVector3D * v )

Get the length of a 3D vector.

Returns
v Vector to evaluate

◆ aiVector3LessThan()

ASSIMP_API int aiVector3LessThan | ( | const C_STRUCT aiVector3D * | a,
 |  | const C_STRUCT aiVector3D * | b
 | ) |  |

Check if vector a is less than vector b.

Parameters
a | First vector to compare
b | Second vector to compare
epsilon | Epsilon
Returns
1 if a is less than b
0 if a is equal or greater than b

◆ aiVector3Negate()

ASSIMP_API void aiVector3Negate ( C_STRUCT aiVector3D * dst )

Negate a 3D vector.

Parameters
dst Vector to be negated

◆ aiVector3Normalize()

ASSIMP_API void aiVector3Normalize ( C_STRUCT aiVector3D * v )

Normalize a 3D vector.

Parameters
v Vector to normalize

◆ aiVector3NormalizeSafe()

ASSIMP_API void aiVector3NormalizeSafe ( C_STRUCT aiVector3D * v )

Check for division by zero and normalize a 3D vector.

Parameters
v Vector to normalize

◆ aiVector3RotateByQuaternion()

ASSIMP_API void aiVector3RotateByQuaternion | ( | C_STRUCT aiVector3D * | v,
 |  | const C_STRUCT aiQuaternion * | q
 | ) |  |

Rotate a 3D vector by a quaternion.

Parameters
v | The vector to rotate by q
q | Quaternion to use to rotate v

◆ aiVector3Scale()

ASSIMP_API void aiVector3Scale | ( | C_STRUCT aiVector3D * | dst,
 |  | const float | s
 | ) |  |

Multiply a 3D vector by a scalar.

Parameters
dst | Vector to be scaled by s
s | Scale factor

◆ aiVector3SquareLength()

ASSIMP_API float aiVector3SquareLength ( const C_STRUCT aiVector3D * v )

Get the squared length of a 3D vector.

Returns
v Vector to evaluate

◆ aiVector3Subtract()

ASSIMP_API void aiVector3Subtract | ( | C_STRUCT aiVector3D * | dst,
 |  | const C_STRUCT aiVector3D * | src
 | ) |  |

Subtract 3D vectors.

Parameters
dst | Minuend, receives result.
src | Vector to be subtracted from 'dst'.

◆ aiVector3SymMul()

ASSIMP_API void aiVector3SymMul | ( | C_STRUCT aiVector3D * | dst,
 |  | const C_STRUCT aiVector3D * | other
 | ) |  |

Multiply each component of a 3D vector with the components of another vector.

Parameters
dst | First vector, receives result
other | Second vector
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: ColladaMetaData.h File Reference

  • include
  • assimp
Macros
ColladaMetaData.h File Reference

Declares common metadata constants used by Collada files. More...

Macros

#define | AI_COLLADAMETADATA_H_INC
#define | AI_METADATA_COLLADA_ID "Collada_id"
#define | AI_METADATA_COLLADA_SID "Collada_sid"

Detailed Description

Declares common metadata constants used by Collada files.

Macro Definition Documentation

◆ AI_COLLADAMETADATA_H_INC

#define AI_COLLADAMETADATA_H_INC

◆ AI_METADATA_COLLADA_ID

#define AI_METADATA_COLLADA_ID "Collada_id"

◆ AI_METADATA_COLLADA_SID

#define AI_METADATA_COLLADA_SID "Collada_sid"
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: color4.h File Reference

  • include
  • assimp
Classes | Macros | Typedefs
color4.h File Reference

RGBA color structure, including operators when compiling in C++. More...

Classes

class aiColor4t< TReal >
Represents a color in Red-Green-Blue space including an alpha component. More...

Macros

#define AI_COLOR4D_H_INC

Typedefs

typedef aiColor4t< ai_real > aiColor4D

Detailed Description

RGBA color structure, including operators when compiling in C++.

Macro Definition Documentation

◆ AI_COLOR4D_H_INC

#define AI_COLOR4D_H_INC

Typedef Documentation

◆ aiColor4D

typedef aiColor4t<ai_real> aiColor4D
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: color4.inl File Reference

  • include
  • assimp
Macros | Functions
color4.inl File Reference

Inline implementation of aiColor4t<TReal> operators. More...

Macros

#define AI_COLOR4D_INL_INC

Functions

template<typename TReal >
AI_FORCE_INLINE aiColor4t< TReal > | operator* (const aiColor4t< TReal > &v1, const aiColor4t< TReal > &v2)
template<typename TReal >
AI_FORCE_INLINE aiColor4t< TReal > | operator* (TReal f, const aiColor4t< TReal > &v)
template<typename TReal >
AI_FORCE_INLINE aiColor4t< TReal > | operator* (const aiColor4t< TReal > &v, TReal f)
template<typename TReal >
AI_FORCE_INLINE aiColor4t< TReal > | operator+ (const aiColor4t< TReal > &v1, const aiColor4t< TReal > &v2)
template<typename TReal >
AI_FORCE_INLINE aiColor4t< TReal > | operator+ (const aiColor4t< TReal > &v, TReal f)
template<typename TReal >
AI_FORCE_INLINE aiColor4t< TReal > | operator+ (TReal f, const aiColor4t< TReal > &v)
template<typename TReal >
AI_FORCE_INLINE aiColor4t< TReal > | operator- (const aiColor4t< TReal > &v1, const aiColor4t< TReal > &v2)
template<typename TReal >
AI_FORCE_INLINE aiColor4t< TReal > | operator- (const aiColor4t< TReal > &v, TReal f)
template<typename TReal >
AI_FORCE_INLINE aiColor4t< TReal > | operator- (TReal f, const aiColor4t< TReal > &v)
template<typename TReal >
AI_FORCE_INLINE aiColor4t< TReal > | operator/ (const aiColor4t< TReal > &v1, const aiColor4t< TReal > &v2)
template<typename TReal >
AI_FORCE_INLINE aiColor4t< TReal > | operator/ (const aiColor4t< TReal > &v, TReal f)
template<typename TReal >
AI_FORCE_INLINE aiColor4t< TReal > | operator/ (TReal f, const aiColor4t< TReal > &v)

Detailed Description

Inline implementation of aiColor4t<TReal> operators.

Macro Definition Documentation

◆ AI_COLOR4D_INL_INC

#define AI_COLOR4D_INL_INC

Function Documentation

◆ operator*() [1/3]

template<typename TReal >
AI_FORCE_INLINE aiColor4t<TReal> operator* | ( | const aiColor4t< TReal > & | v1,
 |  | const aiColor4t< TReal > & | v2
 | ) |  |

◆ operator*() [2/3]

template<typename TReal >
AI_FORCE_INLINE aiColor4t<TReal> operator* | ( | TReal | f,
 |  | const aiColor4t< TReal > & | v
 | ) |  |

◆ operator*() [3/3]

template<typename TReal >
AI_FORCE_INLINE aiColor4t<TReal> operator* | ( | const aiColor4t< TReal > & | v,
 |  | TReal | f
 | ) |  |

◆ operator+() [1/3]

template<typename TReal >
AI_FORCE_INLINE aiColor4t<TReal> operator+ | ( | const aiColor4t< TReal > & | v1,
 |  | const aiColor4t< TReal > & | v2
 | ) |  |

◆ operator+() [2/3]

template<typename TReal >
AI_FORCE_INLINE aiColor4t<TReal> operator+ | ( | const aiColor4t< TReal > & | v,
 |  | TReal | f
 | ) |  |

◆ operator+() [3/3]

template<typename TReal >
AI_FORCE_INLINE aiColor4t<TReal> operator+ | ( | TReal | f,
 |  | const aiColor4t< TReal > & | v
 | ) |  |

◆ operator-() [1/3]

template<typename TReal >
AI_FORCE_INLINE aiColor4t<TReal> operator- | ( | const aiColor4t< TReal > & | v1,
 |  | const aiColor4t< TReal > & | v2
 | ) |  |

◆ operator-() [2/3]

template<typename TReal >
AI_FORCE_INLINE aiColor4t<TReal> operator- | ( | const aiColor4t< TReal > & | v,
 |  | TReal | f
 | ) |  |

◆ operator-() [3/3]

template<typename TReal >
AI_FORCE_INLINE aiColor4t<TReal> operator- | ( | TReal | f,
 |  | const aiColor4t< TReal > & | v
 | ) |  |

◆ operator/() [1/3]

template<typename TReal >
AI_FORCE_INLINE aiColor4t<TReal> operator/ | ( | const aiColor4t< TReal > & | v1,
 |  | const aiColor4t< TReal > & | v2
 | ) |  |

◆ operator/() [2/3]

template<typename TReal >
AI_FORCE_INLINE aiColor4t<TReal> operator/ | ( | const aiColor4t< TReal > & | v,
 |  | TReal | f
 | ) |  |

◆ operator/() [3/3]

template<typename TReal >
AI_FORCE_INLINE aiColor4t<TReal> operator/ | ( | TReal | f,
 |  | const aiColor4t< TReal > & | v
 | ) |  |
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: commonMetaData.h File Reference

  • include
  • assimp
Macros
commonMetaData.h File Reference

Defines a set of common scene metadata keys. More...

Macros

#define | AI_COMMONMETADATA_H_INC
#define | AI_METADATA_SOURCE_COPYRIGHT "SourceAsset_Copyright"
Scene metadata holding the source asset copyright statement, if available. More...
#define | AI_METADATA_SOURCE_FORMAT "SourceAsset_Format"
Scene metadata holding the name of the importer which loaded the source asset. More...
#define | AI_METADATA_SOURCE_FORMAT_VERSION "SourceAsset_FormatVersion"
Scene metadata holding the version of the source asset as a string, if available. More...
#define | AI_METADATA_SOURCE_GENERATOR "SourceAsset_Generator"
Scene metadata holding the name of the software which generated the source asset, if available. More...

Detailed Description

Defines a set of common scene metadata keys.

Macro Definition Documentation

◆ AI_COMMONMETADATA_H_INC

#define AI_COMMONMETADATA_H_INC

◆ AI_METADATA_SOURCE_COPYRIGHT

#define AI_METADATA_SOURCE_COPYRIGHT "SourceAsset_Copyright"

Scene metadata holding the source asset copyright statement, if available.

Not all formats add this metadata.

◆ AI_METADATA_SOURCE_FORMAT

#define AI_METADATA_SOURCE_FORMAT "SourceAsset_Format"

Scene metadata holding the name of the importer which loaded the source asset.

This is always present if the scene was created from an imported asset.

◆ AI_METADATA_SOURCE_FORMAT_VERSION

#define AI_METADATA_SOURCE_FORMAT_VERSION "SourceAsset_FormatVersion"

Scene metadata holding the version of the source asset as a string, if available.

Not all formats add this metadata.

◆ AI_METADATA_SOURCE_GENERATOR

#define AI_METADATA_SOURCE_GENERATOR "SourceAsset_Generator"

Scene metadata holding the name of the software which generated the source asset, if available.

Not all formats add this metadata.

Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: config.h File Reference

  • include
  • assimp
Macros | Enumerations
config.h File Reference

Defines constants for configurable properties for the library. More...

Macros

#define | AI_CONFIG_ANDROID_JNI_ASSIMP_MANAGER_SUPPORT "AI_CONFIG_ANDROID_JNI_ASSIMP_MANAGER_SUPPORT"
Specifies whether the Android JNI asset extraction is supported. More...
#define | AI_CONFIG_APP_SCALE_KEY "APP_SCALE_FACTOR"
#define | AI_CONFIG_EXPORT_POINT_CLOUDS "EXPORT_POINT_CLOUDS"
Specifies whether the assimp export shall be able to export point clouds. More...
#define | AI_CONFIG_EXPORT_XFILE_64BIT "EXPORT_XFILE_64BIT"
Specifies the xfile use double for real values of float. More...
#define | AI_CONFIG_FAVOUR_SPEED "FAVOUR_SPEED"
A hint to assimp to favour speed against import quality. More...
#define | AI_CONFIG_FBX_CONVERT_TO_M "AI_CONFIG_FBX_CONVERT_TO_M"
Set wether the FBX importer shall convert the unit from cm to m. More...
#define | AI_CONFIG_GLOB_MEASURE_TIME "GLOB_MEASURE_TIME"
Enables time measurements. More...
#define | AI_CONFIG_GLOBAL_SCALE_FACTOR_DEFAULT 1.0f
#define | AI_CONFIG_GLOBAL_SCALE_FACTOR_KEY "GLOBAL_SCALE_FACTOR"
Specifies a gobal key factor for scale, float value. More...
#define | AI_CONFIG_H_INC
#define | AI_CONFIG_IMPORT_AC_EVAL_SUBDIVISION "IMPORT_AC_EVAL_SUBDIVISION"
Configures whether the AC loader evaluates subdivision surfaces ( indicated by the presence of the 'subdiv' attribute in the file). More...
#define | AI_CONFIG_IMPORT_AC_SEPARATE_BFCULL "IMPORT_AC_SEPARATE_BFCULL"
Configures the AC loader to collect all surfaces which have the "Backface cull" flag set in separate meshes. More...
#define | AI_CONFIG_IMPORT_ASE_RECONSTRUCT_NORMALS "IMPORT_ASE_RECONSTRUCT_NORMALS"
Configures the ASE loader to always reconstruct normal vectors basing on the smoothing groups loaded from the file. More...
#define | AI_CONFIG_IMPORT_COLLADA_IGNORE_UP_DIRECTION "IMPORT_COLLADA_IGNORE_UP_DIRECTION"
Specifies whether the Collada loader will ignore the provided up direction. More...
#define | AI_CONFIG_IMPORT_COLLADA_USE_COLLADA_NAMES "IMPORT_COLLADA_USE_COLLADA_NAMES"
Specifies whether the Collada loader should use Collada names. More...
#define | AI_CONFIG_IMPORT_FBX_EMBEDDED_TEXTURES_LEGACY_NAMING "AI_CONFIG_IMPORT_FBX_EMBEDDED_TEXTURES_LEGACY_NAMING"
Set whether the fbx importer will use the legacy embedded texture naming. More...
#define | AI_CONFIG_IMPORT_FBX_OPTIMIZE_EMPTY_ANIMATION_CURVES "IMPORT_FBX_OPTIMIZE_EMPTY_ANIMATION_CURVES"
Specifies whether the importer will drop empty animation curves or animation curves which match the bind pose transformation over their entire defined range. More...
#define | AI_CONFIG_IMPORT_FBX_PRESERVE_PIVOTS "IMPORT_FBX_PRESERVE_PIVOTS"
Set whether the fbx importer will preserve pivot points for transformations (as extra nodes). More...
#define | AI_CONFIG_IMPORT_FBX_READ_ALL_GEOMETRY_LAYERS "IMPORT_FBX_READ_ALL_GEOMETRY_LAYERS"
Set whether the fbx importer will merge all geometry layers present in the source file or take only the first. More...
#define | AI_CONFIG_IMPORT_FBX_READ_ALL_MATERIALS "IMPORT_FBX_READ_ALL_MATERIALS"
Set whether the fbx importer will read all materials present in the source file or take only the referenced materials. More...
#define | AI_CONFIG_IMPORT_FBX_READ_ANIMATIONS "IMPORT_FBX_READ_ANIMATIONS"
Set whether the fbx importer will read animations. More...
#define | AI_CONFIG_IMPORT_FBX_READ_CAMERAS "IMPORT_FBX_READ_CAMERAS"
Set whether the fbx importer will read cameras. More...
#define | AI_CONFIG_IMPORT_FBX_READ_LIGHTS "IMPORT_FBX_READ_LIGHTS"
Set whether the fbx importer will read light sources. More...
#define | AI_CONFIG_IMPORT_FBX_READ_MATERIALS "IMPORT_FBX_READ_MATERIALS"
Set whether the fbx importer will read materials. More...
#define | AI_CONFIG_IMPORT_FBX_READ_TEXTURES "IMPORT_FBX_READ_TEXTURES"
Set whether the fbx importer will read embedded textures. More...
#define | AI_CONFIG_IMPORT_FBX_READ_WEIGHTS "IMPORT_FBX_READ_WEIGHTS"
Set whether the fbx importer will read weights. More...
#define | AI_CONFIG_IMPORT_FBX_STRICT_MODE "IMPORT_FBX_STRICT_MODE"
Set whether the fbx importer will act in strict mode in which only FBX 2013 is supported and any other sub formats are rejected. More...
#define | AI_CONFIG_IMPORT_GLOBAL_KEYFRAME "IMPORT_GLOBAL_KEYFRAME"
Set the vertex animation keyframe to be imported. More...
#define | AI_CONFIG_IMPORT_IFC_CUSTOM_TRIANGULATION "IMPORT_IFC_CUSTOM_TRIANGULATION"
Specifies whether the IFC loader will use its own, custom triangulation algorithm to triangulate wall and floor meshes. More...
#define | AI_CONFIG_IMPORT_IFC_CYLINDRICAL_TESSELLATION "IMPORT_IFC_CYLINDRICAL_TESSELLATION"
Set the tessellation for IFC cylindrical shapes. More...
#define | AI_CONFIG_IMPORT_IFC_SKIP_SPACE_REPRESENTATIONS "IMPORT_IFC_SKIP_SPACE_REPRESENTATIONS"
Specifies whether the IFC loader skips over IfcSpace elements. More...
#define | AI_CONFIG_IMPORT_IFC_SMOOTHING_ANGLE "IMPORT_IFC_SMOOTHING_ANGLE"
Set the tessellation conic angle for IFC smoothing curves. More...
#define | AI_CONFIG_IMPORT_IRR_ANIM_FPS "IMPORT_IRR_ANIM_FPS"
Defines the output frame rate of the IRR loader. More...
#define | AI_CONFIG_IMPORT_LWO_ONE_LAYER_ONLY "IMPORT_LWO_ONE_LAYER_ONLY"
Configures the LWO loader to load just one layer from the model. More...
#define | AI_CONFIG_IMPORT_LWS_ANIM_END "IMPORT_LWS_ANIM_END"
#define | AI_CONFIG_IMPORT_LWS_ANIM_START "IMPORT_LWS_ANIM_START"
Defines the begin of the time range for which the LWS loader evaluates animations and computes aiNodeAnim's. More...
#define | AI_CONFIG_IMPORT_MD2_KEYFRAME "IMPORT_MD2_KEYFRAME"
#define | AI_CONFIG_IMPORT_MD3_HANDLE_MULTIPART "IMPORT_MD3_HANDLE_MULTIPART"
Configures the M3D loader to detect and process multi-part Quake player models. More...
#define | AI_CONFIG_IMPORT_MD3_KEYFRAME "IMPORT_MD3_KEYFRAME"
#define | AI_CONFIG_IMPORT_MD3_SHADER_SRC "IMPORT_MD3_SHADER_SRC"
Specify the Quake 3 shader file to be used for a particular MD3 file. More...
#define | AI_CONFIG_IMPORT_MD3_SKIN_NAME "IMPORT_MD3_SKIN_NAME"
Tells the MD3 loader which skin files to load. More...
#define | AI_CONFIG_IMPORT_MD5_NO_ANIM_AUTOLOAD "IMPORT_MD5_NO_ANIM_AUTOLOAD"
Configures the MD5 loader to not load the MD5ANIM file for a MD5MESH file automatically. More...
#define | AI_CONFIG_IMPORT_MDC_KEYFRAME "IMPORT_MDC_KEYFRAME"
#define | AI_CONFIG_IMPORT_MDL_COLORMAP "IMPORT_MDL_COLORMAP"
Sets the colormap (= palette) to be used to decode embedded textures in MDL (Quake or 3DGS) files. More...
#define | AI_CONFIG_IMPORT_MDL_HL1_READ_ANIMATION_EVENTS "IMPORT_MDL_HL1_READ_ANIMATION_EVENTS"
Set whether the MDL (HL1) importer will read animation events. More...
#define | AI_CONFIG_IMPORT_MDL_HL1_READ_ANIMATIONS "IMPORT_MDL_HL1_READ_ANIMATIONS"
Set whether the MDL (HL1) importer will read animations. More...
#define | AI_CONFIG_IMPORT_MDL_HL1_READ_ATTACHMENTS "IMPORT_MDL_HL1_READ_ATTACHMENTS"
Set whether the MDL (HL1) importer will read attachments info. More...
#define | AI_CONFIG_IMPORT_MDL_HL1_READ_BLEND_CONTROLLERS "IMPORT_MDL_HL1_READ_BLEND_CONTROLLERS"
Set whether the MDL (HL1) importer will read blend controllers. More...
#define | AI_CONFIG_IMPORT_MDL_HL1_READ_BONE_CONTROLLERS "IMPORT_MDL_HL1_READ_BONE_CONTROLLERS"
Set whether the MDL (HL1) importer will read bone controllers info. More...
#define | AI_CONFIG_IMPORT_MDL_HL1_READ_HITBOXES "IMPORT_MDL_HL1_READ_HITBOXES"
Set whether the MDL (HL1) importer will read hitboxes info. More...
#define | AI_CONFIG_IMPORT_MDL_HL1_READ_MISC_GLOBAL_INFO "IMPORT_MDL_HL1_READ_MISC_GLOBAL_INFO"
Set whether the MDL (HL1) importer will read miscellaneous global model info. More...
#define | AI_CONFIG_IMPORT_MDL_HL1_READ_SEQUENCE_TRANSITIONS "IMPORT_MDL_HL1_READ_SEQUENCE_TRANSITIONS"
Set whether the MDL (HL1) importer will read sequence transition graph. More...
#define | AI_CONFIG_IMPORT_MDL_KEYFRAME "IMPORT_MDL_KEYFRAME"
#define | AI_CONFIG_IMPORT_NO_SKELETON_MESHES "IMPORT_NO_SKELETON_MESHES"
Global setting to disable generation of skeleton dummy meshes. More...
#define | AI_CONFIG_IMPORT_OGRE_MATERIAL_FILE "IMPORT_OGRE_MATERIAL_FILE"
Ogre Importer will try to find referenced materials from this file. More...
#define | AI_CONFIG_IMPORT_OGRE_TEXTURETYPE_FROM_FILENAME "IMPORT_OGRE_TEXTURETYPE_FROM_FILENAME"
Ogre Importer detect the texture usage from its filename. More...
#define | AI_CONFIG_IMPORT_REMOVE_EMPTY_BONES "AI_CONFIG_IMPORT_REMOVE_EMPTY_BONES"
Set wether the importer shall not remove empty bones. More...
#define | AI_CONFIG_IMPORT_SMD_KEYFRAME "IMPORT_SMD_KEYFRAME"
#define | AI_CONFIG_IMPORT_SMD_LOAD_ANIMATION_LIST "IMPORT_SMD_LOAD_ANIMATION_LIST"
Smd load multiple animations. More...
#define | AI_CONFIG_IMPORT_TER_MAKE_UVS "IMPORT_TER_MAKE_UVS"
Configures the terragen import plugin to compute uv's for terrains, if not given. More...
#define | AI_CONFIG_IMPORT_UNREAL_HANDLE_FLAGS "UNREAL_HANDLE_FLAGS"
Configures the UNREAL 3D loader to separate faces with different surface flags (e.g. More...
#define | AI_CONFIG_IMPORT_UNREAL_KEYFRAME "IMPORT_UNREAL_KEYFRAME"
#define | AI_CONFIG_PP_CT_MAX_SMOOTHING_ANGLE "PP_CT_MAX_SMOOTHING_ANGLE"
Specifies the maximum angle that may be between two vertex tangents that their tangents and bi-tangents are smoothed. More...
#define | AI_CONFIG_PP_CT_TEXTURE_CHANNEL_INDEX "PP_CT_TEXTURE_CHANNEL_INDEX"
Source UV channel for tangent space computation. More...
#define | AI_CONFIG_PP_DB_ALL_OR_NONE "PP_DB_ALL_OR_NONE"
Require all bones qualify for deboning before removing any. More...
#define | AI_CONFIG_PP_DB_THRESHOLD "PP_DB_THRESHOLD"
Lower the deboning threshold in order to remove more bones. More...
#define | AI_CONFIG_PP_FD_CHECKAREA "PP_FD_CHECKAREA"
Configures the aiProcess_FindDegenerates to check the area of a trinagle to be greates than e-6. More...
#define | AI_CONFIG_PP_FD_REMOVE "PP_FD_REMOVE"
Configures the aiProcess_FindDegenerates step to remove degenerated primitives from the import - immediately. More...
#define | AI_CONFIG_PP_FID_ANIM_ACCURACY "PP_FID_ANIM_ACCURACY"
Input parameter to the aiProcess_FindInvalidData step: Specifies the floating-point accuracy for animation values. More...
#define | AI_CONFIG_PP_FID_IGNORE_TEXTURECOORDS "PP_FID_IGNORE_TEXTURECOORDS"
Input parameter to the aiProcess_FindInvalidData step: Set to true to ignore texture coordinates. More...
#define | AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE "PP_GSN_MAX_SMOOTHING_ANGLE"
Specifies the maximum angle that may be between two face normals at the same vertex position that their are smoothed together. More...
#define | AI_CONFIG_PP_ICL_PTCACHE_SIZE "PP_ICL_PTCACHE_SIZE"
Set the size of the post-transform vertex cache to optimize the vertices for. More...
#define | AI_CONFIG_PP_LBW_MAX_WEIGHTS "PP_LBW_MAX_WEIGHTS"
Set the maximum number of bones affecting a single vertex. More...
#define | AI_CONFIG_PP_OG_EXCLUDE_LIST "PP_OG_EXCLUDE_LIST"
Configures the aiProcess_OptimizeGraph step to preserve nodes matching a name in a given list. More...
#define | AI_CONFIG_PP_PTV_ADD_ROOT_TRANSFORMATION "PP_PTV_ADD_ROOT_TRANSFORMATION"
Configures the aiProcess_PreTransformVertices step to use a users defined matrix as the scene root node transformation before transforming vertices. More...
#define | AI_CONFIG_PP_PTV_KEEP_HIERARCHY "PP_PTV_KEEP_HIERARCHY"
Configures the aiProcess_PreTransformVertices step to keep the scene hierarchy. More...
#define | AI_CONFIG_PP_PTV_NORMALIZE "PP_PTV_NORMALIZE"
Configures the aiProcess_PreTransformVertices step to normalize all vertex components into the [-1,1] range. More...
#define | AI_CONFIG_PP_PTV_ROOT_TRANSFORMATION "PP_PTV_ROOT_TRANSFORMATION"
Configures the aiProcess_PreTransformVertices step to use a users defined matrix as the scene root node transformation before transforming vertices. More...
#define | AI_CONFIG_PP_RRM_EXCLUDE_LIST "PP_RRM_EXCLUDE_LIST"
Configures the aiProcess_RemoveRedundantMaterials step to keep materials matching a name in a given list. More...
#define | AI_CONFIG_PP_RVC_FLAGS "PP_RVC_FLAGS"
Input parameter to the aiProcess_RemoveComponent step: Specifies the parts of the data structure to be removed. More...
#define | AI_CONFIG_PP_SBBC_MAX_BONES "PP_SBBC_MAX_BONES"
Maximum bone count per mesh for the SplitbyBoneCount step. More...
#define | AI_CONFIG_PP_SBP_REMOVE "PP_SBP_REMOVE"
Input parameter to the aiProcess_SortByPType step: Specifies which primitive types are removed by the step. More...
#define | AI_CONFIG_PP_SLM_TRIANGLE_LIMIT "PP_SLM_TRIANGLE_LIMIT"
Set the maximum number of triangles in a mesh. More...
#define | AI_CONFIG_PP_SLM_VERTEX_LIMIT "PP_SLM_VERTEX_LIMIT"
Set the maximum number of vertices in a mesh. More...
#define | AI_CONFIG_PP_TUV_EVALUATE "PP_TUV_EVALUATE"
Input parameter to the aiProcess_TransformUVCoords step: Specifies which UV transformations are evaluated. More...
#define | AI_DEBONE_THRESHOLD 1.0f
#define | AI_IMPORT_IFC_DEFAULT_CYLINDRICAL_TESSELLATION 32
#define | AI_IMPORT_IFC_DEFAULT_SMOOTHING_ANGLE 10.0f
#define | AI_LMW_MAX_WEIGHTS 0x4
#define | AI_SBBC_DEFAULT_MAX_BONES 60
#define | AI_SLM_DEFAULT_MAX_TRIANGLES 1000000
#define | AI_SLM_DEFAULT_MAX_VERTICES 1000000
#define | AI_UVTRAFO_ALL (AI_UVTRAFO_SCALING | AI_UVTRAFO_ROTATION | AI_UVTRAFO_TRANSLATION)
#define | AI_UVTRAFO_ROTATION 0x2
#define | AI_UVTRAFO_SCALING 0x1
#define | AI_UVTRAFO_TRANSLATION 0x4
#define | aiComponent_COLORSn(n) (1u << (n+20u))
#define | aiComponent_TEXCOORDSn(n) (1u << (n+25u))
#define | PP_ICL_PTCACHE_SIZE 12
Default value for the AI_CONFIG_PP_ICL_PTCACHE_SIZE property. More...

Enumerations

enum aiComponent {
aiComponent_NORMALS = 0x2u, aiComponent_TANGENTS_AND_BITANGENTS = 0x4u, aiComponent_COLORS = 0x8, aiComponent_TEXCOORDS = 0x10,
aiComponent_BONEWEIGHTS = 0x20, aiComponent_ANIMATIONS = 0x40, aiComponent_TEXTURES = 0x80, aiComponent_LIGHTS = 0x100,
aiComponent_CAMERAS = 0x200, aiComponent_MESHES = 0x400, aiComponent_MATERIALS = 0x800, _aiComponent_Force32Bit = 0x9fffffff
}
Enumerates components of the aiScene and aiMesh data structures that can be excluded from the import using the aiProcess_RemoveComponent step. More...

Detailed Description

Defines constants for configurable properties for the library.

Typically these properties are set via Assimp::Importer::SetPropertyFloat, Assimp::Importer::SetPropertyInteger or Assimp::Importer::SetPropertyString, depending on the data type of a property. All properties have a default value. See the doc for the mentioned methods for more details.

The corresponding functions for use with the plain-c API are: aiSetImportPropertyInteger, aiSetImportPropertyFloat, aiSetImportPropertyString

Macro Definition Documentation

◆ AI_CONFIG_ANDROID_JNI_ASSIMP_MANAGER_SUPPORT

#define AI_CONFIG_ANDROID_JNI_ASSIMP_MANAGER_SUPPORT "AI_CONFIG_ANDROID_JNI_ASSIMP_MANAGER_SUPPORT"

Specifies whether the Android JNI asset extraction is supported.

Turn on this option if you want to manage assets in native Android application without having to keep the internal directory and asset manager pointer.

◆ AI_CONFIG_APP_SCALE_KEY

#define AI_CONFIG_APP_SCALE_KEY "APP_SCALE_FACTOR"

◆ AI_CONFIG_EXPORT_POINT_CLOUDS

#define AI_CONFIG_EXPORT_POINT_CLOUDS "EXPORT_POINT_CLOUDS"

Specifies whether the assimp export shall be able to export point clouds.

When this flag is not defined the render data has to contain valid faces. Point clouds are only a collection of vertices which have nor spatial organization by a face and the validation process will remove them. Enabling this feature will switch off the flag and enable the functionality to export pure point clouds.

◆ AI_CONFIG_EXPORT_XFILE_64BIT

#define AI_CONFIG_EXPORT_XFILE_64BIT "EXPORT_XFILE_64BIT"

Specifies the xfile use double for real values of float.

Property type: Bool. Default value: false.

◆ AI_CONFIG_FAVOUR_SPEED

#define AI_CONFIG_FAVOUR_SPEED "FAVOUR_SPEED"

A hint to assimp to favour speed against import quality.

Enabling this option may result in faster loading, but it needn't. It represents just a hint to loaders and post-processing steps to use faster code paths, if possible. This property is expected to be an integer, != 0 stands for true. The default value is 0.

◆ AI_CONFIG_FBX_CONVERT_TO_M

#define AI_CONFIG_FBX_CONVERT_TO_M "AI_CONFIG_FBX_CONVERT_TO_M"

Set wether the FBX importer shall convert the unit from cm to m.

◆ AI_CONFIG_GLOB_MEASURE_TIME

#define AI_CONFIG_GLOB_MEASURE_TIME "GLOB_MEASURE_TIME"

Enables time measurements.

If enabled, measures the time needed for each part of the loading process (i.e. IO time, importing, postprocessing, ..) and dumps these timings to the DefaultLogger. See the Performance Page for more information on this topic.

Property type: bool. Default value: false.

◆ AI_CONFIG_GLOBAL_SCALE_FACTOR_DEFAULT

#define AI_CONFIG_GLOBAL_SCALE_FACTOR_DEFAULT 1.0f

◆ AI_CONFIG_GLOBAL_SCALE_FACTOR_KEY

#define AI_CONFIG_GLOBAL_SCALE_FACTOR_KEY "GLOBAL_SCALE_FACTOR"

Specifies a gobal key factor for scale, float value.

◆ AI_CONFIG_H_INC

#define AI_CONFIG_H_INC

◆ AI_CONFIG_IMPORT_AC_EVAL_SUBDIVISION

#define AI_CONFIG_IMPORT_AC_EVAL_SUBDIVISION "IMPORT_AC_EVAL_SUBDIVISION"

Configures whether the AC loader evaluates subdivision surfaces ( indicated by the presence of the 'subdiv' attribute in the file).

By default, Assimp performs the subdivision using the standard Catmull-Clark algorithm

  • Property type: bool. Default value: true.

◆ AI_CONFIG_IMPORT_AC_SEPARATE_BFCULL

#define AI_CONFIG_IMPORT_AC_SEPARATE_BFCULL "IMPORT_AC_SEPARATE_BFCULL"

Configures the AC loader to collect all surfaces which have the "Backface cull" flag set in separate meshes.

Property type: bool. Default value: true.

◆ AI_CONFIG_IMPORT_ASE_RECONSTRUCT_NORMALS

#define AI_CONFIG_IMPORT_ASE_RECONSTRUCT_NORMALS "IMPORT_ASE_RECONSTRUCT_NORMALS"

Configures the ASE loader to always reconstruct normal vectors basing on the smoothing groups loaded from the file.

Some ASE files have carry invalid normals, other don't.

  • Property type: bool. Default value: true.

◆ AI_CONFIG_IMPORT_COLLADA_IGNORE_UP_DIRECTION

#define AI_CONFIG_IMPORT_COLLADA_IGNORE_UP_DIRECTION "IMPORT_COLLADA_IGNORE_UP_DIRECTION"

Specifies whether the Collada loader will ignore the provided up direction.

If this property is set to true, the up direction provided in the file header will be ignored and the file will be loaded as is. Property type: Bool. Default value: false.

◆ AI_CONFIG_IMPORT_COLLADA_USE_COLLADA_NAMES

#define AI_CONFIG_IMPORT_COLLADA_USE_COLLADA_NAMES "IMPORT_COLLADA_USE_COLLADA_NAMES"

Specifies whether the Collada loader should use Collada names.

If this property is set to true, the Collada names will be used as the node and mesh names. The default is to use the id tag (resp. sid tag, if no id tag is present) instead. Property type: Bool. Default value: false.

◆ AI_CONFIG_IMPORT_FBX_EMBEDDED_TEXTURES_LEGACY_NAMING

#define AI_CONFIG_IMPORT_FBX_EMBEDDED_TEXTURES_LEGACY_NAMING "AI_CONFIG_IMPORT_FBX_EMBEDDED_TEXTURES_LEGACY_NAMING"

Set whether the fbx importer will use the legacy embedded texture naming.

The default value is false (0) Property type: bool

◆ AI_CONFIG_IMPORT_FBX_OPTIMIZE_EMPTY_ANIMATION_CURVES

#define AI_CONFIG_IMPORT_FBX_OPTIMIZE_EMPTY_ANIMATION_CURVES "IMPORT_FBX_OPTIMIZE_EMPTY_ANIMATION_CURVES"

Specifies whether the importer will drop empty animation curves or animation curves which match the bind pose transformation over their entire defined range.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_FBX_PRESERVE_PIVOTS

#define AI_CONFIG_IMPORT_FBX_PRESERVE_PIVOTS "IMPORT_FBX_PRESERVE_PIVOTS"

Set whether the fbx importer will preserve pivot points for transformations (as extra nodes).

If set to false, pivots and offsets will be evaluated whenever possible.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_FBX_READ_ALL_GEOMETRY_LAYERS

#define AI_CONFIG_IMPORT_FBX_READ_ALL_GEOMETRY_LAYERS "IMPORT_FBX_READ_ALL_GEOMETRY_LAYERS"

Set whether the fbx importer will merge all geometry layers present in the source file or take only the first.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_FBX_READ_ALL_MATERIALS

#define AI_CONFIG_IMPORT_FBX_READ_ALL_MATERIALS "IMPORT_FBX_READ_ALL_MATERIALS"

Set whether the fbx importer will read all materials present in the source file or take only the referenced materials.

This is void unless IMPORT_FBX_READ_MATERIALS=1.

The default value is false (0) Property type: bool

◆ AI_CONFIG_IMPORT_FBX_READ_ANIMATIONS

#define AI_CONFIG_IMPORT_FBX_READ_ANIMATIONS "IMPORT_FBX_READ_ANIMATIONS"

Set whether the fbx importer will read animations.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_FBX_READ_CAMERAS

#define AI_CONFIG_IMPORT_FBX_READ_CAMERAS "IMPORT_FBX_READ_CAMERAS"

Set whether the fbx importer will read cameras.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_FBX_READ_LIGHTS

#define AI_CONFIG_IMPORT_FBX_READ_LIGHTS "IMPORT_FBX_READ_LIGHTS"

Set whether the fbx importer will read light sources.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_FBX_READ_MATERIALS

#define AI_CONFIG_IMPORT_FBX_READ_MATERIALS "IMPORT_FBX_READ_MATERIALS"

Set whether the fbx importer will read materials.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_FBX_READ_TEXTURES

#define AI_CONFIG_IMPORT_FBX_READ_TEXTURES "IMPORT_FBX_READ_TEXTURES"

Set whether the fbx importer will read embedded textures.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_FBX_READ_WEIGHTS

#define AI_CONFIG_IMPORT_FBX_READ_WEIGHTS "IMPORT_FBX_READ_WEIGHTS"

Set whether the fbx importer will read weights.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_FBX_STRICT_MODE

#define AI_CONFIG_IMPORT_FBX_STRICT_MODE "IMPORT_FBX_STRICT_MODE"

Set whether the fbx importer will act in strict mode in which only FBX 2013 is supported and any other sub formats are rejected.

FBX 2013 is the primary target for the importer, so this format is best supported and well-tested.

The default value is false (0) Property type: bool

◆ AI_CONFIG_IMPORT_GLOBAL_KEYFRAME

#define AI_CONFIG_IMPORT_GLOBAL_KEYFRAME "IMPORT_GLOBAL_KEYFRAME"

Set the vertex animation keyframe to be imported.

ASSIMP does not support vertex keyframes (only bone animation is supported). The library reads only one frame of models with vertex animations. By default this is the first frame.

Note
The default value is 0. This option applies to all importers. However, it is also possible to override the global setting for a specific loader. You can use the AI_CONFIG_IMPORT_XXX_KEYFRAME options (where XXX is a placeholder for the file format for which you want to override the global setting). Property type: integer.

◆ AI_CONFIG_IMPORT_IFC_CUSTOM_TRIANGULATION

#define AI_CONFIG_IMPORT_IFC_CUSTOM_TRIANGULATION "IMPORT_IFC_CUSTOM_TRIANGULATION"

Specifies whether the IFC loader will use its own, custom triangulation algorithm to triangulate wall and floor meshes.

If this property is set to false, walls will be either triangulated by aiProcess_Triangulate or will be passed through as huge polygons with faked holes (i.e. holes that are connected with the outer boundary using a dummy edge). It is highly recommended to set this property to true if you want triangulated data because aiProcess_Triangulate is known to have problems with the kind of polygons that the IFC loader spits out for complicated meshes. Property type: Bool. Default value: true.

◆ AI_CONFIG_IMPORT_IFC_CYLINDRICAL_TESSELLATION

#define AI_CONFIG_IMPORT_IFC_CYLINDRICAL_TESSELLATION "IMPORT_IFC_CYLINDRICAL_TESSELLATION"

Set the tessellation for IFC cylindrical shapes.

This is used by the IFC importer to determine the tessellation parameter for cylindrical shapes, i.e. the number of segments used to approximate a circle.

Note
The default value is AI_IMPORT_IFC_DEFAULT_CYLINDRICAL_TESSELLATION and the accepted values are in range [3, 180]. Property type: Integer.

◆ AI_CONFIG_IMPORT_IFC_SKIP_SPACE_REPRESENTATIONS

#define AI_CONFIG_IMPORT_IFC_SKIP_SPACE_REPRESENTATIONS "IMPORT_IFC_SKIP_SPACE_REPRESENTATIONS"

Specifies whether the IFC loader skips over IfcSpace elements.

IfcSpace elements (and their geometric representations) are used to represent, well, free space in a building storey.
Property type: Bool. Default value: true.

◆ AI_CONFIG_IMPORT_IFC_SMOOTHING_ANGLE

#define AI_CONFIG_IMPORT_IFC_SMOOTHING_ANGLE "IMPORT_IFC_SMOOTHING_ANGLE"

Set the tessellation conic angle for IFC smoothing curves.

This is used by the IFC importer to determine the tessellation parameter for smoothing curves.

Note
The default value is AI_IMPORT_IFC_DEFAULT_SMOOTHING_ANGLE and the accepted values are in range [5.0, 120.0]. Property type: Float.

◆ AI_CONFIG_IMPORT_IRR_ANIM_FPS

#define AI_CONFIG_IMPORT_IRR_ANIM_FPS "IMPORT_IRR_ANIM_FPS"

Defines the output frame rate of the IRR loader.

IRR animations are difficult to convert for Assimp and there will always be a loss of quality. This setting defines how many keys per second are returned by the converter.
Property type: integer. Default value: 100

◆ AI_CONFIG_IMPORT_LWO_ONE_LAYER_ONLY

#define AI_CONFIG_IMPORT_LWO_ONE_LAYER_ONLY "IMPORT_LWO_ONE_LAYER_ONLY"

Configures the LWO loader to load just one layer from the model.

LWO files consist of layers and in some cases it could be useful to load only one of them. This property can be either a string - which specifies the name of the layer - or an integer - the index of the layer. If the property is not set the whole LWO model is loaded. Loading fails if the requested layer is not available. The layer index is zero-based and the layer name may not be empty.
Property type: Integer. Default value: all layers are loaded.

◆ AI_CONFIG_IMPORT_LWS_ANIM_END

#define AI_CONFIG_IMPORT_LWS_ANIM_END "IMPORT_LWS_ANIM_END"

◆ AI_CONFIG_IMPORT_LWS_ANIM_START

#define AI_CONFIG_IMPORT_LWS_ANIM_START "IMPORT_LWS_ANIM_START"

Defines the begin of the time range for which the LWS loader evaluates animations and computes aiNodeAnim's.

Assimp provides full conversion of LightWave's envelope system, including pre and post conditions. The loader computes linearly subsampled animation chanels with the frame rate given in the LWS file. This property defines the start time. Note: animation channels are only generated if a node has at least one envelope with more tan one key assigned. This property. is given in frames, '0' is the first frame. By default, if this property is not set, the importer takes the animation start from the input LWS file ('FirstFrame' line)
Property type: Integer. Default value: taken from file.

See also
AI_CONFIG_IMPORT_LWS_ANIM_END - end of the imported time range

◆ AI_CONFIG_IMPORT_MD2_KEYFRAME

#define AI_CONFIG_IMPORT_MD2_KEYFRAME "IMPORT_MD2_KEYFRAME"

◆ AI_CONFIG_IMPORT_MD3_HANDLE_MULTIPART

#define AI_CONFIG_IMPORT_MD3_HANDLE_MULTIPART "IMPORT_MD3_HANDLE_MULTIPART"

Configures the M3D loader to detect and process multi-part Quake player models.

These models usually consist of 3 files, lower.md3, upper.md3 and head.md3. If this property is set to true, Assimp will try to load and combine all three files if one of them is loaded. Property type: bool. Default value: true.

◆ AI_CONFIG_IMPORT_MD3_KEYFRAME

#define AI_CONFIG_IMPORT_MD3_KEYFRAME "IMPORT_MD3_KEYFRAME"

◆ AI_CONFIG_IMPORT_MD3_SHADER_SRC

#define AI_CONFIG_IMPORT_MD3_SHADER_SRC "IMPORT_MD3_SHADER_SRC"

Specify the Quake 3 shader file to be used for a particular MD3 file.

This can also be a search path.

By default Assimp's behaviour is as follows: If a MD3 file any_path/models/any_q3_subdir/model_name/file_name.md3 is loaded, the library tries to locate the corresponding shader file in any_path/scripts/model_name.shader. This property overrides this behaviour. It can either specify a full path to the shader to be loaded or alternatively the path (relative or absolute) to the directory where the shaders for all MD3s to be loaded reside. Assimp attempts to open IMPORT_MD3_SHADER_SRC/model_name.shader first, IMPORT_MD3_SHADER_SRC/file_name.shader is the fallback file. Note that IMPORT_MD3_SHADER_SRC should have a terminal (back)slash. Property type: String. Default value: n/a.

◆ AI_CONFIG_IMPORT_MD3_SKIN_NAME

#define AI_CONFIG_IMPORT_MD3_SKIN_NAME "IMPORT_MD3_SKIN_NAME"

Tells the MD3 loader which skin files to load.

When loading MD3 files, Assimp checks whether a file [md3_file_name]_[skin_name].skin is existing. These files are used by Quake III to be able to assign different skins (e.g. red and blue team) to models. 'default', 'red', 'blue' are typical skin names. Property type: String. Default value: "default".

◆ AI_CONFIG_IMPORT_MD5_NO_ANIM_AUTOLOAD

#define AI_CONFIG_IMPORT_MD5_NO_ANIM_AUTOLOAD "IMPORT_MD5_NO_ANIM_AUTOLOAD"

Configures the MD5 loader to not load the MD5ANIM file for a MD5MESH file automatically.

The default strategy is to look for a file with the same name but the MD5ANIM extension in the same directory. If it is found, it is loaded and combined with the MD5MESH file. This configuration option can be used to disable this behaviour.

  • Property type: bool. Default value: false.

◆ AI_CONFIG_IMPORT_MDC_KEYFRAME

#define AI_CONFIG_IMPORT_MDC_KEYFRAME "IMPORT_MDC_KEYFRAME"

◆ AI_CONFIG_IMPORT_MDL_COLORMAP

#define AI_CONFIG_IMPORT_MDL_COLORMAP "IMPORT_MDL_COLORMAP"

Sets the colormap (= palette) to be used to decode embedded textures in MDL (Quake or 3DGS) files.

This must be a valid path to a file. The file is 768 (256*3) bytes large and contains RGB triplets for each of the 256 palette entries. The default value is colormap.lmp. If the file is not found, a default palette (from Quake 1) is used. Property type: string.

◆ AI_CONFIG_IMPORT_MDL_HL1_READ_ANIMATION_EVENTS

#define AI_CONFIG_IMPORT_MDL_HL1_READ_ANIMATION_EVENTS "IMPORT_MDL_HL1_READ_ANIMATION_EVENTS"

Set whether the MDL (HL1) importer will read animation events.

Note
This property requires AI_CONFIG_IMPORT_MDL_HL1_READ_ANIMATIONS to be set to true.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_MDL_HL1_READ_ANIMATIONS

#define AI_CONFIG_IMPORT_MDL_HL1_READ_ANIMATIONS "IMPORT_MDL_HL1_READ_ANIMATIONS"

Set whether the MDL (HL1) importer will read animations.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_MDL_HL1_READ_ATTACHMENTS

#define AI_CONFIG_IMPORT_MDL_HL1_READ_ATTACHMENTS "IMPORT_MDL_HL1_READ_ATTACHMENTS"

Set whether the MDL (HL1) importer will read attachments info.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_MDL_HL1_READ_BLEND_CONTROLLERS

#define AI_CONFIG_IMPORT_MDL_HL1_READ_BLEND_CONTROLLERS "IMPORT_MDL_HL1_READ_BLEND_CONTROLLERS"

Set whether the MDL (HL1) importer will read blend controllers.

Note
This property requires AI_CONFIG_IMPORT_MDL_HL1_READ_ANIMATIONS to be set to true.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_MDL_HL1_READ_BONE_CONTROLLERS

#define AI_CONFIG_IMPORT_MDL_HL1_READ_BONE_CONTROLLERS "IMPORT_MDL_HL1_READ_BONE_CONTROLLERS"

Set whether the MDL (HL1) importer will read bone controllers info.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_MDL_HL1_READ_HITBOXES

#define AI_CONFIG_IMPORT_MDL_HL1_READ_HITBOXES "IMPORT_MDL_HL1_READ_HITBOXES"

Set whether the MDL (HL1) importer will read hitboxes info.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_MDL_HL1_READ_MISC_GLOBAL_INFO

#define AI_CONFIG_IMPORT_MDL_HL1_READ_MISC_GLOBAL_INFO "IMPORT_MDL_HL1_READ_MISC_GLOBAL_INFO"

Set whether the MDL (HL1) importer will read miscellaneous global model info.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_MDL_HL1_READ_SEQUENCE_TRANSITIONS

#define AI_CONFIG_IMPORT_MDL_HL1_READ_SEQUENCE_TRANSITIONS "IMPORT_MDL_HL1_READ_SEQUENCE_TRANSITIONS"

Set whether the MDL (HL1) importer will read sequence transition graph.

Note
This property requires AI_CONFIG_IMPORT_MDL_HL1_READ_ANIMATIONS to be set to true.

The default value is true (1) Property type: bool

◆ AI_CONFIG_IMPORT_MDL_KEYFRAME

#define AI_CONFIG_IMPORT_MDL_KEYFRAME "IMPORT_MDL_KEYFRAME"

◆ AI_CONFIG_IMPORT_NO_SKELETON_MESHES

#define AI_CONFIG_IMPORT_NO_SKELETON_MESHES "IMPORT_NO_SKELETON_MESHES"

Global setting to disable generation of skeleton dummy meshes.

Skeleton dummy meshes are generated as a visualization aid in cases which the input data contains no geometry, but only animation data. Property data type: bool. Default value: false

◆ AI_CONFIG_IMPORT_OGRE_MATERIAL_FILE

#define AI_CONFIG_IMPORT_OGRE_MATERIAL_FILE "IMPORT_OGRE_MATERIAL_FILE"

Ogre Importer will try to find referenced materials from this file.

Ogre meshes reference with material names, this does not tell Assimp the file where it is located in. Assimp will try to find the source file in the following order: <material-name>.material, <mesh-filename-base>.material and lastly the material name defined by this config property.
Property type: String. Default value: Scene.material.

◆ AI_CONFIG_IMPORT_OGRE_TEXTURETYPE_FROM_FILENAME

#define AI_CONFIG_IMPORT_OGRE_TEXTURETYPE_FROM_FILENAME "IMPORT_OGRE_TEXTURETYPE_FROM_FILENAME"

Ogre Importer detect the texture usage from its filename.

Ogre material texture units do not define texture type, the textures usage depends on the used shader or Ogre's fixed pipeline. If this config property is true Assimp will try to detect the type from the textures filename postfix: _n, _nrm, _nrml, _normal, _normals and _normalmap for normal map, _s, _spec, _specular and _specularmap for specular map, _l, _light, _lightmap, _occ and _occlusion for light map, _disp and _displacement for displacement map. The matching is case insensitive. Post fix is taken between the last underscore and the last period. Default behavior is to detect type from lower cased texture unit name by matching against: normalmap, specularmap, lightmap and displacementmap. For both cases if no match is found aiTextureType_DIFFUSE is used.
Property type: Bool. Default value: false.

◆ AI_CONFIG_IMPORT_REMOVE_EMPTY_BONES

#define AI_CONFIG_IMPORT_REMOVE_EMPTY_BONES "AI_CONFIG_IMPORT_REMOVE_EMPTY_BONES"

Set wether the importer shall not remove empty bones.

Empty bone are often used to define connections for other models.

◆ AI_CONFIG_IMPORT_SMD_KEYFRAME

#define AI_CONFIG_IMPORT_SMD_KEYFRAME "IMPORT_SMD_KEYFRAME"

◆ AI_CONFIG_IMPORT_SMD_LOAD_ANIMATION_LIST

#define AI_CONFIG_IMPORT_SMD_LOAD_ANIMATION_LIST "IMPORT_SMD_LOAD_ANIMATION_LIST"

Smd load multiple animations.

Property type: bool. Default value: true.

◆ AI_CONFIG_IMPORT_TER_MAKE_UVS

#define AI_CONFIG_IMPORT_TER_MAKE_UVS "IMPORT_TER_MAKE_UVS"

Configures the terragen import plugin to compute uv's for terrains, if not given.

Furthermore a default texture is assigned.

UV coordinates for terrains are so simple to compute that you'll usually want to compute them on your own, if you need them. This option is intended for model viewers which want to offer an easy way to apply textures to terrains.

  • Property type: bool. Default value: false.

◆ AI_CONFIG_IMPORT_UNREAL_HANDLE_FLAGS

#define AI_CONFIG_IMPORT_UNREAL_HANDLE_FLAGS "UNREAL_HANDLE_FLAGS"

Configures the UNREAL 3D loader to separate faces with different surface flags (e.g.

two-sided vs. single-sided).

  • Property type: bool. Default value: true.

◆ AI_CONFIG_IMPORT_UNREAL_KEYFRAME

#define AI_CONFIG_IMPORT_UNREAL_KEYFRAME "IMPORT_UNREAL_KEYFRAME"

◆ AI_CONFIG_PP_CT_MAX_SMOOTHING_ANGLE

#define AI_CONFIG_PP_CT_MAX_SMOOTHING_ANGLE "PP_CT_MAX_SMOOTHING_ANGLE"

Specifies the maximum angle that may be between two vertex tangents that their tangents and bi-tangents are smoothed.

This applies to the CalcTangentSpace-Step. The angle is specified in degrees. The maximum value is 175. Property type: float. Default value: 45 degrees

◆ AI_CONFIG_PP_CT_TEXTURE_CHANNEL_INDEX

#define AI_CONFIG_PP_CT_TEXTURE_CHANNEL_INDEX "PP_CT_TEXTURE_CHANNEL_INDEX"

Source UV channel for tangent space computation.

The specified channel must exist or an error will be raised. Property type: integer. Default value: 0

◆ AI_CONFIG_PP_DB_ALL_OR_NONE

#define AI_CONFIG_PP_DB_ALL_OR_NONE "PP_DB_ALL_OR_NONE"

Require all bones qualify for deboning before removing any.

This is used by the aiProcess_Debone PostProcess-Step.

Note
The default value is 0 Property type: bool.

◆ AI_CONFIG_PP_DB_THRESHOLD

#define AI_CONFIG_PP_DB_THRESHOLD "PP_DB_THRESHOLD"

Lower the deboning threshold in order to remove more bones.

This is used by the aiProcess_Debone PostProcess-Step.

Note
The default value is AI_DEBONE_THRESHOLD Property type: float.

◆ AI_CONFIG_PP_FD_CHECKAREA

#define AI_CONFIG_PP_FD_CHECKAREA "PP_FD_CHECKAREA"

Configures the aiProcess_FindDegenerates to check the area of a trinagle to be greates than e-6.

If this is not the case the triangle will be removed if AI_CONFIG_PP_FD_REMOVE is set to true.

◆ AI_CONFIG_PP_FD_REMOVE

#define AI_CONFIG_PP_FD_REMOVE "PP_FD_REMOVE"

Configures the aiProcess_FindDegenerates step to remove degenerated primitives from the import - immediately.

The default behaviour converts degenerated triangles to lines and degenerated lines to points. See the documentation to the aiProcess_FindDegenerates step for a detailed example of the various ways to get rid of these lines and points if you don't want them. Property type: bool. Default value: false.

◆ AI_CONFIG_PP_FID_ANIM_ACCURACY

#define AI_CONFIG_PP_FID_ANIM_ACCURACY "PP_FID_ANIM_ACCURACY"

Input parameter to the aiProcess_FindInvalidData step: Specifies the floating-point accuracy for animation values.

The step checks for animation tracks where all frame values are absolutely equal and removes them. This tweakable controls the epsilon for floating-point comparisons - two keys are considered equal if the invariant abs(n0-n1)>epsilon holds true for all vector respectively quaternion components. The default value is 0.f - comparisons are exact then.

◆ AI_CONFIG_PP_FID_IGNORE_TEXTURECOORDS

#define AI_CONFIG_PP_FID_IGNORE_TEXTURECOORDS "PP_FID_IGNORE_TEXTURECOORDS"

Input parameter to the aiProcess_FindInvalidData step: Set to true to ignore texture coordinates.

This may be useful if you have to assign different kind of textures like one for the summer or one for the winter.

◆ AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE

#define AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE "PP_GSN_MAX_SMOOTHING_ANGLE"

Specifies the maximum angle that may be between two face normals at the same vertex position that their are smoothed together.

Sometimes referred to as 'crease angle'. This applies to the GenSmoothNormals-Step. The angle is specified in degrees, so 180 is PI. The default value is 175 degrees (all vertex normals are smoothed). The maximum value is 175, too. Property type: float. Warning: setting this option may cause a severe loss of performance. The performance is unaffected if the AI_CONFIG_FAVOUR_SPEED flag is set but the output quality may be reduced.

◆ AI_CONFIG_PP_ICL_PTCACHE_SIZE

#define AI_CONFIG_PP_ICL_PTCACHE_SIZE "PP_ICL_PTCACHE_SIZE"

Set the size of the post-transform vertex cache to optimize the vertices for.

This configures the aiProcess_ImproveCacheLocality step.

The size is given in vertices. Of course you can't know how the vertex format will exactly look like after the import returns, but you can still guess what your meshes will probably have.

Note
The default value is PP_ICL_PTCACHE_SIZE. That results in slight performance improvements for most nVidia/AMD cards since 2002. Property type: integer.

◆ AI_CONFIG_PP_LBW_MAX_WEIGHTS

#define AI_CONFIG_PP_LBW_MAX_WEIGHTS "PP_LBW_MAX_WEIGHTS"

Set the maximum number of bones affecting a single vertex.

This is used by the aiProcess_LimitBoneWeights PostProcess-Step.

Note
The default value is AI_LMW_MAX_WEIGHTS Property type: integer.

◆ AI_CONFIG_PP_OG_EXCLUDE_LIST

#define AI_CONFIG_PP_OG_EXCLUDE_LIST "PP_OG_EXCLUDE_LIST"

Configures the aiProcess_OptimizeGraph step to preserve nodes matching a name in a given list.

This is a list of 1 to n strings, ' ' serves as delimiter character. Identifiers containing whitespaces must be enclosed in single quotation marks. For example: "keep-me and_me_to anotherNodeToBeKept \'name with whitespace\'". If a node matches on of these names, it will not be modified or removed by the postprocessing step.
This option might be useful if you are using some magic node names to pass additional semantics through the content pipeline. This ensures they won't be optimized away, but a general optimization is still performed for nodes not contained in the list. Property type: String. Default value: n/a

Note
Linefeeds, tabs or carriage returns are treated as whitespace. Node names are case sensitive.

◆ AI_CONFIG_PP_PTV_ADD_ROOT_TRANSFORMATION

#define AI_CONFIG_PP_PTV_ADD_ROOT_TRANSFORMATION "PP_PTV_ADD_ROOT_TRANSFORMATION"

Configures the aiProcess_PreTransformVertices step to use a users defined matrix as the scene root node transformation before transforming vertices.

Property type: bool. Default value: false.

◆ AI_CONFIG_PP_PTV_KEEP_HIERARCHY

#define AI_CONFIG_PP_PTV_KEEP_HIERARCHY "PP_PTV_KEEP_HIERARCHY"

Configures the aiProcess_PreTransformVertices step to keep the scene hierarchy.

Meshes are moved to worldspace, but no optimization is performed (read: meshes with equal materials are not joined. The total number of meshes won't change).

This option could be of use for you if the scene hierarchy contains important additional information which you intend to parse. For rendering, you can still render all meshes in the scene without any transformations. Property type: bool. Default value: false.

◆ AI_CONFIG_PP_PTV_NORMALIZE

#define AI_CONFIG_PP_PTV_NORMALIZE "PP_PTV_NORMALIZE"

Configures the aiProcess_PreTransformVertices step to normalize all vertex components into the [-1,1] range.

That is, a bounding box for the whole scene is computed, the maximum component is taken and all meshes are scaled appropriately (uniformly of course!). This might be useful if you don't know the spatial dimension of the input data

◆ AI_CONFIG_PP_PTV_ROOT_TRANSFORMATION

#define AI_CONFIG_PP_PTV_ROOT_TRANSFORMATION "PP_PTV_ROOT_TRANSFORMATION"

Configures the aiProcess_PreTransformVertices step to use a users defined matrix as the scene root node transformation before transforming vertices.

This property correspond to the 'a1' component of the transformation matrix. Property type: aiMatrix4x4.

◆ AI_CONFIG_PP_RRM_EXCLUDE_LIST

#define AI_CONFIG_PP_RRM_EXCLUDE_LIST "PP_RRM_EXCLUDE_LIST"

Configures the aiProcess_RemoveRedundantMaterials step to keep materials matching a name in a given list.

This is a list of 1 to n strings, ' ' serves as delimiter character. Identifiers containing whitespaces must be enclosed in single quotation marks. For example: "keep-me and_me_to anotherMaterialToBeKept \'name with whitespace\'". If a material matches on of these names, it will not be modified or removed by the postprocessing step nor will other materials be replaced by a reference to it.
This option might be useful if you are using some magic material names to pass additional semantics through the content pipeline. This ensures they won't be optimized away, but a general optimization is still performed for materials not contained in the list. Property type: String. Default value: n/a

Note
Linefeeds, tabs or carriage returns are treated as whitespace. Material names are case sensitive.

◆ AI_CONFIG_PP_RVC_FLAGS

#define AI_CONFIG_PP_RVC_FLAGS "PP_RVC_FLAGS"

Input parameter to the aiProcess_RemoveComponent step: Specifies the parts of the data structure to be removed.

See the documentation to this step for further details. The property is expected to be an integer, a bitwise combination of the aiComponent flags defined above in this header. The default value is 0. Important: if no valid mesh is remaining after the step has been executed (e.g you thought it was funny to specify ALL of the flags defined above) the import FAILS. Mainly because there is no data to work on anymore ...

◆ AI_CONFIG_PP_SBBC_MAX_BONES

#define AI_CONFIG_PP_SBBC_MAX_BONES "PP_SBBC_MAX_BONES"

Maximum bone count per mesh for the SplitbyBoneCount step.

Meshes are split until the maximum number of bones is reached. The default value is AI_SBBC_DEFAULT_MAX_BONES, which may be altered at compile-time. Property data type: integer.

◆ AI_CONFIG_PP_SBP_REMOVE

#define AI_CONFIG_PP_SBP_REMOVE "PP_SBP_REMOVE"

Input parameter to the aiProcess_SortByPType step: Specifies which primitive types are removed by the step.

This is a bitwise combination of the aiPrimitiveType flags. Specifying all of them is illegal, of course. A typical use would be to exclude all line and point meshes from the import. This is an integer property, its default value is 0.

◆ AI_CONFIG_PP_SLM_TRIANGLE_LIMIT

#define AI_CONFIG_PP_SLM_TRIANGLE_LIMIT "PP_SLM_TRIANGLE_LIMIT"

Set the maximum number of triangles in a mesh.

This is used by the "SplitLargeMeshes" PostProcess-Step to determine whether a mesh must be split or not.

Note
The default value is AI_SLM_DEFAULT_MAX_TRIANGLES Property type: integer.

◆ AI_CONFIG_PP_SLM_VERTEX_LIMIT

#define AI_CONFIG_PP_SLM_VERTEX_LIMIT "PP_SLM_VERTEX_LIMIT"

Set the maximum number of vertices in a mesh.

This is used by the "SplitLargeMeshes" PostProcess-Step to determine whether a mesh must be split or not.

Note
The default value is AI_SLM_DEFAULT_MAX_VERTICES Property type: integer.

◆ AI_CONFIG_PP_TUV_EVALUATE

#define AI_CONFIG_PP_TUV_EVALUATE "PP_TUV_EVALUATE"

Input parameter to the aiProcess_TransformUVCoords step: Specifies which UV transformations are evaluated.

This is a bitwise combination of the AI_UVTRAFO_XXX flags (integer property, of course). By default all transformations are enabled (AI_UVTRAFO_ALL).

◆ AI_DEBONE_THRESHOLD

#define AI_DEBONE_THRESHOLD 1.0f

◆ AI_IMPORT_IFC_DEFAULT_CYLINDRICAL_TESSELLATION

#define AI_IMPORT_IFC_DEFAULT_CYLINDRICAL_TESSELLATION 32

◆ AI_IMPORT_IFC_DEFAULT_SMOOTHING_ANGLE

#define AI_IMPORT_IFC_DEFAULT_SMOOTHING_ANGLE 10.0f

◆ AI_LMW_MAX_WEIGHTS

#define AI_LMW_MAX_WEIGHTS 0x4

◆ AI_SBBC_DEFAULT_MAX_BONES

#define AI_SBBC_DEFAULT_MAX_BONES 60

◆ AI_SLM_DEFAULT_MAX_TRIANGLES

#define AI_SLM_DEFAULT_MAX_TRIANGLES 1000000

◆ AI_SLM_DEFAULT_MAX_VERTICES

#define AI_SLM_DEFAULT_MAX_VERTICES 1000000

◆ AI_UVTRAFO_ALL

#define AI_UVTRAFO_ALL (AI_UVTRAFO_SCALING | AI_UVTRAFO_ROTATION | AI_UVTRAFO_TRANSLATION)

◆ AI_UVTRAFO_ROTATION

#define AI_UVTRAFO_ROTATION 0x2

◆ AI_UVTRAFO_SCALING

#define AI_UVTRAFO_SCALING 0x1

◆ AI_UVTRAFO_TRANSLATION

#define AI_UVTRAFO_TRANSLATION 0x4

◆ aiComponent_COLORSn

#define aiComponent_COLORSn ( n ) (1u << (n+20u))

◆ aiComponent_TEXCOORDSn

#define aiComponent_TEXCOORDSn ( n ) (1u << (n+25u))

◆ PP_ICL_PTCACHE_SIZE

#define PP_ICL_PTCACHE_SIZE 12

Default value for the AI_CONFIG_PP_ICL_PTCACHE_SIZE property.

Enumeration Type Documentation

◆ aiComponent

enum aiComponent

Enumerates components of the aiScene and aiMesh data structures that can be excluded from the import using the aiProcess_RemoveComponent step.

See the documentation to aiProcess_RemoveComponent for more details.

Enumerator
aiComponent_NORMALS | Normal vectors.
aiComponent_TANGENTS_AND_BITANGENTS | Tangents and bitangents go always together ...
aiComponent_COLORS | ALL color sets Use aiComponent_COLORn(N) to specify the N'th set.
aiComponent_TEXCOORDS | ALL texture UV sets aiComponent_TEXCOORDn(N) to specify the N'th set.
aiComponent_BONEWEIGHTS | Removes all bone weights from all meshes. The scenegraph nodes corresponding to the bones are NOT removed. use the aiProcess_OptimizeGraph step to do this
aiComponent_ANIMATIONS | Removes all node animations (aiScene::mAnimations). The corresponding scenegraph nodes are NOT removed. use the aiProcess_OptimizeGraph step to do this
aiComponent_TEXTURES | Removes all embedded textures (aiScene::mTextures)
aiComponent_LIGHTS | Removes all light sources (aiScene::mLights). The corresponding scenegraph nodes are NOT removed. use the aiProcess_OptimizeGraph step to do this
aiComponent_CAMERAS | Removes all cameras (aiScene::mCameras). The corresponding scenegraph nodes are NOT removed. use the aiProcess_OptimizeGraph step to do this
aiComponent_MESHES | Removes all meshes (aiScene::mMeshes).
aiComponent_MATERIALS | Removes all materials. One default material will be generated, so aiScene::mNumMaterials will be 1.
_aiComponent_Force32Bit | This value is not used. It is just there to force the compiler to map this enum to a 32 Bit integer.
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: CreateAnimMesh.h File Reference

  • include
  • assimp
Namespaces | Macros | Functions
CreateAnimMesh.h File Reference

Create AnimMesh from Mesh. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define INCLUDED_AI_CREATE_ANIM_MESH_H

Functions

ASSIMP_API aiAnimMesh * Assimp::aiCreateAnimMesh (const aiMesh *mesh, bool needPositions=true, bool needNormals=true, bool needTangents=true, bool needColors=true, bool needTexCoords=true)
Create aiAnimMesh from aiMesh. More...

Detailed Description

Create AnimMesh from Mesh.

Macro Definition Documentation

◆ INCLUDED_AI_CREATE_ANIM_MESH_H

#define INCLUDED_AI_CREATE_ANIM_MESH_H
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: DefaultIOStream.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
DefaultIOStream.h File Reference

Classes

class Assimp::DefaultIOStream
Default IO implementation, use standard IO operations. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_DEFAULTIOSTREAM_H_INC

Macro Definition Documentation

◆ AI_DEFAULTIOSTREAM_H_INC

#define AI_DEFAULTIOSTREAM_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: DefaultIOSystem.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
DefaultIOSystem.h File Reference

Classes

class Assimp::DefaultIOSystem
Default implementation of IOSystem using the standard C file functions. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_DEFAULTIOSYSTEM_H_INC

Macro Definition Documentation

◆ AI_DEFAULTIOSYSTEM_H_INC

#define AI_DEFAULTIOSYSTEM_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: DefaultLogger.hpp File Reference

  • include
  • assimp
Classes | Namespaces | Macros
DefaultLogger.hpp File Reference

Classes

class Assimp::DefaultLogger
CPP-API: Primary logging facility of Assimp. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define ASSIMP_DEFAULT_LOG_NAME "AssimpLog.txt"
default name of logfile More...

Macro Definition Documentation

◆ ASSIMP_DEFAULT_LOG_NAME

#define ASSIMP_DEFAULT_LOG_NAME "AssimpLog.txt"

default name of logfile

Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: Defines.h File Reference

  • include
  • assimp
Macros
Defines.h File Reference

Macros

#define | AI_DEFINES_H_INC
#define | SIZE_MAX (~((size_t)0))
#define | UINT_MAX (~((unsigned int)0))

Macro Definition Documentation

◆ AI_DEFINES_H_INC

#define AI_DEFINES_H_INC

◆ SIZE_MAX

#define SIZE_MAX (~((size_t)0))

◆ UINT_MAX

#define UINT_MAX (~((unsigned int)0))
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: defs.h File Reference

  • include
  • assimp
Macros | Typedefs | Variables
defs.h File Reference

Assimp build configuration setup. More...

Macros

#define | AI_DEBUG_INVALIDATE_PTR(x) x = NULL;
Helper macro to set a pointer to NULL in debug builds. More...
#define | AI_DEFINES_H_INC
#define | AI_DEG_TO_RAD(x) ((x) * (ai_real)0.0174532925)
#define | AI_FORCE_INLINE inline
#define | AI_MATH_HALF_PI (AI_MATH_PI * 0.5)
#define | AI_MATH_HALF_PI_F (AI_MATH_PI_F * 0.5f)
#define | AI_MATH_PI (3.141592653589793238462643383279)
#define | AI_MATH_PI_F (3.1415926538f)
#define | AI_MATH_TWO_PI (AI_MATH_PI * 2.0)
#define | AI_MATH_TWO_PI_F (AI_MATH_PI_F * 2.0f)
#define | AI_MAX_ALLOC(type) ((256U * 1024 * 1024) / sizeof(type))
To avoid running out of memory This can be adjusted for specific use cases It's NOT a total limit, just a limit for individual allocations. More...
#define | AI_NO_EXCEPT
#define | AI_RAD_TO_DEG(x) ((x) * (ai_real)57.2957795)
#define | AI_WONT_RETURN
#define | AI_WONT_RETURN_SUFFIX
#define | ASSIMP_AI_REAL_TEXT_PRECISION 8
#define | ASSIMP_API __attribute__((visibility("default")))
#define | ASSIMP_API_WINONLY
#define | ASSIMP_BUILD_DEBUG
#define | ASSIMP_BUILD_NEED_UNZIP
#define | ASSIMP_BUILD_NEED_UNZIP
#define | ASSIMP_BUILD_NEED_Z_INFLATE
#define | ASSIMP_BUILD_NEED_Z_INFLATE
#define | ASSIMP_BUILD_NEED_Z_INFLATE
#define | ASSIMP_BUILD_NEED_Z_INFLATE
#define | ASSIMP_BUILD_SINGLETHREADED
#define | C_ENUM
#define | C_STRUCT

Typedefs

typedef signed int | ai_int
typedef float | ai_real
typedef unsigned int | ai_uint

Variables

static const ai_real ai_epsilon = (ai_real)0.00001

Detailed Description

Assimp build configuration setup.

See the notes in the comment blocks to find out how to customize your Assimp build.

Macro Definition Documentation

◆ AI_DEBUG_INVALIDATE_PTR

#define AI_DEBUG_INVALIDATE_PTR ( x ) x = NULL;

Helper macro to set a pointer to NULL in debug builds.

◆ AI_DEFINES_H_INC

#define AI_DEFINES_H_INC

◆ AI_DEG_TO_RAD

#define AI_DEG_TO_RAD ( x ) ((x) * (ai_real)0.0174532925)

◆ AI_FORCE_INLINE

#define AI_FORCE_INLINE inline

◆ AI_MATH_HALF_PI

#define AI_MATH_HALF_PI (AI_MATH_PI * 0.5)

◆ AI_MATH_HALF_PI_F

#define AI_MATH_HALF_PI_F (AI_MATH_PI_F * 0.5f)

◆ AI_MATH_PI

#define AI_MATH_PI (3.141592653589793238462643383279)

◆ AI_MATH_PI_F

#define AI_MATH_PI_F (3.1415926538f)

◆ AI_MATH_TWO_PI

#define AI_MATH_TWO_PI (AI_MATH_PI * 2.0)

◆ AI_MATH_TWO_PI_F

#define AI_MATH_TWO_PI_F (AI_MATH_PI_F * 2.0f)

◆ AI_MAX_ALLOC

#define AI_MAX_ALLOC ( type ) ((256U * 1024 * 1024) / sizeof(type))

To avoid running out of memory This can be adjusted for specific use cases It's NOT a total limit, just a limit for individual allocations.

◆ AI_NO_EXCEPT

#define AI_NO_EXCEPT

◆ AI_RAD_TO_DEG

#define AI_RAD_TO_DEG ( x ) ((x) * (ai_real)57.2957795)

◆ AI_WONT_RETURN

#define AI_WONT_RETURN

◆ AI_WONT_RETURN_SUFFIX

#define AI_WONT_RETURN_SUFFIX

◆ ASSIMP_AI_REAL_TEXT_PRECISION

#define ASSIMP_AI_REAL_TEXT_PRECISION 8

◆ ASSIMP_API

#define ASSIMP_API __attribute__((visibility("default")))

◆ ASSIMP_API_WINONLY

#define ASSIMP_API_WINONLY

◆ ASSIMP_BUILD_DEBUG

#define ASSIMP_BUILD_DEBUG

◆ ASSIMP_BUILD_NEED_UNZIP [1/2]

#define ASSIMP_BUILD_NEED_UNZIP

◆ ASSIMP_BUILD_NEED_UNZIP [2/2]

#define ASSIMP_BUILD_NEED_UNZIP

◆ ASSIMP_BUILD_NEED_Z_INFLATE [1/4]

#define ASSIMP_BUILD_NEED_Z_INFLATE

◆ ASSIMP_BUILD_NEED_Z_INFLATE [2/4]

#define ASSIMP_BUILD_NEED_Z_INFLATE

◆ ASSIMP_BUILD_NEED_Z_INFLATE [3/4]

#define ASSIMP_BUILD_NEED_Z_INFLATE

◆ ASSIMP_BUILD_NEED_Z_INFLATE [4/4]

#define ASSIMP_BUILD_NEED_Z_INFLATE

◆ ASSIMP_BUILD_SINGLETHREADED

#define ASSIMP_BUILD_SINGLETHREADED

◆ C_ENUM

#define C_ENUM

◆ C_STRUCT

#define C_STRUCT

Typedef Documentation

◆ ai_int

typedef signed int ai_int

◆ ai_real

typedef float ai_real

◆ ai_uint

typedef unsigned int ai_uint

Variable Documentation

◆ ai_epsilon

const ai_real ai_epsilon = (ai_real)0.00001
static
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: dox.h File Reference

  • doc
dox.h File Reference

General documentation built from a doxygen comment. More...

Detailed Description

General documentation built from a doxygen comment.

Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: Exceptional.h File Reference

  • include
  • assimp
Classes | Macros
Exceptional.h File Reference

Classes

class | DeadlyErrorBase
class | DeadlyExportError
class | DeadlyImportError
FOR IMPORTER PLUGINS ONLY: Simple exception class to be thrown if an unrecoverable error occurs while importing. More...
struct | ExceptionSwallower< T >
struct | ExceptionSwallower< aiReturn >
struct | ExceptionSwallower< T * >
struct | ExceptionSwallower< void >

Macros

#define | AI_INCLUDED_EXCEPTIONAL_H
#define | ASSIMP_BEGIN_EXCEPTION_REGION()
#define | ASSIMP_END_EXCEPTION_REGION(type)
#define | ASSIMP_END_EXCEPTION_REGION_WITH_ERROR_STRING(type, ASSIMP_END_EXCEPTION_REGION_errorString, ASSIMP_END_EXCEPTION_REGION_exception)

Macro Definition Documentation

◆ AI_INCLUDED_EXCEPTIONAL_H

#define AI_INCLUDED_EXCEPTIONAL_H

◆ ASSIMP_BEGIN_EXCEPTION_REGION

#define ASSIMP_BEGIN_EXCEPTION_REGION ( )
Value:
{ \
try {

◆ ASSIMP_END_EXCEPTION_REGION

#define ASSIMP_END_EXCEPTION_REGION ( type )
Value:
} \
catch (...) { \
return ExceptionSwallower<type>()(); \
} \
}
ExceptionSwallower
Definition: Exceptional.h:94

◆ ASSIMP_END_EXCEPTION_REGION_WITH_ERROR_STRING

#define ASSIMP_END_EXCEPTION_REGION_WITH_ERROR_STRING | ( | type,
 |  | ASSIMP_END_EXCEPTION_REGION_errorString,
 |  | ASSIMP_END_EXCEPTION_REGION_exception
 | ) |
Value:
} \
catch (const DeadlyImportError &e) { \
ASSIMP_END_EXCEPTION_REGION_errorString = e.what(); \
ASSIMP_END_EXCEPTION_REGION_exception = std::current_exception(); \
return ExceptionSwallower<type>()(); \
} \
catch (...) { \
ASSIMP_END_EXCEPTION_REGION_errorString = "Unknown exception"; \
ASSIMP_END_EXCEPTION_REGION_exception = std::current_exception(); \
return ExceptionSwallower<type>()(); \
} \
}
ExceptionSwallower
Definition: Exceptional.h:94
DeadlyImportError
FOR IMPORTER PLUGINS ONLY: Simple exception class to be thrown if an unrecoverable error occurs while...
Definition: Exceptional.h:72
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: Exporter.hpp File Reference

  • include
  • assimp
Classes | Namespaces | Macros | Variables
Exporter.hpp File Reference

Defines the CPP-API for the Assimp export interface. More...

Classes

class | Assimp::Exporter
struct | Assimp::Exporter::ExportFormatEntry
Internal description of an Assimp export format option. More...
class | Assimp::ExportProperties

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_EXPORT_HPP_INC

Variables

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

Detailed Description

Defines the CPP-API for the Assimp export interface.

Macro Definition Documentation

◆ AI_EXPORT_HPP_INC

#define AI_EXPORT_HPP_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: fast_atof.h File Reference

  • include
  • assimp
Namespaces | Macros | Functions | Variables
fast_atof.h File Reference

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define | AI_FAST_ATOF_RELAVANT_DECIMALS 15
#define | FAST_A_TO_F_H_INCLUDED

Functions

template<typename ExceptionType = DeadlyImportError>
ai_real | Assimp::fast_atof (const char *c)
template<typename ExceptionType = DeadlyImportError>
ai_real | Assimp::fast_atof (const char *c, const char **cout)
template<typename ExceptionType = DeadlyImportError>
ai_real | Assimp::fast_atof (const char **inout)
template<typename Real , typename ExceptionType = DeadlyImportError>
const char * | Assimp::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...
unsigned int | Assimp::HexDigitToDecimal (char in)
uint8_t | Assimp::HexOctetToDecimal (const char *in)
int | Assimp::strtol10 (const char *in, const char **out=0)
template<typename ExceptionType = DeadlyImportError>
int64_t | Assimp::strtol10_64 (const char *in, const char **out=0, unsigned int *max_inout=0)
unsigned int | Assimp::strtoul10 (const char *in, const char **out=0)
template<typename ExceptionType = DeadlyImportError>
uint64_t | Assimp::strtoul10_64 (const char *in, const char **out=0, unsigned int *max_inout=0)
unsigned int | Assimp::strtoul16 (const char *in, const char **out=0)
unsigned int | Assimp::strtoul8 (const char *in, const char **out=0)
unsigned int | Assimp::strtoul_cppstyle (const char *in, const char **out=0)

Variables

const double Assimp::fast_atof_table [16]

Macro Definition Documentation

◆ AI_FAST_ATOF_RELAVANT_DECIMALS

#define AI_FAST_ATOF_RELAVANT_DECIMALS 15

◆ FAST_A_TO_F_H_INCLUDED

#define FAST_A_TO_F_H_INCLUDED
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: GenericProperty.h File Reference

  • include
  • assimp
Macros | Functions
GenericProperty.h File Reference

Macros

#define AI_GENERIC_PROPERTY_H_INCLUDED

Functions

template<class T >
const T & | GetGenericProperty (const std::map< unsigned int, T > &list, const char *szName, const T &errorReturn)
template<class T >
bool | HasGenericProperty (const std::map< unsigned int, T > &list, const char *szName)
template<class T >
bool | SetGenericProperty (std::map< unsigned int, T > &list, const char *szName, const T &value)
template<class T >
void | SetGenericPropertyPtr (std::map< unsigned int, T *> &list, const char *szName, T *value, bool *bWasExisting=nullptr)

Macro Definition Documentation

◆ AI_GENERIC_PROPERTY_H_INCLUDED

#define AI_GENERIC_PROPERTY_H_INCLUDED

Function Documentation

◆ GetGenericProperty()

template<class T >
const T& GetGenericProperty | ( | const std::map< unsigned int, T > & | list,
 |  | const char * | szName,
 |  | const T & | errorReturn
 | ) |  |
inline

◆ HasGenericProperty()

template<class T >
bool HasGenericProperty | ( | const std::map< unsigned int, T > & | list,
 |  | const char * | szName
 | ) |  |
inline

◆ SetGenericProperty()

template<class T >
bool SetGenericProperty | ( | std::map< unsigned int, T > & | list,
 |  | const char * | szName,
 |  | const T & | value
 | ) |  |
inline

◆ SetGenericPropertyPtr()

template<class T >
void SetGenericPropertyPtr | ( | std::map< unsigned int, T *> & | list,
 |  | const char * | szName,
 |  | T * | value,
 |  | bool * | bWasExisting = nullptr
 | ) |  |
inline
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: Hash.h File Reference

  • include
  • assimp
Macros | Functions
Hash.h File Reference

Macros

#define | AI_HASH_H_INCLUDED
#define | get16bits(d)

Functions

uint32_t SuperFastHash (const char *data, uint32_t len=0, uint32_t hash=0)

Macro Definition Documentation

◆ AI_HASH_H_INCLUDED

#define AI_HASH_H_INCLUDED

◆ get16bits

#define get16bits ( d )
Value:
((((uint32_t)(((const uint8_t *)(d))[1])) << 8)\
+(uint32_t)(((const uint8_t *)(d))[0]) )

Function Documentation

◆ SuperFastHash()

uint32_t SuperFastHash | ( | const char * | data,
 |  | uint32_t | len = 0,
 |  | uint32_t | hash = 0
 | ) |  |
inline
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: Importer.hpp File Reference

  • include
  • assimp
Classes | Namespaces | Macros
Importer.hpp File Reference

Defines the C++-API to the Open Asset Import Library. More...

Classes

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

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define | AI_ASSIMP_HPP_INC
#define | AI_PROPERTY_WAS_NOT_EXISTING 0xffffffff

Detailed Description

Defines the C++-API to the Open Asset Import Library.

Macro Definition Documentation

◆ AI_ASSIMP_HPP_INC

#define AI_ASSIMP_HPP_INC

◆ AI_PROPERTY_WAS_NOT_EXISTING

#define AI_PROPERTY_WAS_NOT_EXISTING 0xffffffff
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: importerdesc.h File Reference

  • include
  • assimp
Classes | Macros | Enumerations | Functions
importerdesc.h File Reference

aiImporterFlags, aiImporterDesc implementation. More...

Classes

struct aiImporterDesc
Meta information about a particular importer. More...

Macros

#define AI_IMPORTER_DESC_H_INC

Enumerations

enum aiImporterFlags {
aiImporterFlags_SupportTextFlavour = 0x1, aiImporterFlags_SupportBinaryFlavour = 0x2, aiImporterFlags_SupportCompressedFlavour = 0x4, aiImporterFlags_LimitedSupport = 0x8,
aiImporterFlags_Experimental = 0x10
}
Mixed set of flags for aiImporterDesc, indicating some features common to many importers. More...

Functions

ASSIMP_API const C_STRUCT aiImporterDesc * aiGetImporterDesc (const char *extension)
Returns the Importer description for a given extension. More...

Detailed Description

aiImporterFlags, aiImporterDesc implementation.

Macro Definition Documentation

◆ AI_IMPORTER_DESC_H_INC

#define AI_IMPORTER_DESC_H_INC

Enumeration Type Documentation

◆ aiImporterFlags

enum aiImporterFlags

Mixed set of flags for aiImporterDesc, indicating some features common to many importers.

Enumerator
aiImporterFlags_SupportTextFlavour | Indicates that there is a textual encoding of the file format; and that it is supported.
aiImporterFlags_SupportBinaryFlavour | Indicates that there is a binary encoding of the file format; and that it is supported.
aiImporterFlags_SupportCompressedFlavour | Indicates that there is a compressed encoding of the file format; and that it is supported.
aiImporterFlags_LimitedSupport | Indicates that the importer reads only a very particular subset of the file format. This happens commonly for declarative or procedural formats which cannot easily be mapped to aiScene
aiImporterFlags_Experimental | Indicates that the importer is highly experimental and should be used with care. This only happens for trunk (i.e. SVN) versions, experimental code is not included in releases.

Function Documentation

◆ aiGetImporterDesc()

ASSIMP_API const C_STRUCT aiImporterDesc* aiGetImporterDesc ( const char * extension )

Returns the Importer description for a given extension.

Will return a nullptr if no assigned importer desc. was found for the given extension

Parameters
extension [in] The extension to look for
Returns
A pointer showing to the ImporterDesc,
See also
aiImporterDesc.
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: IOStream.hpp File Reference

  • include
  • assimp
Classes | Namespaces | Macros
IOStream.hpp File Reference

File I/O wrappers for C++. More...

Classes

class Assimp::IOStream
CPP-API: Class to handle file I/O for C++. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_IOSTREAM_H_INC

Detailed Description

File I/O wrappers for C++.

Macro Definition Documentation

◆ AI_IOSTREAM_H_INC

#define AI_IOSTREAM_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: IOStreamBuffer.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros | Functions
IOStreamBuffer.h File Reference

Classes

class Assimp::IOStreamBuffer< T >
Implementation of a cached stream buffer. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_IOSTREAMBUFFER_H_INC

Functions

static AI_FORCE_INLINE bool Assimp::isEndOfCache (size_t pos, size_t cacheSize)

Macro Definition Documentation

◆ AI_IOSTREAMBUFFER_H_INC

#define AI_IOSTREAMBUFFER_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: IOSystem.hpp File Reference

  • include
  • assimp
Classes | Namespaces | Macros
IOSystem.hpp File Reference

File system wrapper for C++. More...

Classes

class Assimp::IOSystem
CPP-API: Interface to the file system. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_IOSYSTEM_H_INC

Detailed Description

File system wrapper for C++.

Inherit this class to supply custom file handling logic to the Import library.

Macro Definition Documentation

◆ AI_IOSYSTEM_H_INC

#define AI_IOSYSTEM_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: light.h File Reference

  • include
  • assimp
Classes | Macros | Enumerations
light.h File Reference

Defines the aiLight data structure. More...

Classes

struct aiLight
Helper structure to describe a light source. More...

Macros

#define AI_LIGHT_H_INC

Enumerations

enum aiLightSourceType {
aiLightSource_UNDEFINED = 0x0, aiLightSource_DIRECTIONAL = 0x1, aiLightSource_POINT = 0x2, aiLightSource_SPOT = 0x3,
aiLightSource_AMBIENT = 0x4, aiLightSource_AREA = 0x5, _aiLightSource_Force32Bit = INT_MAX
}
Enumerates all supported types of light sources. More...

Detailed Description

Defines the aiLight data structure.

Macro Definition Documentation

◆ AI_LIGHT_H_INC

#define AI_LIGHT_H_INC

Enumeration Type Documentation

◆ aiLightSourceType

enum aiLightSourceType

Enumerates all supported types of light sources.

Enumerator
aiLightSource_UNDEFINED |
aiLightSource_DIRECTIONAL | A directional light source has a well-defined direction but is infinitely far away. That's quite a good approximation for sun light.
aiLightSource_POINT | A point light source has a well-defined position in space but no direction - it emits light in all directions. A normal bulb is a point light.
aiLightSource_SPOT | A spot light source emits light in a specific angle. It has a position and a direction it is pointing to. A good example for a spot light is a light spot in sport arenas.
aiLightSource_AMBIENT | The generic light level of the world, including the bounces of all other light sources. Typically, there's at most one ambient light in a scene. This light type doesn't have a valid position, direction, or other properties, just a color.
aiLightSource_AREA | An area light is a rectangle with predefined size that uniformly emits light from one of its sides. The position is center of the rectangle and direction is its normal vector.
_aiLightSource_Force32Bit | This value is not used. It is just there to force the compiler to map this enum to a 32 Bit integer.
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: LineSplitter.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
LineSplitter.h File Reference

LineSplitter, a helper class to iterate through all lines of a file easily. More...

Classes

class Assimp::LineSplitter
Usage: More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define INCLUDED_LINE_SPLITTER_H

Detailed Description

LineSplitter, a helper class to iterate through all lines of a file easily.

Works with StreamReader.

Macro Definition Documentation

◆ INCLUDED_LINE_SPLITTER_H

#define INCLUDED_LINE_SPLITTER_H
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: LogAux.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
LogAux.h File Reference

Common logging usage patterns for importer implementations. More...

Classes

class Assimp::LogFunctions< TDeriving >

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define INCLUDED_AI_LOGAUX_H

Detailed Description

Common logging usage patterns for importer implementations.

Macro Definition Documentation

◆ INCLUDED_AI_LOGAUX_H

#define INCLUDED_AI_LOGAUX_H
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: Logger.hpp File Reference

  • include
  • assimp
Classes | Namespaces | Macros
Logger.hpp File Reference

Abstract base class 'Logger', base of the logging system. More...

Classes

class Assimp::Logger
CPP-API: Abstract interface for logger implementations. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define | ASSIMP_LOG_DEBUG(string) Assimp::DefaultLogger::get()->debug(string)
#define | ASSIMP_LOG_DEBUG_F(string, ...) Assimp::DefaultLogger::get()->debug((Assimp::Formatter::format(string), __VA_ARGS__))
#define | ASSIMP_LOG_ERROR(string) Assimp::DefaultLogger::get()->error(string)
#define | ASSIMP_LOG_ERROR_F(string, ...) Assimp::DefaultLogger::get()->error((Assimp::Formatter::format(string), __VA_ARGS__))
#define | ASSIMP_LOG_INFO(string) Assimp::DefaultLogger::get()->info(string)
#define | ASSIMP_LOG_INFO_F(string, ...) Assimp::DefaultLogger::get()->info((Assimp::Formatter::format(string), __VA_ARGS__))
#define | ASSIMP_LOG_VERBOSE_DEBUG(string) Assimp::DefaultLogger::get()->verboseDebug(string)
#define | ASSIMP_LOG_VERBOSE_DEBUG_F(string, ...) Assimp::DefaultLogger::get()->verboseDebug((Assimp::Formatter::format(string), __VA_ARGS__))
#define | ASSIMP_LOG_WARN(string) Assimp::DefaultLogger::get()->warn(string)
#define | ASSIMP_LOG_WARN_F(string, ...) Assimp::DefaultLogger::get()->warn((Assimp::Formatter::format(string), __VA_ARGS__))
#define | MAX_LOG_MESSAGE_LENGTH 1024u

Detailed Description

Abstract base class 'Logger', base of the logging system.

Macro Definition Documentation

◆ ASSIMP_LOG_DEBUG

#define ASSIMP_LOG_DEBUG ( string ) Assimp::DefaultLogger::get()->debug(string)

◆ ASSIMP_LOG_DEBUG_F

#define ASSIMP_LOG_DEBUG_F | ( | string,
 |  | ...
 | ) | Assimp::DefaultLogger::get()->debug((Assimp::Formatter::format(string), __VA_ARGS__))

◆ ASSIMP_LOG_ERROR

#define ASSIMP_LOG_ERROR ( string ) Assimp::DefaultLogger::get()->error(string)

◆ ASSIMP_LOG_ERROR_F

#define ASSIMP_LOG_ERROR_F | ( | string,
 |  | ...
 | ) | Assimp::DefaultLogger::get()->error((Assimp::Formatter::format(string), __VA_ARGS__))

◆ ASSIMP_LOG_INFO

#define ASSIMP_LOG_INFO ( string ) Assimp::DefaultLogger::get()->info(string)

◆ ASSIMP_LOG_INFO_F

#define ASSIMP_LOG_INFO_F | ( | string,
 |  | ...
 | ) | Assimp::DefaultLogger::get()->info((Assimp::Formatter::format(string), __VA_ARGS__))

◆ ASSIMP_LOG_VERBOSE_DEBUG

#define ASSIMP_LOG_VERBOSE_DEBUG ( string ) Assimp::DefaultLogger::get()->verboseDebug(string)

◆ ASSIMP_LOG_VERBOSE_DEBUG_F

#define ASSIMP_LOG_VERBOSE_DEBUG_F | ( | string,
 |  | ...
 | ) | Assimp::DefaultLogger::get()->verboseDebug((Assimp::Formatter::format(string), __VA_ARGS__))

◆ ASSIMP_LOG_WARN

#define ASSIMP_LOG_WARN ( string ) Assimp::DefaultLogger::get()->warn(string)

◆ ASSIMP_LOG_WARN_F

#define ASSIMP_LOG_WARN_F | ( | string,
 |  | ...
 | ) | Assimp::DefaultLogger::get()->warn((Assimp::Formatter::format(string), __VA_ARGS__))

◆ MAX_LOG_MESSAGE_LENGTH

#define MAX_LOG_MESSAGE_LENGTH 1024u
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: LogStream.hpp File Reference

  • include
  • assimp
Classes | Namespaces
LogStream.hpp File Reference

Abstract base class 'LogStream', representing an output log stream. More...

Classes

class Assimp::LogStream
CPP-API: Abstract interface for log stream implementations. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Detailed Description

Abstract base class 'LogStream', representing an output log stream.

Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: material.h File Reference

  • include
  • assimp
Classes | Macros | Enumerations | Functions
material.h File Reference

Defines the material system of the library. More...

Classes

struct | aiMaterial
Data structure for a material. More...
struct | aiUVTransform
Defines how an UV channel is transformed. More...

Macros

#define | AI_DEFAULT_MATERIAL_NAME "DefaultMaterial"
#define | AI_MATERIAL_H_INC
#define | AI_MATKEY_BLEND_FUNC "$mat.blend", 0, 0
#define | AI_MATKEY_BUMPSCALING "$mat.bumpscaling", 0, 0
#define | AI_MATKEY_COLOR_AMBIENT "$clr.ambient", 0, 0
#define | AI_MATKEY_COLOR_DIFFUSE "$clr.diffuse", 0, 0
#define | AI_MATKEY_COLOR_EMISSIVE "$clr.emissive", 0, 0
#define | AI_MATKEY_COLOR_REFLECTIVE "$clr.reflective", 0, 0
#define | AI_MATKEY_COLOR_SPECULAR "$clr.specular", 0, 0
#define | AI_MATKEY_COLOR_TRANSPARENT "$clr.transparent", 0, 0
#define | AI_MATKEY_ENABLE_WIREFRAME "$mat.wireframe", 0, 0
#define | AI_MATKEY_GLOBAL_BACKGROUND_IMAGE "?bg.global", 0, 0
#define | AI_MATKEY_GLOBAL_SHADERLANG "?sh.lang", 0, 0
#define | AI_MATKEY_MAPPING(type, N) _AI_MATKEY_MAPPING_BASE, type, N
#define | AI_MATKEY_MAPPINGMODE_U(type, N) _AI_MATKEY_MAPPINGMODE_U_BASE, type, N
#define | AI_MATKEY_MAPPINGMODE_V(type, N) _AI_MATKEY_MAPPINGMODE_V_BASE, type, N
#define | AI_MATKEY_NAME "?mat.name", 0, 0
#define | AI_MATKEY_OPACITY "$mat.opacity", 0, 0
#define | AI_MATKEY_REFLECTIVITY "$mat.reflectivity", 0, 0
#define | AI_MATKEY_REFRACTI "$mat.refracti", 0, 0
#define | AI_MATKEY_SHADER_COMPUTE "?sh.cs", 0, 0
#define | AI_MATKEY_SHADER_FRAGMENT "?sh.fs", 0, 0
#define | AI_MATKEY_SHADER_GEO "?sh.gs", 0, 0
#define | AI_MATKEY_SHADER_PRIMITIVE "?sh.ps", 0, 0
#define | AI_MATKEY_SHADER_TESSELATION "?sh.ts", 0, 0
#define | AI_MATKEY_SHADER_VERTEX "?sh.vs", 0, 0
#define | AI_MATKEY_SHADING_MODEL "$mat.shadingm", 0, 0
#define | AI_MATKEY_SHININESS "$mat.shininess", 0, 0
#define | AI_MATKEY_SHININESS_STRENGTH "$mat.shinpercent", 0, 0
#define | AI_MATKEY_TEXBLEND(type, N) _AI_MATKEY_TEXBLEND_BASE, type, N
#define | AI_MATKEY_TEXFLAGS(type, N) _AI_MATKEY_TEXFLAGS_BASE, type, N
#define | AI_MATKEY_TEXMAP_AXIS(type, N) _AI_MATKEY_TEXMAP_AXIS_BASE, type, N
#define | AI_MATKEY_TEXOP(type, N) _AI_MATKEY_TEXOP_BASE, type, N
#define | AI_MATKEY_TEXTURE(type, N) _AI_MATKEY_TEXTURE_BASE, type, N
#define | AI_MATKEY_TRANSPARENCYFACTOR "$mat.transparencyfactor", 0, 0
#define | AI_MATKEY_TWOSIDED "$mat.twosided", 0, 0
#define | AI_MATKEY_UVTRANSFORM(type, N) _AI_MATKEY_UVTRANSFORM_BASE, type, N
#define | AI_MATKEY_UVWSRC(type, N) _AI_MATKEY_UVWSRC_BASE, type, N
#define | AI_TEXTURE_TYPE_MAX aiTextureType_UNKNOWN

Enumerations

enum | aiBlendMode { aiBlendMode_Default = 0x0, aiBlendMode_Additive = 0x1, _aiBlendMode_Force32Bit = INT_MAX }
Defines alpha-blend flags. More...
enum aiShadingMode {
aiShadingMode_Flat = 0x1, aiShadingMode_Gouraud = 0x2, aiShadingMode_Phong = 0x3, aiShadingMode_Blinn = 0x4,
aiShadingMode_Toon = 0x5, aiShadingMode_OrenNayar = 0x6, aiShadingMode_Minnaert = 0x7, aiShadingMode_CookTorrance = 0x8,
aiShadingMode_NoShading = 0x9, aiShadingMode_Fresnel = 0xa, _aiShadingMode_Force32Bit = INT_MAX
}
Defines all shading models supported by the library. More...
enum | aiTextureFlags { aiTextureFlags_Invert = 0x1, aiTextureFlags_UseAlpha = 0x2, aiTextureFlags_IgnoreAlpha = 0x4, _aiTextureFlags_Force32Bit = INT_MAX }
Defines some mixed flags for a particular texture. More...
enum aiTextureMapMode {
aiTextureMapMode_Wrap = 0x0, aiTextureMapMode_Clamp = 0x1, aiTextureMapMode_Decal = 0x3, aiTextureMapMode_Mirror = 0x2,
_aiTextureMapMode_Force32Bit = INT_MAX
}
Defines how UV coordinates outside the [0...1] range are handled. More...
enum aiTextureMapping {
aiTextureMapping_UV = 0x0, aiTextureMapping_SPHERE = 0x1, aiTextureMapping_CYLINDER = 0x2, aiTextureMapping_BOX = 0x3,
aiTextureMapping_PLANE = 0x4, aiTextureMapping_OTHER = 0x5, _aiTextureMapping_Force32Bit = INT_MAX
}
Defines how the mapping coords for a texture are generated. More...
enum aiTextureOp {
aiTextureOp_Multiply = 0x0, aiTextureOp_Add = 0x1, aiTextureOp_Subtract = 0x2, aiTextureOp_Divide = 0x3,
aiTextureOp_SmoothAdd = 0x4, aiTextureOp_SignedAdd = 0x5, _aiTextureOp_Force32Bit = INT_MAX
}
Defines how the Nth texture of a specific type is combined with the result of all previous layers. More...
enum aiTextureType {
aiTextureType_NONE = 0, aiTextureType_DIFFUSE = 1, aiTextureType_SPECULAR = 2, aiTextureType_AMBIENT = 3,
aiTextureType_EMISSIVE = 4, aiTextureType_HEIGHT = 5, aiTextureType_NORMALS = 6, aiTextureType_SHININESS = 7,
aiTextureType_OPACITY = 8, aiTextureType_DISPLACEMENT = 9, aiTextureType_LIGHTMAP = 10, aiTextureType_REFLECTION = 11,
aiTextureType_BASE_COLOR = 12, aiTextureType_NORMAL_CAMERA = 13, aiTextureType_EMISSION_COLOR = 14, aiTextureType_METALNESS = 15,
aiTextureType_DIFFUSE_ROUGHNESS = 16, aiTextureType_AMBIENT_OCCLUSION = 17, aiTextureType_UNKNOWN = 18, _aiTextureType_Force32Bit = INT_MAX
}
Defines the purpose of a texture. More...

Functions

ASSIMP_API C_ENUM aiReturn | aiGetMaterialColor (const C_STRUCT aiMaterial *pMat, const char *pKey, unsigned int type, unsigned int index, C_STRUCT aiColor4D *pOut)
__cplusplus More...
aiReturn | aiGetMaterialFloat (const aiMaterial *pMat, const char *pKey, unsigned int type, unsigned int index, ai_real *pOut)
Retrieve a single float property with a specific key from the material. More...
ASSIMP_API C_ENUM aiReturn | aiGetMaterialFloatArray (const C_STRUCT aiMaterial *pMat, const char *pKey, unsigned int type, unsigned int index, ai_real *pOut, unsigned int *pMax)
Retrieve an array of float values with a specific key from the material. More...
aiReturn | aiGetMaterialInteger (const C_STRUCT aiMaterial *pMat, const char *pKey, unsigned int type, unsigned int index, int *pOut)
Retrieve an integer property with a specific key from a material. More...
ASSIMP_API C_ENUM aiReturn | aiGetMaterialIntegerArray (const C_STRUCT aiMaterial *pMat, const char *pKey, unsigned int type, unsigned int index, int *pOut, unsigned int *pMax)
__cplusplus More...
ASSIMP_API C_ENUM aiReturn | aiGetMaterialProperty (const C_STRUCT aiMaterial *pMat, const char *pKey, unsigned int type, unsigned int index, const C_STRUCT aiMaterialProperty **pPropOut)
Retrieve a material property with a specific key from the material. More...
ASSIMP_API C_ENUM aiReturn | aiGetMaterialString (const C_STRUCT aiMaterial *pMat, const char *pKey, unsigned int type, unsigned int index, C_STRUCT aiString *pOut)
Retrieve a string from the material property table. More...
ASSIMP_API aiReturn | aiGetMaterialTexture (const C_STRUCT aiMaterial *mat, aiTextureType type, unsigned int index, aiString *path, aiTextureMapping *mapping=NULL, unsigned int *uvindex=NULL, ai_real *blend=NULL, aiTextureOp *op=NULL, aiTextureMapMode *mapmode=NULL, unsigned int *flags=NULL)
Helper function to get all values pertaining to a particular texture slot from a material structure. More...
ASSIMP_API unsigned int | aiGetMaterialTextureCount (const C_STRUCT aiMaterial *pMat, C_ENUM aiTextureType type)
Get the number of textures for a particular texture type. More...
ASSIMP_API C_ENUM aiReturn | aiGetMaterialUVTransform (const C_STRUCT aiMaterial *pMat, const char *pKey, unsigned int type, unsigned int index, C_STRUCT aiUVTransform *pOut)
Retrieve a aiUVTransform value from the material property table. More...
ASSIMP_API const char * | TextureTypeToString (enum aiTextureType in)

Detailed Description

Defines the material system of the library.

Macro Definition Documentation

◆ AI_DEFAULT_MATERIAL_NAME

#define AI_DEFAULT_MATERIAL_NAME "DefaultMaterial"

◆ AI_MATERIAL_H_INC

#define AI_MATERIAL_H_INC

◆ AI_MATKEY_BLEND_FUNC

#define AI_MATKEY_BLEND_FUNC "$mat.blend", 0, 0

◆ AI_MATKEY_BUMPSCALING

#define AI_MATKEY_BUMPSCALING "$mat.bumpscaling", 0, 0

◆ AI_MATKEY_COLOR_AMBIENT

#define AI_MATKEY_COLOR_AMBIENT "$clr.ambient", 0, 0

◆ AI_MATKEY_COLOR_DIFFUSE

#define AI_MATKEY_COLOR_DIFFUSE "$clr.diffuse", 0, 0

◆ AI_MATKEY_COLOR_EMISSIVE

#define AI_MATKEY_COLOR_EMISSIVE "$clr.emissive", 0, 0

◆ AI_MATKEY_COLOR_REFLECTIVE

#define AI_MATKEY_COLOR_REFLECTIVE "$clr.reflective", 0, 0

◆ AI_MATKEY_COLOR_SPECULAR

#define AI_MATKEY_COLOR_SPECULAR "$clr.specular", 0, 0

◆ AI_MATKEY_COLOR_TRANSPARENT

#define AI_MATKEY_COLOR_TRANSPARENT "$clr.transparent", 0, 0

◆ AI_MATKEY_ENABLE_WIREFRAME

#define AI_MATKEY_ENABLE_WIREFRAME "$mat.wireframe", 0, 0

◆ AI_MATKEY_GLOBAL_BACKGROUND_IMAGE

#define AI_MATKEY_GLOBAL_BACKGROUND_IMAGE "?bg.global", 0, 0

◆ AI_MATKEY_GLOBAL_SHADERLANG

#define AI_MATKEY_GLOBAL_SHADERLANG "?sh.lang", 0, 0

◆ AI_MATKEY_MAPPING

#define AI_MATKEY_MAPPING | ( | type,
 |  | N
 | ) | _AI_MATKEY_MAPPING_BASE, type, N

◆ AI_MATKEY_MAPPINGMODE_U

#define AI_MATKEY_MAPPINGMODE_U | ( | type,
 |  | N
 | ) | _AI_MATKEY_MAPPINGMODE_U_BASE, type, N

◆ AI_MATKEY_MAPPINGMODE_V

#define AI_MATKEY_MAPPINGMODE_V | ( | type,
 |  | N
 | ) | _AI_MATKEY_MAPPINGMODE_V_BASE, type, N

◆ AI_MATKEY_NAME

#define AI_MATKEY_NAME "?mat.name", 0, 0

◆ AI_MATKEY_OPACITY

#define AI_MATKEY_OPACITY "$mat.opacity", 0, 0

◆ AI_MATKEY_REFLECTIVITY

#define AI_MATKEY_REFLECTIVITY "$mat.reflectivity", 0, 0

◆ AI_MATKEY_REFRACTI

#define AI_MATKEY_REFRACTI "$mat.refracti", 0, 0

◆ AI_MATKEY_SHADER_COMPUTE

#define AI_MATKEY_SHADER_COMPUTE "?sh.cs", 0, 0

◆ AI_MATKEY_SHADER_FRAGMENT

#define AI_MATKEY_SHADER_FRAGMENT "?sh.fs", 0, 0

◆ AI_MATKEY_SHADER_GEO

#define AI_MATKEY_SHADER_GEO "?sh.gs", 0, 0

◆ AI_MATKEY_SHADER_PRIMITIVE

#define AI_MATKEY_SHADER_PRIMITIVE "?sh.ps", 0, 0

◆ AI_MATKEY_SHADER_TESSELATION

#define AI_MATKEY_SHADER_TESSELATION "?sh.ts", 0, 0

◆ AI_MATKEY_SHADER_VERTEX

#define AI_MATKEY_SHADER_VERTEX "?sh.vs", 0, 0

◆ AI_MATKEY_SHADING_MODEL

#define AI_MATKEY_SHADING_MODEL "$mat.shadingm", 0, 0

◆ AI_MATKEY_SHININESS

#define AI_MATKEY_SHININESS "$mat.shininess", 0, 0

◆ AI_MATKEY_SHININESS_STRENGTH

#define AI_MATKEY_SHININESS_STRENGTH "$mat.shinpercent", 0, 0

◆ AI_MATKEY_TEXBLEND

#define AI_MATKEY_TEXBLEND | ( | type,
 |  | N
 | ) | _AI_MATKEY_TEXBLEND_BASE, type, N

◆ AI_MATKEY_TEXFLAGS

#define AI_MATKEY_TEXFLAGS | ( | type,
 |  | N
 | ) | _AI_MATKEY_TEXFLAGS_BASE, type, N

◆ AI_MATKEY_TEXMAP_AXIS

#define AI_MATKEY_TEXMAP_AXIS | ( | type,
 |  | N
 | ) | _AI_MATKEY_TEXMAP_AXIS_BASE, type, N

◆ AI_MATKEY_TEXOP

#define AI_MATKEY_TEXOP | ( | type,
 |  | N
 | ) | _AI_MATKEY_TEXOP_BASE, type, N

◆ AI_MATKEY_TEXTURE

#define AI_MATKEY_TEXTURE | ( | type,
 |  | N
 | ) | _AI_MATKEY_TEXTURE_BASE, type, N

◆ AI_MATKEY_TRANSPARENCYFACTOR

#define AI_MATKEY_TRANSPARENCYFACTOR "$mat.transparencyfactor", 0, 0

◆ AI_MATKEY_TWOSIDED

#define AI_MATKEY_TWOSIDED "$mat.twosided", 0, 0

◆ AI_MATKEY_UVTRANSFORM

#define AI_MATKEY_UVTRANSFORM | ( | type,
 |  | N
 | ) | _AI_MATKEY_UVTRANSFORM_BASE, type, N

◆ AI_MATKEY_UVWSRC

#define AI_MATKEY_UVWSRC | ( | type,
 |  | N
 | ) | _AI_MATKEY_UVWSRC_BASE, type, N

◆ AI_TEXTURE_TYPE_MAX

#define AI_TEXTURE_TYPE_MAX aiTextureType_UNKNOWN

Enumeration Type Documentation

◆ aiBlendMode

enum aiBlendMode

Defines alpha-blend flags.

If you're familiar with OpenGL or D3D, these flags aren't new to you. They define how the final color value of a pixel is computed, basing on the previous color at that pixel and the new color value from the material. The blend formula is:

SourceColor * SourceBlend + DestColor * DestBlend

where DestColor is the previous color in the frame-buffer at this position and SourceColor is the material color before the transparency calculation.
This corresponds to the AI_MATKEY_BLEND_FUNC property.

Enumerator
aiBlendMode_Default | Formula: SourceColor*SourceAlpha + DestColor*(1-SourceAlpha)
aiBlendMode_Additive | Additive blending. Formula: SourceColor*1 + DestColor*1
_aiBlendMode_Force32Bit |

◆ aiShadingMode

enum aiShadingMode

Defines all shading models supported by the library.

The list of shading modes has been taken from Blender. See Blender documentation for more information. The API does not distinguish between "specular" and "diffuse" shaders (thus the specular term for diffuse shading models like Oren-Nayar remains undefined).
Again, this value is just a hint. Assimp tries to select the shader whose most common implementation matches the original rendering results of the 3D modeler which wrote a particular model as closely as possible.

Enumerator
aiShadingMode_Flat | Flat shading. Shading is done on per-face base, diffuse only. Also known as 'faceted shading'.
aiShadingMode_Gouraud | Simple Gouraud shading.
aiShadingMode_Phong | Phong-Shading -.
aiShadingMode_Blinn | Phong-Blinn-Shading.
aiShadingMode_Toon | Toon-Shading per pixel. Also known as 'comic' shader.
aiShadingMode_OrenNayar | OrenNayar-Shading per pixel. Extension to standard Lambertian shading, taking the roughness of the material into account
aiShadingMode_Minnaert | Minnaert-Shading per pixel. Extension to standard Lambertian shading, taking the "darkness" of the material into account
aiShadingMode_CookTorrance | CookTorrance-Shading per pixel. Special shader for metallic surfaces.
aiShadingMode_NoShading | No shading at all. Constant light influence of 1.0.
aiShadingMode_Fresnel | Fresnel shading.
_aiShadingMode_Force32Bit |

◆ aiTextureFlags

enum aiTextureFlags

Defines some mixed flags for a particular texture.

Usually you'll instruct your cg artists how textures have to look like ... and how they will be processed in your application. However, if you use Assimp for completely generic loading purposes you might also need to process these flags in order to display as many 'unknown' 3D models as possible correctly.

This corresponds to the AI_MATKEY_TEXFLAGS property.

Enumerator
aiTextureFlags_Invert | The texture's color values have to be inverted (component-wise 1-n)
aiTextureFlags_UseAlpha | Explicit request to the application to process the alpha channel of the texture. Mutually exclusive with aiTextureFlags_IgnoreAlpha. These flags are set if the library can say for sure that the alpha channel is used/is not used. If the model format does not define this, it is left to the application to decide whether the texture alpha channel - if any - is evaluated or not.
aiTextureFlags_IgnoreAlpha | Explicit request to the application to ignore the alpha channel of the texture. Mutually exclusive with aiTextureFlags_UseAlpha.
_aiTextureFlags_Force32Bit |

◆ aiTextureMapMode

enum aiTextureMapMode

Defines how UV coordinates outside the [0...1] range are handled.

Commonly referred to as 'wrapping mode'.

Enumerator
aiTextureMapMode_Wrap | A texture coordinate u|v is translated to u%1|v%1.
aiTextureMapMode_Clamp | Texture coordinates outside [0...1] are clamped to the nearest valid value.
aiTextureMapMode_Decal | If the texture coordinates for a pixel are outside [0...1] the texture is not applied to that pixel.
aiTextureMapMode_Mirror | A texture coordinate u|v becomes u%1|v%1 if (u-(u%1))%2 is zero and 1-(u%1)|1-(v%1) otherwise.
_aiTextureMapMode_Force32Bit |

◆ aiTextureMapping

enum aiTextureMapping

Defines how the mapping coords for a texture are generated.

Real-time applications typically require full UV coordinates, so the use of the aiProcess_GenUVCoords step is highly recommended. It generates proper UV channels for non-UV mapped objects, as long as an accurate description how the mapping should look like (e.g spherical) is given. See the AI_MATKEY_MAPPING property for more details.

Enumerator
aiTextureMapping_UV | The mapping coordinates are taken from an UV channel. The AI_MATKEY_UVWSRC key specifies from which UV channel the texture coordinates are to be taken from (remember, meshes can have more than one UV channel).
aiTextureMapping_SPHERE | Spherical mapping.
aiTextureMapping_CYLINDER | Cylindrical mapping.
aiTextureMapping_BOX | Cubic mapping.
aiTextureMapping_PLANE | Planar mapping.
aiTextureMapping_OTHER | Undefined mapping. Have fun.
_aiTextureMapping_Force32Bit |

◆ aiTextureOp

enum aiTextureOp

Defines how the Nth texture of a specific type is combined with the result of all previous layers.

Example (left: key, right: value):

DiffColor0 - gray
DiffTextureOp0 - aiTextureOpMultiply
DiffTexture0 - tex1.png
DiffTextureOp0 - aiTextureOpAdd
DiffTexture1 - tex2.png

Written as equation, the final diffuse term for a specific pixel would be:

diffFinal = DiffColor0 * sampleTex(DiffTexture0,UV0) +
sampleTex(DiffTexture1,UV0) * diffContrib;

where 'diffContrib' is the intensity of the incoming light for that pixel.

Enumerator
aiTextureOp_Multiply | T = T1 * T2.
aiTextureOp_Add | T = T1 + T2.
aiTextureOp_Subtract | T = T1 - T2.
aiTextureOp_Divide | T = T1 / T2.
aiTextureOp_SmoothAdd | T = (T1 + T2) - (T1 * T2)
aiTextureOp_SignedAdd | T = T1 + (T2-0.5)
_aiTextureOp_Force32Bit |

◆ aiTextureType

enum aiTextureType

Defines the purpose of a texture.

This is a very difficult topic. Different 3D packages support different kinds of textures. For very common texture types, such as bumpmaps, the rendering results depend on implementation details in the rendering pipelines of these applications. Assimp loads all texture references from the model file and tries to determine which of the predefined texture types below is the best choice to match the original use of the texture as closely as possible.

In content pipelines you'll usually define how textures have to be handled, and the artists working on models have to conform to this specification, regardless which 3D tool they're using.

Enumerator
aiTextureType_NONE

Dummy value.

No texture, but the value to be used as 'texture semantic' (#aiMaterialProperty::mSemantic) for all material properties not related to textures.

aiTextureType_DIFFUSE

LEGACY API MATERIALS Legacy refers to materials which Were originally implemented in the specifications around 2000.

These must never be removed, as most engines support them.The texture is combined with the result of the diffuse lighting equation.

aiTextureType_SPECULAR

The texture is combined with the result of the specular lighting equation.

aiTextureType_AMBIENT

The texture is combined with the result of the ambient lighting equation.

aiTextureType_EMISSIVE

The texture is added to the result of the lighting calculation.

It isn't influenced by incoming light.

aiTextureType_HEIGHT

The texture is a height map.

By convention, higher gray-scale values stand for higher elevations from the base height.

aiTextureType_NORMALS

The texture is a (tangent space) normal-map.

Again, there are several conventions for tangent-space normal maps. Assimp does (intentionally) not distinguish here.

aiTextureType_SHININESS

The texture defines the glossiness of the material.

The glossiness is in fact the exponent of the specular (phong) lighting equation. Usually there is a conversion function defined to map the linear color values in the texture to a suitable exponent. Have fun.

aiTextureType_OPACITY

The texture defines per-pixel opacity.

Usually 'white' means opaque and 'black' means 'transparency'. Or quite the opposite. Have fun.

aiTextureType_DISPLACEMENT

Displacement texture.

The exact purpose and format is application-dependent. Higher color values stand for higher vertex displacements.

aiTextureType_LIGHTMAP

Lightmap texture (aka Ambient Occlusion)

Both 'Lightmaps' and dedicated 'ambient occlusion maps' are covered by this material property. The texture contains a scaling value for the final color value of a pixel. Its intensity is not affected by incoming light.

aiTextureType_REFLECTION

Reflection texture.

Contains the color of a perfect mirror reflection. Rarely used, almost never for real-time applications.

aiTextureType_BASE_COLOR

PBR Materials PBR definitions from maya and other modelling packages now use this standard.

This was originally introduced around 2012. Support for this is in game engines like Godot, Unreal or Unity3D. Modelling packages which use this are very common now.

aiTextureType_NORMAL_CAMERA
aiTextureType_EMISSION_COLOR
aiTextureType_METALNESS
aiTextureType_DIFFUSE_ROUGHNESS
aiTextureType_AMBIENT_OCCLUSION
aiTextureType_UNKNOWN

Unknown texture.

A texture reference that does not match any of the definitions above is considered to be 'unknown'. It is still imported, but is excluded from any further post-processing.

_aiTextureType_Force32Bit

Function Documentation

◆ aiGetMaterialColor()

ASSIMP_API C_ENUM aiReturn aiGetMaterialColor | ( | const C_STRUCT aiMaterial * | pMat,
 |  | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | index,
 |  | C_STRUCT aiColor4D * | pOut
 | ) |  |

__cplusplus

Retrieve a color value from the material property table

See the sample for aiGetMaterialFloat for more information

◆ aiGetMaterialFloat()

aiReturn aiGetMaterialFloat | ( | const aiMaterial * | pMat,
 |  | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | index,
 |  | ai_real * | pOut
 | ) |  |
inline

Retrieve a single float property with a specific key from the material.

Pass one of the AI_MATKEY_XXX constants for the last three parameters (the example reads the AI_MATKEY_SHININESS_STRENGTH property of the first diffuse texture)

float specStrength = 1.f; // default value, remains unmodified if we fail.
aiGetMaterialFloat(mat, AI_MATKEY_SHININESS_STRENGTH,
(float*)&specStrength);
Parameters
pMat | Pointer to the input material. May not be NULL
pKey | Key to search for. One of the AI_MATKEY_XXX constants.
pOut | Receives the output float.
type | (see the code sample above)
index | (see the code sample above)
Returns
Specifies whether the key has been found. If not, the output float remains unmodified.

◆ aiGetMaterialFloatArray()

ASSIMP_API C_ENUM aiReturn aiGetMaterialFloatArray | ( | const C_STRUCT aiMaterial * | pMat,
 |  | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | index,
 |  | ai_real * | pOut,
 |  | unsigned int * | pMax
 | ) |  |

Retrieve an array of float values with a specific key from the material.

Pass one of the AI_MATKEY_XXX constants for the last three parameters (the example reads the AI_MATKEY_UVTRANSFORM property of the first diffuse texture)

aiUVTransform trafo;
unsigned int max = sizeof(aiUVTransform);
if (AI_SUCCESS != aiGetMaterialFloatArray(mat, AI_MATKEY_UVTRANSFORM(aiTextureType_DIFFUSE,0),
(float*)&trafo, &max) || sizeof(aiUVTransform) != max)
{
// error handling
}
Parameters
pMat | Pointer to the input material. May not be NULL
pKey | Key to search for. One of the AI_MATKEY_XXX constants.
pOut | Pointer to a buffer to receive the result.
pMax | Specifies the size of the given buffer, in float's. Receives the number of values (not bytes!) read.
type | (see the code sample above)
index | (see the code sample above)
Returns
Specifies whether the key has been found. If not, the output arrays remains unmodified and pMax is set to 0.

◆ aiGetMaterialInteger()

aiReturn aiGetMaterialInteger | ( | const C_STRUCT aiMaterial * | pMat,
 |  | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | index,
 |  | int * | pOut
 | ) |  |
inline

Retrieve an integer property with a specific key from a material.

See the sample for aiGetMaterialFloat for more information.

◆ aiGetMaterialIntegerArray()

ASSIMP_API C_ENUM aiReturn aiGetMaterialIntegerArray | ( | const C_STRUCT aiMaterial * | pMat,
 |  | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | index,
 |  | int * | pOut,
 |  | unsigned int * | pMax
 | ) |  |

__cplusplus

Retrieve an array of integer values with a specific key from a material

See the sample for aiGetMaterialFloatArray for more information.

◆ aiGetMaterialProperty()

ASSIMP_API C_ENUM aiReturn aiGetMaterialProperty | ( | const C_STRUCT aiMaterial * | pMat,
 |  | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | index,
 |  | const C_STRUCT aiMaterialProperty ** | pPropOut
 | ) |  |

Retrieve a material property with a specific key from the material.

Parameters
pMat | Pointer to the input material. May not be NULL
pKey | Key to search for. One of the AI_MATKEY_XXX constants.
type | Specifies the type of the texture to be retrieved ( e.g. diffuse, specular, height map ...)
index | Index of the texture to be retrieved.
pPropOut | Pointer to receive a pointer to a valid aiMaterialProperty structure or NULL if the key has not been found.

◆ aiGetMaterialString()

ASSIMP_API C_ENUM aiReturn aiGetMaterialString | ( | const C_STRUCT aiMaterial * | pMat,
 |  | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | index,
 |  | C_STRUCT aiString * | pOut
 | ) |  |

Retrieve a string from the material property table.

See the sample for aiGetMaterialFloat for more information.

◆ aiGetMaterialTexture()

ASSIMP_API aiReturn aiGetMaterialTexture | ( | const C_STRUCT aiMaterial * | mat,
 |  | aiTextureType | type,
 |  | unsigned int | index,
 |  | aiString * | path,
 |  | aiTextureMapping * | mapping = NULL,
 |  | unsigned int * | uvindex = NULL,
 |  | ai_real * | blend = NULL,
 |  | aiTextureOp * | op = NULL,
 |  | aiTextureMapMode * | mapmode = NULL,
 |  | unsigned int * | flags = NULL
 | ) |  |

Helper function to get all values pertaining to a particular texture slot from a material structure.

This function is provided just for convenience. You could also read the texture by parsing all of its properties manually. This function bundles all of them in a huge function monster.

Parameters
[in] | mat | Pointer to the input material. May not be NULL
[in] | type | Specifies the texture stack to read from (e.g. diffuse, specular, height map ...).
[in] | index | Index of the texture. The function fails if the requested index is not available for this texture type. aiGetMaterialTextureCount() can be used to determine the number of textures in a particular texture stack.
[out] | path | Receives the output path If the texture is embedded, receives a '*' followed by the id of the texture (for the textures stored in the corresponding scene) which can be converted to an int using a function like atoi. This parameter must be non-null.
mapping | The texture mapping mode to be used. Pass NULL if you're not interested in this information.
[out] | uvindex | For UV-mapped textures: receives the index of the UV source channel. Unmodified otherwise. Pass NULL if you're not interested in this information.
[out] | blend | Receives the blend factor for the texture Pass NULL if you're not interested in this information.
[out] | op | Receives the texture blend operation to be perform between this texture and the previous texture. Pass NULL if you're not interested in this information.
[out] | mapmode | Receives the mapping modes to be used for the texture. Pass NULL if you're not interested in this information. Otherwise, pass a pointer to an array of two aiTextureMapMode's (one for each axis, UV order).
[out] | flags | Receives the the texture flags.
Returns
AI_SUCCESS on success, otherwise something else. Have fun.

◆ aiGetMaterialTextureCount()

ASSIMP_API unsigned int aiGetMaterialTextureCount | ( | const C_STRUCT aiMaterial * | pMat,
 |  | C_ENUM aiTextureType | type
 | ) |  |

Get the number of textures for a particular texture type.

Parameters
[in] | pMat | Pointer to the input material. May not be NULL
type | Texture type to check for
Returns
Number of textures for this type.
Note
A texture can be easily queried using aiGetMaterialTexture()

◆ aiGetMaterialUVTransform()

ASSIMP_API C_ENUM aiReturn aiGetMaterialUVTransform | ( | const C_STRUCT aiMaterial * | pMat,
 |  | const char * | pKey,
 |  | unsigned int | type,
 |  | unsigned int | index,
 |  | C_STRUCT aiUVTransform * | pOut
 | ) |  |

Retrieve a aiUVTransform value from the material property table.

See the sample for aiGetMaterialFloat for more information

◆ TextureTypeToString()

ASSIMP_API const char* TextureTypeToString ( enum aiTextureType in )
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: material.inl File Reference

  • include
  • assimp
Macros | Functions
material.inl File Reference

Defines the C++ getters for the material system. More...

Macros

#define AI_MATERIAL_INL_INC

Functions

AI_FORCE_INLINE aiPropertyTypeInfo | ai_real_to_property_type_info (float)
AI_FORCE_INLINE aiPropertyTypeInfo | ai_real_to_property_type_info (double)

Detailed Description

Defines the C++ getters for the material system.

Macro Definition Documentation

◆ AI_MATERIAL_INL_INC

#define AI_MATERIAL_INL_INC

Function Documentation

◆ ai_real_to_property_type_info() [1/2]

AI_FORCE_INLINE aiPropertyTypeInfo ai_real_to_property_type_info ( float )

◆ ai_real_to_property_type_info() [2/2]

AI_FORCE_INLINE aiPropertyTypeInfo ai_real_to_property_type_info ( double )
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: MathFunctions.h File Reference

  • include
  • assimp
Namespaces | Functions
MathFunctions.h File Reference

Implementation of math utility functions. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.
Assimp::Math

Functions

template<typename IntegerType >
IntegerType | Assimp::Math::gcd (IntegerType a, IntegerType b)
Will return the greatest common divisor. More...
template<class T >
T | Assimp::Math::getEpsilon ()
Will return the smallest epsilon-value for the requested type. More...
template<typename IntegerType >
IntegerType | Assimp::Math::lcm (IntegerType a, IntegerType b)
Will return the greatest common divisor. More...
template<class T >
T | Assimp::Math::PI ()
Will return the constant PI for the requested type. More...

Detailed Description

Implementation of math utility functions.

Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: matrix3x3.h File Reference

  • include
  • assimp
Classes | Macros | Typedefs
matrix3x3.h File Reference

Definition of a 3x3 matrix, including operators when compiling in C++. More...

Classes

class | aiMatrix3x3t< TReal >
Represents a row-major 3x3 matrix. More...
class | aiMatrix4x4t< TReal >
Represents a row-major 4x4 matrix, use this for homogeneous coordinates. More...
class | aiVector2t< TReal >
Represents a two-dimensional vector. More...
class | aiVector3t< TReal >
Represents a three-dimensional vector. More...

Macros

#define AI_MATRIX3X3_H_INC

Typedefs

typedef aiMatrix3x3t< ai_real > aiMatrix3x3

Detailed Description

Definition of a 3x3 matrix, including operators when compiling in C++.

Macro Definition Documentation

◆ AI_MATRIX3X3_H_INC

#define AI_MATRIX3X3_H_INC

Typedef Documentation

◆ aiMatrix3x3

typedef aiMatrix3x3t<ai_real> aiMatrix3x3
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: matrix3x3.inl File Reference

  • include
  • assimp
Macros
matrix3x3.inl File Reference

Inline implementation of the 3x3 matrix operators. More...

Macros

#define AI_MATRIX3X3_INL_INC

Detailed Description

Inline implementation of the 3x3 matrix operators.

Macro Definition Documentation

◆ AI_MATRIX3X3_INL_INC

#define AI_MATRIX3X3_INL_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: matrix4x4.h File Reference

  • include
  • assimp
Classes | Macros | Typedefs
matrix4x4.h File Reference

4x4 matrix structure, including operators when compiling in C++ More...

Classes

class | aiMatrix3x3t< TReal >
Represents a row-major 3x3 matrix. More...
class | aiMatrix4x4t< TReal >
Represents a row-major 4x4 matrix, use this for homogeneous coordinates. More...
class | aiQuaterniont< TReal >
Represents a quaternion in a 4D vector. More...

Macros

#define AI_MATRIX4X4_H_INC

Typedefs

typedef aiMatrix4x4t< ai_real > aiMatrix4x4

Detailed Description

4x4 matrix structure, including operators when compiling in C++

Macro Definition Documentation

◆ AI_MATRIX4X4_H_INC

#define AI_MATRIX4X4_H_INC

Typedef Documentation

◆ aiMatrix4x4

typedef aiMatrix4x4t<ai_real> aiMatrix4x4
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: matrix4x4.inl File Reference

  • include
  • assimp
Macros
matrix4x4.inl File Reference

Inline implementation of the 4x4 matrix operators. More...

Macros

#define | AI_MATRIX4X4_INL_INC
#define | ASSIMP_MATRIX4_4_DECOMPOSE_PART

Detailed Description

Inline implementation of the 4x4 matrix operators.

Macro Definition Documentation

◆ AI_MATRIX4X4_INL_INC

#define AI_MATRIX4X4_INL_INC

◆ ASSIMP_MATRIX4_4_DECOMPOSE_PART

#define ASSIMP_MATRIX4_4_DECOMPOSE_PART
Value:
const aiMatrix4x4t<TReal>& _this = *this;/* Create alias for conveniance. */ \
\
/* extract translation */ \
pPosition.x = _this[0][3]; \
pPosition.y = _this[1][3]; \
pPosition.z = _this[2][3]; \
\
/* extract the columns of the matrix. */ \
aiVector3t<TReal> vCols[3] = { \
aiVector3t<TReal>(_this[0][0],_this[1][0],_this[2][0]), \
aiVector3t<TReal>(_this[0][1],_this[1][1],_this[2][1]), \
aiVector3t<TReal>(_this[0][2],_this[1][2],_this[2][2]) \
}; \
\
/* extract the scaling factors */ \
pScaling.x = vCols[0].Length(); \
pScaling.y = vCols[1].Length(); \
pScaling.z = vCols[2].Length(); \
\
/* and the sign of the scaling */ \
if (Determinant() < 0) pScaling = -pScaling; \
\
/* and remove all scaling from the matrix */ \
if(pScaling.x) vCols[0] /= pScaling.x; \
if(pScaling.y) vCols[1] /= pScaling.y; \
if(pScaling.z) vCols[2] /= pScaling.z; \
\
do {} while(false)
aiMatrix4x4t
Represents a row-major 4x4 matrix, use this for homogeneous coordinates.
Definition: matrix3x3.h:59
aiVector3t
Represents a three-dimensional vector.
Definition: matrix3x3.h:61
aiVector3t::x
TReal x
Definition: vector3.h:128
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: MemoryIOWrapper.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
MemoryIOWrapper.h File Reference

Handy IOStream/IOSystem implemetation to read directly from a memory buffer. More...

Classes

class | Assimp::MemoryIOStream
Implementation of IOStream to read directly from a memory buffer. More...
class | Assimp::MemoryIOSystem
Dummy IO system to read from a memory buffer. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define | AI_MEMORYIO_MAGIC_FILENAME "$$$___magic___$$$"
#define | AI_MEMORYIO_MAGIC_FILENAME_LENGTH 17
#define | AI_MEMORYIOSTREAM_H_INC

Detailed Description

Handy IOStream/IOSystem implemetation to read directly from a memory buffer.

Macro Definition Documentation

◆ AI_MEMORYIO_MAGIC_FILENAME

#define AI_MEMORYIO_MAGIC_FILENAME "$$$___magic___$$$"

◆ AI_MEMORYIO_MAGIC_FILENAME_LENGTH

#define AI_MEMORYIO_MAGIC_FILENAME_LENGTH 17

◆ AI_MEMORYIOSTREAM_H_INC

#define AI_MEMORYIOSTREAM_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: mesh.h File Reference

  • include
  • assimp
Classes | Macros | Enumerations
mesh.h File Reference

Declares the data structures in which the imported geometry is returned by ASSIMP: aiMesh, aiFace and aiBone data structures. More...

Classes

struct | aiAnimMesh
An AnimMesh is an attachment to an aiMesh stores per-vertex animations for a particular frame. More...
struct | aiBone
A single bone of a mesh. More...
struct | aiFace
A single face in a mesh, referring to multiple vertices. More...
struct | aiMesh
enum aiMorphingMethod More...
struct | aiVertexWeight
A single influence of a bone on a vertex. More...

Macros

#define | AI_MAX_BONE_WEIGHTS 0x7fffffff
Maximum number of indices per face (polygon). More...
#define | AI_MAX_FACE_INDICES 0x7fff
Maximum number of indices per face (polygon). More...
#define | AI_MAX_FACES 0x7fffffff
Maximum number of faces per mesh. More...
#define | AI_MAX_NUMBER_OF_COLOR_SETS 0x8
Supported number of vertex color sets per mesh. More...
#define | AI_MAX_NUMBER_OF_TEXTURECOORDS 0x8
Supported number of texture coord sets (UV(W) channels) per mesh. More...
#define | AI_MAX_VERTICES 0x7fffffff
Maximum number of vertices per mesh. More...
#define | AI_MESH_H_INC
#define | AI_PRIMITIVE_TYPE_FOR_N_INDICES(n) ((n) > 3 ? aiPrimitiveType_POLYGON : (aiPrimitiveType)(1u << ((n)-1)))
enum aiPrimitiveType More...

Enumerations

enum aiMorphingMethod { aiMorphingMethod_VERTEX_BLEND = 0x1, aiMorphingMethod_MORPH_NORMALIZED = 0x2, aiMorphingMethod_MORPH_RELATIVE = 0x3, _aiMorphingMethod_Force32Bit = INT_MAX }
Enumerates the methods of mesh morphing supported by Assimp. More...
enum aiPrimitiveType {
aiPrimitiveType_POINT = 0x1, aiPrimitiveType_LINE = 0x2, aiPrimitiveType_TRIANGLE = 0x4, aiPrimitiveType_POLYGON = 0x8,
_aiPrimitiveType_Force32Bit = INT_MAX
}
Enumerates the types of geometric primitives supported by Assimp. More...

Detailed Description

Declares the data structures in which the imported geometry is returned by ASSIMP: aiMesh, aiFace and aiBone data structures.

Macro Definition Documentation

◆ AI_MAX_BONE_WEIGHTS

#define AI_MAX_BONE_WEIGHTS 0x7fffffff

Maximum number of indices per face (polygon).

◆ AI_MAX_FACE_INDICES

#define AI_MAX_FACE_INDICES 0x7fff

Maximum number of indices per face (polygon).

◆ AI_MAX_FACES

#define AI_MAX_FACES 0x7fffffff

Maximum number of faces per mesh.

◆ AI_MAX_NUMBER_OF_COLOR_SETS

#define AI_MAX_NUMBER_OF_COLOR_SETS 0x8

Supported number of vertex color sets per mesh.

◆ AI_MAX_NUMBER_OF_TEXTURECOORDS

#define AI_MAX_NUMBER_OF_TEXTURECOORDS 0x8

Supported number of texture coord sets (UV(W) channels) per mesh.

◆ AI_MAX_VERTICES

#define AI_MAX_VERTICES 0x7fffffff

Maximum number of vertices per mesh.

◆ AI_MESH_H_INC

#define AI_MESH_H_INC

◆ AI_PRIMITIVE_TYPE_FOR_N_INDICES

#define AI_PRIMITIVE_TYPE_FOR_N_INDICES ( n ) ((n) > 3 ? aiPrimitiveType_POLYGON : (aiPrimitiveType)(1u << ((n)-1)))

enum aiPrimitiveType

Enumeration Type Documentation

◆ aiMorphingMethod

enum aiMorphingMethod

Enumerates the methods of mesh morphing supported by Assimp.

Enumerator
aiMorphingMethod_VERTEX_BLEND | Interpolation between morph targets.
aiMorphingMethod_MORPH_NORMALIZED | Normalized morphing between morph targets.
aiMorphingMethod_MORPH_RELATIVE | Relative morphing between morph targets.
_aiMorphingMethod_Force32Bit | This value is not used. It is just here to force the compiler to map this enum to a 32 Bit integer.

◆ aiPrimitiveType

enum aiPrimitiveType

Enumerates the types of geometric primitives supported by Assimp.

See also
aiFace Face data structure
aiProcess_SortByPType Per-primitive sorting of meshes
aiProcess_Triangulate Automatic triangulation
AI_CONFIG_PP_SBP_REMOVE Removal of specific primitive types.
Enumerator
aiPrimitiveType_POINT | A point primitive. This is just a single vertex in the virtual world, aiFace contains just one index for such a primitive.
aiPrimitiveType_LINE | A line primitive. This is a line defined through a start and an end position. aiFace contains exactly two indices for such a primitive.
aiPrimitiveType_TRIANGLE | A triangular primitive. A triangle consists of three indices.
aiPrimitiveType_POLYGON | A higher-level polygon with more than 3 edges. A triangle is a polygon, but polygon in this context means "all polygons that are not triangles". The "Triangulate"-Step is provided for your convenience, it splits all polygons in triangles (which are much easier to handle).
_aiPrimitiveType_Force32Bit | This value is not used. It is just here to force the compiler to map this enum to a 32 Bit integer.
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: metadata.h File Reference

  • include
  • assimp
Classes | Macros | Enumerations | Functions
metadata.h File Reference

Defines the data structures for holding node meta information. More...

Classes

struct | aiMetadata
Container for holding metadata. More...
struct | aiMetadataEntry
Metadata entry. More...

Macros

#define AI_METADATA_H_INC

Enumerations

enum aiMetadataType {
AI_BOOL = 0, AI_INT32 = 1, AI_UINT64 = 2, AI_FLOAT = 3,
AI_DOUBLE = 4, AI_AISTRING = 5, AI_AIVECTOR3D = 6, AI_AIMETADATA = 7,
AI_META_MAX = 8, FORCE_32BIT = INT_MAX
}
Enum used to distinguish data types. More...

Functions

aiMetadataType | GetAiType (bool)
Helper functions to get the aiType enum entry for a type. More...
aiMetadataType | GetAiType (int32_t)
aiMetadataType | GetAiType (uint64_t)
aiMetadataType | GetAiType (float)
aiMetadataType | GetAiType (double)
aiMetadataType | GetAiType (const aiString &)
aiMetadataType | GetAiType (const aiVector3D &)
aiMetadataType | GetAiType (const aiMetadata &)

Detailed Description

Defines the data structures for holding node meta information.

Macro Definition Documentation

◆ AI_METADATA_H_INC

#define AI_METADATA_H_INC

Enumeration Type Documentation

◆ aiMetadataType

enum aiMetadataType

Enum used to distinguish data types.

Enumerator
AI_BOOL
AI_INT32
AI_UINT64
AI_FLOAT
AI_DOUBLE
AI_AISTRING
AI_AIVECTOR3D
AI_AIMETADATA
AI_META_MAX
FORCE_32BIT

Function Documentation

◆ GetAiType() [1/8]

aiMetadataType GetAiType ( bool )
inline

Helper functions to get the aiType enum entry for a type.

◆ GetAiType() [2/8]

aiMetadataType GetAiType ( int32_t )
inline

◆ GetAiType() [3/8]

aiMetadataType GetAiType ( uint64_t )
inline

◆ GetAiType() [4/8]

aiMetadataType GetAiType ( float )
inline

◆ GetAiType() [5/8]

aiMetadataType GetAiType ( double )
inline

◆ GetAiType() [6/8]

aiMetadataType GetAiType ( const aiString & )
inline

◆ GetAiType() [7/8]

aiMetadataType GetAiType ( const aiVector3D & )
inline

◆ GetAiType() [8/8]

aiMetadataType GetAiType ( const aiMetadata & )
inline
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: NullLogger.hpp File Reference

  • include
  • assimp
Classes | Namespaces
NullLogger.hpp File Reference

Dummy logger. More...

Classes

class Assimp::NullLogger
CPP-API: Empty logging implementation. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Detailed Description

Dummy logger.

Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: ParsingUtils.h File Reference

  • include
  • assimp
Namespaces | Macros | Functions | Variables
ParsingUtils.h File Reference

Defines helper functions for text parsing. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_PARSING_UTILS_H_INC

Functions

std::string | Assimp::ai_stdStrToLower (const std::string &str)
template<class char_t >
AI_FORCE_INLINE bool | Assimp::GetNextLine (const char_t *&buffer, char_t out[BufferSize])
AI_FORCE_INLINE std::string | Assimp::GetNextToken (const char *&in)
template<class char_t >
AI_FORCE_INLINE bool | Assimp::IsLineEnd (char_t in)
template<class char_t >
AI_FORCE_INLINE bool | Assimp::IsLower (char_t in)
template<class char_t >
AI_FORCE_INLINE bool | Assimp::IsNumeric (char_t in)
template<class char_t >
AI_FORCE_INLINE bool | Assimp::IsSpace (char_t in)
template<class char_t >
AI_FORCE_INLINE bool | Assimp::IsSpaceOrNewLine (char_t in)
template<class char_t >
AI_FORCE_INLINE bool | Assimp::IsUpper (char_t in)
template<class char_t >
AI_FORCE_INLINE bool | Assimp::SkipLine (const char_t *in, const char_t **out)
template<class char_t >
AI_FORCE_INLINE bool | Assimp::SkipLine (const char_t **inout)
template<class char_t >
AI_FORCE_INLINE bool | Assimp::SkipSpaces (const char_t *in, const char_t **out)
template<class char_t >
AI_FORCE_INLINE bool | Assimp::SkipSpaces (const char_t **inout)
template<class char_t >
AI_FORCE_INLINE bool | Assimp::SkipSpacesAndLineEnd (const char_t *in, const char_t **out)
template<class char_t >
AI_FORCE_INLINE bool | Assimp::SkipSpacesAndLineEnd (const char_t **inout)
AI_FORCE_INLINE void | Assimp::SkipToken (const char *&in)
template<class string_type >
AI_FORCE_INLINE unsigned int | Assimp::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 | Assimp::TokenMatch (char_t *&in, const char *token, unsigned int len)
AI_FORCE_INLINE bool | Assimp::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 | Assimp::ToLower (char_t in)
template<class char_t >
AI_FORCE_INLINE char_t | Assimp::ToUpper (char_t in)

Variables

static const unsigned int Assimp::BufferSize = 4096

Detailed Description

Defines helper functions for text parsing.

Macro Definition Documentation

◆ AI_PARSING_UTILS_H_INC

#define AI_PARSING_UTILS_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: pbrmaterial.h File Reference

  • include
  • assimp
Macros
pbrmaterial.h File Reference

Defines the material system of the library. More...

Macros

#define | _AI_MATKEY_GLTF_MAPPINGFILTER_MAG_BASE "$tex.mappingfiltermag"
#define | _AI_MATKEY_GLTF_MAPPINGFILTER_MIN_BASE "$tex.mappingfiltermin"
#define | _AI_MATKEY_GLTF_MAPPINGID_BASE "$tex.mappingid"
#define | _AI_MATKEY_GLTF_MAPPINGNAME_BASE "$tex.mappingname"
#define | _AI_MATKEY_GLTF_SCALE_BASE "$tex.scale"
#define | _AI_MATKEY_GLTF_STRENGTH_BASE "$tex.strength"
#define | _AI_MATKEY_GLTF_TEXTURE_TEXCOORD_BASE "$tex.file.texCoord"
#define | AI_MATKEY_GLTF_ALPHACUTOFF "$mat.gltf.alphaCutoff", 0, 0
#define | AI_MATKEY_GLTF_ALPHAMODE "$mat.gltf.alphaMode", 0, 0
#define | AI_MATKEY_GLTF_MAPPINGFILTER_MAG(type, N) _AI_MATKEY_GLTF_MAPPINGFILTER_MAG_BASE, type, N
#define | AI_MATKEY_GLTF_MAPPINGFILTER_MIN(type, N) _AI_MATKEY_GLTF_MAPPINGFILTER_MIN_BASE, type, N
#define | AI_MATKEY_GLTF_MAPPINGID(type, N) _AI_MATKEY_GLTF_MAPPINGID_BASE, type, N
#define | AI_MATKEY_GLTF_MAPPINGNAME(type, N) _AI_MATKEY_GLTF_MAPPINGNAME_BASE, type, N
#define | AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_BASE_COLOR_FACTOR "$mat.gltf.pbrMetallicRoughness.baseColorFactor", 0, 0
#define | AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_BASE_COLOR_TEXTURE aiTextureType_DIFFUSE, 1
#define | AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_METALLIC_FACTOR "$mat.gltf.pbrMetallicRoughness.metallicFactor", 0, 0
#define | AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_METALLICROUGHNESS_TEXTURE aiTextureType_UNKNOWN, 0
#define | AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_ROUGHNESS_FACTOR "$mat.gltf.pbrMetallicRoughness.roughnessFactor", 0, 0
#define | AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS "$mat.gltf.pbrSpecularGlossiness", 0, 0
#define | AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS_GLOSSINESS_FACTOR "$mat.gltf.pbrMetallicRoughness.glossinessFactor", 0, 0
#define | AI_MATKEY_GLTF_TEXTURE_SCALE(type, N) _AI_MATKEY_GLTF_SCALE_BASE, type, N
#define | AI_MATKEY_GLTF_TEXTURE_STRENGTH(type, N) _AI_MATKEY_GLTF_STRENGTH_BASE, type, N
#define | AI_MATKEY_GLTF_TEXTURE_TEXCOORD(type, N) _AI_MATKEY_GLTF_TEXTURE_TEXCOORD_BASE, type, N
#define | AI_MATKEY_GLTF_UNLIT "$mat.gltf.unlit", 0, 0
#define | AI_PBRMATERIAL_H_INC

Detailed Description

Defines the material system of the library.

Macro Definition Documentation

◆ _AI_MATKEY_GLTF_MAPPINGFILTER_MAG_BASE

#define _AI_MATKEY_GLTF_MAPPINGFILTER_MAG_BASE "$tex.mappingfiltermag"

◆ _AI_MATKEY_GLTF_MAPPINGFILTER_MIN_BASE

#define _AI_MATKEY_GLTF_MAPPINGFILTER_MIN_BASE "$tex.mappingfiltermin"

◆ _AI_MATKEY_GLTF_MAPPINGID_BASE

#define _AI_MATKEY_GLTF_MAPPINGID_BASE "$tex.mappingid"

◆ _AI_MATKEY_GLTF_MAPPINGNAME_BASE

#define _AI_MATKEY_GLTF_MAPPINGNAME_BASE "$tex.mappingname"

◆ _AI_MATKEY_GLTF_SCALE_BASE

#define _AI_MATKEY_GLTF_SCALE_BASE "$tex.scale"

◆ _AI_MATKEY_GLTF_STRENGTH_BASE

#define _AI_MATKEY_GLTF_STRENGTH_BASE "$tex.strength"

◆ _AI_MATKEY_GLTF_TEXTURE_TEXCOORD_BASE

#define _AI_MATKEY_GLTF_TEXTURE_TEXCOORD_BASE "$tex.file.texCoord"

◆ AI_MATKEY_GLTF_ALPHACUTOFF

#define AI_MATKEY_GLTF_ALPHACUTOFF "$mat.gltf.alphaCutoff", 0, 0

◆ AI_MATKEY_GLTF_ALPHAMODE

#define AI_MATKEY_GLTF_ALPHAMODE "$mat.gltf.alphaMode", 0, 0

◆ AI_MATKEY_GLTF_MAPPINGFILTER_MAG

#define AI_MATKEY_GLTF_MAPPINGFILTER_MAG | ( | type,
 |  | N
 | ) | _AI_MATKEY_GLTF_MAPPINGFILTER_MAG_BASE, type, N

◆ AI_MATKEY_GLTF_MAPPINGFILTER_MIN

#define AI_MATKEY_GLTF_MAPPINGFILTER_MIN | ( | type,
 |  | N
 | ) | _AI_MATKEY_GLTF_MAPPINGFILTER_MIN_BASE, type, N

◆ AI_MATKEY_GLTF_MAPPINGID

#define AI_MATKEY_GLTF_MAPPINGID | ( | type,
 |  | N
 | ) | _AI_MATKEY_GLTF_MAPPINGID_BASE, type, N

◆ AI_MATKEY_GLTF_MAPPINGNAME

#define AI_MATKEY_GLTF_MAPPINGNAME | ( | type,
 |  | N
 | ) | _AI_MATKEY_GLTF_MAPPINGNAME_BASE, type, N

◆ AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_BASE_COLOR_FACTOR

#define AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_BASE_COLOR_FACTOR "$mat.gltf.pbrMetallicRoughness.baseColorFactor", 0, 0

◆ AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_BASE_COLOR_TEXTURE

#define AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_BASE_COLOR_TEXTURE aiTextureType_DIFFUSE, 1

◆ AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_METALLIC_FACTOR

#define AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_METALLIC_FACTOR "$mat.gltf.pbrMetallicRoughness.metallicFactor", 0, 0

◆ AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_METALLICROUGHNESS_TEXTURE

#define AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_METALLICROUGHNESS_TEXTURE aiTextureType_UNKNOWN, 0

◆ AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_ROUGHNESS_FACTOR

#define AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_ROUGHNESS_FACTOR "$mat.gltf.pbrMetallicRoughness.roughnessFactor", 0, 0

◆ AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS

#define AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS "$mat.gltf.pbrSpecularGlossiness", 0, 0

◆ AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS_GLOSSINESS_FACTOR

#define AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS_GLOSSINESS_FACTOR "$mat.gltf.pbrMetallicRoughness.glossinessFactor", 0, 0

◆ AI_MATKEY_GLTF_TEXTURE_SCALE

#define AI_MATKEY_GLTF_TEXTURE_SCALE | ( | type,
 |  | N
 | ) | _AI_MATKEY_GLTF_SCALE_BASE, type, N

◆ AI_MATKEY_GLTF_TEXTURE_STRENGTH

#define AI_MATKEY_GLTF_TEXTURE_STRENGTH | ( | type,
 |  | N
 | ) | _AI_MATKEY_GLTF_STRENGTH_BASE, type, N

◆ AI_MATKEY_GLTF_TEXTURE_TEXCOORD

#define AI_MATKEY_GLTF_TEXTURE_TEXCOORD | ( | type,
 |  | N
 | ) | _AI_MATKEY_GLTF_TEXTURE_TEXCOORD_BASE, type, N

◆ AI_MATKEY_GLTF_UNLIT

#define AI_MATKEY_GLTF_UNLIT "$mat.gltf.unlit", 0, 0

◆ AI_PBRMATERIAL_H_INC

#define AI_PBRMATERIAL_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: poppack1.h File Reference

  • include
  • assimp
  • Compiler
poppack1.h File Reference
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: postprocess.h File Reference

  • include
  • assimp
Macros | Enumerations
postprocess.h File Reference

Definitions for import post processing steps. More...

Macros

#define | AI_POSTPROCESS_H_INC
#define | aiProcess_ConvertToLeftHanded
Shortcut flag for Direct3D-based applications. More...
#define | aiProcessPreset_TargetRealtime_Fast
Default postprocess configuration optimizing the data for real-time rendering. More...
#define | aiProcessPreset_TargetRealtime_MaxQuality
Default postprocess configuration optimizing the data for real-time rendering. More...
#define | aiProcessPreset_TargetRealtime_Quality
Default postprocess configuration optimizing the data for real-time rendering. More...

Enumerations

enum aiPostProcessSteps {
aiProcess_CalcTangentSpace = 0x1, aiProcess_JoinIdenticalVertices = 0x2, aiProcess_MakeLeftHanded = 0x4, aiProcess_Triangulate = 0x8,
aiProcess_RemoveComponent = 0x10, aiProcess_GenNormals = 0x20, aiProcess_GenSmoothNormals = 0x40, aiProcess_SplitLargeMeshes = 0x80,
aiProcess_PreTransformVertices = 0x100, aiProcess_LimitBoneWeights = 0x200, aiProcess_ValidateDataStructure = 0x400, aiProcess_ImproveCacheLocality = 0x800,
aiProcess_RemoveRedundantMaterials = 0x1000, aiProcess_FixInfacingNormals = 0x2000, aiProcess_PopulateArmatureData = 0x4000, aiProcess_SortByPType = 0x8000,
aiProcess_FindDegenerates = 0x10000, aiProcess_FindInvalidData = 0x20000, aiProcess_GenUVCoords = 0x40000, aiProcess_TransformUVCoords = 0x80000,
aiProcess_FindInstances = 0x100000, aiProcess_OptimizeMeshes = 0x200000, aiProcess_OptimizeGraph = 0x400000, aiProcess_FlipUVs = 0x800000,
aiProcess_FlipWindingOrder = 0x1000000, aiProcess_SplitByBoneCount = 0x2000000, aiProcess_Debone = 0x4000000, aiProcess_GlobalScale = 0x8000000,
aiProcess_EmbedTextures = 0x10000000, aiProcess_ForceGenNormals = 0x20000000, aiProcess_DropNormals = 0x40000000, aiProcess_GenBoundingBoxes = 0x80000000
}
Defines the flags for all possible post processing steps. More...

Detailed Description

Definitions for import post processing steps.

Macro Definition Documentation

◆ AI_POSTPROCESS_H_INC

#define AI_POSTPROCESS_H_INC

◆ aiProcess_ConvertToLeftHanded

#define aiProcess_ConvertToLeftHanded
Value:
( \
aiProcess_MakeLeftHanded | \
aiProcess_FlipUVs | \
aiProcess_FlipWindingOrder | \
0 )

Shortcut flag for Direct3D-based applications.

Supersedes the aiProcess_MakeLeftHanded and aiProcess_FlipUVs and aiProcess_FlipWindingOrder flags. The output data matches Direct3D's conventions: left-handed geometry, upper-left origin for UV coordinates and finally clockwise face order, suitable for CCW culling.

Deprecated:

◆ aiProcessPreset_TargetRealtime_Fast

#define aiProcessPreset_TargetRealtime_Fast
Value:
( \
aiProcess_CalcTangentSpace | \
aiProcess_GenNormals | \
aiProcess_JoinIdenticalVertices | \
aiProcess_Triangulate | \
aiProcess_GenUVCoords | \
aiProcess_SortByPType | \
0 )

Default postprocess configuration optimizing the data for real-time rendering.

Applications would want to use this preset to load models on end-user PCs, maybe for direct use in game.

If you're using DirectX, don't forget to combine this value with the aiProcess_ConvertToLeftHanded step. If you don't support UV transformations in your application apply the aiProcess_TransformUVCoords step, too.

Note
Please take the time to read the docs for the steps enabled by this preset. Some of them offer further configurable properties, while some of them might not be of use for you so it might be better to not specify them.

◆ aiProcessPreset_TargetRealtime_MaxQuality

#define aiProcessPreset_TargetRealtime_MaxQuality
Value:
( \
aiProcessPreset_TargetRealtime_Quality | \
aiProcess_FindInstances | \
aiProcess_ValidateDataStructure | \
aiProcess_OptimizeMeshes | \
0 )

Default postprocess configuration optimizing the data for real-time rendering.

This preset enables almost every optimization step to achieve perfectly optimized data. It's your choice for level editor environments where import speed is not important.

If you're using DirectX, don't forget to combine this value with the aiProcess_ConvertToLeftHanded step. If you don't support UV transformations in your application, apply the aiProcess_TransformUVCoords step, too.

Note
Please take the time to read the docs for the steps enabled by this preset. Some of them offer further configurable properties, while some of them might not be of use for you so it might be better to not specify them.

◆ aiProcessPreset_TargetRealtime_Quality

#define aiProcessPreset_TargetRealtime_Quality
Value:
( \
aiProcess_CalcTangentSpace | \
aiProcess_GenSmoothNormals | \
aiProcess_JoinIdenticalVertices | \
aiProcess_ImproveCacheLocality | \
aiProcess_LimitBoneWeights | \
aiProcess_RemoveRedundantMaterials | \
aiProcess_SplitLargeMeshes | \
aiProcess_Triangulate | \
aiProcess_GenUVCoords | \
aiProcess_SortByPType | \
aiProcess_FindDegenerates | \
aiProcess_FindInvalidData | \
0 )

Default postprocess configuration optimizing the data for real-time rendering.

Unlike aiProcessPreset_TargetRealtime_Fast, this configuration performs some extra optimizations to improve rendering speed and to minimize memory usage. It could be a good choice for a level editor environment where import speed is not so important.

If you're using DirectX, don't forget to combine this value with the aiProcess_ConvertToLeftHanded step. If you don't support UV transformations in your application apply the aiProcess_TransformUVCoords step, too.

Note
Please take the time to read the docs for the steps enabled by this preset. Some of them offer further configurable properties, while some of them might not be of use for you so it might be better to not specify them.

Enumeration Type Documentation

◆ aiPostProcessSteps

enum aiPostProcessSteps

Defines the flags for all possible post processing steps.

Note
Some steps are influenced by properties set on the Assimp::Importer itself
See also
Assimp::Importer::ReadFile()
Assimp::Importer::SetPropertyInteger()
aiImportFile
aiImportFileEx
Enumerator
aiProcess_CalcTangentSpace

Calculates the tangents and bitangents for the imported meshes.

Does nothing if a mesh does not have normals. You might want this post processing step to be executed if you plan to use tangent space calculations such as normal mapping applied to the meshes. There's an importer property, AI_CONFIG_PP_CT_MAX_SMOOTHING_ANGLE, which allows you to specify a maximum smoothing angle for the algorithm. However, usually you'll want to leave it at the default value.

aiProcess_JoinIdenticalVertices

Identifies and joins identical vertex data sets within all imported meshes.

After this step is run, each mesh contains unique vertices, so a vertex may be used by multiple faces. You usually want to use this post processing step. If your application deals with indexed geometry, this step is compulsory or you'll just waste rendering time. If this flag is not specified, no vertices are referenced by more than one face and no index buffer is required for rendering.

aiProcess_MakeLeftHanded

Converts all the imported data to a left-handed coordinate space.

By default the data is returned in a right-handed coordinate space (which OpenGL prefers). In this space, +X points to the right, +Z points towards the viewer, and +Y points upwards. In the DirectX coordinate space +X points to the right, +Y points upwards, and +Z points away from the viewer.

You'll probably want to consider this flag if you use Direct3D for rendering. The aiProcess_ConvertToLeftHanded flag supersedes this setting and bundles all conversions typically required for D3D-based applications.

aiProcess_Triangulate

Triangulates all faces of all meshes.

By default the imported mesh data might contain faces with more than 3 indices. For rendering you'll usually want all faces to be triangles. This post processing step splits up faces with more than 3 indices into triangles. Line and point primitives are not modified! If you want 'triangles only' with no other kinds of primitives, try the following solution:

  • Specify both aiProcess_Triangulate and aiProcess_SortByPType
  • Ignore all point and line meshes when you process assimp's output
aiProcess_RemoveComponent

Removes some parts of the data structure (animations, materials, light sources, cameras, textures, vertex components).

The components to be removed are specified in a separate importer property, AI_CONFIG_PP_RVC_FLAGS. This is quite useful if you don't need all parts of the output structure. Vertex colors are rarely used today for example... Calling this step to remove unneeded data from the pipeline as early as possible results in increased performance and a more optimized output data structure. This step is also useful if you want to force Assimp to recompute normals or tangents. The corresponding steps don't recompute them if they're already there (loaded from the source asset). By using this step you can make sure they are NOT there.

This flag is a poor one, mainly because its purpose is usually misunderstood. Consider the following case: a 3D model has been exported from a CAD app, and it has per-face vertex colors. Vertex positions can't be shared, thus the aiProcess_JoinIdenticalVertices step fails to optimize the data because of these nasty little vertex colors. Most apps don't even process them, so it's all for nothing. By using this step, unneeded components are excluded as early as possible thus opening more room for internal optimizations.

aiProcess_GenNormals

Generates normals for all faces of all meshes.

This is ignored if normals are already there at the time this flag is evaluated. Model importers try to load them from the source file, so they're usually already there. Face normals are shared between all points of a single face, so a single point can have multiple normals, which forces the library to duplicate vertices in some cases. aiProcess_JoinIdenticalVertices is senseless then.

This flag may not be specified together with aiProcess_GenSmoothNormals.

aiProcess_GenSmoothNormals

Generates smooth normals for all vertices in the mesh.

This is ignored if normals are already there at the time this flag is evaluated. Model importers try to load them from the source file, so they're usually already there.

This flag may not be specified together with aiProcess_GenNormals. There's a importer property, AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE which allows you to specify an angle maximum for the normal smoothing algorithm. Normals exceeding this limit are not smoothed, resulting in a 'hard' seam between two faces. Using a decent angle here (e.g. 80 degrees) results in very good visual appearance.

aiProcess_SplitLargeMeshes

Splits large meshes into smaller sub-meshes.

This is quite useful for real-time rendering, where the number of triangles which can be maximally processed in a single draw-call is limited by the video driver/hardware. The maximum vertex buffer is usually limited too. Both requirements can be met with this step: you may specify both a triangle and vertex limit for a single mesh.

The split limits can (and should!) be set through the AI_CONFIG_PP_SLM_VERTEX_LIMIT and AI_CONFIG_PP_SLM_TRIANGLE_LIMIT importer properties. The default values are AI_SLM_DEFAULT_MAX_VERTICES and AI_SLM_DEFAULT_MAX_TRIANGLES.

Note that splitting is generally a time-consuming task, but only if there's something to split. The use of this step is recommended for most users.

aiProcess_PreTransformVertices

Removes the node graph and pre-transforms all vertices with the local transformation matrices of their nodes.

The output scene still contains nodes, however there is only a root node with children, each one referencing only one mesh, and each mesh referencing one material. For rendering, you can simply render all meshes in order - you don't need to pay attention to local transformations and the node hierarchy. Animations are removed during this step. This step is intended for applications without a scenegraph. The step CAN cause some problems: if e.g. a mesh of the asset contains normals and another, using the same material index, does not, they will be brought together, but the first meshes's part of the normal list is zeroed. However, these artifacts are rare.

Note
The AI_CONFIG_PP_PTV_NORMALIZE configuration property can be set to normalize the scene's spatial dimension to the -1...1 range.
aiProcess_LimitBoneWeights

Limits the number of bones simultaneously affecting a single vertex to a maximum value.

If any vertex is affected by more than the maximum number of bones, the least important vertex weights are removed and the remaining vertex weights are renormalized so that the weights still sum up to 1. The default bone weight limit is 4 (defined as AI_LMW_MAX_WEIGHTS in config.h), but you can use the AI_CONFIG_PP_LBW_MAX_WEIGHTS importer property to supply your own limit to the post processing step.

If you intend to perform the skinning in hardware, this post processing step might be of interest to you.

aiProcess_ValidateDataStructure

Validates the imported scene data structure. This makes sure that all indices are valid, all animations and bones are linked correctly, all material references are correct .. etc.

It is recommended that you capture Assimp's log output if you use this flag, so you can easily find out what's wrong if a file fails the validation. The validator is quite strict and will find all inconsistencies in the data structure... It is recommended that plugin developers use it to debug their loaders. There are two types of validation failures:

  • Error: There's something wrong with the imported data. Further postprocessing is not possible and the data is not usable at all. The import fails. #Importer::GetErrorString() or aiGetErrorString() carry the error message around.
  • Warning: There are some minor issues (e.g. 1000000 animation keyframes with the same time), but further postprocessing and use of the data structure is still safe. Warning details are written to the log file, AI_SCENE_FLAGS_VALIDATION_WARNING is set in aiScene::mFlags

This post-processing step is not time-consuming. Its use is not compulsory, but recommended.

aiProcess_ImproveCacheLocality

Reorders triangles for better vertex cache locality.

The step tries to improve the ACMR (average post-transform vertex cache miss ratio) for all meshes. The implementation runs in O(n) and is roughly based on the 'tipsify' algorithm (see this paper).

If you intend to render huge models in hardware, this step might be of interest to you. The AI_CONFIG_PP_ICL_PTCACHE_SIZE importer property can be used to fine-tune the cache optimization.

aiProcess_RemoveRedundantMaterials

Searches for redundant/unreferenced materials and removes them.

This is especially useful in combination with the aiProcess_PreTransformVertices and aiProcess_OptimizeMeshes flags. Both join small meshes with equal characteristics, but they can't do their work if two meshes have different materials. Because several material settings are lost during Assimp's import filters, (and because many exporters don't check for redundant materials), huge models often have materials which are are defined several times with exactly the same settings.

Several material settings not contributing to the final appearance of a surface are ignored in all comparisons (e.g. the material name). So, if you're passing additional information through the content pipeline (probably using magic material names), don't specify this flag. Alternatively take a look at the AI_CONFIG_PP_RRM_EXCLUDE_LIST importer property.

aiProcess_FixInfacingNormals

This step tries to determine which meshes have normal vectors that are facing inwards and inverts them.

The algorithm is simple but effective: the bounding box of all vertices + their normals is compared against the volume of the bounding box of all vertices without their normals. This works well for most objects, problems might occur with planar surfaces. However, the step tries to filter such cases. The step inverts all in-facing normals. Generally it is recommended to enable this step, although the result is not always correct.

aiProcess_PopulateArmatureData

This step generically populates aiBone->mArmature and aiBone->mNode generically The point of these is it saves you later having to calculate these elements This is useful when handling rest information or skin information If you have multiple armatures on your models we strongly recommend enabling this Instead of writing your own multi-root, multi-armature lookups we have done the hard work for you :)

aiProcess_SortByPType

This step splits meshes with more than one primitive type in homogeneous sub-meshes.

The step is executed after the triangulation step. After the step returns, just one bit is set in aiMesh::mPrimitiveTypes. This is especially useful for real-time rendering where point and line primitives are often ignored or rendered separately. You can use the AI_CONFIG_PP_SBP_REMOVE importer property to specify which primitive types you need. This can be used to easily exclude lines and points, which are rarely used, from the import.

aiProcess_FindDegenerates

This step searches all meshes for degenerate primitives and converts them to proper lines or points.

A face is 'degenerate' if one or more of its points are identical. To have the degenerate stuff not only detected and collapsed but removed, try one of the following procedures:
1. (if you support lines and points for rendering but don't want the degenerates)

  • Specify the aiProcess_FindDegenerates flag.
  • Set the AI_CONFIG_PP_FD_REMOVE importer property to
    1. This will cause the step to remove degenerate triangles from the import as soon as they're detected. They won't pass any further pipeline steps.

2.(if you don't support lines and points at all)

  • Specify the aiProcess_FindDegenerates flag.
  • Specify the aiProcess_SortByPType flag. This moves line and point primitives to separate meshes.
  • Set the AI_CONFIG_PP_SBP_REMOVE importer property to
    aiPrimitiveType_POINTS | aiPrimitiveType_LINES
    to cause SortByPType to reject point and line meshes from the scene.

This step also removes very small triangles with a surface area smaller than 10^-6. If you rely on having these small triangles, or notice holes in your model, set the property AI_CONFIG_PP_FD_CHECKAREA to false.

Note
Degenerate polygons are not necessarily evil and that's why they're not removed by default. There are several file formats which don't support lines or points, and some exporters bypass the format specification and write them as degenerate triangles instead.
aiProcess_FindInvalidData

This step searches all meshes for invalid data, such as zeroed normal vectors or invalid UV coords and removes/fixes them. This is intended to get rid of some common exporter errors.

This is especially useful for normals. If they are invalid, and the step recognizes this, they will be removed and can later be recomputed, i.e. by the aiProcess_GenSmoothNormals flag.
The step will also remove meshes that are infinitely small and reduce animation tracks consisting of hundreds if redundant keys to a single key. The AI_CONFIG_PP_FID_ANIM_ACCURACY config property decides the accuracy of the check for duplicate animation tracks.

aiProcess_GenUVCoords

This step converts non-UV mappings (such as spherical or cylindrical mapping) to proper texture coordinate channels.

Most applications will support UV mapping only, so you will probably want to specify this step in every case. Note that Assimp is not always able to match the original mapping implementation of the 3D app which produced a model perfectly. It's always better to let the modelling app compute the UV channels - 3ds max, Maya, Blender, LightWave, and Modo do this for example.

Note
If this step is not requested, you'll need to process the AI_MATKEY_MAPPING material property in order to display all assets properly.
aiProcess_TransformUVCoords

This step applies per-texture UV transformations and bakes them into stand-alone vtexture coordinate channels.

UV transformations are specified per-texture - see the AI_MATKEY_UVTRANSFORM material key for more information. This step processes all textures with transformed input UV coordinates and generates a new (pre-transformed) UV channel which replaces the old channel. Most applications won't support UV transformations, so you will probably want to specify this step.

Note
UV transformations are usually implemented in real-time apps by transforming texture coordinates at vertex shader stage with a 3x3 (homogenous) transformation matrix.
aiProcess_FindInstances

This step searches for duplicate meshes and replaces them with references to the first mesh.

This step takes a while, so don't use it if speed is a concern. Its main purpose is to workaround the fact that many export file formats don't support instanced meshes, so exporters need to duplicate meshes. This step removes the duplicates again. Please note that Assimp does not currently support per-node material assignment to meshes, which means that identical meshes with different materials are currently not joined, although this is planned for future versions.

aiProcess_OptimizeMeshes

A post-processing step to reduce the number of meshes.

This will, in fact, reduce the number of draw calls.

This is a very effective optimization and is recommended to be used
together with #aiProcess_OptimizeGraph, if possible. The flag is fully
compatible with both #aiProcess_SplitLargeMeshes and #aiProcess_SortByPType.
aiProcess_OptimizeGraph

A post-processing step to optimize the scene hierarchy.

Nodes without animations, bones, lights or cameras assigned are
collapsed and joined.

Node names can be lost during this step. If you use special 'tag nodes'
to pass additional information through your content pipeline, use the
<tt>#AI_CONFIG_PP_OG_EXCLUDE_LIST</tt> importer property to specify a
list of node names you want to be kept. Nodes matching one of the names
in this list won't be touched or modified.

Use this flag with caution. Most simple files will be collapsed to a
single node, so complex hierarchies are usually completely lost. This is not
useful for editor environments, but probably a very effective
optimization if you just want to get the model data, convert it to your
own format, and render it as fast as possible.

This flag is designed to be used with #aiProcess_OptimizeMeshes for best
results.

@note 'Crappy' scenes with thousands of extremely small meshes packed
in deeply nested nodes exist for almost all file formats.
#aiProcess_OptimizeMeshes in combination with #aiProcess_OptimizeGraph
usually fixes them all and makes them renderable.
aiProcess_FlipUVs

This step flips all UV coordinates along the y-axis and adjusts material settings and bitangents accordingly.

Output UV coordinate system:

0y|0y ---------- 1x|0y
| |
| |
| |
0x|1y ---------- 1x|1y

You'll probably want to consider this flag if you use Direct3D for rendering. The aiProcess_ConvertToLeftHanded flag supersedes this setting and bundles all conversions typically required for D3D-based applications.

aiProcess_FlipWindingOrder

This step adjusts the output face winding order to be CW.

The default face winding order is counter clockwise (CCW).

Output face order:

x2
x0
x1
aiProcess_SplitByBoneCount

This step splits meshes with many bones into sub-meshes so that each sub-mesh has fewer or as many bones as a given limit.

aiProcess_Debone

This step removes bones losslessly or according to some threshold.

In some cases (i.e. formats that require it) exporters are forced to
assign dummy bone weights to otherwise static meshes assigned to
animated meshes. Full, weight-based skinning is expensive while
animating nodes is extremely cheap, so this step is offered to clean up
the data in that regard.

Use <tt>#AI_CONFIG_PP_DB_THRESHOLD</tt> to control this.
Use <tt>#AI_CONFIG_PP_DB_ALL_OR_NONE</tt> if you want bones removed if and
only if all bones within the scene qualify for removal.
aiProcess_GlobalScale

This step will perform a global scale of the model.

Some importers are providing a mechanism to define a scaling unit for the model. This post processing step can be used to do so. You need to get the global scaling from your importer settings like in FBX. Use the flag AI_CONFIG_GLOBAL_SCALE_FACTOR_KEY from the global property table to configure this.

Use AI_CONFIG_GLOBAL_SCALE_FACTOR_KEY to setup the global scaling factor.

aiProcess_EmbedTextures

A postprocessing step to embed of textures.

This will remove external data dependencies for textures.
If a texture's file does not exist at the specified path
(due, for instance, to an absolute path generated on another system),
it will check if a file with the same name exists at the root folder
of the imported model. And if so, it uses that.
aiProcess_ForceGenNormals
aiProcess_DropNormals

Drops normals for all faces of all meshes.

This is ignored if no normals are present. Face normals are shared between all points of a single face, so a single point can have multiple normals, which forces the library to duplicate vertices in some cases. aiProcess_JoinIdenticalVertices is senseless then. This process gives sense back to aiProcess_JoinIdenticalVertices

aiProcess_GenBoundingBoxes
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: Profiler.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
Profiler.h File Reference

Utility to measure the respective runtime of each import step. More...

Classes

class Assimp::Profiling::Profiler
Simple wrapper around boost::timer to simplify reporting. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.
Assimp::Profiling

Macros

#define AI_INCLUDED_PROFILER_H

Detailed Description

Utility to measure the respective runtime of each import step.

Macro Definition Documentation

◆ AI_INCLUDED_PROFILER_H

#define AI_INCLUDED_PROFILER_H
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: ProgressHandler.hpp File Reference

  • include
  • assimp
Classes | Namespaces | Macros
ProgressHandler.hpp File Reference

Abstract base class 'ProgressHandler'. More...

Classes

class Assimp::ProgressHandler
CPP-API: Abstract interface for custom progress report receivers. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_PROGRESSHANDLER_H_INC

Detailed Description

Abstract base class 'ProgressHandler'.

Macro Definition Documentation

◆ AI_PROGRESSHANDLER_H_INC

#define AI_PROGRESSHANDLER_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: pstdint.h File Reference

  • include
  • assimp
  • Compiler
Macros | Typedefs
pstdint.h File Reference

Macros

#define | _PSTDINT_H_INCLUDED
#define | INT16_MAX 0x7fff
#define | INT16_MIN INT16_C(0x8000)
#define | INT32_MAX (0x7fffffffL)
#define | INT32_MIN INT32_C(0x80000000)
#define | INT8_MAX 0x7f
#define | INT8_MIN INT8_C(0x80)
#define | INT_FAST16_MAX INT_LEAST16_MAX
#define | INT_FAST16_MIN INT_LEAST16_MIN
#define | INT_FAST32_MAX INT_LEAST32_MAX
#define | INT_FAST32_MIN INT_LEAST32_MIN
#define | INT_FAST8_MAX INT_LEAST8_MAX
#define | INT_FAST8_MIN INT_LEAST8_MIN
#define | INT_LEAST16_MAX INT16_MAX
#define | INT_LEAST16_MIN INT16_MIN
#define | INT_LEAST32_MAX INT32_MAX
#define | INT_LEAST32_MIN INT32_MIN
#define | INT_LEAST8_MAX INT8_MAX
#define | INT_LEAST8_MIN INT8_MIN
#define | INTMAX_C(v) INT32_C(v)
#define | INTMAX_MAX INT32_MAX
#define | PRINTF_INT16_DEC_WIDTH "5"
#define | PRINTF_INT16_HEX_WIDTH "4"
#define | PRINTF_INT32_DEC_WIDTH "10"
#define | PRINTF_INT32_HEX_WIDTH "8"
#define | PRINTF_INT64_DEC_WIDTH "19"
#define | PRINTF_INT64_HEX_WIDTH "16"
#define | PRINTF_INT8_DEC_WIDTH "3"
#define | PRINTF_INT8_HEX_WIDTH "2"
#define | PRINTF_INTMAX_DEC_WIDTH PRINTF_INT32_DEC_WIDTH
#define | PRINTF_INTMAX_HEX_WIDTH PRINTF_INT32_HEX_WIDTH
#define | PRINTF_INTMAX_MODIFIER PRINTF_INT32_MODIFIER
#define | PRINTF_LEAST16_MODIFIER PRINTF_INT16_MODIFIER
#define | PRINTF_LEAST32_MODIFIER PRINTF_INT32_MODIFIER
#define | PRINTF_UINT16_DEC_WIDTH "5"
#define | PRINTF_UINT32_DEC_WIDTH "10"
#define | PRINTF_UINT64_DEC_WIDTH "20"
#define | PRINTF_UINT8_DEC_WIDTH "3"
#define | SIG_ATOMIC_MAX ((((sig_atomic_t) 1) << (sizeof (sig_atomic_t)*CHAR_BIT-1)) - 1)
#define | SIZE_MAX (~(size_t)0)
#define | STDINT_H_UINTPTR_T_DEFINED
#define | UINT16_MAX 0xffff
#define | UINT32_MAX (0xffffffffUL)
#define | UINT8_MAX 0xff
#define | UINT_FAST16_MAX UINT_LEAST16_MAX
#define | UINT_FAST32_MAX UINT_LEAST32_MAX
#define | UINT_FAST8_MAX UINT_LEAST8_MAX
#define | UINT_LEAST16_MAX UINT16_MAX
#define | UINT_LEAST32_MAX UINT32_MAX
#define | UINT_LEAST8_MAX UINT8_MAX
#define | UINTMAX_C(v) UINT32_C(v)
#define | UINTMAX_MAX UINT32_MAX
#define | ULONG_LONG_MAX UINT64_C (18446744073709551615)

Typedefs

typedef int_least16_t | int_fast16_t
typedef int_least32_t | int_fast32_t
typedef int_least8_t | int_fast8_t
typedef int16_t | int_least16_t
typedef int32_t | int_least32_t
typedef int8_t | int_least8_t
typedef int32_t | intmax_t
typedef ptrdiff_t | intptr_t
typedef uint_least16_t | uint_fast16_t
typedef uint_least32_t | uint_fast32_t
typedef uint_least8_t | uint_fast8_t
typedef uint16_t | uint_least16_t
typedef uint32_t | uint_least32_t
typedef uint8_t | uint_least8_t
typedef uint32_t | uintmax_t

Macro Definition Documentation

◆ _PSTDINT_H_INCLUDED

#define _PSTDINT_H_INCLUDED

◆ INT16_MAX

#define INT16_MAX 0x7fff

◆ INT16_MIN

#define INT16_MIN INT16_C(0x8000)

◆ INT32_MAX

#define INT32_MAX (0x7fffffffL)

◆ INT32_MIN

#define INT32_MIN INT32_C(0x80000000)

◆ INT8_MAX

#define INT8_MAX 0x7f

◆ INT8_MIN

#define INT8_MIN INT8_C(0x80)

◆ INT_FAST16_MAX

#define INT_FAST16_MAX INT_LEAST16_MAX

◆ INT_FAST16_MIN

#define INT_FAST16_MIN INT_LEAST16_MIN

◆ INT_FAST32_MAX

#define INT_FAST32_MAX INT_LEAST32_MAX

◆ INT_FAST32_MIN

#define INT_FAST32_MIN INT_LEAST32_MIN

◆ INT_FAST8_MAX

#define INT_FAST8_MAX INT_LEAST8_MAX

◆ INT_FAST8_MIN

#define INT_FAST8_MIN INT_LEAST8_MIN

◆ INT_LEAST16_MAX

#define INT_LEAST16_MAX INT16_MAX

◆ INT_LEAST16_MIN

#define INT_LEAST16_MIN INT16_MIN

◆ INT_LEAST32_MAX

#define INT_LEAST32_MAX INT32_MAX

◆ INT_LEAST32_MIN

#define INT_LEAST32_MIN INT32_MIN

◆ INT_LEAST8_MAX

#define INT_LEAST8_MAX INT8_MAX

◆ INT_LEAST8_MIN

#define INT_LEAST8_MIN INT8_MIN

◆ INTMAX_C

#define INTMAX_C ( v ) INT32_C(v)

◆ INTMAX_MAX

#define INTMAX_MAX INT32_MAX

◆ PRINTF_INT16_DEC_WIDTH

#define PRINTF_INT16_DEC_WIDTH "5"

◆ PRINTF_INT16_HEX_WIDTH

#define PRINTF_INT16_HEX_WIDTH "4"

◆ PRINTF_INT32_DEC_WIDTH

#define PRINTF_INT32_DEC_WIDTH "10"

◆ PRINTF_INT32_HEX_WIDTH

#define PRINTF_INT32_HEX_WIDTH "8"

◆ PRINTF_INT64_DEC_WIDTH

#define PRINTF_INT64_DEC_WIDTH "19"

◆ PRINTF_INT64_HEX_WIDTH

#define PRINTF_INT64_HEX_WIDTH "16"

◆ PRINTF_INT8_DEC_WIDTH

#define PRINTF_INT8_DEC_WIDTH "3"

◆ PRINTF_INT8_HEX_WIDTH

#define PRINTF_INT8_HEX_WIDTH "2"

◆ PRINTF_INTMAX_DEC_WIDTH

#define PRINTF_INTMAX_DEC_WIDTH PRINTF_INT32_DEC_WIDTH

◆ PRINTF_INTMAX_HEX_WIDTH

#define PRINTF_INTMAX_HEX_WIDTH PRINTF_INT32_HEX_WIDTH

◆ PRINTF_INTMAX_MODIFIER

#define PRINTF_INTMAX_MODIFIER PRINTF_INT32_MODIFIER

◆ PRINTF_LEAST16_MODIFIER

#define PRINTF_LEAST16_MODIFIER PRINTF_INT16_MODIFIER

◆ PRINTF_LEAST32_MODIFIER

#define PRINTF_LEAST32_MODIFIER PRINTF_INT32_MODIFIER

◆ PRINTF_UINT16_DEC_WIDTH

#define PRINTF_UINT16_DEC_WIDTH "5"

◆ PRINTF_UINT32_DEC_WIDTH

#define PRINTF_UINT32_DEC_WIDTH "10"

◆ PRINTF_UINT64_DEC_WIDTH

#define PRINTF_UINT64_DEC_WIDTH "20"

◆ PRINTF_UINT8_DEC_WIDTH

#define PRINTF_UINT8_DEC_WIDTH "3"

◆ SIG_ATOMIC_MAX

#define SIG_ATOMIC_MAX ((((sig_atomic_t) 1) << (sizeof (sig_atomic_t)*CHAR_BIT-1)) - 1)

◆ SIZE_MAX

#define SIZE_MAX (~(size_t)0)

◆ STDINT_H_UINTPTR_T_DEFINED

#define STDINT_H_UINTPTR_T_DEFINED

◆ UINT16_MAX

#define UINT16_MAX 0xffff

◆ UINT32_MAX

#define UINT32_MAX (0xffffffffUL)

◆ UINT8_MAX

#define UINT8_MAX 0xff

◆ UINT_FAST16_MAX

#define UINT_FAST16_MAX UINT_LEAST16_MAX

◆ UINT_FAST32_MAX

#define UINT_FAST32_MAX UINT_LEAST32_MAX

◆ UINT_FAST8_MAX

#define UINT_FAST8_MAX UINT_LEAST8_MAX

◆ UINT_LEAST16_MAX

#define UINT_LEAST16_MAX UINT16_MAX

◆ UINT_LEAST32_MAX

#define UINT_LEAST32_MAX UINT32_MAX

◆ UINT_LEAST8_MAX

#define UINT_LEAST8_MAX UINT8_MAX

◆ UINTMAX_C

#define UINTMAX_C ( v ) UINT32_C(v)

◆ UINTMAX_MAX

#define UINTMAX_MAX UINT32_MAX

◆ ULONG_LONG_MAX

#define ULONG_LONG_MAX UINT64_C (18446744073709551615)

Typedef Documentation

◆ int_fast16_t

typedef int_least16_t int_fast16_t

◆ int_fast32_t

typedef int_least32_t int_fast32_t

◆ int_fast8_t

typedef int_least8_t int_fast8_t

◆ int_least16_t

typedef int16_t int_least16_t

◆ int_least32_t

typedef int32_t int_least32_t

◆ int_least8_t

typedef int8_t int_least8_t

◆ intmax_t

typedef int32_t intmax_t

◆ intptr_t

typedef ptrdiff_t intptr_t

◆ uint_fast16_t

typedef uint_least16_t uint_fast16_t

◆ uint_fast32_t

typedef uint_least32_t uint_fast32_t

◆ uint_fast8_t

typedef uint_least8_t uint_fast8_t

◆ uint_least16_t

typedef uint16_t uint_least16_t

◆ uint_least32_t

typedef uint32_t uint_least32_t

◆ uint_least8_t

typedef uint8_t uint_least8_t

◆ uintmax_t

typedef uint32_t uintmax_t
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: pushpack1.h File Reference

  • include
  • assimp
  • Compiler
Macros
pushpack1.h File Reference

Macros

#define AI_PUSHPACK_IS_DEFINED

Macro Definition Documentation

◆ AI_PUSHPACK_IS_DEFINED

#define AI_PUSHPACK_IS_DEFINED
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: qnan.h File Reference

  • include
  • assimp
Classes | Macros | Functions
qnan.h File Reference

Some utilities for our dealings with qnans. More...

Classes

union | _IEEEDouble
Data structure to represent the bit pattern of a 64 Bit IEEE 754 floating-point number. More...
union | _IEEESingle
Data structure to represent the bit pattern of a 32 Bit IEEE 754 floating-point number. More...

Macros

#define AI_QNAN_H_INCLUDED

Functions

AI_FORCE_INLINE ai_real get_qnan ()
Get a fresh qnan. More...
template<class TReal >
AI_FORCE_INLINE bool | is_not_qnan (TReal in)
Check whether a float is NOT qNaN. More...
AI_FORCE_INLINE bool | is_qnan (float in)
Check whether a given float is qNaN. More...
AI_FORCE_INLINE bool | is_qnan (double in)
Check whether a given double is qNaN. More...
AI_FORCE_INLINE bool | is_special_float (float in)
check whether a float is either NaN or (+/-) INF. More...
AI_FORCE_INLINE bool | is_special_float (double in)
check whether a double is either NaN or (+/-) INF. More...

Detailed Description

Some utilities for our dealings with qnans.

Note
Some loaders use qnans to mark invalid values tempoarily, also Assimp explicitly enforces undefined normals to be set to qnan. qnan utilities are available in standard libraries (C99 for example) but last time I checked compiler coverage was so bad that I decided to reinvent the wheel.

Macro Definition Documentation

◆ AI_QNAN_H_INCLUDED

#define AI_QNAN_H_INCLUDED

Function Documentation

◆ get_qnan()

AI_FORCE_INLINE ai_real get_qnan ( )

Get a fresh qnan.

◆ is_not_qnan()

template<class TReal >
AI_FORCE_INLINE bool is_not_qnan ( TReal in )

Check whether a float is NOT qNaN.

Parameters
in Input value

◆ is_qnan() [1/2]

AI_FORCE_INLINE bool is_qnan ( float in )

Check whether a given float is qNaN.

Parameters
in Input value

◆ is_qnan() [2/2]

AI_FORCE_INLINE bool is_qnan ( double in )

Check whether a given double is qNaN.

Parameters
in Input value

◆ is_special_float() [1/2]

AI_FORCE_INLINE bool is_special_float ( float in )

check whether a float is either NaN or (+/-) INF.

Denorms return false, they're treated like normal values.

Parameters
in Input value

◆ is_special_float() [2/2]

AI_FORCE_INLINE bool is_special_float ( double in )

check whether a double is either NaN or (+/-) INF.

Denorms return false, they're treated like normal values.

Parameters
in Input value
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: quaternion.h File Reference

  • include
  • assimp
Classes | Macros | Typedefs
quaternion.h File Reference

Quaternion structure, including operators when compiling in C++. More...

Classes

class | aiMatrix3x3t< TReal >
Represents a row-major 3x3 matrix. More...
class | aiQuaterniont< TReal >
Represents a quaternion in a 4D vector. More...
class | aiVector3t< TReal >
Represents a three-dimensional vector. More...

Macros

#define AI_QUATERNION_H_INC

Typedefs

typedef aiQuaterniont< ai_real > aiQuaternion

Detailed Description

Quaternion structure, including operators when compiling in C++.

Macro Definition Documentation

◆ AI_QUATERNION_H_INC

#define AI_QUATERNION_H_INC

Typedef Documentation

◆ aiQuaternion

typedef aiQuaterniont<ai_real> aiQuaternion
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: quaternion.inl File Reference

  • include
  • assimp
Macros
quaternion.inl File Reference

Inline implementation of aiQuaterniont<TReal> operators. More...

Macros

#define AI_QUATERNION_INL_INC

Detailed Description

Inline implementation of aiQuaterniont<TReal> operators.

Macro Definition Documentation

◆ AI_QUATERNION_INL_INC

#define AI_QUATERNION_INL_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: RemoveComments.h File Reference

  • include
  • assimp
Macros
RemoveComments.h File Reference

Macros

#define AI_REMOVE_COMMENTS_H_INC

Macro Definition Documentation

◆ AI_REMOVE_COMMENTS_H_INC

#define AI_REMOVE_COMMENTS_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: scene.h File Reference

  • include
  • assimp
Classes | Macros
scene.h File Reference

Defines the data structures in which the imported scene is returned. More...

Classes

struct | aiNode
A node in the imported hierarchy. More...
struct | aiScene
The root structure of the imported data. More...

Macros

#define | AI_SCENE_FLAGS_ALLOW_SHARED 0x20
Specifies that the scene data can be shared between structures. More...
#define | AI_SCENE_FLAGS_INCOMPLETE 0x1
Specifies that the scene data structure that was imported is not complete. More...
#define | AI_SCENE_FLAGS_NON_VERBOSE_FORMAT 0x8
This flag is currently only set by the aiProcess_JoinIdenticalVertices step. More...
#define | AI_SCENE_FLAGS_TERRAIN 0x10
Denotes pure height-map terrain data. More...
#define | AI_SCENE_FLAGS_VALIDATED 0x2
This flag is set by the validation postprocess-step (aiPostProcess_ValidateDS) if the validation is successful. More...
#define | AI_SCENE_FLAGS_VALIDATION_WARNING 0x4
This flag is set by the validation postprocess-step (aiPostProcess_ValidateDS) if the validation is successful but some issues have been found. More...
#define | AI_SCENE_H_INC

Detailed Description

Defines the data structures in which the imported scene is returned.

Macro Definition Documentation

◆ AI_SCENE_FLAGS_ALLOW_SHARED

#define AI_SCENE_FLAGS_ALLOW_SHARED 0x20

Specifies that the scene data can be shared between structures.

For example: one vertex in few faces. AI_SCENE_FLAGS_NON_VERBOSE_FORMAT can not be used for this because AI_SCENE_FLAGS_NON_VERBOSE_FORMAT has internal meaning about postprocessing steps.

◆ AI_SCENE_FLAGS_INCOMPLETE

#define AI_SCENE_FLAGS_INCOMPLETE 0x1

Specifies that the scene data structure that was imported is not complete.

This flag bypasses some internal validations and allows the import of animation skeletons, material libraries or camera animation paths using Assimp. Most applications won't support such data.

◆ AI_SCENE_FLAGS_NON_VERBOSE_FORMAT

#define AI_SCENE_FLAGS_NON_VERBOSE_FORMAT 0x8

This flag is currently only set by the aiProcess_JoinIdenticalVertices step.

It indicates that the vertices of the output meshes aren't in the internal verbose format anymore. In the verbose format all vertices are unique, no vertex is ever referenced by more than one face.

◆ AI_SCENE_FLAGS_TERRAIN

#define AI_SCENE_FLAGS_TERRAIN 0x10

Denotes pure height-map terrain data.

Pure terrains usually consist of quads, sometimes triangles, in a regular grid. The x,y coordinates of all vertex positions refer to the x,y coordinates on the terrain height map, the z-axis stores the elevation at a specific point.

TER (Terragen) and HMP (3D Game Studio) are height map formats.

Note
Assimp is probably not the best choice for loading huge terrains - fully triangulated data takes extremely much free store and should be avoided as long as possible (typically you'll do the triangulation when you actually need to render it).

◆ AI_SCENE_FLAGS_VALIDATED

#define AI_SCENE_FLAGS_VALIDATED 0x2

This flag is set by the validation postprocess-step (aiPostProcess_ValidateDS) if the validation is successful.

In a validated scene you can be sure that any cross references in the data structure (e.g. vertex indices) are valid.

◆ AI_SCENE_FLAGS_VALIDATION_WARNING

#define AI_SCENE_FLAGS_VALIDATION_WARNING 0x4

This flag is set by the validation postprocess-step (aiPostProcess_ValidateDS) if the validation is successful but some issues have been found.

This can for example mean that a texture that does not exist is referenced by a material or that the bone weights for a vertex don't sum to 1.0 ... . In most cases you should still be able to use the import. This flag could be useful for applications which don't capture Assimp's log output.

◆ AI_SCENE_H_INC

#define AI_SCENE_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: SceneCombiner.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros | Typedefs
SceneCombiner.h File Reference

Classes

struct | Assimp::AttachmentInfo
Helper data structure for SceneCombiner. More...
struct | Assimp::BoneWithHash
Helper data structure for SceneCombiner::MergeBones. More...
struct | Assimp::NodeAttachmentInfo
class | Assimp::SceneCombiner
Static helper class providing various utilities to merge two scenes. More...
struct | Assimp::SceneHelper
Utility for SceneCombiner. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define | AI_INT_MERGE_SCENE_DUPLICATES_DEEP_CPY 0x4
Use deep copies of duplicate scenes. More...
#define | AI_INT_MERGE_SCENE_GEN_UNIQUE_MATNAMES 0x2
Generate unique names for materials, too. More...
#define | AI_INT_MERGE_SCENE_GEN_UNIQUE_NAMES 0x1
Generate unique names for all named scene items. More...
#define | AI_INT_MERGE_SCENE_GEN_UNIQUE_NAMES_IF_NECESSARY 0x10
Can be combined with AI_INT_MERGE_SCENE_GEN_UNIQUE_NAMES. More...
#define | AI_INT_MERGE_SCENE_RESOLVE_CROSS_ATTACHMENTS 0x8
If attachment nodes are not found in the given master scene, search the other imported scenes for them in an any order. More...
#define | AI_SCENE_COMBINER_H_INC

Typedefs

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

Macro Definition Documentation

◆ AI_INT_MERGE_SCENE_DUPLICATES_DEEP_CPY

#define AI_INT_MERGE_SCENE_DUPLICATES_DEEP_CPY 0x4

Use deep copies of duplicate scenes.

◆ AI_INT_MERGE_SCENE_GEN_UNIQUE_MATNAMES

#define AI_INT_MERGE_SCENE_GEN_UNIQUE_MATNAMES 0x2

Generate unique names for materials, too.

This is not absolutely required to pass the validation.

◆ AI_INT_MERGE_SCENE_GEN_UNIQUE_NAMES

#define AI_INT_MERGE_SCENE_GEN_UNIQUE_NAMES 0x1

Generate unique names for all named scene items.

◆ AI_INT_MERGE_SCENE_GEN_UNIQUE_NAMES_IF_NECESSARY

#define AI_INT_MERGE_SCENE_GEN_UNIQUE_NAMES_IF_NECESSARY 0x10

Can be combined with AI_INT_MERGE_SCENE_GEN_UNIQUE_NAMES.

Unique names are generated, but only if this is absolutely required to avoid name conflicts.

◆ AI_INT_MERGE_SCENE_RESOLVE_CROSS_ATTACHMENTS

#define AI_INT_MERGE_SCENE_RESOLVE_CROSS_ATTACHMENTS 0x8

If attachment nodes are not found in the given master scene, search the other imported scenes for them in an any order.

◆ AI_SCENE_COMBINER_H_INC

#define AI_SCENE_COMBINER_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: SGSpatialSort.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
SGSpatialSort.h File Reference

Classes

class | Assimp::SGSpatialSort
Specialized version of SpatialSort to support smoothing groups This is used in by the 3DS, ASE and LWO loaders. More...
struct | Assimp::SGSpatialSort::Entry
An entry in a spatially sorted position array. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_D3DSSPATIALSORT_H_INC
Small helper classes to optimize finding vertices close to a given location. More...

Macro Definition Documentation

◆ AI_D3DSSPATIALSORT_H_INC

#define AI_D3DSSPATIALSORT_H_INC

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

Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: SkeletonMeshBuilder.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
SkeletonMeshBuilder.h File Reference

Helper class to construct a dummy mesh for file formats containing only motion data. More...

Classes

class | Assimp::SkeletonMeshBuilder
This little helper class constructs a dummy mesh for a given scene the resembles the node hierarchy. More...
struct | Assimp::SkeletonMeshBuilder::Face
faces More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_SKELETONMESHBUILDER_H_INC

Detailed Description

Helper class to construct a dummy mesh for file formats containing only motion data.

Declares SkeletonMeshBuilder, a tiny utility to build dummy meshes for animation skeletons.

Macro Definition Documentation

◆ AI_SKELETONMESHBUILDER_H_INC

#define AI_SKELETONMESHBUILDER_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: SmallVector.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
SmallVector.h File Reference

Classes

class Assimp::SmallVector< T, Capacity >
Small vector with inplace storage. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_SMALLVECTOR_H_INC

Macro Definition Documentation

◆ AI_SMALLVECTOR_H_INC

#define AI_SMALLVECTOR_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: SmoothingGroups.h File Reference

  • include
  • assimp
Classes | Macros | Functions
SmoothingGroups.h File Reference

Classes

struct | FaceWithSmoothingGroup
Helper structure representing a face with smoothing groups assigned. More...
struct | MeshWithSmoothingGroups< T >
Helper structure representing a mesh whose faces have smoothing groups assigned. More...

Macros

#define AI_SMOOTHINGGROUPS_H_INC

Functions

template<class T >
void ComputeNormalsWithSmoothingsGroups (MeshWithSmoothingGroups< T > &sMesh)
Computes normal vectors for the mesh. More...

Macro Definition Documentation

◆ AI_SMOOTHINGGROUPS_H_INC

#define AI_SMOOTHINGGROUPS_H_INC

Function Documentation

◆ ComputeNormalsWithSmoothingsGroups()

template<class T >
void ComputeNormalsWithSmoothingsGroups ( MeshWithSmoothingGroups< T > & sMesh )

Computes normal vectors for the mesh.

Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: SmoothingGroups.inl File Reference

  • include
  • assimp
Macros | Functions
SmoothingGroups.inl File Reference

Macros

#define AI_SMOOTHINGGROUPS_INL_INCLUDED

Functions

template<class T >
void ComputeNormalsWithSmoothingsGroups (MeshWithSmoothingGroups< T > &sMesh)
Computes normal vectors for the mesh. More...

Macro Definition Documentation

◆ AI_SMOOTHINGGROUPS_INL_INCLUDED

#define AI_SMOOTHINGGROUPS_INL_INCLUDED

Function Documentation

◆ ComputeNormalsWithSmoothingsGroups()

template<class T >
void ComputeNormalsWithSmoothingsGroups ( MeshWithSmoothingGroups< T > & sMesh )

Computes normal vectors for the mesh.

Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: SpatialSort.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
SpatialSort.h File Reference

Classes

class | Assimp::SpatialSort
A little helper class to quickly find all vertices in the epsilon environment of a given position. More...
struct | Assimp::SpatialSort::Entry
An entry in a spatially sorted position array. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_SPATIALSORT_H_INC
Small helper classes to optimise finding vertizes close to a given location. More...

Macro Definition Documentation

◆ AI_SPATIALSORT_H_INC

#define AI_SPATIALSORT_H_INC

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

Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: StandardShapes.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
StandardShapes.h File Reference

Classes

class Assimp::StandardShapes
Helper class to generate vertex buffers for standard geometric shapes, such as cylinders, cones, boxes, spheres, elipsoids ... More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_STANDARD_SHAPES_H_INC

Macro Definition Documentation

◆ AI_STANDARD_SHAPES_H_INC

#define AI_STANDARD_SHAPES_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: StreamReader.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros | Typedefs
StreamReader.h File Reference

Classes

class Assimp::StreamReader< SwapEndianess, RuntimeSwitch >
Wrapper class around IOStream to allow for consistent reading of binary data in both little and big endian format. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_STREAMREADER_H_INCLUDED

Typedefs

typedef StreamReader< true, true > | Assimp::StreamReaderAny
typedef StreamReader< true > | Assimp::StreamReaderBE
typedef StreamReader< false > | Assimp::StreamReaderLE

Macro Definition Documentation

◆ AI_STREAMREADER_H_INCLUDED

#define AI_STREAMREADER_H_INCLUDED
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: StreamWriter.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros | Typedefs
StreamWriter.h File Reference

Classes

class Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >
Wrapper class around IOStream to allow for consistent writing of binary data in both little and big endian format. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_STREAMWRITER_H_INCLUDED

Typedefs

typedef StreamWriter< true, true > | Assimp::StreamWriterAny
typedef StreamWriter< true > | Assimp::StreamWriterBE
typedef StreamWriter< false > | Assimp::StreamWriterLE

Macro Definition Documentation

◆ AI_STREAMWRITER_H_INCLUDED

#define AI_STREAMWRITER_H_INCLUDED
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: StringComparison.h File Reference

  • include
  • assimp
Namespaces | Macros | Functions
StringComparison.h File Reference

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define INCLUDED_AI_STRING_WORKERS_H

Functions

AI_FORCE_INLINE unsigned int | Assimp::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>
AI_FORCE_INLINE unsigned int | Assimp::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...
AI_FORCE_INLINE int | Assimp::ASSIMP_stricmp (const char *s1, const char *s2)
Helper function to do platform independent string comparison. More...
AI_FORCE_INLINE int | Assimp::ASSIMP_stricmp (const std::string &a, const std::string &b)
Case independent comparison of two std::strings. More...
AI_FORCE_INLINE int | Assimp::ASSIMP_strincmp (const char *s1, const char *s2, unsigned int n)
Helper function to do platform independent string comparison. More...
AI_FORCE_INLINE unsigned int | Assimp::integer_pow (unsigned int base, unsigned int power)
Evaluates an integer power. More...

Macro Definition Documentation

◆ INCLUDED_AI_STRING_WORKERS_H

#define INCLUDED_AI_STRING_WORKERS_H
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: StringUtils.h File Reference

  • include
  • assimp
Macros | Functions
StringUtils.h File Reference

Macros

#define | AI_SIZEFMT "%zu"
#define | ai_snprintf snprintf
The portable version of the function snprintf ( C99 standard ), which works on visual studio compilers 2013 and earlier. More...
#define | INCLUDED_AI_STRINGUTILS_H

Functions

AI_FORCE_INLINE float | ai_strtof (const char *begin, const char *end)
template<class T >
AI_FORCE_INLINE std::string | DecimalToHexa (T toConvert)
AI_FORCE_INLINE void | ltrim (std::string &s)
AI_FORCE_INLINE std::string | Rgba2Hex (int r, int g, int b, int a, bool with_head)
translate RGBA to String More...
AI_FORCE_INLINE void | rtrim (std::string &s)
template<typename T >
AI_FORCE_INLINE std::string | to_string (T value)
AI_FORCE_INLINE void | trim (std::string &s)

Macro Definition Documentation

◆ AI_SIZEFMT

#define AI_SIZEFMT "%zu"

◆ ai_snprintf

ai_snprintf snprintf

The portable version of the function snprintf ( C99 standard ), which works on visual studio compilers 2013 and earlier.

Parameters
outBuf | The buffer to write in
size | The buffer size
format | The format string
ap | The additional arguments.
Returns
The number of written characters if the buffer size was big enough. If an encoding error occurs, a negative number is returned.

◆ INCLUDED_AI_STRINGUTILS_H

#define INCLUDED_AI_STRINGUTILS_H

Function Documentation

◆ ai_strtof()

AI_FORCE_INLINE float ai_strtof | ( | const char * | begin,
 |  | const char * | end
 | ) |  |

◆ DecimalToHexa()

template<class T >
AI_FORCE_INLINE std::string DecimalToHexa ( T toConvert )

◆ ltrim()

AI_FORCE_INLINE void ltrim ( std::string & s )

◆ Rgba2Hex()

AI_FORCE_INLINE std::string Rgba2Hex | ( | int | r,
 |  | int | g,
 |  | int | b,
 |  | int | a,
 |  | bool | with_head
 | ) |  |

translate RGBA to String

Parameters
r | aiColor.r
g | aiColor.g
b | aiColor.b
a | aiColor.a
with_head #
Returns
The hexadecimal string, is empty in case of an error.

◆ rtrim()

AI_FORCE_INLINE void rtrim ( std::string & s )

◆ to_string()

template<typename T >
AI_FORCE_INLINE std::string to_string ( T value )

◆ trim()

AI_FORCE_INLINE void trim ( std::string & s )
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: Subdivision.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
Subdivision.h File Reference

Classes

class Assimp::Subdivider
Helper class to evaluate subdivision surfaces. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_SUBDISIVION_H_INC

Macro Definition Documentation

◆ AI_SUBDISIVION_H_INC

#define AI_SUBDISIVION_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: texture.h File Reference

  • include
  • assimp
Classes | Macros | Variables
texture.h File Reference

Defines texture helper structures for the library. More...

Classes

struct | aiTexel
Helper structure to represent a texel in a ARGB8888 format. More...
struct | aiTexture
Helper structure to describe an embedded texture. More...

Macros

#define | AI_EMBEDDED_TEXNAME_PREFIX "*"
AI_MAKE_EMBEDDED_TEXNAME More...
#define | AI_MAKE_EMBEDDED_TEXNAME(_n_) AI_EMBEDDED_TEXNAME_PREFIX # _n_
Used to build the reserved path name used by the material system to reference textures that are embedded into their corresponding model files. More...
#define | AI_TEXTURE_H_INC
#define | HINTMAXTEXTURELEN 9

Variables

struct aiTexel PACK_STRUCT

Detailed Description

Defines texture helper structures for the library.

Used for file formats which embed their textures into the model file. Supported are both normal textures, which are stored as uncompressed pixels, and "compressed" textures, which are stored in a file format such as PNG or TGA.

Macro Definition Documentation

◆ AI_EMBEDDED_TEXNAME_PREFIX

#define AI_EMBEDDED_TEXNAME_PREFIX "*"

AI_MAKE_EMBEDDED_TEXNAME

◆ AI_MAKE_EMBEDDED_TEXNAME

#define AI_MAKE_EMBEDDED_TEXNAME ( _n_ ) AI_EMBEDDED_TEXNAME_PREFIX # _n_

Used to build the reserved path name used by the material system to reference textures that are embedded into their corresponding model files.

The parameter specifies the index of the texture (zero-based, in the aiScene::mTextures array)

◆ AI_TEXTURE_H_INC

#define AI_TEXTURE_H_INC

◆ HINTMAXTEXTURELEN

#define HINTMAXTEXTURELEN 9

Variable Documentation

◆ PACK_STRUCT

struct aiTexel PACK_STRUCT
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: TinyFormatter.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros | Typedefs
TinyFormatter.h File Reference

Utility to format log messages more easily. More...

Classes

class Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >
stringstream utility. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.
Assimp::Formatter

Macros

#define INCLUDED_TINY_FORMATTER_H

Typedefs

typedef basic_formatter< char > | Assimp::Formatter::format
typedef basic_formatter< wchar_t > | Assimp::Formatter::wformat

Detailed Description

Utility to format log messages more easily.

Introduced to get rid of the boost::format dependency. Much slinker, basically just extends stringstream.

Macro Definition Documentation

◆ INCLUDED_TINY_FORMATTER_H

#define INCLUDED_TINY_FORMATTER_H
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: types.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros | Typedefs | Enumerations | Variables
types.h File Reference

Basic data types and primitives, such as vectors or colors. More...

Classes

struct | aiColor3D
Represents a color in Red-Green-Blue space. More...
struct | aiMemoryInfo
Stores the memory requirements for different components (e.g. More...
struct | aiPlane
Represents a plane in a three-dimensional, euclidean space. More...
struct | aiRay
Represents a ray. More...
struct | aiString
Represents an UTF-8 string, zero byte terminated. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_TYPES_H_INC

Typedefs

typedef int32_t | ai_int32
typedef uint32_t | ai_uint32

Enumerations

enum | aiDefaultLogStream { aiDefaultLogStream_FILE = 0x1, aiDefaultLogStream_STDOUT = 0x2, aiDefaultLogStream_STDERR = 0x4, aiDefaultLogStream_DEBUGGER = 0x8 }
Enumerates predefined log streaming destinations. More...
enum | aiOrigin { aiOrigin_SET = 0x0, aiOrigin_CUR = 0x1, aiOrigin_END = 0x2 }
Seek origins (for the virtual file system API). More...
enum | aiReturn { aiReturn_SUCCESS = 0x0, aiReturn_FAILURE = -0x1, aiReturn_OUTOFMEMORY = -0x3 }
Standard return type for some library functions. More...

Variables

static const size_t MAXLEN = 1024
Maximum dimension for strings, ASSIMP strings are zero terminated. More...

Detailed Description

Basic data types and primitives, such as vectors or colors.

Macro Definition Documentation

◆ AI_TYPES_H_INC

#define AI_TYPES_H_INC

Typedef Documentation

◆ ai_int32

typedef int32_t ai_int32

◆ ai_uint32

typedef uint32_t ai_uint32

Enumeration Type Documentation

◆ aiDefaultLogStream

enum aiDefaultLogStream

Enumerates predefined log streaming destinations.

Logging to these streams can be enabled with a single call to #LogStream::createDefaultStream.

Enumerator
aiDefaultLogStream_FILE | Stream the log to a file.
aiDefaultLogStream_STDOUT | Stream the log to std::cout.
aiDefaultLogStream_STDERR | Stream the log to std::cerr.
aiDefaultLogStream_DEBUGGER | MSVC only: Stream the log the the debugger (this relies on OutputDebugString from the Win32 SDK)

◆ aiOrigin

enum aiOrigin

Seek origins (for the virtual file system API).

Much cooler than using SEEK_SET, SEEK_CUR or SEEK_END.

Enumerator
aiOrigin_SET | Beginning of the file.
aiOrigin_CUR | Current position of the file pointer.
aiOrigin_END | End of the file, offsets must be negative.

◆ aiReturn

enum aiReturn

Standard return type for some library functions.

Rarely used, and if, mostly in the C API.

Enumerator
aiReturn_SUCCESS | Indicates that a function was successful.
aiReturn_FAILURE | Indicates that a function failed.
aiReturn_OUTOFMEMORY | Indicates that not enough memory was available to perform the requested operation.

Variable Documentation

◆ MAXLEN

const size_t MAXLEN = 1024
static

Maximum dimension for strings, ASSIMP strings are zero terminated.

Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: vector2.h File Reference

  • include
  • assimp
Classes | Macros | Typedefs
vector2.h File Reference

2D vector structure, including operators when compiling in C++ More...

Classes

class aiVector2t< TReal >
Represents a two-dimensional vector. More...

Macros

#define AI_VECTOR2D_H_INC

Typedefs

typedef aiVector2t< ai_real > aiVector2D

Detailed Description

2D vector structure, including operators when compiling in C++

Macro Definition Documentation

◆ AI_VECTOR2D_H_INC

#define AI_VECTOR2D_H_INC

Typedef Documentation

◆ aiVector2D

typedef aiVector2t<ai_real> aiVector2D
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: vector2.inl File Reference

  • include
  • assimp
Macros | Functions
vector2.inl File Reference

Inline implementation of aiVector2t<TReal> operators. More...

Macros

#define AI_VECTOR2D_INL_INC

Functions

template<typename TReal >
TReal | operator* (const aiVector2t< TReal > &v1, const aiVector2t< TReal > &v2)
template<typename TReal >
aiVector2t< TReal > | operator* (TReal f, const aiVector2t< TReal > &v)
template<typename TReal >
aiVector2t< TReal > | operator* (const aiVector2t< TReal > &v, TReal f)
template<typename TReal >
aiVector2t< TReal > | operator+ (const aiVector2t< TReal > &v1, const aiVector2t< TReal > &v2)
template<typename TReal >
aiVector2t< TReal > | operator- (const aiVector2t< TReal > &v1, const aiVector2t< TReal > &v2)
template<typename TReal >
aiVector2t< TReal > | operator- (const aiVector2t< TReal > &v)
template<typename TReal >
aiVector2t< TReal > | operator/ (const aiVector2t< TReal > &v, TReal f)
template<typename TReal >
aiVector2t< TReal > | operator/ (const aiVector2t< TReal > &v, const aiVector2t< TReal > &v2)

Detailed Description

Inline implementation of aiVector2t<TReal> operators.

Macro Definition Documentation

◆ AI_VECTOR2D_INL_INC

#define AI_VECTOR2D_INL_INC

Function Documentation

◆ operator*() [1/3]

template<typename TReal >
TReal operator* | ( | const aiVector2t< TReal > & | v1,
 |  | const aiVector2t< TReal > & | v2
 | ) |  |
inline

◆ operator*() [2/3]

template<typename TReal >
aiVector2t<TReal> operator* | ( | TReal | f,
 |  | const aiVector2t< TReal > & | v
 | ) |  |
inline

◆ operator*() [3/3]

template<typename TReal >
aiVector2t<TReal> operator* | ( | const aiVector2t< TReal > & | v,
 |  | TReal | f
 | ) |  |
inline

◆ operator+()

template<typename TReal >
aiVector2t<TReal> operator+ | ( | const aiVector2t< TReal > & | v1,
 |  | const aiVector2t< TReal > & | v2
 | ) |  |
inline

◆ operator-() [1/2]

template<typename TReal >
aiVector2t<TReal> operator- | ( | const aiVector2t< TReal > & | v1,
 |  | const aiVector2t< TReal > & | v2
 | ) |  |
inline

◆ operator-() [2/2]

template<typename TReal >
aiVector2t<TReal> operator- ( const aiVector2t< TReal > & v )
inline

◆ operator/() [1/2]

template<typename TReal >
aiVector2t<TReal> operator/ | ( | const aiVector2t< TReal > & | v,
 |  | TReal | f
 | ) |  |
inline

◆ operator/() [2/2]

template<typename TReal >
aiVector2t<TReal> operator/ | ( | const aiVector2t< TReal > & | v,
 |  | const aiVector2t< TReal > & | v2
 | ) |  |
inline
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: vector3.h File Reference

  • include
  • assimp
Classes | Macros | Typedefs
vector3.h File Reference

3D vector structure, including operators when compiling in C++ More...

Classes

class | aiMatrix3x3t< TReal >
Represents a row-major 3x3 matrix. More...
class | aiMatrix4x4t< TReal >
Represents a row-major 4x4 matrix, use this for homogeneous coordinates. More...
class | aiVector3t< TReal >
Represents a three-dimensional vector. More...

Macros

#define AI_VECTOR3D_H_INC

Typedefs

typedef aiVector3t< ai_real > aiVector3D

Detailed Description

3D vector structure, including operators when compiling in C++

Macro Definition Documentation

◆ AI_VECTOR3D_H_INC

#define AI_VECTOR3D_H_INC

Typedef Documentation

◆ aiVector3D

typedef aiVector3t<ai_real> aiVector3D
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: vector3.inl File Reference

  • include
  • assimp
Macros | Functions
vector3.inl File Reference

Inline implementation of aiVector3t<TReal> operators. More...

Macros

#define AI_VECTOR3D_INL_INC

Functions

template<typename TReal >
AI_FORCE_INLINE aiVector3t< TReal > | operator* (const aiMatrix3x3t< TReal > &pMatrix, const aiVector3t< TReal > &pVector)
Transformation of a vector by a 3x3 matrix. More...
template<typename TReal >
AI_FORCE_INLINE aiVector3t< TReal > | operator* (const aiMatrix4x4t< TReal > &pMatrix, const aiVector3t< TReal > &pVector)
Transformation of a vector by a 4x4 matrix. More...
template<typename TReal >
AI_FORCE_INLINE TReal | operator* (const aiVector3t< TReal > &v1, const aiVector3t< TReal > &v2)
template<typename TReal >
AI_FORCE_INLINE aiVector3t< TReal > | operator* (TReal f, const aiVector3t< TReal > &v)
template<typename TReal >
AI_FORCE_INLINE aiVector3t< TReal > | operator* (const aiVector3t< TReal > &v, TReal f)
template<typename TReal >
AI_FORCE_INLINE aiVector3t< TReal > | operator+ (const aiVector3t< TReal > &v1, const aiVector3t< TReal > &v2)
template<typename TReal >
AI_FORCE_INLINE aiVector3t< TReal > | operator- (const aiVector3t< TReal > &v1, const aiVector3t< TReal > &v2)
template<typename TReal >
AI_FORCE_INLINE aiVector3t< TReal > | operator- (const aiVector3t< TReal > &v)
template<typename TReal >
AI_FORCE_INLINE aiVector3t< TReal > | operator/ (const aiVector3t< TReal > &v, TReal f)
template<typename TReal >
AI_FORCE_INLINE aiVector3t< TReal > | operator/ (const aiVector3t< TReal > &v, const aiVector3t< TReal > &v2)
template<typename TReal >
AI_FORCE_INLINE aiVector3t< TReal > | operator^ (const aiVector3t< TReal > &v1, const aiVector3t< TReal > &v2)

Detailed Description

Inline implementation of aiVector3t<TReal> operators.

Macro Definition Documentation

◆ AI_VECTOR3D_INL_INC

#define AI_VECTOR3D_INL_INC

Function Documentation

◆ operator*() [1/5]

template<typename TReal >
AI_FORCE_INLINE aiVector3t<TReal> operator* | ( | const aiMatrix3x3t< TReal > & | pMatrix,
 |  | const aiVector3t< TReal > & | pVector
 | ) |  |

Transformation of a vector by a 3x3 matrix.

◆ operator*() [2/5]

template<typename TReal >
AI_FORCE_INLINE aiVector3t<TReal> operator* | ( | const aiMatrix4x4t< TReal > & | pMatrix,
 |  | const aiVector3t< TReal > & | pVector
 | ) |  |

Transformation of a vector by a 4x4 matrix.

◆ operator*() [3/5]

template<typename TReal >
AI_FORCE_INLINE TReal operator* | ( | const aiVector3t< TReal > & | v1,
 |  | const aiVector3t< TReal > & | v2
 | ) |  |

◆ operator*() [4/5]

template<typename TReal >
AI_FORCE_INLINE aiVector3t<TReal> operator* | ( | TReal | f,
 |  | const aiVector3t< TReal > & | v
 | ) |  |

◆ operator*() [5/5]

template<typename TReal >
AI_FORCE_INLINE aiVector3t<TReal> operator* | ( | const aiVector3t< TReal > & | v,
 |  | TReal | f
 | ) |  |

◆ operator+()

template<typename TReal >
AI_FORCE_INLINE aiVector3t<TReal> operator+ | ( | const aiVector3t< TReal > & | v1,
 |  | const aiVector3t< TReal > & | v2
 | ) |  |

◆ operator-() [1/2]

template<typename TReal >
AI_FORCE_INLINE aiVector3t<TReal> operator- | ( | const aiVector3t< TReal > & | v1,
 |  | const aiVector3t< TReal > & | v2
 | ) |  |

◆ operator-() [2/2]

template<typename TReal >
AI_FORCE_INLINE aiVector3t<TReal> operator- ( const aiVector3t< TReal > & v )

◆ operator/() [1/2]

template<typename TReal >
AI_FORCE_INLINE aiVector3t<TReal> operator/ | ( | const aiVector3t< TReal > & | v,
 |  | TReal | f
 | ) |  |

◆ operator/() [2/2]

template<typename TReal >
AI_FORCE_INLINE aiVector3t<TReal> operator/ | ( | const aiVector3t< TReal > & | v,
 |  | const aiVector3t< TReal > & | v2
 | ) |  |

◆ operator^()

template<typename TReal >
AI_FORCE_INLINE aiVector3t<TReal> operator^ | ( | const aiVector3t< TReal > & | v1,
 |  | const aiVector3t< TReal > & | v2
 | ) |  |
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: version.h File Reference

  • include
  • assimp
Macros | Functions
version.h File Reference

Functions to query the version of the Assimp runtime, check compile flags, ... More...

Macros

#define | AI_VERSION_H_INC
#define | ASSIMP_CFLAGS_DEBUG 0x4
Assimp was compiled as a debug build. More...
#define | ASSIMP_CFLAGS_DOUBLE_SUPPORT 0x20
Assimp was compiled with ASSIMP_BUILD_SINGLETHREADED defined. More...
#define | ASSIMP_CFLAGS_NOBOOST 0x8
Assimp was compiled with ASSIMP_BUILD_BOOST_WORKAROUND defined. More...
#define | ASSIMP_CFLAGS_SHARED 0x1
Assimp was compiled as a shared object (Windows: DLL) More...
#define | ASSIMP_CFLAGS_SINGLETHREADED 0x10
Assimp was compiled with ASSIMP_BUILD_SINGLETHREADED defined. More...
#define | ASSIMP_CFLAGS_STLPORT 0x2
Assimp was compiled against STLport. More...

Functions

ASSIMP_API const char * | aiGetBranchName ()
Returns the branch-name of the Assimp runtime. More...
ASSIMP_API unsigned int | aiGetCompileFlags (void)
Returns assimp's compile flags. More...
ASSIMP_API const char * | aiGetLegalString (void)
Returns a string with legal copyright and licensing information about Assimp. More...
ASSIMP_API unsigned int | aiGetVersionMajor (void)
Returns the current major version number of Assimp. More...
ASSIMP_API unsigned int | aiGetVersionMinor (void)
Returns the current minor version number of Assimp. More...
ASSIMP_API unsigned int | aiGetVersionPatch (void)
Returns the current patch version number of Assimp. More...
ASSIMP_API unsigned int | aiGetVersionRevision (void)
Returns the repository revision of the Assimp runtime. More...

Detailed Description

Functions to query the version of the Assimp runtime, check compile flags, ...

Macro Definition Documentation

◆ AI_VERSION_H_INC

#define AI_VERSION_H_INC

◆ ASSIMP_CFLAGS_DEBUG

#define ASSIMP_CFLAGS_DEBUG 0x4

Assimp was compiled as a debug build.

◆ ASSIMP_CFLAGS_DOUBLE_SUPPORT

#define ASSIMP_CFLAGS_DOUBLE_SUPPORT 0x20

Assimp was compiled with ASSIMP_BUILD_SINGLETHREADED defined.

◆ ASSIMP_CFLAGS_NOBOOST

#define ASSIMP_CFLAGS_NOBOOST 0x8

Assimp was compiled with ASSIMP_BUILD_BOOST_WORKAROUND defined.

◆ ASSIMP_CFLAGS_SHARED

#define ASSIMP_CFLAGS_SHARED 0x1

Assimp was compiled as a shared object (Windows: DLL)

◆ ASSIMP_CFLAGS_SINGLETHREADED

#define ASSIMP_CFLAGS_SINGLETHREADED 0x10

Assimp was compiled with ASSIMP_BUILD_SINGLETHREADED defined.

◆ ASSIMP_CFLAGS_STLPORT

#define ASSIMP_CFLAGS_STLPORT 0x2

Assimp was compiled against STLport.

Function Documentation

◆ aiGetBranchName()

ASSIMP_API const char* aiGetBranchName ( )

Returns the branch-name of the Assimp runtime.

Returns
The current branch name.

◆ aiGetCompileFlags()

ASSIMP_API unsigned int aiGetCompileFlags ( void )

Returns assimp's compile flags.

Returns
Any bitwise combination of the ASSIMP_CFLAGS_xxx constants.

◆ aiGetLegalString()

ASSIMP_API const char* aiGetLegalString ( void )

Returns a string with legal copyright and licensing information about Assimp.

The string may include multiple lines.

Returns
Pointer to static string.

◆ aiGetVersionMajor()

ASSIMP_API unsigned int aiGetVersionMajor ( void )

Returns the current major version number of Assimp.

Returns
Major version of the Assimp runtime the application was linked/built against

◆ aiGetVersionMinor()

ASSIMP_API unsigned int aiGetVersionMinor ( void )

Returns the current minor version number of Assimp.

Returns
Minor version of the Assimp runtime the application was linked/built against

◆ aiGetVersionPatch()

ASSIMP_API unsigned int aiGetVersionPatch ( void )

Returns the current patch version number of Assimp.

Returns
Patch version of the Assimp runtime the application was linked/built against

◆ aiGetVersionRevision()

ASSIMP_API unsigned int aiGetVersionRevision ( void )

Returns the repository revision of the Assimp runtime.

Returns
SVN Repository revision number of the Assimp runtime the application was linked/built against.
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: Vertex.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros | Functions
Vertex.h File Reference

Classes

struct | Assimp::Intern::divides< T0, T1, TRES >
struct | Assimp::Intern::minus< T0, T1, TRES >
struct | Assimp::Intern::multiplies< T0, T1, TRES >
struct | Assimp::Intern::plus< T0, T1, TRES >
class | Assimp::Vertex
Intermediate description a vertex with all possible components. More...

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.
Assimp::Intern

Macros

#define AI_VERTEX_H_INC

Functions

AI_FORCE_INLINE Vertex | Assimp::operator* (const Vertex &v0, ai_real f)
AI_FORCE_INLINE Vertex | Assimp::operator* (ai_real f, const Vertex &v0)
AI_FORCE_INLINE Vertex | Assimp::operator+ (const Vertex &v0, const Vertex &v1)
AI_FORCE_INLINE Vertex | Assimp::operator- (const Vertex &v0, const Vertex &v1)
AI_FORCE_INLINE Vertex | Assimp::operator/ (const Vertex &v0, ai_real f)

Macro Definition Documentation

◆ AI_VERTEX_H_INC

#define AI_VERTEX_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: XmlParser.h File Reference

  • include
  • assimp
Classes | Namespaces | Typedefs
XmlParser.h File Reference

Classes

struct | Assimp::find_node_by_name_predicate
struct | Assimp::NodeConverter< TNodeType >
class | Assimp::TXmlParser< TNodeType >
class | Assimp::XmlNodeIterator

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Typedefs

using | Assimp::XmlAttribute = pugi::xml_attribute
using | Assimp::XmlNode = pugi::xml_node
using | Assimp::XmlParser = TXmlParser< pugi::xml_node >
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: XMLTools.h File Reference

  • include
  • assimp
Namespaces | Macros | Functions
XMLTools.h File Reference

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define INCLUDED_ASSIMP_XML_TOOLS_H

Functions

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

Macro Definition Documentation

◆ INCLUDED_ASSIMP_XML_TOOLS_H

#define INCLUDED_ASSIMP_XML_TOOLS_H
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: ZipArchiveIOSystem.h File Reference

  • include
  • assimp
Classes | Namespaces | Macros
ZipArchiveIOSystem.h File Reference

Implementation of IOSystem to read a ZIP file from another IOSystem. More...

Classes

class Assimp::ZipArchiveIOSystem

Namespaces

Assimp
Some C++ utilities for inter- and extrapolation.

Macros

#define AI_ZIPARCHIVEIOSYSTEM_H_INC

Detailed Description

Implementation of IOSystem to read a ZIP file from another IOSystem.

Macro Definition Documentation

◆ AI_ZIPARCHIVEIOSYSTEM_H_INC

#define AI_ZIPARCHIVEIOSYSTEM_H_INC
Generated on Mon Dec 14 2020 19:31:09 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- _ -

  • _AI_MATKEY_GLTF_MAPPINGFILTER_MAG_BASE : pbrmaterial.h
  • _AI_MATKEY_GLTF_MAPPINGFILTER_MIN_BASE : pbrmaterial.h
  • _AI_MATKEY_GLTF_MAPPINGID_BASE : pbrmaterial.h
  • _AI_MATKEY_GLTF_MAPPINGNAME_BASE : pbrmaterial.h
  • _AI_MATKEY_GLTF_SCALE_BASE : pbrmaterial.h
  • _AI_MATKEY_GLTF_STRENGTH_BASE : pbrmaterial.h
  • _AI_MATKEY_GLTF_TEXTURE_TEXCOORD_BASE : pbrmaterial.h
  • _aiAnimBehaviour_Force32Bit : anim.h
  • _aiBlendMode_Force32Bit : material.h
  • _aiComponent_Force32Bit : config.h
  • _aiLightSource_Force32Bit : light.h
  • _aiMorphingMethod_Force32Bit : mesh.h
  • _aiPrimitiveType_Force32Bit : mesh.h
  • _aiShadingMode_Force32Bit : material.h
  • _aiTextureFlags_Force32Bit : material.h
  • _aiTextureMapMode_Force32Bit : material.h
  • _aiTextureMapping_Force32Bit : material.h
  • _aiTextureOp_Force32Bit : material.h
  • _aiTextureType_Force32Bit : material.h
  • _PSTDINT_H_INCLUDED : pstdint.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- a -

  • AI_AABB_H_INC : aabb.h
  • AI_AIMETADATA : metadata.h
  • AI_AISTRING : metadata.h
  • AI_AIVECTOR3D : metadata.h
  • AI_ANIM_H_INC : anim.h
  • ai_assert : ai_assert.h
  • ai_assert_entry : ai_assert.h
  • AI_ASSERT_H_INC : ai_assert.h
  • AI_ASSIMP_H_INC : cimport.h
  • AI_ASSIMP_HPP_INC : Importer.hpp
  • AI_BE : ByteSwapper.h
  • AI_BITMAP_H_INC : Bitmap.h
  • AI_BLOBIO_MAGIC : BlobIOSystem.h
  • AI_BOOL : metadata.h
  • AI_BYTESWAPPER_H_INC : ByteSwapper.h
  • AI_CAMERA_H_INC : camera.h
  • AI_COLLADAMETADATA_H_INC : ColladaMetaData.h
  • AI_COLOR4D_H_INC : color4.h
  • AI_COLOR4D_INL_INC : color4.inl
  • AI_COMMONMETADATA_H_INC : commonMetaData.h
  • AI_CONFIG_ANDROID_JNI_ASSIMP_MANAGER_SUPPORT : config.h
  • AI_CONFIG_APP_SCALE_KEY : config.h
  • AI_CONFIG_EXPORT_POINT_CLOUDS : config.h
  • AI_CONFIG_EXPORT_XFILE_64BIT : config.h
  • AI_CONFIG_FAVOUR_SPEED : config.h
  • AI_CONFIG_FBX_CONVERT_TO_M : config.h
  • AI_CONFIG_GLOB_MEASURE_TIME : config.h
  • AI_CONFIG_GLOBAL_SCALE_FACTOR_DEFAULT : config.h
  • AI_CONFIG_GLOBAL_SCALE_FACTOR_KEY : config.h
  • AI_CONFIG_H_INC : config.h
  • AI_CONFIG_IMPORT_AC_EVAL_SUBDIVISION : config.h
  • AI_CONFIG_IMPORT_AC_SEPARATE_BFCULL : config.h
  • AI_CONFIG_IMPORT_ASE_RECONSTRUCT_NORMALS : config.h
  • AI_CONFIG_IMPORT_COLLADA_IGNORE_UP_DIRECTION : config.h
  • AI_CONFIG_IMPORT_COLLADA_USE_COLLADA_NAMES : config.h
  • AI_CONFIG_IMPORT_FBX_EMBEDDED_TEXTURES_LEGACY_NAMING : config.h
  • AI_CONFIG_IMPORT_FBX_OPTIMIZE_EMPTY_ANIMATION_CURVES : config.h
  • AI_CONFIG_IMPORT_FBX_PRESERVE_PIVOTS : config.h
  • AI_CONFIG_IMPORT_FBX_READ_ALL_GEOMETRY_LAYERS : config.h
  • AI_CONFIG_IMPORT_FBX_READ_ALL_MATERIALS : config.h
  • AI_CONFIG_IMPORT_FBX_READ_ANIMATIONS : config.h
  • AI_CONFIG_IMPORT_FBX_READ_CAMERAS : config.h
  • AI_CONFIG_IMPORT_FBX_READ_LIGHTS : config.h
  • AI_CONFIG_IMPORT_FBX_READ_MATERIALS : config.h
  • AI_CONFIG_IMPORT_FBX_READ_TEXTURES : config.h
  • AI_CONFIG_IMPORT_FBX_READ_WEIGHTS : config.h
  • AI_CONFIG_IMPORT_FBX_STRICT_MODE : config.h
  • AI_CONFIG_IMPORT_GLOBAL_KEYFRAME : config.h
  • AI_CONFIG_IMPORT_IFC_CUSTOM_TRIANGULATION : config.h
  • AI_CONFIG_IMPORT_IFC_CYLINDRICAL_TESSELLATION : config.h
  • AI_CONFIG_IMPORT_IFC_SKIP_SPACE_REPRESENTATIONS : config.h
  • AI_CONFIG_IMPORT_IFC_SMOOTHING_ANGLE : config.h
  • AI_CONFIG_IMPORT_IRR_ANIM_FPS : config.h
  • AI_CONFIG_IMPORT_LWO_ONE_LAYER_ONLY : config.h
  • AI_CONFIG_IMPORT_LWS_ANIM_END : config.h
  • AI_CONFIG_IMPORT_LWS_ANIM_START : config.h
  • AI_CONFIG_IMPORT_MD2_KEYFRAME : config.h
  • AI_CONFIG_IMPORT_MD3_HANDLE_MULTIPART : config.h
  • AI_CONFIG_IMPORT_MD3_KEYFRAME : config.h
  • AI_CONFIG_IMPORT_MD3_SHADER_SRC : config.h
  • AI_CONFIG_IMPORT_MD3_SKIN_NAME : config.h
  • AI_CONFIG_IMPORT_MD5_NO_ANIM_AUTOLOAD : config.h
  • AI_CONFIG_IMPORT_MDC_KEYFRAME : config.h
  • AI_CONFIG_IMPORT_MDL_COLORMAP : config.h
  • AI_CONFIG_IMPORT_MDL_HL1_READ_ANIMATION_EVENTS : config.h
  • AI_CONFIG_IMPORT_MDL_HL1_READ_ANIMATIONS : config.h
  • AI_CONFIG_IMPORT_MDL_HL1_READ_ATTACHMENTS : config.h
  • AI_CONFIG_IMPORT_MDL_HL1_READ_BLEND_CONTROLLERS : config.h
  • AI_CONFIG_IMPORT_MDL_HL1_READ_BONE_CONTROLLERS : config.h
  • AI_CONFIG_IMPORT_MDL_HL1_READ_HITBOXES : config.h
  • AI_CONFIG_IMPORT_MDL_HL1_READ_MISC_GLOBAL_INFO : config.h
  • AI_CONFIG_IMPORT_MDL_HL1_READ_SEQUENCE_TRANSITIONS : config.h
  • AI_CONFIG_IMPORT_MDL_KEYFRAME : config.h
  • AI_CONFIG_IMPORT_NO_SKELETON_MESHES : config.h
  • AI_CONFIG_IMPORT_OGRE_MATERIAL_FILE : config.h
  • AI_CONFIG_IMPORT_OGRE_TEXTURETYPE_FROM_FILENAME : config.h
  • AI_CONFIG_IMPORT_REMOVE_EMPTY_BONES : config.h
  • AI_CONFIG_IMPORT_SMD_KEYFRAME : config.h
  • AI_CONFIG_IMPORT_SMD_LOAD_ANIMATION_LIST : config.h
  • AI_CONFIG_IMPORT_TER_MAKE_UVS : config.h
  • AI_CONFIG_IMPORT_UNREAL_HANDLE_FLAGS : config.h
  • AI_CONFIG_IMPORT_UNREAL_KEYFRAME : config.h
  • AI_CONFIG_PP_CT_MAX_SMOOTHING_ANGLE : config.h
  • AI_CONFIG_PP_CT_TEXTURE_CHANNEL_INDEX : config.h
  • AI_CONFIG_PP_DB_ALL_OR_NONE : config.h
  • AI_CONFIG_PP_DB_THRESHOLD : config.h
  • AI_CONFIG_PP_FD_CHECKAREA : config.h
  • AI_CONFIG_PP_FD_REMOVE : config.h
  • AI_CONFIG_PP_FID_ANIM_ACCURACY : config.h
  • AI_CONFIG_PP_FID_IGNORE_TEXTURECOORDS : config.h
  • AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE : config.h
  • AI_CONFIG_PP_ICL_PTCACHE_SIZE : config.h
  • AI_CONFIG_PP_LBW_MAX_WEIGHTS : config.h
  • AI_CONFIG_PP_OG_EXCLUDE_LIST : config.h
  • AI_CONFIG_PP_PTV_ADD_ROOT_TRANSFORMATION : config.h
  • AI_CONFIG_PP_PTV_KEEP_HIERARCHY : config.h
  • AI_CONFIG_PP_PTV_NORMALIZE : config.h
  • AI_CONFIG_PP_PTV_ROOT_TRANSFORMATION : config.h
  • AI_CONFIG_PP_RRM_EXCLUDE_LIST : config.h
  • AI_CONFIG_PP_RVC_FLAGS : config.h
  • AI_CONFIG_PP_SBBC_MAX_BONES : config.h
  • AI_CONFIG_PP_SBP_REMOVE : config.h
  • AI_CONFIG_PP_SLM_TRIANGLE_LIMIT : config.h
  • AI_CONFIG_PP_SLM_VERTEX_LIMIT : config.h
  • AI_CONFIG_PP_TUV_EVALUATE : config.h
  • AI_D3DSSPATIALSORT_H_INC : SGSpatialSort.h
  • AI_DEBONE_THRESHOLD : config.h
  • AI_DEBUG_INVALIDATE_PTR : defs.h
  • AI_DEFAULT_MATERIAL_NAME : material.h
  • AI_DEFAULTIOSTREAM_H_INC : DefaultIOStream.h
  • AI_DEFAULTIOSYSTEM_H_INC : DefaultIOSystem.h
  • AI_DEFINES_H_INC : Defines.h , defs.h
  • AI_DEG_TO_RAD : defs.h
  • AI_DOUBLE : metadata.h
  • AI_EMBEDDED_TEXNAME_PREFIX : texture.h
  • ai_epsilon : defs.h
  • AI_EXPORT_H_INC : cexport.h
  • AI_EXPORT_HPP_INC : Exporter.hpp
  • AI_FALSE : cimport.h
  • AI_FAST_ATOF_RELAVANT_DECIMALS : fast_atof.h
  • AI_FILEIO_H_INC : cfileio.h
  • AI_FLOAT : metadata.h
  • AI_FORCE_INLINE : defs.h
  • AI_GENERIC_PROPERTY_H_INCLUDED : GenericProperty.h
  • AI_HASH_H_INCLUDED : Hash.h
  • AI_IMPORT_IFC_DEFAULT_CYLINDRICAL_TESSELLATION : config.h
  • AI_IMPORT_IFC_DEFAULT_SMOOTHING_ANGLE : config.h
  • AI_IMPORTER_DESC_H_INC : importerdesc.h
  • AI_INCLUDED_EXCEPTIONAL_H : Exceptional.h
  • AI_INCLUDED_PROFILER_H : Profiler.h
  • ai_int : defs.h
  • AI_INT32 : metadata.h
  • ai_int32 : types.h
  • AI_INT_MERGE_SCENE_DUPLICATES_DEEP_CPY : SceneCombiner.h
  • AI_INT_MERGE_SCENE_GEN_UNIQUE_MATNAMES : SceneCombiner.h
  • AI_INT_MERGE_SCENE_GEN_UNIQUE_NAMES : SceneCombiner.h
  • AI_INT_MERGE_SCENE_GEN_UNIQUE_NAMES_IF_NECESSARY : SceneCombiner.h
  • AI_INT_MERGE_SCENE_RESOLVE_CROSS_ATTACHMENTS : SceneCombiner.h
  • AI_IOSTREAM_H_INC : IOStream.hpp
  • AI_IOSTREAMBUFFER_H_INC : IOStreamBuffer.h
  • AI_IOSYSTEM_H_INC : IOSystem.hpp
  • AI_LE : ByteSwapper.h
  • AI_LIGHT_H_INC : light.h
  • AI_LMW_MAX_WEIGHTS : config.h
  • AI_LSWAP2 : ByteSwapper.h
  • AI_LSWAP2P : ByteSwapper.h
  • AI_LSWAP4 : ByteSwapper.h
  • AI_LSWAP4P : ByteSwapper.h
  • AI_LSWAP8 : ByteSwapper.h
  • AI_LSWAP8P : ByteSwapper.h
  • AI_MAKE_EMBEDDED_TEXNAME : texture.h
  • AI_MAKE_MAGIC : BaseImporter.h
  • AI_MATERIAL_H_INC : material.h
  • AI_MATERIAL_INL_INC : material.inl
  • AI_MATH_HALF_PI : defs.h
  • AI_MATH_HALF_PI_F : defs.h
  • AI_MATH_PI : defs.h
  • AI_MATH_PI_F : defs.h
  • AI_MATH_TWO_PI : defs.h
  • AI_MATH_TWO_PI_F : defs.h
  • AI_MATKEY_BLEND_FUNC : material.h
  • AI_MATKEY_BUMPSCALING : material.h
  • AI_MATKEY_COLOR_AMBIENT : material.h
  • AI_MATKEY_COLOR_DIFFUSE : material.h
  • AI_MATKEY_COLOR_EMISSIVE : material.h
  • AI_MATKEY_COLOR_REFLECTIVE : material.h
  • AI_MATKEY_COLOR_SPECULAR : material.h
  • AI_MATKEY_COLOR_TRANSPARENT : material.h
  • AI_MATKEY_ENABLE_WIREFRAME : material.h
  • AI_MATKEY_GLOBAL_BACKGROUND_IMAGE : material.h
  • AI_MATKEY_GLOBAL_SHADERLANG : material.h
  • AI_MATKEY_GLTF_ALPHACUTOFF : pbrmaterial.h
  • AI_MATKEY_GLTF_ALPHAMODE : pbrmaterial.h
  • AI_MATKEY_GLTF_MAPPINGFILTER_MAG : pbrmaterial.h
  • AI_MATKEY_GLTF_MAPPINGFILTER_MIN : pbrmaterial.h
  • AI_MATKEY_GLTF_MAPPINGID : pbrmaterial.h
  • AI_MATKEY_GLTF_MAPPINGNAME : pbrmaterial.h
  • AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_BASE_COLOR_FACTOR : pbrmaterial.h
  • AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_BASE_COLOR_TEXTURE : pbrmaterial.h
  • AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_METALLIC_FACTOR : pbrmaterial.h
  • AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_METALLICROUGHNESS_TEXTURE : pbrmaterial.h
  • AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_ROUGHNESS_FACTOR : pbrmaterial.h
  • AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS : pbrmaterial.h
  • AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS_GLOSSINESS_FACTOR : pbrmaterial.h
  • AI_MATKEY_GLTF_TEXTURE_SCALE : pbrmaterial.h
  • AI_MATKEY_GLTF_TEXTURE_STRENGTH : pbrmaterial.h
  • AI_MATKEY_GLTF_TEXTURE_TEXCOORD : pbrmaterial.h
  • AI_MATKEY_GLTF_UNLIT : pbrmaterial.h
  • AI_MATKEY_MAPPING : material.h
  • AI_MATKEY_MAPPINGMODE_U : material.h
  • AI_MATKEY_MAPPINGMODE_V : material.h
  • AI_MATKEY_NAME : material.h
  • AI_MATKEY_OPACITY : material.h
  • AI_MATKEY_REFLECTIVITY : material.h
  • AI_MATKEY_REFRACTI : material.h
  • AI_MATKEY_SHADER_COMPUTE : material.h
  • AI_MATKEY_SHADER_FRAGMENT : material.h
  • AI_MATKEY_SHADER_GEO : material.h
  • AI_MATKEY_SHADER_PRIMITIVE : material.h
  • AI_MATKEY_SHADER_TESSELATION : material.h
  • AI_MATKEY_SHADER_VERTEX : material.h
  • AI_MATKEY_SHADING_MODEL : material.h
  • AI_MATKEY_SHININESS : material.h
  • AI_MATKEY_SHININESS_STRENGTH : material.h
  • AI_MATKEY_TEXBLEND : material.h
  • AI_MATKEY_TEXFLAGS : material.h
  • AI_MATKEY_TEXMAP_AXIS : material.h
  • AI_MATKEY_TEXOP : material.h
  • AI_MATKEY_TEXTURE : material.h
  • AI_MATKEY_TRANSPARENCYFACTOR : material.h
  • AI_MATKEY_TWOSIDED : material.h
  • AI_MATKEY_UVTRANSFORM : material.h
  • AI_MATKEY_UVWSRC : material.h
  • AI_MATRIX3X3_H_INC : matrix3x3.h
  • AI_MATRIX3X3_INL_INC : matrix3x3.inl
  • AI_MATRIX4X4_H_INC : matrix4x4.h
  • AI_MATRIX4X4_INL_INC : matrix4x4.inl
  • AI_MAX_ALLOC : defs.h
  • AI_MAX_BONE_WEIGHTS : mesh.h
  • AI_MAX_FACE_INDICES : mesh.h
  • AI_MAX_FACES : mesh.h
  • AI_MAX_NUMBER_OF_COLOR_SETS : mesh.h
  • AI_MAX_NUMBER_OF_TEXTURECOORDS : mesh.h
  • AI_MAX_VERTICES : mesh.h
  • AI_MEMORYIO_MAGIC_FILENAME : MemoryIOWrapper.h
  • AI_MEMORYIO_MAGIC_FILENAME_LENGTH : MemoryIOWrapper.h
  • AI_MEMORYIOSTREAM_H_INC : MemoryIOWrapper.h
  • AI_MESH_H_INC : mesh.h
  • AI_META_MAX : metadata.h
  • AI_METADATA_COLLADA_ID : ColladaMetaData.h
  • AI_METADATA_COLLADA_SID : ColladaMetaData.h
  • AI_METADATA_H_INC : metadata.h
  • AI_METADATA_SOURCE_COPYRIGHT : commonMetaData.h
  • AI_METADATA_SOURCE_FORMAT : commonMetaData.h
  • AI_METADATA_SOURCE_FORMAT_VERSION : commonMetaData.h
  • AI_METADATA_SOURCE_GENERATOR : commonMetaData.h
  • AI_NO_EXCEPT : defs.h
  • AI_PARSING_UTILS_H_INC : ParsingUtils.h
  • AI_PBRMATERIAL_H_INC : pbrmaterial.h
  • AI_POSTPROCESS_H_INC : postprocess.h
  • AI_PRIMITIVE_TYPE_FOR_N_INDICES : mesh.h
  • AI_PROGRESSHANDLER_H_INC : ProgressHandler.hpp
  • AI_PROPERTY_WAS_NOT_EXISTING : Importer.hpp
  • AI_PUSHPACK_IS_DEFINED : pushpack1.h
  • AI_QNAN_H_INCLUDED : qnan.h
  • AI_QUATERNION_H_INC : quaternion.h
  • AI_QUATERNION_INL_INC : quaternion.inl
  • AI_RAD_TO_DEG : defs.h
  • ai_real : defs.h
  • ai_real_to_property_type_info() : material.inl
  • AI_REMOVE_COMMENTS_H_INC : RemoveComments.h
  • AI_SBBC_DEFAULT_MAX_BONES : config.h
  • AI_SCENE_COMBINER_H_INC : SceneCombiner.h
  • AI_SCENE_FLAGS_ALLOW_SHARED : scene.h
  • AI_SCENE_FLAGS_INCOMPLETE : scene.h
  • AI_SCENE_FLAGS_NON_VERBOSE_FORMAT : scene.h
  • AI_SCENE_FLAGS_TERRAIN : scene.h
  • AI_SCENE_FLAGS_VALIDATED : scene.h
  • AI_SCENE_FLAGS_VALIDATION_WARNING : scene.h
  • AI_SCENE_H_INC : scene.h
  • AI_SIZEFMT : StringUtils.h
  • AI_SKELETONMESHBUILDER_H_INC : SkeletonMeshBuilder.h
  • AI_SLM_DEFAULT_MAX_TRIANGLES : config.h
  • AI_SLM_DEFAULT_MAX_VERTICES : config.h
  • AI_SMALLVECTOR_H_INC : SmallVector.h
  • AI_SMOOTHINGGROUPS_H_INC : SmoothingGroups.h
  • AI_SMOOTHINGGROUPS_INL_INCLUDED : SmoothingGroups.inl
  • ai_snprintf : StringUtils.h
  • AI_SPATIALSORT_H_INC : SpatialSort.h
  • AI_STANDARD_SHAPES_H_INC : StandardShapes.h
  • AI_STREAMREADER_H_INCLUDED : StreamReader.h
  • AI_STREAMWRITER_H_INCLUDED : StreamWriter.h
  • ai_strtof() : StringUtils.h
  • AI_SUBDISIVION_H_INC : Subdivision.h
  • AI_SWAP2 : ByteSwapper.h
  • AI_SWAP2P : ByteSwapper.h
  • AI_SWAP4 : ByteSwapper.h
  • AI_SWAP4P : ByteSwapper.h
  • AI_SWAP8 : ByteSwapper.h
  • AI_SWAP8P : ByteSwapper.h
  • AI_TEXTURE_H_INC : texture.h
  • AI_TEXTURE_TYPE_MAX : material.h
  • AI_TRUE : cimport.h
  • AI_TYPES_H_INC : types.h
  • ai_uint : defs.h
  • ai_uint32 : types.h
  • AI_UINT64 : metadata.h
  • AI_UVTRAFO_ALL : config.h
  • AI_UVTRAFO_ROTATION : config.h
  • AI_UVTRAFO_SCALING : config.h
  • AI_UVTRAFO_TRANSLATION : config.h
  • AI_VECTOR2D_H_INC : vector2.h
  • AI_VECTOR2D_INL_INC : vector2.inl
  • AI_VECTOR3D_H_INC : vector3.h
  • AI_VECTOR3D_INL_INC : vector3.inl
  • AI_VERSION_H_INC : version.h
  • AI_VERTEX_H_INC : Vertex.h
  • AI_WONT_RETURN : defs.h
  • AI_WONT_RETURN_SUFFIX : defs.h
  • AI_ZIPARCHIVEIOSYSTEM_H_INC : ZipArchiveIOSystem.h
  • aiAnimBehaviour : anim.h
  • aiAnimBehaviour_CONSTANT : anim.h
  • aiAnimBehaviour_DEFAULT : anim.h
  • aiAnimBehaviour_LINEAR : anim.h
  • aiAnimBehaviour_REPEAT : anim.h
  • aiApplyPostProcessing() : cimport.h
  • aiAttachLogStream() : cimport.h
  • aiBlendMode : material.h
  • aiBlendMode_Additive : material.h
  • aiBlendMode_Default : material.h
  • aiBool : cimport.h
  • aiColor4D : color4.h
  • aiComponent : config.h
  • aiComponent_ANIMATIONS : config.h
  • aiComponent_BONEWEIGHTS : config.h
  • aiComponent_CAMERAS : config.h
  • aiComponent_COLORS : config.h
  • aiComponent_COLORSn : config.h
  • aiComponent_LIGHTS : config.h
  • aiComponent_MATERIALS : config.h
  • aiComponent_MESHES : config.h
  • aiComponent_NORMALS : config.h
  • aiComponent_TANGENTS_AND_BITANGENTS : config.h
  • aiComponent_TEXCOORDS : config.h
  • aiComponent_TEXCOORDSn : config.h
  • aiComponent_TEXTURES : config.h
  • aiCopyScene() : cexport.h
  • aiCreatePropertyStore() : cimport.h
  • aiCreateQuaternionFromMatrix() : cimport.h
  • aiDecomposeMatrix() : cimport.h
  • aiDefaultLogStream : types.h
  • aiDefaultLogStream_DEBUGGER : types.h
  • aiDefaultLogStream_FILE : types.h
  • aiDefaultLogStream_STDERR : types.h
  • aiDefaultLogStream_STDOUT : types.h
  • aiDetachAllLogStreams() : cimport.h
  • aiDetachLogStream() : cimport.h
  • aiEnableVerboseLogging() : cimport.h
  • aiExportScene() : cexport.h
  • aiExportSceneEx() : cexport.h
  • aiExportSceneToBlob() : cexport.h
  • aiFileCloseProc : cfileio.h
  • aiFileFlushProc : cfileio.h
  • aiFileOpenProc : cfileio.h
  • aiFileReadProc : cfileio.h
  • aiFileSeek : cfileio.h
  • aiFileTellProc : cfileio.h
  • aiFileWriteProc : cfileio.h
  • aiFreeScene() : cexport.h
  • aiGetBranchName() : version.h
  • aiGetCompileFlags() : version.h
  • aiGetErrorString() : cimport.h
  • aiGetExportFormatCount() : cexport.h
  • aiGetExportFormatDescription() : cexport.h
  • aiGetExtensionList() : cimport.h
  • aiGetImporterDesc() : importerdesc.h
  • aiGetImportFormatCount() : cimport.h
  • aiGetImportFormatDescription() : cimport.h
  • aiGetLegalString() : version.h
  • aiGetMaterialColor() : material.h
  • aiGetMaterialFloat() : material.h
  • aiGetMaterialFloatArray() : material.h
  • aiGetMaterialInteger() : material.h
  • aiGetMaterialIntegerArray() : material.h
  • aiGetMaterialProperty() : material.h
  • aiGetMaterialString() : material.h
  • aiGetMaterialTexture() : material.h
  • aiGetMaterialTextureCount() : material.h
  • aiGetMaterialUVTransform() : material.h
  • aiGetMemoryRequirements() : cimport.h
  • aiGetPredefinedLogStream() : cimport.h
  • aiGetVersionMajor() : version.h
  • aiGetVersionMinor() : version.h
  • aiGetVersionPatch() : version.h
  • aiGetVersionRevision() : version.h
  • aiIdentityMatrix3() : cimport.h
  • aiIdentityMatrix4() : cimport.h
  • aiImporterFlags : importerdesc.h
  • aiImporterFlags_Experimental : importerdesc.h
  • aiImporterFlags_LimitedSupport : importerdesc.h
  • aiImporterFlags_SupportBinaryFlavour : importerdesc.h
  • aiImporterFlags_SupportCompressedFlavour : importerdesc.h
  • aiImporterFlags_SupportTextFlavour : importerdesc.h
  • aiImportFile() : cimport.h
  • aiImportFileEx() : cimport.h
  • aiImportFileExWithProperties() : cimport.h
  • aiImportFileFromMemory() : cimport.h
  • aiImportFileFromMemoryWithProperties() : cimport.h
  • aiIsExtensionSupported() : cimport.h
  • aiLightSource_AMBIENT : light.h
  • aiLightSource_AREA : light.h
  • aiLightSource_DIRECTIONAL : light.h
  • aiLightSource_POINT : light.h
  • aiLightSource_SPOT : light.h
  • aiLightSource_UNDEFINED : light.h
  • aiLightSourceType : light.h
  • aiLogStreamCallback : cimport.h
  • aiMatrix3AreEqual() : cimport.h
  • aiMatrix3AreEqualEpsilon() : cimport.h
  • aiMatrix3Determinant() : cimport.h
  • aiMatrix3FromMatrix4() : cimport.h
  • aiMatrix3FromQuaternion() : cimport.h
  • aiMatrix3FromRotationAroundAxis() : cimport.h
  • aiMatrix3FromTo() : cimport.h
  • aiMatrix3Inverse() : cimport.h
  • aiMatrix3RotationZ() : cimport.h
  • aiMatrix3Translation() : cimport.h
  • aiMatrix3x3 : matrix3x3.h
  • aiMatrix4Add() : cimport.h
  • aiMatrix4AreEqual() : cimport.h
  • aiMatrix4AreEqualEpsilon() : cimport.h
  • aiMatrix4DecomposeIntoScalingAxisAnglePosition() : cimport.h
  • aiMatrix4DecomposeIntoScalingEulerAnglesPosition() : cimport.h
  • aiMatrix4DecomposeNoScaling() : cimport.h
  • aiMatrix4Determinant() : cimport.h
  • aiMatrix4FromEulerAngles() : cimport.h
  • aiMatrix4FromMatrix3() : cimport.h
  • aiMatrix4FromRotationAroundAxis() : cimport.h
  • aiMatrix4FromScalingQuaternionPosition() : cimport.h
  • aiMatrix4FromTo() : cimport.h
  • aiMatrix4Inverse() : cimport.h
  • aiMatrix4IsIdentity() : cimport.h
  • aiMatrix4RotationX() : cimport.h
  • aiMatrix4RotationY() : cimport.h
  • aiMatrix4RotationZ() : cimport.h
  • aiMatrix4Scaling() : cimport.h
  • aiMatrix4Translation() : cimport.h
  • aiMatrix4x4 : matrix4x4.h
  • aiMetadataType : metadata.h
  • aiMorphingMethod : mesh.h
  • aiMorphingMethod_MORPH_NORMALIZED : mesh.h
  • aiMorphingMethod_MORPH_RELATIVE : mesh.h
  • aiMorphingMethod_VERTEX_BLEND : mesh.h
  • aiMultiplyMatrix3() : cimport.h
  • aiMultiplyMatrix4() : cimport.h
  • aiOrigin : types.h
  • aiOrigin_CUR : types.h
  • aiOrigin_END : types.h
  • aiOrigin_SET : types.h
  • aiPostProcessSteps : postprocess.h
  • aiPrimitiveType : mesh.h
  • aiPrimitiveType_LINE : mesh.h
  • aiPrimitiveType_POINT : mesh.h
  • aiPrimitiveType_POLYGON : mesh.h
  • aiPrimitiveType_TRIANGLE : mesh.h
  • aiProcess_CalcTangentSpace : postprocess.h
  • aiProcess_ConvertToLeftHanded : postprocess.h
  • aiProcess_Debone : postprocess.h
  • aiProcess_DropNormals : postprocess.h
  • aiProcess_EmbedTextures : postprocess.h
  • aiProcess_FindDegenerates : postprocess.h
  • aiProcess_FindInstances : postprocess.h
  • aiProcess_FindInvalidData : postprocess.h
  • aiProcess_FixInfacingNormals : postprocess.h
  • aiProcess_FlipUVs : postprocess.h
  • aiProcess_FlipWindingOrder : postprocess.h
  • aiProcess_ForceGenNormals : postprocess.h
  • aiProcess_GenBoundingBoxes : postprocess.h
  • aiProcess_GenNormals : postprocess.h
  • aiProcess_GenSmoothNormals : postprocess.h
  • aiProcess_GenUVCoords : postprocess.h
  • aiProcess_GlobalScale : postprocess.h
  • aiProcess_ImproveCacheLocality : postprocess.h
  • aiProcess_JoinIdenticalVertices : postprocess.h
  • aiProcess_LimitBoneWeights : postprocess.h
  • aiProcess_MakeLeftHanded : postprocess.h
  • aiProcess_OptimizeGraph : postprocess.h
  • aiProcess_OptimizeMeshes : postprocess.h
  • aiProcess_PopulateArmatureData : postprocess.h
  • aiProcess_PreTransformVertices : postprocess.h
  • aiProcess_RemoveComponent : postprocess.h
  • aiProcess_RemoveRedundantMaterials : postprocess.h
  • aiProcess_SortByPType : postprocess.h
  • aiProcess_SplitByBoneCount : postprocess.h
  • aiProcess_SplitLargeMeshes : postprocess.h
  • aiProcess_TransformUVCoords : postprocess.h
  • aiProcess_Triangulate : postprocess.h
  • aiProcess_ValidateDataStructure : postprocess.h
  • aiProcessPreset_TargetRealtime_Fast : postprocess.h
  • aiProcessPreset_TargetRealtime_MaxQuality : postprocess.h
  • aiProcessPreset_TargetRealtime_Quality : postprocess.h
  • aiQuaternion : quaternion.h
  • aiQuaternionAreEqual() : cimport.h
  • aiQuaternionAreEqualEpsilon() : cimport.h
  • aiQuaternionConjugate() : cimport.h
  • aiQuaternionFromAxisAngle() : cimport.h
  • aiQuaternionFromEulerAngles() : cimport.h
  • aiQuaternionFromNormalizedQuaternion() : cimport.h
  • aiQuaternionInterpolate() : cimport.h
  • aiQuaternionMultiply() : cimport.h
  • aiQuaternionNormalize() : cimport.h
  • aiReleaseExportBlob() : cexport.h
  • aiReleaseExportFormatDescription() : cexport.h
  • aiReleaseImport() : cimport.h
  • aiReleasePropertyStore() : cimport.h
  • aiReturn : types.h
  • aiReturn_FAILURE : types.h
  • aiReturn_OUTOFMEMORY : types.h
  • aiReturn_SUCCESS : types.h
  • aiSetImportPropertyFloat() : cimport.h
  • aiSetImportPropertyInteger() : cimport.h
  • aiSetImportPropertyMatrix() : cimport.h
  • aiSetImportPropertyString() : cimport.h
  • aiShadingMode : material.h
  • aiShadingMode_Blinn : material.h
  • aiShadingMode_CookTorrance : material.h
  • aiShadingMode_Flat : material.h
  • aiShadingMode_Fresnel : material.h
  • aiShadingMode_Gouraud : material.h
  • aiShadingMode_Minnaert : material.h
  • aiShadingMode_NoShading : material.h
  • aiShadingMode_OrenNayar : material.h
  • aiShadingMode_Phong : material.h
  • aiShadingMode_Toon : material.h
  • aiTextureFlags : material.h
  • aiTextureFlags_IgnoreAlpha : material.h
  • aiTextureFlags_Invert : material.h
  • aiTextureFlags_UseAlpha : material.h
  • aiTextureMapMode : material.h
  • aiTextureMapMode_Clamp : material.h
  • aiTextureMapMode_Decal : material.h
  • aiTextureMapMode_Mirror : material.h
  • aiTextureMapMode_Wrap : material.h
  • aiTextureMapping : material.h
  • aiTextureMapping_BOX : material.h
  • aiTextureMapping_CYLINDER : material.h
  • aiTextureMapping_OTHER : material.h
  • aiTextureMapping_PLANE : material.h
  • aiTextureMapping_SPHERE : material.h
  • aiTextureMapping_UV : material.h
  • aiTextureOp : material.h
  • aiTextureOp_Add : material.h
  • aiTextureOp_Divide : material.h
  • aiTextureOp_Multiply : material.h
  • aiTextureOp_SignedAdd : material.h
  • aiTextureOp_SmoothAdd : material.h
  • aiTextureOp_Subtract : material.h
  • aiTextureType : material.h
  • aiTextureType_AMBIENT : material.h
  • aiTextureType_AMBIENT_OCCLUSION : material.h
  • aiTextureType_BASE_COLOR : material.h
  • aiTextureType_DIFFUSE : material.h
  • aiTextureType_DIFFUSE_ROUGHNESS : material.h
  • aiTextureType_DISPLACEMENT : material.h
  • aiTextureType_EMISSION_COLOR : material.h
  • aiTextureType_EMISSIVE : material.h
  • aiTextureType_HEIGHT : material.h
  • aiTextureType_LIGHTMAP : material.h
  • aiTextureType_METALNESS : material.h
  • aiTextureType_NONE : material.h
  • aiTextureType_NORMAL_CAMERA : material.h
  • aiTextureType_NORMALS : material.h
  • aiTextureType_OPACITY : material.h
  • aiTextureType_REFLECTION : material.h
  • aiTextureType_SHININESS : material.h
  • aiTextureType_SPECULAR : material.h
  • aiTextureType_UNKNOWN : material.h
  • aiTransformVecByMatrix3() : cimport.h
  • aiTransformVecByMatrix4() : cimport.h
  • aiTransposeMatrix3() : cimport.h
  • aiTransposeMatrix4() : cimport.h
  • aiUserData : cfileio.h
  • aiVector2Add() : cimport.h
  • aiVector2AreEqual() : cimport.h
  • aiVector2AreEqualEpsilon() : cimport.h
  • aiVector2D : vector2.h
  • aiVector2DivideByScalar() : cimport.h
  • aiVector2DivideByVector() : cimport.h
  • aiVector2DotProduct() : cimport.h
  • aiVector2Length() : cimport.h
  • aiVector2Negate() : cimport.h
  • aiVector2Normalize() : cimport.h
  • aiVector2Scale() : cimport.h
  • aiVector2SquareLength() : cimport.h
  • aiVector2Subtract() : cimport.h
  • aiVector2SymMul() : cimport.h
  • aiVector3Add() : cimport.h
  • aiVector3AreEqual() : cimport.h
  • aiVector3AreEqualEpsilon() : cimport.h
  • aiVector3CrossProduct() : cimport.h
  • aiVector3D : vector3.h
  • aiVector3DivideByScalar() : cimport.h
  • aiVector3DivideByVector() : cimport.h
  • aiVector3DotProduct() : cimport.h
  • aiVector3Length() : cimport.h
  • aiVector3LessThan() : cimport.h
  • aiVector3Negate() : cimport.h
  • aiVector3Normalize() : cimport.h
  • aiVector3NormalizeSafe() : cimport.h
  • aiVector3RotateByQuaternion() : cimport.h
  • aiVector3Scale() : cimport.h
  • aiVector3SquareLength() : cimport.h
  • aiVector3Subtract() : cimport.h
  • aiVector3SymMul() : cimport.h
  • ASSIMP_AI_REAL_TEXT_PRECISION : defs.h
  • ASSIMP_API : defs.h
  • ASSIMP_API_WINONLY : defs.h
  • ASSIMP_BEGIN_EXCEPTION_REGION : Exceptional.h
  • ASSIMP_BUILD_DEBUG : defs.h
  • ASSIMP_BUILD_NEED_UNZIP : defs.h
  • ASSIMP_BUILD_NEED_Z_INFLATE : defs.h
  • ASSIMP_BUILD_SINGLETHREADED : defs.h
  • ASSIMP_CFLAGS_DEBUG : version.h
  • ASSIMP_CFLAGS_DOUBLE_SUPPORT : version.h
  • ASSIMP_CFLAGS_NOBOOST : version.h
  • ASSIMP_CFLAGS_SHARED : version.h
  • ASSIMP_CFLAGS_SINGLETHREADED : version.h
  • ASSIMP_CFLAGS_STLPORT : version.h
  • ASSIMP_DEFAULT_LOG_NAME : DefaultLogger.hpp
  • ASSIMP_END_EXCEPTION_REGION : Exceptional.h
  • ASSIMP_END_EXCEPTION_REGION_WITH_ERROR_STRING : Exceptional.h
  • ASSIMP_LOG_DEBUG : Logger.hpp
  • ASSIMP_LOG_DEBUG_F : Logger.hpp
  • ASSIMP_LOG_ERROR : Logger.hpp
  • ASSIMP_LOG_ERROR_F : Logger.hpp
  • ASSIMP_LOG_INFO : Logger.hpp
  • ASSIMP_LOG_INFO_F : Logger.hpp
  • ASSIMP_LOG_VERBOSE_DEBUG : Logger.hpp
  • ASSIMP_LOG_VERBOSE_DEBUG_F : Logger.hpp
  • ASSIMP_LOG_WARN : Logger.hpp
  • ASSIMP_LOG_WARN_F : Logger.hpp
  • ASSIMP_MATRIX4_4_DECOMPOSE_PART : matrix4x4.inl
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- b -

  • BE_NCONST : ByteSwapper.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- c -

  • C_ENUM : defs.h
  • C_STRUCT : defs.h
  • ComputeNormalsWithSmoothingsGroups() : SmoothingGroups.h , SmoothingGroups.inl
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- d -

  • DecimalToHexa() : StringUtils.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- f -

  • FAST_A_TO_F_H_INCLUDED : fast_atof.h
  • FORCE_32BIT : metadata.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- g -

  • get16bits : Hash.h
  • get_qnan() : qnan.h
  • GetAiType() : metadata.h
  • GetGenericProperty() : GenericProperty.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- h -

  • HasGenericProperty() : GenericProperty.h
  • HINTMAXTEXTURELEN : texture.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- i -

  • INCLUDED_AI_BASEIMPORTER_H : BaseImporter.h
  • INCLUDED_AI_CREATE_ANIM_MESH_H : CreateAnimMesh.h
  • INCLUDED_AI_LOGAUX_H : LogAux.h
  • INCLUDED_AI_STRING_WORKERS_H : StringComparison.h
  • INCLUDED_AI_STRINGUTILS_H : StringUtils.h
  • INCLUDED_ASSIMP_XML_TOOLS_H : XMLTools.h
  • INCLUDED_LINE_SPLITTER_H : LineSplitter.h
  • INCLUDED_TINY_FORMATTER_H : TinyFormatter.h
  • INT16_MAX : pstdint.h
  • INT16_MIN : pstdint.h
  • INT32_MAX : pstdint.h
  • INT32_MIN : pstdint.h
  • INT8_MAX : pstdint.h
  • INT8_MIN : pstdint.h
  • INT_FAST16_MAX : pstdint.h
  • INT_FAST16_MIN : pstdint.h
  • int_fast16_t : pstdint.h
  • INT_FAST32_MAX : pstdint.h
  • INT_FAST32_MIN : pstdint.h
  • int_fast32_t : pstdint.h
  • INT_FAST8_MAX : pstdint.h
  • INT_FAST8_MIN : pstdint.h
  • int_fast8_t : pstdint.h
  • INT_LEAST16_MAX : pstdint.h
  • INT_LEAST16_MIN : pstdint.h
  • int_least16_t : pstdint.h
  • INT_LEAST32_MAX : pstdint.h
  • INT_LEAST32_MIN : pstdint.h
  • int_least32_t : pstdint.h
  • INT_LEAST8_MAX : pstdint.h
  • INT_LEAST8_MIN : pstdint.h
  • int_least8_t : pstdint.h
  • INTMAX_C : pstdint.h
  • INTMAX_MAX : pstdint.h
  • intmax_t : pstdint.h
  • intptr_t : pstdint.h
  • is_not_qnan() : qnan.h
  • is_qnan() : qnan.h
  • is_special_float() : qnan.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- l -

  • LE_NCONST : ByteSwapper.h
  • ltrim() : StringUtils.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- m -

  • MAX_LOG_MESSAGE_LENGTH : Logger.hpp
  • MAXLEN : types.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- o -

  • operator*() : color4.inl , vector2.inl , vector3.inl , vector2.inl , vector3.inl , color4.inl , vector2.inl , vector3.inl
  • operator+() : vector3.inl , color4.inl , vector2.inl
  • operator-() : color4.inl , vector2.inl , vector3.inl
  • operator/() : vector2.inl , color4.inl , vector3.inl , vector2.inl , color4.inl , vector3.inl
  • operator^() : vector3.inl
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- p -

  • PACK_STRUCT : texture.h
  • PP_ICL_PTCACHE_SIZE : config.h
  • PRINTF_INT16_DEC_WIDTH : pstdint.h
  • PRINTF_INT16_HEX_WIDTH : pstdint.h
  • PRINTF_INT32_DEC_WIDTH : pstdint.h
  • PRINTF_INT32_HEX_WIDTH : pstdint.h
  • PRINTF_INT64_DEC_WIDTH : pstdint.h
  • PRINTF_INT64_HEX_WIDTH : pstdint.h
  • PRINTF_INT8_DEC_WIDTH : pstdint.h
  • PRINTF_INT8_HEX_WIDTH : pstdint.h
  • PRINTF_INTMAX_DEC_WIDTH : pstdint.h
  • PRINTF_INTMAX_HEX_WIDTH : pstdint.h
  • PRINTF_INTMAX_MODIFIER : pstdint.h
  • PRINTF_LEAST16_MODIFIER : pstdint.h
  • PRINTF_LEAST32_MODIFIER : pstdint.h
  • PRINTF_UINT16_DEC_WIDTH : pstdint.h
  • PRINTF_UINT32_DEC_WIDTH : pstdint.h
  • PRINTF_UINT64_DEC_WIDTH : pstdint.h
  • PRINTF_UINT8_DEC_WIDTH : pstdint.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- r -

  • Rgba2Hex() : StringUtils.h
  • rtrim() : StringUtils.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- s -

  • SetGenericProperty() : GenericProperty.h
  • SetGenericPropertyPtr() : GenericProperty.h
  • SIG_ATOMIC_MAX : pstdint.h
  • SIZE_MAX : Defines.h , pstdint.h
  • STDINT_H_UINTPTR_T_DEFINED : pstdint.h
  • SuperFastHash() : Hash.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- t -

  • TextureTypeToString() : material.h
  • to_string() : StringUtils.h
  • trim() : StringUtils.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

Here is a list of all file members with links to the files they belong to:

- u -

  • UINT16_MAX : pstdint.h
  • UINT32_MAX : pstdint.h
  • UINT8_MAX : pstdint.h
  • UINT_FAST16_MAX : pstdint.h
  • uint_fast16_t : pstdint.h
  • UINT_FAST32_MAX : pstdint.h
  • uint_fast32_t : pstdint.h
  • UINT_FAST8_MAX : pstdint.h
  • uint_fast8_t : pstdint.h
  • UINT_LEAST16_MAX : pstdint.h
  • uint_least16_t : pstdint.h
  • UINT_LEAST32_MAX : pstdint.h
  • uint_least32_t : pstdint.h
  • UINT_LEAST8_MAX : pstdint.h
  • uint_least8_t : pstdint.h
  • UINT_MAX : Defines.h
  • UINTMAX_C : pstdint.h
  • UINTMAX_MAX : pstdint.h
  • uintmax_t : pstdint.h
  • ULONG_LONG_MAX : pstdint.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

- a -

  • ai_real_to_property_type_info() : material.inl
  • ai_strtof() : StringUtils.h
  • aiApplyPostProcessing() : cimport.h
  • aiAttachLogStream() : cimport.h
  • aiCopyScene() : cexport.h
  • aiCreatePropertyStore() : cimport.h
  • aiCreateQuaternionFromMatrix() : cimport.h
  • aiDecomposeMatrix() : cimport.h
  • aiDetachAllLogStreams() : cimport.h
  • aiDetachLogStream() : cimport.h
  • aiEnableVerboseLogging() : cimport.h
  • aiExportScene() : cexport.h
  • aiExportSceneEx() : cexport.h
  • aiExportSceneToBlob() : cexport.h
  • aiFreeScene() : cexport.h
  • aiGetBranchName() : version.h
  • aiGetCompileFlags() : version.h
  • aiGetErrorString() : cimport.h
  • aiGetExportFormatCount() : cexport.h
  • aiGetExportFormatDescription() : cexport.h
  • aiGetExtensionList() : cimport.h
  • aiGetImporterDesc() : importerdesc.h
  • aiGetImportFormatCount() : cimport.h
  • aiGetImportFormatDescription() : cimport.h
  • aiGetLegalString() : version.h
  • aiGetMaterialColor() : material.h
  • aiGetMaterialFloat() : material.h
  • aiGetMaterialFloatArray() : material.h
  • aiGetMaterialInteger() : material.h
  • aiGetMaterialIntegerArray() : material.h
  • aiGetMaterialProperty() : material.h
  • aiGetMaterialString() : material.h
  • aiGetMaterialTexture() : material.h
  • aiGetMaterialTextureCount() : material.h
  • aiGetMaterialUVTransform() : material.h
  • aiGetMemoryRequirements() : cimport.h
  • aiGetPredefinedLogStream() : cimport.h
  • aiGetVersionMajor() : version.h
  • aiGetVersionMinor() : version.h
  • aiGetVersionPatch() : version.h
  • aiGetVersionRevision() : version.h
  • aiIdentityMatrix3() : cimport.h
  • aiIdentityMatrix4() : cimport.h
  • aiImportFile() : cimport.h
  • aiImportFileEx() : cimport.h
  • aiImportFileExWithProperties() : cimport.h
  • aiImportFileFromMemory() : cimport.h
  • aiImportFileFromMemoryWithProperties() : cimport.h
  • aiIsExtensionSupported() : cimport.h
  • aiMatrix3AreEqual() : cimport.h
  • aiMatrix3AreEqualEpsilon() : cimport.h
  • aiMatrix3Determinant() : cimport.h
  • aiMatrix3FromMatrix4() : cimport.h
  • aiMatrix3FromQuaternion() : cimport.h
  • aiMatrix3FromRotationAroundAxis() : cimport.h
  • aiMatrix3FromTo() : cimport.h
  • aiMatrix3Inverse() : cimport.h
  • aiMatrix3RotationZ() : cimport.h
  • aiMatrix3Translation() : cimport.h
  • aiMatrix4Add() : cimport.h
  • aiMatrix4AreEqual() : cimport.h
  • aiMatrix4AreEqualEpsilon() : cimport.h
  • aiMatrix4DecomposeIntoScalingAxisAnglePosition() : cimport.h
  • aiMatrix4DecomposeIntoScalingEulerAnglesPosition() : cimport.h
  • aiMatrix4DecomposeNoScaling() : cimport.h
  • aiMatrix4Determinant() : cimport.h
  • aiMatrix4FromEulerAngles() : cimport.h
  • aiMatrix4FromMatrix3() : cimport.h
  • aiMatrix4FromRotationAroundAxis() : cimport.h
  • aiMatrix4FromScalingQuaternionPosition() : cimport.h
  • aiMatrix4FromTo() : cimport.h
  • aiMatrix4Inverse() : cimport.h
  • aiMatrix4IsIdentity() : cimport.h
  • aiMatrix4RotationX() : cimport.h
  • aiMatrix4RotationY() : cimport.h
  • aiMatrix4RotationZ() : cimport.h
  • aiMatrix4Scaling() : cimport.h
  • aiMatrix4Translation() : cimport.h
  • aiMultiplyMatrix3() : cimport.h
  • aiMultiplyMatrix4() : cimport.h
  • aiQuaternionAreEqual() : cimport.h
  • aiQuaternionAreEqualEpsilon() : cimport.h
  • aiQuaternionConjugate() : cimport.h
  • aiQuaternionFromAxisAngle() : cimport.h
  • aiQuaternionFromEulerAngles() : cimport.h
  • aiQuaternionFromNormalizedQuaternion() : cimport.h
  • aiQuaternionInterpolate() : cimport.h
  • aiQuaternionMultiply() : cimport.h
  • aiQuaternionNormalize() : cimport.h
  • aiReleaseExportBlob() : cexport.h
  • aiReleaseExportFormatDescription() : cexport.h
  • aiReleaseImport() : cimport.h
  • aiReleasePropertyStore() : cimport.h
  • aiSetImportPropertyFloat() : cimport.h
  • aiSetImportPropertyInteger() : cimport.h
  • aiSetImportPropertyMatrix() : cimport.h
  • aiSetImportPropertyString() : cimport.h
  • aiTransformVecByMatrix3() : cimport.h
  • aiTransformVecByMatrix4() : cimport.h
  • aiTransposeMatrix3() : cimport.h
  • aiTransposeMatrix4() : cimport.h
  • aiVector2Add() : cimport.h
  • aiVector2AreEqual() : cimport.h
  • aiVector2AreEqualEpsilon() : cimport.h
  • aiVector2DivideByScalar() : cimport.h
  • aiVector2DivideByVector() : cimport.h
  • aiVector2DotProduct() : cimport.h
  • aiVector2Length() : cimport.h
  • aiVector2Negate() : cimport.h
  • aiVector2Normalize() : cimport.h
  • aiVector2Scale() : cimport.h
  • aiVector2SquareLength() : cimport.h
  • aiVector2Subtract() : cimport.h
  • aiVector2SymMul() : cimport.h
  • aiVector3Add() : cimport.h
  • aiVector3AreEqual() : cimport.h
  • aiVector3AreEqualEpsilon() : cimport.h
  • aiVector3CrossProduct() : cimport.h
  • aiVector3DivideByScalar() : cimport.h
  • aiVector3DivideByVector() : cimport.h
  • aiVector3DotProduct() : cimport.h
  • aiVector3Length() : cimport.h
  • aiVector3LessThan() : cimport.h
  • aiVector3Negate() : cimport.h
  • aiVector3Normalize() : cimport.h
  • aiVector3NormalizeSafe() : cimport.h
  • aiVector3RotateByQuaternion() : cimport.h
  • aiVector3Scale() : cimport.h
  • aiVector3SquareLength() : cimport.h
  • aiVector3Subtract() : cimport.h
  • aiVector3SymMul() : cimport.h

- c -

  • ComputeNormalsWithSmoothingsGroups() : SmoothingGroups.h , SmoothingGroups.inl

- d -

  • DecimalToHexa() : StringUtils.h

- g -

  • get_qnan() : qnan.h
  • GetAiType() : metadata.h
  • GetGenericProperty() : GenericProperty.h

- h -

  • HasGenericProperty() : GenericProperty.h

- i -

  • is_not_qnan() : qnan.h
  • is_qnan() : qnan.h
  • is_special_float() : qnan.h

- l -

  • ltrim() : StringUtils.h

- o -

  • operator*() : color4.inl , vector3.inl , color4.inl , vector3.inl , vector2.inl , vector3.inl , vector2.inl , vector3.inl
  • operator+() : vector3.inl , color4.inl , vector2.inl
  • operator-() : color4.inl , vector2.inl , vector3.inl
  • operator/() : vector2.inl , vector3.inl , color4.inl , vector2.inl , color4.inl , vector3.inl
  • operator^() : vector3.inl

- r -

  • Rgba2Hex() : StringUtils.h
  • rtrim() : StringUtils.h

- s -

  • SetGenericProperty() : GenericProperty.h
  • SetGenericPropertyPtr() : GenericProperty.h
  • SuperFastHash() : Hash.h

- t -

  • TextureTypeToString() : material.h
  • to_string() : StringUtils.h
  • trim() : StringUtils.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

  • ai_epsilon : defs.h
  • MAXLEN : types.h
  • PACK_STRUCT : texture.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

- a -

  • ai_int : defs.h
  • ai_int32 : types.h
  • ai_real : defs.h
  • ai_uint : defs.h
  • ai_uint32 : types.h
  • aiBool : cimport.h
  • aiColor4D : color4.h
  • aiFileCloseProc : cfileio.h
  • aiFileFlushProc : cfileio.h
  • aiFileOpenProc : cfileio.h
  • aiFileReadProc : cfileio.h
  • aiFileSeek : cfileio.h
  • aiFileTellProc : cfileio.h
  • aiFileWriteProc : cfileio.h
  • aiLogStreamCallback : cimport.h
  • aiMatrix3x3 : matrix3x3.h
  • aiMatrix4x4 : matrix4x4.h
  • aiQuaternion : quaternion.h
  • aiUserData : cfileio.h
  • aiVector2D : vector2.h
  • aiVector3D : vector3.h

- i -

  • int_fast16_t : pstdint.h
  • int_fast32_t : pstdint.h
  • int_fast8_t : pstdint.h
  • int_least16_t : pstdint.h
  • int_least32_t : pstdint.h
  • int_least8_t : pstdint.h
  • intmax_t : pstdint.h
  • intptr_t : pstdint.h

- u -

  • uint_fast16_t : pstdint.h
  • uint_fast32_t : pstdint.h
  • uint_fast8_t : pstdint.h
  • uint_least16_t : pstdint.h
  • uint_least32_t : pstdint.h
  • uint_least8_t : pstdint.h
  • uintmax_t : pstdint.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

  • aiAnimBehaviour : anim.h
  • aiBlendMode : material.h
  • aiComponent : config.h
  • aiDefaultLogStream : types.h
  • aiImporterFlags : importerdesc.h
  • aiLightSourceType : light.h
  • aiMetadataType : metadata.h
  • aiMorphingMethod : mesh.h
  • aiOrigin : types.h
  • aiPostProcessSteps : postprocess.h
  • aiPrimitiveType : mesh.h
  • aiReturn : types.h
  • aiShadingMode : material.h
  • aiTextureFlags : material.h
  • aiTextureMapMode : material.h
  • aiTextureMapping : material.h
  • aiTextureOp : material.h
  • aiTextureType : material.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

- _ -

  • _aiAnimBehaviour_Force32Bit : anim.h
  • _aiBlendMode_Force32Bit : material.h
  • _aiComponent_Force32Bit : config.h
  • _aiLightSource_Force32Bit : light.h
  • _aiMorphingMethod_Force32Bit : mesh.h
  • _aiPrimitiveType_Force32Bit : mesh.h
  • _aiShadingMode_Force32Bit : material.h
  • _aiTextureFlags_Force32Bit : material.h
  • _aiTextureMapMode_Force32Bit : material.h
  • _aiTextureMapping_Force32Bit : material.h
  • _aiTextureOp_Force32Bit : material.h
  • _aiTextureType_Force32Bit : material.h

- a -

  • AI_AIMETADATA : metadata.h
  • AI_AISTRING : metadata.h
  • AI_AIVECTOR3D : metadata.h
  • AI_BOOL : metadata.h
  • AI_DOUBLE : metadata.h
  • AI_FLOAT : metadata.h
  • AI_INT32 : metadata.h
  • AI_META_MAX : metadata.h
  • AI_UINT64 : metadata.h
  • aiAnimBehaviour_CONSTANT : anim.h
  • aiAnimBehaviour_DEFAULT : anim.h
  • aiAnimBehaviour_LINEAR : anim.h
  • aiAnimBehaviour_REPEAT : anim.h
  • aiBlendMode_Additive : material.h
  • aiBlendMode_Default : material.h
  • aiComponent_ANIMATIONS : config.h
  • aiComponent_BONEWEIGHTS : config.h
  • aiComponent_CAMERAS : config.h
  • aiComponent_COLORS : config.h
  • aiComponent_LIGHTS : config.h
  • aiComponent_MATERIALS : config.h
  • aiComponent_MESHES : config.h
  • aiComponent_NORMALS : config.h
  • aiComponent_TANGENTS_AND_BITANGENTS : config.h
  • aiComponent_TEXCOORDS : config.h
  • aiComponent_TEXTURES : config.h
  • aiDefaultLogStream_DEBUGGER : types.h
  • aiDefaultLogStream_FILE : types.h
  • aiDefaultLogStream_STDERR : types.h
  • aiDefaultLogStream_STDOUT : types.h
  • aiImporterFlags_Experimental : importerdesc.h
  • aiImporterFlags_LimitedSupport : importerdesc.h
  • aiImporterFlags_SupportBinaryFlavour : importerdesc.h
  • aiImporterFlags_SupportCompressedFlavour : importerdesc.h
  • aiImporterFlags_SupportTextFlavour : importerdesc.h
  • aiLightSource_AMBIENT : light.h
  • aiLightSource_AREA : light.h
  • aiLightSource_DIRECTIONAL : light.h
  • aiLightSource_POINT : light.h
  • aiLightSource_SPOT : light.h
  • aiLightSource_UNDEFINED : light.h
  • aiMorphingMethod_MORPH_NORMALIZED : mesh.h
  • aiMorphingMethod_MORPH_RELATIVE : mesh.h
  • aiMorphingMethod_VERTEX_BLEND : mesh.h
  • aiOrigin_CUR : types.h
  • aiOrigin_END : types.h
  • aiOrigin_SET : types.h
  • aiPrimitiveType_LINE : mesh.h
  • aiPrimitiveType_POINT : mesh.h
  • aiPrimitiveType_POLYGON : mesh.h
  • aiPrimitiveType_TRIANGLE : mesh.h
  • aiProcess_CalcTangentSpace : postprocess.h
  • aiProcess_Debone : postprocess.h
  • aiProcess_DropNormals : postprocess.h
  • aiProcess_EmbedTextures : postprocess.h
  • aiProcess_FindDegenerates : postprocess.h
  • aiProcess_FindInstances : postprocess.h
  • aiProcess_FindInvalidData : postprocess.h
  • aiProcess_FixInfacingNormals : postprocess.h
  • aiProcess_FlipUVs : postprocess.h
  • aiProcess_FlipWindingOrder : postprocess.h
  • aiProcess_ForceGenNormals : postprocess.h
  • aiProcess_GenBoundingBoxes : postprocess.h
  • aiProcess_GenNormals : postprocess.h
  • aiProcess_GenSmoothNormals : postprocess.h
  • aiProcess_GenUVCoords : postprocess.h
  • aiProcess_GlobalScale : postprocess.h
  • aiProcess_ImproveCacheLocality : postprocess.h
  • aiProcess_JoinIdenticalVertices : postprocess.h
  • aiProcess_LimitBoneWeights : postprocess.h
  • aiProcess_MakeLeftHanded : postprocess.h
  • aiProcess_OptimizeGraph : postprocess.h
  • aiProcess_OptimizeMeshes : postprocess.h
  • aiProcess_PopulateArmatureData : postprocess.h
  • aiProcess_PreTransformVertices : postprocess.h
  • aiProcess_RemoveComponent : postprocess.h
  • aiProcess_RemoveRedundantMaterials : postprocess.h
  • aiProcess_SortByPType : postprocess.h
  • aiProcess_SplitByBoneCount : postprocess.h
  • aiProcess_SplitLargeMeshes : postprocess.h
  • aiProcess_TransformUVCoords : postprocess.h
  • aiProcess_Triangulate : postprocess.h
  • aiProcess_ValidateDataStructure : postprocess.h
  • aiReturn_FAILURE : types.h
  • aiReturn_OUTOFMEMORY : types.h
  • aiReturn_SUCCESS : types.h
  • aiShadingMode_Blinn : material.h
  • aiShadingMode_CookTorrance : material.h
  • aiShadingMode_Flat : material.h
  • aiShadingMode_Fresnel : material.h
  • aiShadingMode_Gouraud : material.h
  • aiShadingMode_Minnaert : material.h
  • aiShadingMode_NoShading : material.h
  • aiShadingMode_OrenNayar : material.h
  • aiShadingMode_Phong : material.h
  • aiShadingMode_Toon : material.h
  • aiTextureFlags_IgnoreAlpha : material.h
  • aiTextureFlags_Invert : material.h
  • aiTextureFlags_UseAlpha : material.h
  • aiTextureMapMode_Clamp : material.h
  • aiTextureMapMode_Decal : material.h
  • aiTextureMapMode_Mirror : material.h
  • aiTextureMapMode_Wrap : material.h
  • aiTextureMapping_BOX : material.h
  • aiTextureMapping_CYLINDER : material.h
  • aiTextureMapping_OTHER : material.h
  • aiTextureMapping_PLANE : material.h
  • aiTextureMapping_SPHERE : material.h
  • aiTextureMapping_UV : material.h
  • aiTextureOp_Add : material.h
  • aiTextureOp_Divide : material.h
  • aiTextureOp_Multiply : material.h
  • aiTextureOp_SignedAdd : material.h
  • aiTextureOp_SmoothAdd : material.h
  • aiTextureOp_Subtract : material.h
  • aiTextureType_AMBIENT : material.h
  • aiTextureType_AMBIENT_OCCLUSION : material.h
  • aiTextureType_BASE_COLOR : material.h
  • aiTextureType_DIFFUSE : material.h
  • aiTextureType_DIFFUSE_ROUGHNESS : material.h
  • aiTextureType_DISPLACEMENT : material.h
  • aiTextureType_EMISSION_COLOR : material.h
  • aiTextureType_EMISSIVE : material.h
  • aiTextureType_HEIGHT : material.h
  • aiTextureType_LIGHTMAP : material.h
  • aiTextureType_METALNESS : material.h
  • aiTextureType_NONE : material.h
  • aiTextureType_NORMAL_CAMERA : material.h
  • aiTextureType_NORMALS : material.h
  • aiTextureType_OPACITY : material.h
  • aiTextureType_REFLECTION : material.h
  • aiTextureType_SHININESS : material.h
  • aiTextureType_SPECULAR : material.h
  • aiTextureType_UNKNOWN : material.h

- f -

  • FORCE_32BIT : metadata.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

- _ -

  • _AI_MATKEY_GLTF_MAPPINGFILTER_MAG_BASE : pbrmaterial.h
  • _AI_MATKEY_GLTF_MAPPINGFILTER_MIN_BASE : pbrmaterial.h
  • _AI_MATKEY_GLTF_MAPPINGID_BASE : pbrmaterial.h
  • _AI_MATKEY_GLTF_MAPPINGNAME_BASE : pbrmaterial.h
  • _AI_MATKEY_GLTF_SCALE_BASE : pbrmaterial.h
  • _AI_MATKEY_GLTF_STRENGTH_BASE : pbrmaterial.h
  • _AI_MATKEY_GLTF_TEXTURE_TEXCOORD_BASE : pbrmaterial.h
  • _PSTDINT_H_INCLUDED : pstdint.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

- a -

  • AI_AABB_H_INC : aabb.h
  • AI_ANIM_H_INC : anim.h
  • ai_assert : ai_assert.h
  • ai_assert_entry : ai_assert.h
  • AI_ASSERT_H_INC : ai_assert.h
  • AI_ASSIMP_H_INC : cimport.h
  • AI_ASSIMP_HPP_INC : Importer.hpp
  • AI_BE : ByteSwapper.h
  • AI_BITMAP_H_INC : Bitmap.h
  • AI_BLOBIO_MAGIC : BlobIOSystem.h
  • AI_BYTESWAPPER_H_INC : ByteSwapper.h
  • AI_CAMERA_H_INC : camera.h
  • AI_COLLADAMETADATA_H_INC : ColladaMetaData.h
  • AI_COLOR4D_H_INC : color4.h
  • AI_COLOR4D_INL_INC : color4.inl
  • AI_COMMONMETADATA_H_INC : commonMetaData.h
  • AI_CONFIG_ANDROID_JNI_ASSIMP_MANAGER_SUPPORT : config.h
  • AI_CONFIG_APP_SCALE_KEY : config.h
  • AI_CONFIG_EXPORT_POINT_CLOUDS : config.h
  • AI_CONFIG_EXPORT_XFILE_64BIT : config.h
  • AI_CONFIG_FAVOUR_SPEED : config.h
  • AI_CONFIG_FBX_CONVERT_TO_M : config.h
  • AI_CONFIG_GLOB_MEASURE_TIME : config.h
  • AI_CONFIG_GLOBAL_SCALE_FACTOR_DEFAULT : config.h
  • AI_CONFIG_GLOBAL_SCALE_FACTOR_KEY : config.h
  • AI_CONFIG_H_INC : config.h
  • AI_CONFIG_IMPORT_AC_EVAL_SUBDIVISION : config.h
  • AI_CONFIG_IMPORT_AC_SEPARATE_BFCULL : config.h
  • AI_CONFIG_IMPORT_ASE_RECONSTRUCT_NORMALS : config.h
  • AI_CONFIG_IMPORT_COLLADA_IGNORE_UP_DIRECTION : config.h
  • AI_CONFIG_IMPORT_COLLADA_USE_COLLADA_NAMES : config.h
  • AI_CONFIG_IMPORT_FBX_EMBEDDED_TEXTURES_LEGACY_NAMING : config.h
  • AI_CONFIG_IMPORT_FBX_OPTIMIZE_EMPTY_ANIMATION_CURVES : config.h
  • AI_CONFIG_IMPORT_FBX_PRESERVE_PIVOTS : config.h
  • AI_CONFIG_IMPORT_FBX_READ_ALL_GEOMETRY_LAYERS : config.h
  • AI_CONFIG_IMPORT_FBX_READ_ALL_MATERIALS : config.h
  • AI_CONFIG_IMPORT_FBX_READ_ANIMATIONS : config.h
  • AI_CONFIG_IMPORT_FBX_READ_CAMERAS : config.h
  • AI_CONFIG_IMPORT_FBX_READ_LIGHTS : config.h
  • AI_CONFIG_IMPORT_FBX_READ_MATERIALS : config.h
  • AI_CONFIG_IMPORT_FBX_READ_TEXTURES : config.h
  • AI_CONFIG_IMPORT_FBX_READ_WEIGHTS : config.h
  • AI_CONFIG_IMPORT_FBX_STRICT_MODE : config.h
  • AI_CONFIG_IMPORT_GLOBAL_KEYFRAME : config.h
  • AI_CONFIG_IMPORT_IFC_CUSTOM_TRIANGULATION : config.h
  • AI_CONFIG_IMPORT_IFC_CYLINDRICAL_TESSELLATION : config.h
  • AI_CONFIG_IMPORT_IFC_SKIP_SPACE_REPRESENTATIONS : config.h
  • AI_CONFIG_IMPORT_IFC_SMOOTHING_ANGLE : config.h
  • AI_CONFIG_IMPORT_IRR_ANIM_FPS : config.h
  • AI_CONFIG_IMPORT_LWO_ONE_LAYER_ONLY : config.h
  • AI_CONFIG_IMPORT_LWS_ANIM_END : config.h
  • AI_CONFIG_IMPORT_LWS_ANIM_START : config.h
  • AI_CONFIG_IMPORT_MD2_KEYFRAME : config.h
  • AI_CONFIG_IMPORT_MD3_HANDLE_MULTIPART : config.h
  • AI_CONFIG_IMPORT_MD3_KEYFRAME : config.h
  • AI_CONFIG_IMPORT_MD3_SHADER_SRC : config.h
  • AI_CONFIG_IMPORT_MD3_SKIN_NAME : config.h
  • AI_CONFIG_IMPORT_MD5_NO_ANIM_AUTOLOAD : config.h
  • AI_CONFIG_IMPORT_MDC_KEYFRAME : config.h
  • AI_CONFIG_IMPORT_MDL_COLORMAP : config.h
  • AI_CONFIG_IMPORT_MDL_HL1_READ_ANIMATION_EVENTS : config.h
  • AI_CONFIG_IMPORT_MDL_HL1_READ_ANIMATIONS : config.h
  • AI_CONFIG_IMPORT_MDL_HL1_READ_ATTACHMENTS : config.h
  • AI_CONFIG_IMPORT_MDL_HL1_READ_BLEND_CONTROLLERS : config.h
  • AI_CONFIG_IMPORT_MDL_HL1_READ_BONE_CONTROLLERS : config.h
  • AI_CONFIG_IMPORT_MDL_HL1_READ_HITBOXES : config.h
  • AI_CONFIG_IMPORT_MDL_HL1_READ_MISC_GLOBAL_INFO : config.h
  • AI_CONFIG_IMPORT_MDL_HL1_READ_SEQUENCE_TRANSITIONS : config.h
  • AI_CONFIG_IMPORT_MDL_KEYFRAME : config.h
  • AI_CONFIG_IMPORT_NO_SKELETON_MESHES : config.h
  • AI_CONFIG_IMPORT_OGRE_MATERIAL_FILE : config.h
  • AI_CONFIG_IMPORT_OGRE_TEXTURETYPE_FROM_FILENAME : config.h
  • AI_CONFIG_IMPORT_REMOVE_EMPTY_BONES : config.h
  • AI_CONFIG_IMPORT_SMD_KEYFRAME : config.h
  • AI_CONFIG_IMPORT_SMD_LOAD_ANIMATION_LIST : config.h
  • AI_CONFIG_IMPORT_TER_MAKE_UVS : config.h
  • AI_CONFIG_IMPORT_UNREAL_HANDLE_FLAGS : config.h
  • AI_CONFIG_IMPORT_UNREAL_KEYFRAME : config.h
  • AI_CONFIG_PP_CT_MAX_SMOOTHING_ANGLE : config.h
  • AI_CONFIG_PP_CT_TEXTURE_CHANNEL_INDEX : config.h
  • AI_CONFIG_PP_DB_ALL_OR_NONE : config.h
  • AI_CONFIG_PP_DB_THRESHOLD : config.h
  • AI_CONFIG_PP_FD_CHECKAREA : config.h
  • AI_CONFIG_PP_FD_REMOVE : config.h
  • AI_CONFIG_PP_FID_ANIM_ACCURACY : config.h
  • AI_CONFIG_PP_FID_IGNORE_TEXTURECOORDS : config.h
  • AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE : config.h
  • AI_CONFIG_PP_ICL_PTCACHE_SIZE : config.h
  • AI_CONFIG_PP_LBW_MAX_WEIGHTS : config.h
  • AI_CONFIG_PP_OG_EXCLUDE_LIST : config.h
  • AI_CONFIG_PP_PTV_ADD_ROOT_TRANSFORMATION : config.h
  • AI_CONFIG_PP_PTV_KEEP_HIERARCHY : config.h
  • AI_CONFIG_PP_PTV_NORMALIZE : config.h
  • AI_CONFIG_PP_PTV_ROOT_TRANSFORMATION : config.h
  • AI_CONFIG_PP_RRM_EXCLUDE_LIST : config.h
  • AI_CONFIG_PP_RVC_FLAGS : config.h
  • AI_CONFIG_PP_SBBC_MAX_BONES : config.h
  • AI_CONFIG_PP_SBP_REMOVE : config.h
  • AI_CONFIG_PP_SLM_TRIANGLE_LIMIT : config.h
  • AI_CONFIG_PP_SLM_VERTEX_LIMIT : config.h
  • AI_CONFIG_PP_TUV_EVALUATE : config.h
  • AI_D3DSSPATIALSORT_H_INC : SGSpatialSort.h
  • AI_DEBONE_THRESHOLD : config.h
  • AI_DEBUG_INVALIDATE_PTR : defs.h
  • AI_DEFAULT_MATERIAL_NAME : material.h
  • AI_DEFAULTIOSTREAM_H_INC : DefaultIOStream.h
  • AI_DEFAULTIOSYSTEM_H_INC : DefaultIOSystem.h
  • AI_DEFINES_H_INC : Defines.h , defs.h
  • AI_DEG_TO_RAD : defs.h
  • AI_EMBEDDED_TEXNAME_PREFIX : texture.h
  • AI_EXPORT_H_INC : cexport.h
  • AI_EXPORT_HPP_INC : Exporter.hpp
  • AI_FALSE : cimport.h
  • AI_FAST_ATOF_RELAVANT_DECIMALS : fast_atof.h
  • AI_FILEIO_H_INC : cfileio.h
  • AI_FORCE_INLINE : defs.h
  • AI_GENERIC_PROPERTY_H_INCLUDED : GenericProperty.h
  • AI_HASH_H_INCLUDED : Hash.h
  • AI_IMPORT_IFC_DEFAULT_CYLINDRICAL_TESSELLATION : config.h
  • AI_IMPORT_IFC_DEFAULT_SMOOTHING_ANGLE : config.h
  • AI_IMPORTER_DESC_H_INC : importerdesc.h
  • AI_INCLUDED_EXCEPTIONAL_H : Exceptional.h
  • AI_INCLUDED_PROFILER_H : Profiler.h
  • AI_INT_MERGE_SCENE_DUPLICATES_DEEP_CPY : SceneCombiner.h
  • AI_INT_MERGE_SCENE_GEN_UNIQUE_MATNAMES : SceneCombiner.h
  • AI_INT_MERGE_SCENE_GEN_UNIQUE_NAMES : SceneCombiner.h
  • AI_INT_MERGE_SCENE_GEN_UNIQUE_NAMES_IF_NECESSARY : SceneCombiner.h
  • AI_INT_MERGE_SCENE_RESOLVE_CROSS_ATTACHMENTS : SceneCombiner.h
  • AI_IOSTREAM_H_INC : IOStream.hpp
  • AI_IOSTREAMBUFFER_H_INC : IOStreamBuffer.h
  • AI_IOSYSTEM_H_INC : IOSystem.hpp
  • AI_LE : ByteSwapper.h
  • AI_LIGHT_H_INC : light.h
  • AI_LMW_MAX_WEIGHTS : config.h
  • AI_LSWAP2 : ByteSwapper.h
  • AI_LSWAP2P : ByteSwapper.h
  • AI_LSWAP4 : ByteSwapper.h
  • AI_LSWAP4P : ByteSwapper.h
  • AI_LSWAP8 : ByteSwapper.h
  • AI_LSWAP8P : ByteSwapper.h
  • AI_MAKE_EMBEDDED_TEXNAME : texture.h
  • AI_MAKE_MAGIC : BaseImporter.h
  • AI_MATERIAL_H_INC : material.h
  • AI_MATERIAL_INL_INC : material.inl
  • AI_MATH_HALF_PI : defs.h
  • AI_MATH_HALF_PI_F : defs.h
  • AI_MATH_PI : defs.h
  • AI_MATH_PI_F : defs.h
  • AI_MATH_TWO_PI : defs.h
  • AI_MATH_TWO_PI_F : defs.h
  • AI_MATKEY_BLEND_FUNC : material.h
  • AI_MATKEY_BUMPSCALING : material.h
  • AI_MATKEY_COLOR_AMBIENT : material.h
  • AI_MATKEY_COLOR_DIFFUSE : material.h
  • AI_MATKEY_COLOR_EMISSIVE : material.h
  • AI_MATKEY_COLOR_REFLECTIVE : material.h
  • AI_MATKEY_COLOR_SPECULAR : material.h
  • AI_MATKEY_COLOR_TRANSPARENT : material.h
  • AI_MATKEY_ENABLE_WIREFRAME : material.h
  • AI_MATKEY_GLOBAL_BACKGROUND_IMAGE : material.h
  • AI_MATKEY_GLOBAL_SHADERLANG : material.h
  • AI_MATKEY_GLTF_ALPHACUTOFF : pbrmaterial.h
  • AI_MATKEY_GLTF_ALPHAMODE : pbrmaterial.h
  • AI_MATKEY_GLTF_MAPPINGFILTER_MAG : pbrmaterial.h
  • AI_MATKEY_GLTF_MAPPINGFILTER_MIN : pbrmaterial.h
  • AI_MATKEY_GLTF_MAPPINGID : pbrmaterial.h
  • AI_MATKEY_GLTF_MAPPINGNAME : pbrmaterial.h
  • AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_BASE_COLOR_FACTOR : pbrmaterial.h
  • AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_BASE_COLOR_TEXTURE : pbrmaterial.h
  • AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_METALLIC_FACTOR : pbrmaterial.h
  • AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_METALLICROUGHNESS_TEXTURE : pbrmaterial.h
  • AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_ROUGHNESS_FACTOR : pbrmaterial.h
  • AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS : pbrmaterial.h
  • AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS_GLOSSINESS_FACTOR : pbrmaterial.h
  • AI_MATKEY_GLTF_TEXTURE_SCALE : pbrmaterial.h
  • AI_MATKEY_GLTF_TEXTURE_STRENGTH : pbrmaterial.h
  • AI_MATKEY_GLTF_TEXTURE_TEXCOORD : pbrmaterial.h
  • AI_MATKEY_GLTF_UNLIT : pbrmaterial.h
  • AI_MATKEY_MAPPING : material.h
  • AI_MATKEY_MAPPINGMODE_U : material.h
  • AI_MATKEY_MAPPINGMODE_V : material.h
  • AI_MATKEY_NAME : material.h
  • AI_MATKEY_OPACITY : material.h
  • AI_MATKEY_REFLECTIVITY : material.h
  • AI_MATKEY_REFRACTI : material.h
  • AI_MATKEY_SHADER_COMPUTE : material.h
  • AI_MATKEY_SHADER_FRAGMENT : material.h
  • AI_MATKEY_SHADER_GEO : material.h
  • AI_MATKEY_SHADER_PRIMITIVE : material.h
  • AI_MATKEY_SHADER_TESSELATION : material.h
  • AI_MATKEY_SHADER_VERTEX : material.h
  • AI_MATKEY_SHADING_MODEL : material.h
  • AI_MATKEY_SHININESS : material.h
  • AI_MATKEY_SHININESS_STRENGTH : material.h
  • AI_MATKEY_TEXBLEND : material.h
  • AI_MATKEY_TEXFLAGS : material.h
  • AI_MATKEY_TEXMAP_AXIS : material.h
  • AI_MATKEY_TEXOP : material.h
  • AI_MATKEY_TEXTURE : material.h
  • AI_MATKEY_TRANSPARENCYFACTOR : material.h
  • AI_MATKEY_TWOSIDED : material.h
  • AI_MATKEY_UVTRANSFORM : material.h
  • AI_MATKEY_UVWSRC : material.h
  • AI_MATRIX3X3_H_INC : matrix3x3.h
  • AI_MATRIX3X3_INL_INC : matrix3x3.inl
  • AI_MATRIX4X4_H_INC : matrix4x4.h
  • AI_MATRIX4X4_INL_INC : matrix4x4.inl
  • AI_MAX_ALLOC : defs.h
  • AI_MAX_BONE_WEIGHTS : mesh.h
  • AI_MAX_FACE_INDICES : mesh.h
  • AI_MAX_FACES : mesh.h
  • AI_MAX_NUMBER_OF_COLOR_SETS : mesh.h
  • AI_MAX_NUMBER_OF_TEXTURECOORDS : mesh.h
  • AI_MAX_VERTICES : mesh.h
  • AI_MEMORYIO_MAGIC_FILENAME : MemoryIOWrapper.h
  • AI_MEMORYIO_MAGIC_FILENAME_LENGTH : MemoryIOWrapper.h
  • AI_MEMORYIOSTREAM_H_INC : MemoryIOWrapper.h
  • AI_MESH_H_INC : mesh.h
  • AI_METADATA_COLLADA_ID : ColladaMetaData.h
  • AI_METADATA_COLLADA_SID : ColladaMetaData.h
  • AI_METADATA_H_INC : metadata.h
  • AI_METADATA_SOURCE_COPYRIGHT : commonMetaData.h
  • AI_METADATA_SOURCE_FORMAT : commonMetaData.h
  • AI_METADATA_SOURCE_FORMAT_VERSION : commonMetaData.h
  • AI_METADATA_SOURCE_GENERATOR : commonMetaData.h
  • AI_NO_EXCEPT : defs.h
  • AI_PARSING_UTILS_H_INC : ParsingUtils.h
  • AI_PBRMATERIAL_H_INC : pbrmaterial.h
  • AI_POSTPROCESS_H_INC : postprocess.h
  • AI_PRIMITIVE_TYPE_FOR_N_INDICES : mesh.h
  • AI_PROGRESSHANDLER_H_INC : ProgressHandler.hpp
  • AI_PROPERTY_WAS_NOT_EXISTING : Importer.hpp
  • AI_PUSHPACK_IS_DEFINED : pushpack1.h
  • AI_QNAN_H_INCLUDED : qnan.h
  • AI_QUATERNION_H_INC : quaternion.h
  • AI_QUATERNION_INL_INC : quaternion.inl
  • AI_RAD_TO_DEG : defs.h
  • AI_REMOVE_COMMENTS_H_INC : RemoveComments.h
  • AI_SBBC_DEFAULT_MAX_BONES : config.h
  • AI_SCENE_COMBINER_H_INC : SceneCombiner.h
  • AI_SCENE_FLAGS_ALLOW_SHARED : scene.h
  • AI_SCENE_FLAGS_INCOMPLETE : scene.h
  • AI_SCENE_FLAGS_NON_VERBOSE_FORMAT : scene.h
  • AI_SCENE_FLAGS_TERRAIN : scene.h
  • AI_SCENE_FLAGS_VALIDATED : scene.h
  • AI_SCENE_FLAGS_VALIDATION_WARNING : scene.h
  • AI_SCENE_H_INC : scene.h
  • AI_SIZEFMT : StringUtils.h
  • AI_SKELETONMESHBUILDER_H_INC : SkeletonMeshBuilder.h
  • AI_SLM_DEFAULT_MAX_TRIANGLES : config.h
  • AI_SLM_DEFAULT_MAX_VERTICES : config.h
  • AI_SMALLVECTOR_H_INC : SmallVector.h
  • AI_SMOOTHINGGROUPS_H_INC : SmoothingGroups.h
  • AI_SMOOTHINGGROUPS_INL_INCLUDED : SmoothingGroups.inl
  • ai_snprintf : StringUtils.h
  • AI_SPATIALSORT_H_INC : SpatialSort.h
  • AI_STANDARD_SHAPES_H_INC : StandardShapes.h
  • AI_STREAMREADER_H_INCLUDED : StreamReader.h
  • AI_STREAMWRITER_H_INCLUDED : StreamWriter.h
  • AI_SUBDISIVION_H_INC : Subdivision.h
  • AI_SWAP2 : ByteSwapper.h
  • AI_SWAP2P : ByteSwapper.h
  • AI_SWAP4 : ByteSwapper.h
  • AI_SWAP4P : ByteSwapper.h
  • AI_SWAP8 : ByteSwapper.h
  • AI_SWAP8P : ByteSwapper.h
  • AI_TEXTURE_H_INC : texture.h
  • AI_TEXTURE_TYPE_MAX : material.h
  • AI_TRUE : cimport.h
  • AI_TYPES_H_INC : types.h
  • AI_UVTRAFO_ALL : config.h
  • AI_UVTRAFO_ROTATION : config.h
  • AI_UVTRAFO_SCALING : config.h
  • AI_UVTRAFO_TRANSLATION : config.h
  • AI_VECTOR2D_H_INC : vector2.h
  • AI_VECTOR2D_INL_INC : vector2.inl
  • AI_VECTOR3D_H_INC : vector3.h
  • AI_VECTOR3D_INL_INC : vector3.inl
  • AI_VERSION_H_INC : version.h
  • AI_VERTEX_H_INC : Vertex.h
  • AI_WONT_RETURN : defs.h
  • AI_WONT_RETURN_SUFFIX : defs.h
  • AI_ZIPARCHIVEIOSYSTEM_H_INC : ZipArchiveIOSystem.h
  • aiComponent_COLORSn : config.h
  • aiComponent_TEXCOORDSn : config.h
  • aiProcess_ConvertToLeftHanded : postprocess.h
  • aiProcessPreset_TargetRealtime_Fast : postprocess.h
  • aiProcessPreset_TargetRealtime_MaxQuality : postprocess.h
  • aiProcessPreset_TargetRealtime_Quality : postprocess.h
  • ASSIMP_AI_REAL_TEXT_PRECISION : defs.h
  • ASSIMP_API : defs.h
  • ASSIMP_API_WINONLY : defs.h
  • ASSIMP_BEGIN_EXCEPTION_REGION : Exceptional.h
  • ASSIMP_BUILD_DEBUG : defs.h
  • ASSIMP_BUILD_NEED_UNZIP : defs.h
  • ASSIMP_BUILD_NEED_Z_INFLATE : defs.h
  • ASSIMP_BUILD_SINGLETHREADED : defs.h
  • ASSIMP_CFLAGS_DEBUG : version.h
  • ASSIMP_CFLAGS_DOUBLE_SUPPORT : version.h
  • ASSIMP_CFLAGS_NOBOOST : version.h
  • ASSIMP_CFLAGS_SHARED : version.h
  • ASSIMP_CFLAGS_SINGLETHREADED : version.h
  • ASSIMP_CFLAGS_STLPORT : version.h
  • ASSIMP_DEFAULT_LOG_NAME : DefaultLogger.hpp
  • ASSIMP_END_EXCEPTION_REGION : Exceptional.h
  • ASSIMP_END_EXCEPTION_REGION_WITH_ERROR_STRING : Exceptional.h
  • ASSIMP_LOG_DEBUG : Logger.hpp
  • ASSIMP_LOG_DEBUG_F : Logger.hpp
  • ASSIMP_LOG_ERROR : Logger.hpp
  • ASSIMP_LOG_ERROR_F : Logger.hpp
  • ASSIMP_LOG_INFO : Logger.hpp
  • ASSIMP_LOG_INFO_F : Logger.hpp
  • ASSIMP_LOG_VERBOSE_DEBUG : Logger.hpp
  • ASSIMP_LOG_VERBOSE_DEBUG_F : Logger.hpp
  • ASSIMP_LOG_WARN : Logger.hpp
  • ASSIMP_LOG_WARN_F : Logger.hpp
  • ASSIMP_MATRIX4_4_DECOMPOSE_PART : matrix4x4.inl
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

- b -

  • BE_NCONST : ByteSwapper.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

- c -

  • C_ENUM : defs.h
  • C_STRUCT : defs.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

- f -

  • FAST_A_TO_F_H_INCLUDED : fast_atof.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

- g -

  • get16bits : Hash.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

- h -

  • HINTMAXTEXTURELEN : texture.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

- i -

  • INCLUDED_AI_BASEIMPORTER_H : BaseImporter.h
  • INCLUDED_AI_CREATE_ANIM_MESH_H : CreateAnimMesh.h
  • INCLUDED_AI_LOGAUX_H : LogAux.h
  • INCLUDED_AI_STRING_WORKERS_H : StringComparison.h
  • INCLUDED_AI_STRINGUTILS_H : StringUtils.h
  • INCLUDED_ASSIMP_XML_TOOLS_H : XMLTools.h
  • INCLUDED_LINE_SPLITTER_H : LineSplitter.h
  • INCLUDED_TINY_FORMATTER_H : TinyFormatter.h
  • INT16_MAX : pstdint.h
  • INT16_MIN : pstdint.h
  • INT32_MAX : pstdint.h
  • INT32_MIN : pstdint.h
  • INT8_MAX : pstdint.h
  • INT8_MIN : pstdint.h
  • INT_FAST16_MAX : pstdint.h
  • INT_FAST16_MIN : pstdint.h
  • INT_FAST32_MAX : pstdint.h
  • INT_FAST32_MIN : pstdint.h
  • INT_FAST8_MAX : pstdint.h
  • INT_FAST8_MIN : pstdint.h
  • INT_LEAST16_MAX : pstdint.h
  • INT_LEAST16_MIN : pstdint.h
  • INT_LEAST32_MAX : pstdint.h
  • INT_LEAST32_MIN : pstdint.h
  • INT_LEAST8_MAX : pstdint.h
  • INT_LEAST8_MIN : pstdint.h
  • INTMAX_C : pstdint.h
  • INTMAX_MAX : pstdint.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

- l -

  • LE_NCONST : ByteSwapper.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

- m -

  • MAX_LOG_MESSAGE_LENGTH : Logger.hpp
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

- p -

  • PP_ICL_PTCACHE_SIZE : config.h
  • PRINTF_INT16_DEC_WIDTH : pstdint.h
  • PRINTF_INT16_HEX_WIDTH : pstdint.h
  • PRINTF_INT32_DEC_WIDTH : pstdint.h
  • PRINTF_INT32_HEX_WIDTH : pstdint.h
  • PRINTF_INT64_DEC_WIDTH : pstdint.h
  • PRINTF_INT64_HEX_WIDTH : pstdint.h
  • PRINTF_INT8_DEC_WIDTH : pstdint.h
  • PRINTF_INT8_HEX_WIDTH : pstdint.h
  • PRINTF_INTMAX_DEC_WIDTH : pstdint.h
  • PRINTF_INTMAX_HEX_WIDTH : pstdint.h
  • PRINTF_INTMAX_MODIFIER : pstdint.h
  • PRINTF_LEAST16_MODIFIER : pstdint.h
  • PRINTF_LEAST32_MODIFIER : pstdint.h
  • PRINTF_UINT16_DEC_WIDTH : pstdint.h
  • PRINTF_UINT32_DEC_WIDTH : pstdint.h
  • PRINTF_UINT64_DEC_WIDTH : pstdint.h
  • PRINTF_UINT8_DEC_WIDTH : pstdint.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

- s -

  • SIG_ATOMIC_MAX : pstdint.h
  • SIZE_MAX : pstdint.h , Defines.h
  • STDINT_H_UINTPTR_T_DEFINED : pstdint.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: File Members

- u -

  • UINT16_MAX : pstdint.h
  • UINT32_MAX : pstdint.h
  • UINT8_MAX : pstdint.h
  • UINT_FAST16_MAX : pstdint.h
  • UINT_FAST32_MAX : pstdint.h
  • UINT_FAST8_MAX : pstdint.h
  • UINT_LEAST16_MAX : pstdint.h
  • UINT_LEAST32_MAX : pstdint.h
  • UINT_LEAST8_MAX : pstdint.h
  • UINT_MAX : Defines.h
  • UINTMAX_C : pstdint.h
  • UINTMAX_MAX : pstdint.h
  • ULONG_LONG_MAX : pstdint.h
Generated on Mon Dec 14 2020 19:31:14 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • BaseImporter
Assimp::BaseImporter Member List

This is the complete list of members for Assimp::BaseImporter, including all inherited members.

ALLOW_EMPTY enum value | Assimp::BaseImporter |
applicationUnits | Assimp::BaseImporter | protected
BaseImporter() AI_NO_EXCEPT | Assimp::BaseImporter |
CanRead(const std::string &pFile, IOSystem *pIOHandler, bool checkSig) const =0 | Assimp::BaseImporter | pure virtual
CheckMagicToken(IOSystem *pIOHandler, const std::string &pFile, const void *magic, unsigned int num, unsigned int offset=0, unsigned int size=4) | Assimp::BaseImporter | static
CM enum value | Assimp::BaseImporter |
ConvertToUTF8(std::vector< char > &data) | Assimp::BaseImporter | static
ConvertUTF8toISO8859_1(std::string &data) | Assimp::BaseImporter | static
CopyVector(std::vector< T > &vec, T *&out, unsigned int &outLength) | Assimp::BaseImporter | inlinestatic
CopyVector(std::vector< std::unique_ptr< T > > &vec, T **&out, unsigned int &outLength) | Assimp::BaseImporter | inlinestatic
FEET enum value | Assimp::BaseImporter |
fileScale | Assimp::BaseImporter | protected
FORBID_EMPTY enum value | Assimp::BaseImporter |
GetApplicationUnits() | Assimp::BaseImporter | inlinevirtual
GetErrorText() const | Assimp::BaseImporter | inline
GetException() const | Assimp::BaseImporter | inline
GetExtension(const std::string &pFile) | Assimp::BaseImporter | static
GetExtensionList(std::set< std::string > &extensions) | Assimp::BaseImporter |
GetFileScale() const | Assimp::BaseImporter | inlinevirtual
GetInfo() const =0 | Assimp::BaseImporter | pure virtual
Importer class | Assimp::BaseImporter | friend
importerScale | Assimp::BaseImporter | protected
importerUnits | Assimp::BaseImporter |
ImporterUnits enum name | Assimp::BaseImporter |
INCHES enum value | Assimp::BaseImporter |
InternReadFile(const std::string &pFile, aiScene *pScene, IOSystem *pIOHandler)=0 | Assimp::BaseImporter | protectedpure virtual
M enum value | Assimp::BaseImporter |
m_ErrorText | Assimp::BaseImporter | protected
m_Exception | Assimp::BaseImporter | protected
m_progress | Assimp::BaseImporter | protected
MM enum value | Assimp::BaseImporter |
ReadFile(Importer *pImp, const std::string &pFile, IOSystem *pIOHandler) | Assimp::BaseImporter |
SearchFileHeaderForToken(IOSystem *pIOSystem, const std::string &file, const char **tokens, unsigned int numTokens, unsigned int searchBytes=200, bool tokensSol=false, bool noAlphaBeforeTokens=false) | Assimp::BaseImporter | static
SetApplicationUnits(const ImporterUnits &unit) | Assimp::BaseImporter | inlinevirtual
SetFileScale(double scale) | Assimp::BaseImporter | inlinevirtual
SetupProperties(const Importer *pImp) | Assimp::BaseImporter | virtual
SimpleExtensionCheck(const std::string &pFile, const char *ext0, const char *ext1=nullptr, const char *ext2=nullptr) | Assimp::BaseImporter | static
TextFileMode enum name | Assimp::BaseImporter |
TextFileToBuffer(IOStream *stream, std::vector< char > &data, TextFileMode mode=FORBID_EMPTY) | Assimp::BaseImporter | static
~BaseImporter() | Assimp::BaseImporter | virtual
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Bitmap
Assimp::Bitmap Member List

This is the complete list of members for Assimp::Bitmap, including all inherited members.

mBytesPerPixel | Assimp::Bitmap | protectedstatic
Save(aiTexture *texture, IOStream *file) | Assimp::Bitmap | static
WriteData(aiTexture *texture, IOStream *file) | Assimp::Bitmap | protectedstatic
WriteDIB(DIB &dib, IOStream *file) | Assimp::Bitmap | protectedstatic
WriteHeader(Header &header, IOStream *file) | Assimp::Bitmap | protectedstatic
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • BlobIOStream
Assimp::BlobIOStream Member List

This is the complete list of members for Assimp::BlobIOStream, including all inherited members.

BlobIOStream(BlobIOSystem *creator, const std::string &file, size_t initial=4096) | Assimp::BlobIOStream | inline
FileSize() const | Assimp::BlobIOStream | inlinevirtual
Flush() | Assimp::BlobIOStream | inlinevirtual
GetBlob() | Assimp::BlobIOStream | inline
IOStream() AI_NO_EXCEPT | Assimp::IOStream | protected
Read(void *, size_t, size_t) | Assimp::BlobIOStream | inlinevirtual
Seek(size_t pOffset, aiOrigin pOrigin) | Assimp::BlobIOStream | inlinevirtual
Tell() const | Assimp::BlobIOStream | inlinevirtual
Write(const void *pvBuffer, size_t pSize, size_t pCount) | Assimp::BlobIOStream | inlinevirtual
~BlobIOStream() | Assimp::BlobIOStream | virtual
~IOStream() | Assimp::IOStream | virtual
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • BlobIOSystem
Assimp::BlobIOSystem Member List

This is the complete list of members for Assimp::BlobIOSystem, including all inherited members.

BlobIOStream class | Assimp::BlobIOSystem | friend
BlobIOSystem() | Assimp::BlobIOSystem | inline
ChangeDirectory(const std::string &path) | Assimp::IOSystem | virtual
Close(IOStream *pFile) | Assimp::BlobIOSystem | inlinevirtual
ComparePaths(const char *one, const char *second) const | Assimp::IOSystem | virtual
ComparePaths(const std::string &one, const std::string &second) const | Assimp::IOSystem | inline
CreateDirectory(const std::string &path) | Assimp::IOSystem | virtual
CurrentDirectory() const | Assimp::IOSystem | virtual
DeleteFile(const std::string &file) | Assimp::IOSystem | virtual
Exists(const char *pFile) const | Assimp::BlobIOSystem | inlinevirtual
Assimp::IOSystem::Exists(const std::string &pFile) const | Assimp::IOSystem |
GetBlobChain() | Assimp::BlobIOSystem | inline
GetMagicFileName() const | Assimp::BlobIOSystem | inline
getOsSeparator() const | Assimp::BlobIOSystem | inlinevirtual
IOSystem() AI_NO_EXCEPT | Assimp::IOSystem |
Open(const char *pFile, const char *pMode) | Assimp::BlobIOSystem | inlinevirtual
Assimp::IOSystem::Open(const std::string &pFile, const std::string &pMode=std::string("rb")) | Assimp::IOSystem | inline
PopDirectory() | Assimp::IOSystem | virtual
PushDirectory(const std::string &path) | Assimp::IOSystem | virtual
StackSize() const | Assimp::IOSystem | virtual
~BlobIOSystem() | Assimp::BlobIOSystem | inlinevirtual
~IOSystem() | Assimp::IOSystem | virtual
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • ByteSwap
Assimp::ByteSwap Member List

This is the complete list of members for Assimp::ByteSwap, including all inherited members.

Swap(float *fOut) | Assimp::ByteSwap | inlinestatic
Swap(double *fOut) | Assimp::ByteSwap | inlinestatic
Swap(int16_t *fOut) | Assimp::ByteSwap | inlinestatic
Swap(uint16_t *fOut) | Assimp::ByteSwap | inlinestatic
Swap(int32_t *fOut) | Assimp::ByteSwap | inlinestatic
Swap(uint32_t *fOut) | Assimp::ByteSwap | inlinestatic
Swap(int64_t *fOut) | Assimp::ByteSwap | inlinestatic
Swap(uint64_t *fOut) | Assimp::ByteSwap | inlinestatic
Swap2(void *_szOut) | Assimp::ByteSwap | inlinestatic
Swap4(void *_szOut) | Assimp::ByteSwap | inlinestatic
Swap8(void *_szOut) | Assimp::ByteSwap | inlinestatic
Swapped(Type tOut) | Assimp::ByteSwap | inlinestatic
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • DefaultIOStream
Assimp::DefaultIOStream Member List

This is the complete list of members for Assimp::DefaultIOStream, including all inherited members.

DefaultIOStream() AI_NO_EXCEPT | Assimp::DefaultIOStream | protected
DefaultIOStream(FILE *pFile, const std::string &strFilename) | Assimp::DefaultIOStream | protected
DefaultIOSystem class | Assimp::DefaultIOStream | friend
FileSize() const | Assimp::DefaultIOStream | virtual
Flush() | Assimp::DefaultIOStream | virtual
IOStream() AI_NO_EXCEPT | Assimp::IOStream | protected
Read(void *pvBuffer, size_t pSize, size_t pCount) | Assimp::DefaultIOStream | virtual
Seek(size_t pOffset, aiOrigin pOrigin) | Assimp::DefaultIOStream | virtual
Tell() const | Assimp::DefaultIOStream | virtual
Write(const void *pvBuffer, size_t pSize, size_t pCount) | Assimp::DefaultIOStream | virtual
~DefaultIOStream() | Assimp::DefaultIOStream |
~IOStream() | Assimp::IOStream | virtual
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • DefaultIOSystem
Assimp::DefaultIOSystem Member List

This is the complete list of members for Assimp::DefaultIOSystem, including all inherited members.

absolutePath(const std::string &path) | Assimp::DefaultIOSystem | static
ChangeDirectory(const std::string &path) | Assimp::IOSystem | virtual
Close(IOStream *pFile) | Assimp::DefaultIOSystem | virtual
ComparePaths(const char *one, const char *second) const | Assimp::DefaultIOSystem | virtual
Assimp::IOSystem::ComparePaths(const std::string &one, const std::string &second) const | Assimp::IOSystem | inline
completeBaseName(const std::string &path) | Assimp::DefaultIOSystem | static
CreateDirectory(const std::string &path) | Assimp::IOSystem | virtual
CurrentDirectory() const | Assimp::IOSystem | virtual
DeleteFile(const std::string &file) | Assimp::IOSystem | virtual
Exists(const char *pFile) const | Assimp::DefaultIOSystem | virtual
Assimp::IOSystem::Exists(const std::string &pFile) const | Assimp::IOSystem |
fileName(const std::string &path) | Assimp::DefaultIOSystem | static
getOsSeparator() const | Assimp::DefaultIOSystem | virtual
IOSystem() AI_NO_EXCEPT | Assimp::IOSystem |
Open(const char *pFile, const char *pMode="rb") | Assimp::DefaultIOSystem | virtual
Assimp::IOSystem::Open(const std::string &pFile, const std::string &pMode=std::string("rb")) | Assimp::IOSystem | inline
PopDirectory() | Assimp::IOSystem | virtual
PushDirectory(const std::string &path) | Assimp::IOSystem | virtual
StackSize() const | Assimp::IOSystem | virtual
~IOSystem() | Assimp::IOSystem | virtual
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • DefaultLogger
Assimp::DefaultLogger Member List

This is the complete list of members for Assimp::DefaultLogger, including all inherited members.

attachStream(LogStream *pStream, unsigned int severity) | Assimp::DefaultLogger | virtual
create(const char *name=ASSIMP_DEFAULT_LOG_NAME, LogSeverity severity=NORMAL, unsigned int defStreams=aiDefaultLogStream_DEBUGGER|aiDefaultLogStream_FILE, IOSystem *io=nullptr) | Assimp::DefaultLogger | static
debug(const char *message) | Assimp::Logger |
debug(const std::string &message) | Assimp::Logger | inline
Debugging enum value | Assimp::Logger |
DEBUGGING enum value | Assimp::Logger |
detachStream(LogStream *pStream, unsigned int severity) | Assimp::DefaultLogger | virtual
Err enum value | Assimp::Logger |
error(const char *message) | Assimp::Logger |
error(const std::string &message) | Assimp::Logger | inline
ErrorSeverity enum name | Assimp::Logger |
get() | Assimp::DefaultLogger | static
getLogSeverity() const | Assimp::Logger | inline
Info enum value | Assimp::Logger |
info(const char *message) | Assimp::Logger |
info(const std::string &message) | Assimp::Logger | inline
isNullLogger() | Assimp::DefaultLogger | static
kill() | Assimp::DefaultLogger | static
Logger() AI_NO_EXCEPT | Assimp::Logger | inlineprotected
Logger(LogSeverity severity) | Assimp::Logger | inlineexplicitprotected
LogSeverity enum name | Assimp::Logger |
m_Severity | Assimp::Logger | protected
NORMAL enum value | Assimp::Logger |
set(Logger *logger) | Assimp::DefaultLogger | static
setLogSeverity(LogSeverity log_severity) | Assimp::Logger | inline
VERBOSE enum value | Assimp::Logger |
verboseDebug(const char *message) | Assimp::Logger |
verboseDebug(const std::string &message) | Assimp::Logger | inline
Warn enum value | Assimp::Logger |
warn(const char *message) | Assimp::Logger |
warn(const std::string &message) | Assimp::Logger | inline
~Logger() | Assimp::Logger | inlinevirtual
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • ExportProperties
Assimp::ExportProperties Member List

This is the complete list of members for Assimp::ExportProperties, including all inherited members.

CallbackPropertyMap typedef | Assimp::ExportProperties |
ExportProperties() | Assimp::ExportProperties |
ExportProperties(const ExportProperties &other) | Assimp::ExportProperties |
FloatPropertyMap typedef | Assimp::ExportProperties |
GetPropertyBool(const char *szName, bool bErrorReturn=false) const | Assimp::ExportProperties | inline
GetPropertyCallback(const char *szName) const | Assimp::ExportProperties |
GetPropertyFloat(const char *szName, ai_real fErrorReturn=10e10f) const | Assimp::ExportProperties |
GetPropertyInteger(const char *szName, int iErrorReturn=0xffffffff) const | Assimp::ExportProperties |
GetPropertyMatrix(const char *szName, const aiMatrix4x4 &sErrorReturn=aiMatrix4x4()) const | Assimp::ExportProperties |
GetPropertyString(const char *szName, const std::string &sErrorReturn="") const | Assimp::ExportProperties |
HasPropertyBool(const char *szName) const | Assimp::ExportProperties |
HasPropertyCallback(const char *szName) const | Assimp::ExportProperties |
HasPropertyFloat(const char *szName) const | Assimp::ExportProperties |
HasPropertyInteger(const char *szName) const | Assimp::ExportProperties |
HasPropertyMatrix(const char *szName) const | Assimp::ExportProperties |
HasPropertyString(const char *szName) const | Assimp::ExportProperties |
IntPropertyMap typedef | Assimp::ExportProperties |
KeyType typedef | Assimp::ExportProperties |
MatrixPropertyMap typedef | Assimp::ExportProperties |
mCallbackProperties | Assimp::ExportProperties |
mFloatProperties | Assimp::ExportProperties |
mIntProperties | Assimp::ExportProperties |
mMatrixProperties | Assimp::ExportProperties |
mStringProperties | Assimp::ExportProperties |
SetPropertyBool(const char *szName, bool value) | Assimp::ExportProperties | inline
SetPropertyCallback(const char *szName, const std::function< void *(void *)> &f) | Assimp::ExportProperties |
SetPropertyFloat(const char *szName, ai_real fValue) | Assimp::ExportProperties |
SetPropertyInteger(const char *szName, int iValue) | Assimp::ExportProperties |
SetPropertyMatrix(const char *szName, const aiMatrix4x4 &sValue) | Assimp::ExportProperties |
SetPropertyString(const char *szName, const std::string &sValue) | Assimp::ExportProperties |
StringPropertyMap typedef | Assimp::ExportProperties |
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Exporter
Assimp::Exporter Member List

This is the complete list of members for Assimp::Exporter, including all inherited members.

Export(const aiScene *pScene, const char *pFormatId, const char *pPath, unsigned int pPreprocessing=0u, const ExportProperties *pProperties=nullptr) | Assimp::Exporter |
Export(const aiScene *pScene, const std::string &pFormatId, const std::string &pPath, unsigned int pPreprocessing=0u, const ExportProperties *pProperties=nullptr) | Assimp::Exporter | inline
Exporter() | Assimp::Exporter |
ExportToBlob(const aiScene *pScene, const char *pFormatId, unsigned int pPreprocessing=0u, const ExportProperties *pProperties=nullptr) | Assimp::Exporter |
ExportToBlob(const aiScene *pScene, const std::string &pFormatId, unsigned int pPreprocessing=0u, const ExportProperties *pProperties=nullptr) | Assimp::Exporter | inline
fpExportFunc typedef | Assimp::Exporter |
FreeBlob() | Assimp::Exporter |
GetBlob() const | Assimp::Exporter |
GetErrorString() const | Assimp::Exporter |
GetExportFormatCount() const | Assimp::Exporter |
GetExportFormatDescription(size_t pIndex) const | Assimp::Exporter |
GetIOHandler() const | Assimp::Exporter |
GetOrphanedBlob() const | Assimp::Exporter |
IsDefaultIOHandler() const | Assimp::Exporter |
pimpl | Assimp::Exporter | protected
RegisterExporter(const ExportFormatEntry &desc) | Assimp::Exporter |
SetIOHandler(IOSystem *pIOHandler) | Assimp::Exporter |
SetProgressHandler(ProgressHandler *pHandler) | Assimp::Exporter |
UnregisterExporter(const char *id) | Assimp::Exporter |
~Exporter() | Assimp::Exporter |
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Formatter
  • basic_formatter
Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > Member List

This is the complete list of members for Assimp::Formatter::basic_formatter< T, CharTraits, Allocator >, including all inherited members.

basic_formatter() | Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > | inline
basic_formatter(const TT &sin) | Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > | inline
basic_formatter(basic_formatter &&other) | Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > | inline
basic_formatter(const basic_formatter &other) | Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > | inlineexplicit
operator string() const | Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > | inline
operator,(const TToken &s) const | Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > | inline
operator,(const TToken &s) | Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > | inline
operator,(TToken &s) | Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > | inline
operator<<(const TToken &s) const | Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > | inline
operator<<(const TToken &s) | Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > | inline
string typedef | Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > |
stringstream typedef | Assimp::Formatter::basic_formatter< T, CharTraits, Allocator > |
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • IOStream
Assimp::IOStream Member List

This is the complete list of members for Assimp::IOStream, including all inherited members.

FileSize() const =0 | Assimp::IOStream | pure virtual
Flush()=0 | Assimp::IOStream | pure virtual
IOStream() AI_NO_EXCEPT | Assimp::IOStream | protected
Read(void *pvBuffer, size_t pSize, size_t pCount)=0 | Assimp::IOStream | pure virtual
Seek(size_t pOffset, aiOrigin pOrigin)=0 | Assimp::IOStream | pure virtual
Tell() const =0 | Assimp::IOStream | pure virtual
Write(const void *pvBuffer, size_t pSize, size_t pCount)=0 | Assimp::IOStream | pure virtual
~IOStream() | Assimp::IOStream | virtual
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • IOStreamBuffer
Assimp::IOStreamBuffer< T > Member List

This is the complete list of members for Assimp::IOStreamBuffer< T >, including all inherited members.

cacheSize() const | Assimp::IOStreamBuffer< T >
close() | Assimp::IOStreamBuffer< T >
getCurrentBlockIndex() const | Assimp::IOStreamBuffer< T >
getFilePos() const | Assimp::IOStreamBuffer< T >
getNextBlock(std::vector< T > &buffer) | Assimp::IOStreamBuffer< T >
getNextDataLine(std::vector< T > &buffer, T continuationToken) | Assimp::IOStreamBuffer< T >
getNextLine(std::vector< T > &buffer) | Assimp::IOStreamBuffer< T >
getNumBlocks() const | Assimp::IOStreamBuffer< T >
IOStreamBuffer(size_t cache=4096 *4096) | Assimp::IOStreamBuffer< T >
open(IOStream *stream) | Assimp::IOStreamBuffer< T >
readNextBlock() | Assimp::IOStreamBuffer< T >
size() const | Assimp::IOStreamBuffer< T >
~IOStreamBuffer() | Assimp::IOStreamBuffer< T >
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • IOSystem
Assimp::IOSystem Member List

This is the complete list of members for Assimp::IOSystem, including all inherited members.

ChangeDirectory(const std::string &path) | Assimp::IOSystem | virtual
Close(IOStream *pFile)=0 | Assimp::IOSystem | pure virtual
ComparePaths(const char *one, const char *second) const | Assimp::IOSystem | virtual
ComparePaths(const std::string &one, const std::string &second) const | Assimp::IOSystem | inline
CreateDirectory(const std::string &path) | Assimp::IOSystem | virtual
CurrentDirectory() const | Assimp::IOSystem | virtual
DeleteFile(const std::string &file) | Assimp::IOSystem | virtual
Exists(const std::string &pFile) const | Assimp::IOSystem |
Exists(const char *pFile) const =0 | Assimp::IOSystem | pure virtual
getOsSeparator() const =0 | Assimp::IOSystem | pure virtual
IOSystem() AI_NO_EXCEPT | Assimp::IOSystem |
Open(const char *pFile, const char *pMode="rb")=0 | Assimp::IOSystem | pure virtual
Open(const std::string &pFile, const std::string &pMode=std::string("rb")) | Assimp::IOSystem | inline
PopDirectory() | Assimp::IOSystem | virtual
PushDirectory(const std::string &path) | Assimp::IOSystem | virtual
StackSize() const | Assimp::IOSystem | virtual
~IOSystem() | Assimp::IOSystem | virtual
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Importer
Assimp::Importer Member List

This is the complete list of members for Assimp::Importer, including all inherited members.

ApplyCustomizedPostProcessing(BaseProcess *rootProcess, bool requestValidation) | Assimp::Importer |
ApplyPostProcessing(unsigned int pFlags) | Assimp::Importer |
FreeScene() | Assimp::Importer |
GetErrorString() const | Assimp::Importer |
GetException() const | Assimp::Importer |
GetExtensionList(aiString &szOut) const | Assimp::Importer |
GetExtensionList(std::string &szOut) const | Assimp::Importer | inline
GetImporter(size_t index) const | Assimp::Importer |
GetImporter(const char *szExtension) const | Assimp::Importer |
GetImporterCount() const | Assimp::Importer |
GetImporterIndex(const char *szExtension) const | Assimp::Importer |
GetImporterInfo(size_t index) const | Assimp::Importer |
GetIOHandler() const | Assimp::Importer |
GetMemoryRequirements(aiMemoryInfo &in) const | Assimp::Importer |
GetOrphanedScene() | Assimp::Importer |
GetProgressHandler() const | Assimp::Importer |
GetPropertyBool(const char *szName, bool bErrorReturn=false) const | Assimp::Importer | inline
GetPropertyFloat(const char *szName, ai_real fErrorReturn=10e10) const | Assimp::Importer |
GetPropertyInteger(const char *szName, int iErrorReturn=0xffffffff) const | Assimp::Importer |
GetPropertyMatrix(const char *szName, const aiMatrix4x4 &sErrorReturn=aiMatrix4x4()) const | Assimp::Importer |
GetPropertyString(const char *szName, const std::string &sErrorReturn="") const | Assimp::Importer |
GetScene() const | Assimp::Importer |
Importer() | Assimp::Importer |
Importer(const Importer &other)=delete | Assimp::Importer |
IsDefaultIOHandler() const | Assimp::Importer |
IsDefaultProgressHandler() const | Assimp::Importer |
IsExtensionSupported(const char *szExtension) const | Assimp::Importer |
IsExtensionSupported(const std::string &szExtension) const | Assimp::Importer | inline
MaxLenHint | Assimp::Importer | static
operator=(const Importer &)=delete | Assimp::Importer |
pimpl | Assimp::Importer | protected
Pimpl() | Assimp::Importer | inline
Pimpl() const | Assimp::Importer | inline
ReadFile(const char *pFile, unsigned int pFlags) | Assimp::Importer |
ReadFile(const std::string &pFile, unsigned int pFlags) | Assimp::Importer |
ReadFileFromMemory(const void *pBuffer, size_t pLength, unsigned int pFlags, const char *pHint="") | Assimp::Importer |
RegisterLoader(BaseImporter *pImp) | Assimp::Importer |
RegisterPPStep(BaseProcess *pImp) | Assimp::Importer |
SetExtraVerbose(bool bDo) | Assimp::Importer |
SetIOHandler(IOSystem *pIOHandler) | Assimp::Importer |
SetProgressHandler(ProgressHandler *pHandler) | Assimp::Importer |
SetPropertyBool(const char *szName, bool value) | Assimp::Importer | inline
SetPropertyFloat(const char *szName, ai_real fValue) | Assimp::Importer |
SetPropertyInteger(const char *szName, int iValue) | Assimp::Importer |
SetPropertyMatrix(const char *szName, const aiMatrix4x4 &sValue) | Assimp::Importer |
SetPropertyString(const char *szName, const std::string &sValue) | Assimp::Importer |
UnregisterLoader(BaseImporter *pImp) | Assimp::Importer |
UnregisterPPStep(BaseProcess *pImp) | Assimp::Importer |
ValidateFlags(unsigned int pFlags) const | Assimp::Importer |
~Importer() | Assimp::Importer |
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • LineSplitter
Assimp::LineSplitter Member List

This is the complete list of members for Assimp::LineSplitter, including all inherited members.

get_index() const | Assimp::LineSplitter
get_stream() | Assimp::LineSplitter
get_tokens(const char *(&tokens)[N]) const | Assimp::LineSplitter
get_tokens(const char *(&tokens)[N]) const | Assimp::LineSplitter
line_idx typedef | Assimp::LineSplitter
LineSplitter(StreamReaderLE &stream, bool skip_empty_lines=true, bool trim=true) | Assimp::LineSplitter
LineSplitter(const LineSplitter &)=delete | Assimp::LineSplitter
LineSplitter(LineSplitter &&)=delete | Assimp::LineSplitter
match_start(const char *check) | Assimp::LineSplitter
operator bool() const | Assimp::LineSplitter
operator line_idx() const | Assimp::LineSplitter
operator*() const | Assimp::LineSplitter
operator++() | Assimp::LineSplitter
operator++(int) | Assimp::LineSplitter
operator->() const | Assimp::LineSplitter
operator=(const LineSplitter &)=delete | Assimp::LineSplitter
operator[](size_t idx) const | Assimp::LineSplitter
swallow_next_increment() | Assimp::LineSplitter
~LineSplitter() | Assimp::LineSplitter
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • LogFunctions
Assimp::LogFunctions< TDeriving > Member List

This is the complete list of members for Assimp::LogFunctions< TDeriving >, including all inherited members.

LogDebug(const Formatter::format &message) | Assimp::LogFunctions< TDeriving > | inlinestatic
LogDebug(const char *message) | Assimp::LogFunctions< TDeriving > | inlinestatic
LogError(const Formatter::format &message) | Assimp::LogFunctions< TDeriving > | inlinestatic
LogError(const char *message) | Assimp::LogFunctions< TDeriving > | inlinestatic
LogInfo(const Formatter::format &message) | Assimp::LogFunctions< TDeriving > | inlinestatic
LogInfo(const char *message) | Assimp::LogFunctions< TDeriving > | inlinestatic
LogVerboseDebug(const Formatter::format &message) | Assimp::LogFunctions< TDeriving > | inlinestatic
LogVerboseDebug(const char *message) | Assimp::LogFunctions< TDeriving > | inlinestatic
LogWarn(const Formatter::format &message) | Assimp::LogFunctions< TDeriving > | inlinestatic
LogWarn(const char *message) | Assimp::LogFunctions< TDeriving > | inlinestatic
ThrowException(T &&... args) | Assimp::LogFunctions< TDeriving > | inlinestatic
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • LogStream
Assimp::LogStream Member List

This is the complete list of members for Assimp::LogStream, including all inherited members.

createDefaultStream(aiDefaultLogStream stream, const char *name="AssimpLog.txt", IOSystem *io=nullptr) | Assimp::LogStream | static
LogStream() AI_NO_EXCEPT | Assimp::LogStream | inlineprotected
write(const char *message)=0 | Assimp::LogStream | pure virtual
~LogStream() | Assimp::LogStream | inlinevirtual
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Logger
Assimp::Logger Member List

This is the complete list of members for Assimp::Logger, including all inherited members.

attachStream(LogStream *pStream, unsigned int severity=Debugging|Err|Warn|Info)=0 | Assimp::Logger | pure virtual
debug(const char *message) | Assimp::Logger |
debug(const std::string &message) | Assimp::Logger | inline
DEBUGGING enum value | Assimp::Logger |
Debugging enum value | Assimp::Logger |
detachStream(LogStream *pStream, unsigned int severity=Debugging|Err|Warn|Info)=0 | Assimp::Logger | pure virtual
Err enum value | Assimp::Logger |
error(const char *message) | Assimp::Logger |
error(const std::string &message) | Assimp::Logger | inline
ErrorSeverity enum name | Assimp::Logger |
getLogSeverity() const | Assimp::Logger | inline
Info enum value | Assimp::Logger |
info(const char *message) | Assimp::Logger |
info(const std::string &message) | Assimp::Logger | inline
Logger() AI_NO_EXCEPT | Assimp::Logger | inlineprotected
Logger(LogSeverity severity) | Assimp::Logger | inlineexplicitprotected
LogSeverity enum name | Assimp::Logger |
m_Severity | Assimp::Logger | protected
NORMAL enum value | Assimp::Logger |
OnDebug(const char *message)=0 | Assimp::Logger | protectedpure virtual
OnError(const char *message)=0 | Assimp::Logger | protectedpure virtual
OnInfo(const char *message)=0 | Assimp::Logger | protectedpure virtual
OnVerboseDebug(const char *message)=0 | Assimp::Logger | protectedpure virtual
OnWarn(const char *essage)=0 | Assimp::Logger | protectedpure virtual
setLogSeverity(LogSeverity log_severity) | Assimp::Logger | inline
VERBOSE enum value | Assimp::Logger |
verboseDebug(const char *message) | Assimp::Logger |
verboseDebug(const std::string &message) | Assimp::Logger | inline
Warn enum value | Assimp::Logger |
warn(const char *message) | Assimp::Logger |
warn(const std::string &message) | Assimp::Logger | inline
~Logger() | Assimp::Logger | inlinevirtual
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • MemoryIOStream
Assimp::MemoryIOStream Member List

This is the complete list of members for Assimp::MemoryIOStream, including all inherited members.

FileSize() const | Assimp::MemoryIOStream | inlinevirtual
Flush() | Assimp::MemoryIOStream | inlinevirtual
IOStream() AI_NO_EXCEPT | Assimp::IOStream | protected
MemoryIOStream(const uint8_t *buff, size_t len, bool own=false) | Assimp::MemoryIOStream | inline
Read(void *pvBuffer, size_t pSize, size_t pCount) | Assimp::MemoryIOStream | inlinevirtual
Seek(size_t pOffset, aiOrigin pOrigin) | Assimp::MemoryIOStream | inlinevirtual
Tell() const | Assimp::MemoryIOStream | inlinevirtual
Write(const void *, size_t, size_t) | Assimp::MemoryIOStream | inlinevirtual
~IOStream() | Assimp::IOStream | virtual
~MemoryIOStream() | Assimp::MemoryIOStream | inline
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • MemoryIOSystem
Assimp::MemoryIOSystem Member List

This is the complete list of members for Assimp::MemoryIOSystem, including all inherited members.

ChangeDirectory(const std::string &path) override | Assimp::MemoryIOSystem | inlinevirtual
Close(IOStream *pFile) override | Assimp::MemoryIOSystem | inlinevirtual
ComparePaths(const char *one, const char *second) const override | Assimp::MemoryIOSystem | inlinevirtual
Assimp::IOSystem::ComparePaths(const std::string &one, const std::string &second) const | Assimp::IOSystem | inline
CreateDirectory(const std::string &path) override | Assimp::MemoryIOSystem | inlinevirtual
CurrentDirectory() const override | Assimp::MemoryIOSystem | inlinevirtual
DeleteFile(const std::string &file) override | Assimp::MemoryIOSystem | inlinevirtual
Exists(const char *pFile) const override | Assimp::MemoryIOSystem | inlinevirtual
Assimp::IOSystem::Exists(const std::string &pFile) const | Assimp::IOSystem |
getOsSeparator() const override | Assimp::MemoryIOSystem | inlinevirtual
IOSystem() AI_NO_EXCEPT | Assimp::IOSystem |
MemoryIOSystem(const uint8_t *buff, size_t len, IOSystem *io) | Assimp::MemoryIOSystem | inline
Open(const char *pFile, const char *pMode="rb") override | Assimp::MemoryIOSystem | inlinevirtual
Assimp::IOSystem::Open(const std::string &pFile, const std::string &pMode=std::string("rb")) | Assimp::IOSystem | inline
PopDirectory() override | Assimp::MemoryIOSystem | inlinevirtual
PushDirectory(const std::string &path) override | Assimp::MemoryIOSystem | inlinevirtual
StackSize() const override | Assimp::MemoryIOSystem | inlinevirtual
~IOSystem() | Assimp::IOSystem | virtual
~MemoryIOSystem() | Assimp::MemoryIOSystem | inline
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • NullLogger
Assimp::NullLogger Member List

This is the complete list of members for Assimp::NullLogger, including all inherited members.

attachStream(LogStream *pStream, unsigned int severity) | Assimp::NullLogger | inlinevirtual
debug(const char *message) | Assimp::Logger |
debug(const std::string &message) | Assimp::Logger | inline
DEBUGGING enum value | Assimp::Logger |
Debugging enum value | Assimp::Logger |
detachStream(LogStream *pStream, unsigned int severity) | Assimp::NullLogger | inlinevirtual
Err enum value | Assimp::Logger |
error(const char *message) | Assimp::Logger |
error(const std::string &message) | Assimp::Logger | inline
ErrorSeverity enum name | Assimp::Logger |
getLogSeverity() const | Assimp::Logger | inline
info(const char *message) | Assimp::Logger |
info(const std::string &message) | Assimp::Logger | inline
Info enum value | Assimp::Logger |
Logger() AI_NO_EXCEPT | Assimp::Logger | inlineprotected
Logger(LogSeverity severity) | Assimp::Logger | inlineexplicitprotected
LogSeverity enum name | Assimp::Logger |
m_Severity | Assimp::Logger | protected
NORMAL enum value | Assimp::Logger |
OnDebug(const char *message) | Assimp::NullLogger | inlinevirtual
OnError(const char *message) | Assimp::NullLogger | inlinevirtual
OnInfo(const char *message) | Assimp::NullLogger | inlinevirtual
OnVerboseDebug(const char *message) | Assimp::NullLogger | inlinevirtual
OnWarn(const char *message) | Assimp::NullLogger | inlinevirtual
setLogSeverity(LogSeverity log_severity) | Assimp::Logger | inline
VERBOSE enum value | Assimp::Logger |
verboseDebug(const char *message) | Assimp::Logger |
verboseDebug(const std::string &message) | Assimp::Logger | inline
warn(const char *message) | Assimp::Logger |
warn(const std::string &message) | Assimp::Logger | inline
Warn enum value | Assimp::Logger |
~Logger() | Assimp::Logger | inlinevirtual
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Profiling
  • Profiler
Assimp::Profiling::Profiler Member List

This is the complete list of members for Assimp::Profiling::Profiler, including all inherited members.

BeginRegion(const std::string &region) | Assimp::Profiling::Profiler | inline
EndRegion(const std::string &region) | Assimp::Profiling::Profiler | inline
Profiler() | Assimp::Profiling::Profiler | inline
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • ProgressHandler
Assimp::ProgressHandler Member List

This is the complete list of members for Assimp::ProgressHandler, including all inherited members.

ProgressHandler() AI_NO_EXCEPT | Assimp::ProgressHandler | inlineprotected
Update(float percentage=-1.f)=0 | Assimp::ProgressHandler | pure virtual
UpdateFileRead(int currentStep, int numberOfSteps) | Assimp::ProgressHandler | inlinevirtual
UpdateFileWrite(int currentStep, int numberOfSteps) | Assimp::ProgressHandler | inlinevirtual
UpdatePostProcess(int currentStep, int numberOfSteps) | Assimp::ProgressHandler | inlinevirtual
~ProgressHandler() | Assimp::ProgressHandler | inlinevirtual
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • SGSpatialSort
Assimp::SGSpatialSort Member List

This is the complete list of members for Assimp::SGSpatialSort, including all inherited members.

Add(const aiVector3D &vPosition, unsigned int index, unsigned int smoothingGroup) | Assimp::SGSpatialSort |
FindPositions(const aiVector3D &pPosition, uint32_t pSG, float pRadius, std::vector< unsigned int > &poResults, bool exactMatch=false) const | Assimp::SGSpatialSort |
mPlaneNormal | Assimp::SGSpatialSort | protected
mPositions | Assimp::SGSpatialSort | protected
Prepare() | Assimp::SGSpatialSort |
SGSpatialSort() | Assimp::SGSpatialSort |
SGSpatialSort(const std::vector< aiVector3D > &vPositions) | Assimp::SGSpatialSort | explicit
~SGSpatialSort() | Assimp::SGSpatialSort |
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • SceneCombiner
Assimp::SceneCombiner Member List

This is the complete list of members for Assimp::SceneCombiner, including all inherited members.

AddNodePrefixes(aiNode *node, const char *prefix, unsigned int len) | Assimp::SceneCombiner | static
AttachToGraph(aiScene *master, std::vector< NodeAttachmentInfo > &srcList) | Assimp::SceneCombiner | static
AttachToGraph(aiNode *attach, std::vector< NodeAttachmentInfo > &srcList) | Assimp::SceneCombiner | static
BuildUniqueBoneList(std::list< BoneWithHash > &asBones, std::vector< aiMesh *>::const_iterator it, std::vector< aiMesh *>::const_iterator end) | Assimp::SceneCombiner | static
Copy(aiMesh **dest, const aiMesh *src) | Assimp::SceneCombiner | static
Copy(aiAnimMesh **dest, const aiAnimMesh *src) | Assimp::SceneCombiner | static
Copy(aiMaterial **dest, const aiMaterial *src) | Assimp::SceneCombiner | static
Copy(aiTexture **dest, const aiTexture *src) | Assimp::SceneCombiner | static
Copy(aiAnimation **dest, const aiAnimation *src) | Assimp::SceneCombiner | static
Copy(aiCamera **dest, const aiCamera *src) | Assimp::SceneCombiner | static
Copy(aiBone **dest, const aiBone *src) | Assimp::SceneCombiner | static
Copy(aiLight **dest, const aiLight *src) | Assimp::SceneCombiner | static
Copy(aiNodeAnim **dest, const aiNodeAnim *src) | Assimp::SceneCombiner | static
Copy(aiMeshMorphAnim **dest, const aiMeshMorphAnim *src) | Assimp::SceneCombiner | static
Copy(aiMetadata **dest, const aiMetadata *src) | Assimp::SceneCombiner | static
Copy(aiNode **dest, const aiNode *src) | Assimp::SceneCombiner | static
CopyScene(aiScene **dest, const aiScene *source, bool allocate=true) | Assimp::SceneCombiner | static
CopySceneFlat(aiScene **dest, const aiScene *source) | Assimp::SceneCombiner | static
MergeBones(aiMesh *out, std::vector< aiMesh *>::const_iterator it, std::vector< aiMesh *>::const_iterator end) | Assimp::SceneCombiner | static
MergeMaterials(aiMaterial **dest, std::vector< aiMaterial *>::const_iterator begin, std::vector< aiMaterial *>::const_iterator end) | Assimp::SceneCombiner | static
MergeMeshes(aiMesh **dest, unsigned int flags, std::vector< aiMesh *>::const_iterator begin, std::vector< aiMesh *>::const_iterator end) | Assimp::SceneCombiner | static
MergeScenes(aiScene **dest, std::vector< aiScene *> &src, unsigned int flags=0) | Assimp::SceneCombiner | static
MergeScenes(aiScene **dest, aiScene *master, std::vector< AttachmentInfo > &src, unsigned int flags=0) | Assimp::SceneCombiner | static
OffsetNodeMeshIndices(aiNode *node, unsigned int offset) | Assimp::SceneCombiner | static
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • SkeletonMeshBuilder
Assimp::SkeletonMeshBuilder Member List

This is the complete list of members for Assimp::SkeletonMeshBuilder, including all inherited members.

CreateGeometry(const aiNode *pNode) | Assimp::SkeletonMeshBuilder | protected
CreateMaterial() | Assimp::SkeletonMeshBuilder | protected
CreateMesh() | Assimp::SkeletonMeshBuilder | protected
mBones | Assimp::SkeletonMeshBuilder | protected
mFaces | Assimp::SkeletonMeshBuilder | protected
mKnobsOnly | Assimp::SkeletonMeshBuilder | protected
mVertices | Assimp::SkeletonMeshBuilder | protected
SkeletonMeshBuilder(aiScene *pScene, aiNode *root=nullptr, bool bKnobsOnly=false) | Assimp::SkeletonMeshBuilder |
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • SmallVector
Assimp::SmallVector< T, Capacity > Member List

This is the complete list of members for Assimp::SmallVector< T, Capacity >, including all inherited members.

begin() | Assimp::SmallVector< T, Capacity > | inline
begin() const | Assimp::SmallVector< T, Capacity > | inline
end() | Assimp::SmallVector< T, Capacity > | inline
end() const | Assimp::SmallVector< T, Capacity > | inline
operator=(const SmallVector &)=delete | Assimp::SmallVector< T, Capacity > |
operator=(SmallVector &&)=delete | Assimp::SmallVector< T, Capacity > |
push_back(const T &item) | Assimp::SmallVector< T, Capacity > | inline
resize(size_t newSize) | Assimp::SmallVector< T, Capacity > | inline
size() const | Assimp::SmallVector< T, Capacity > | inline
SmallVector() | Assimp::SmallVector< T, Capacity > | inline
SmallVector(const SmallVector &)=delete | Assimp::SmallVector< T, Capacity > |
SmallVector(SmallVector &&)=delete | Assimp::SmallVector< T, Capacity > |
~SmallVector() | Assimp::SmallVector< T, Capacity > | inline
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • SpatialSort
Assimp::SpatialSort Member List

This is the complete list of members for Assimp::SpatialSort, including all inherited members.

Append(const aiVector3D *pPositions, unsigned int pNumPositions, unsigned int pElementOffset, bool pFinalize=true) | Assimp::SpatialSort |
Fill(const aiVector3D *pPositions, unsigned int pNumPositions, unsigned int pElementOffset, bool pFinalize=true) | Assimp::SpatialSort |
Finalize() | Assimp::SpatialSort |
FindIdenticalPositions(const aiVector3D &pPosition, std::vector< unsigned int > &poResults) const | Assimp::SpatialSort |
FindPositions(const aiVector3D &pPosition, ai_real pRadius, std::vector< unsigned int > &poResults) const | Assimp::SpatialSort |
GenerateMappingTable(std::vector< unsigned int > &fill, ai_real pRadius) const | Assimp::SpatialSort |
mPlaneNormal | Assimp::SpatialSort | protected
mPositions | Assimp::SpatialSort | protected
SpatialSort() | Assimp::SpatialSort |
SpatialSort(const aiVector3D *pPositions, unsigned int pNumPositions, unsigned int pElementOffset) | Assimp::SpatialSort |
~SpatialSort() | Assimp::SpatialSort |
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • StandardShapes
Assimp::StandardShapes Member List

This is the complete list of members for Assimp::StandardShapes, including all inherited members.

MakeCircle(ai_real radius, unsigned int tess, std::vector< aiVector3D > &positions) | Assimp::StandardShapes | static
MakeCone(ai_real height, ai_real radius1, ai_real radius2, unsigned int tess, std::vector< aiVector3D > &positions, bool bOpen=false) | Assimp::StandardShapes | static
MakeDodecahedron(std::vector< aiVector3D > &positions, bool polygons=false) | Assimp::StandardShapes | static
MakeHexahedron(std::vector< aiVector3D > &positions, bool polygons=false) | Assimp::StandardShapes | static
MakeIcosahedron(std::vector< aiVector3D > &positions) | Assimp::StandardShapes | static
MakeMesh(const std::vector< aiVector3D > &positions, unsigned int numIndices) | Assimp::StandardShapes | static
MakeMesh(unsigned int(*GenerateFunc)(std::vector< aiVector3D > &)) | Assimp::StandardShapes | static
MakeMesh(unsigned int(*GenerateFunc)(std::vector< aiVector3D > &, bool)) | Assimp::StandardShapes | static
MakeMesh(unsigned int n, void(*GenerateFunc)(unsigned int, std::vector< aiVector3D > &)) | Assimp::StandardShapes | static
MakeOctahedron(std::vector< aiVector3D > &positions) | Assimp::StandardShapes | static
MakeSphere(unsigned int tess, std::vector< aiVector3D > &positions) | Assimp::StandardShapes | static
MakeTetrahedron(std::vector< aiVector3D > &positions) | Assimp::StandardShapes | static
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • StreamReader
Assimp::StreamReader< SwapEndianess, RuntimeSwitch > Member List

This is the complete list of members for Assimp::StreamReader< SwapEndianess, RuntimeSwitch >, including all inherited members.

CopyAndAdvance(void *out, size_t bytes) | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
diff typedef | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > |
Get() | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
GetCurrentPos() const | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
GetF4() | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
GetF8() | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
GetI1() | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
GetI2() | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
GetI4() | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
GetI8() | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
GetPtr() const | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
GetReadLimit() const | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
GetRemainingSize() const | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
GetRemainingSizeToLimit() const | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
GetU1() | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
GetU2() | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
GetU4() | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
GetU8() | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
IncPtr(intptr_t plus) | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
operator>>(T &f) | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
pos typedef | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > |
SetCurrentPos(size_t pos) | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
SetPtr(int8_t *p) | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
SetReadLimit(unsigned int _limit) | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
SkipToReadLimit() | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
StreamReader(std::shared_ptr< IOStream > stream, bool le=false) | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
StreamReader(IOStream *stream, bool le=false) | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
~StreamReader() | Assimp::StreamReader< SwapEndianess, RuntimeSwitch > | inline
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • StreamWriter
Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > Member List

This is the complete list of members for Assimp::StreamWriter< SwapEndianess, RuntimeSwitch >, including all inherited members.

Flush() | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
GetCurrentPos() const | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
operator<<(T f) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
Put(T f) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
PutChar(char c) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
PutF4(float f) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
PutF8(double d) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
PutI1(int8_t n) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
PutI2(int16_t n) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
PutI4(int32_t n) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
PutI8(int64_t n) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
PutString(const aiString &s) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
PutString(const std::string &s) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
PutU1(uint8_t n) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
PutU2(uint16_t n) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
PutU4(uint32_t n) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
PutU8(uint64_t n) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
Seek(size_t pOffset, aiOrigin pOrigin=aiOrigin_SET) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
SetCurrentPos(std::size_t new_cursor) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
StreamWriter(std::shared_ptr< IOStream > stream, bool le=false) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
StreamWriter(IOStream *stream, bool le=false) | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
Tell() | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
~StreamWriter() | Assimp::StreamWriter< SwapEndianess, RuntimeSwitch > | inline
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Subdivider
Assimp::Subdivider Member List

This is the complete list of members for Assimp::Subdivider, including all inherited members.

Algorithm enum name | Assimp::Subdivider |
CATMULL_CLARKE enum value | Assimp::Subdivider |
Create(Algorithm algo) | Assimp::Subdivider | static
Subdivide(aiMesh *mesh, aiMesh *&out, unsigned int num, bool discard_input=false)=0 | Assimp::Subdivider | pure virtual
Subdivide(aiMesh **smesh, size_t nmesh, aiMesh **out, unsigned int num, bool discard_input=false)=0 | Assimp::Subdivider | pure virtual
~Subdivider() | Assimp::Subdivider | inlinevirtual
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • TXmlParser
Assimp::TXmlParser< TNodeType > Member List

This is the complete list of members for Assimp::TXmlParser< TNodeType >, including all inherited members.

clear() | Assimp::TXmlParser< TNodeType > | inline
findNode(const std::string &name) | Assimp::TXmlParser< TNodeType > | inline
getBoolAttribute(XmlNode &xmlNode, const char *name, bool &val) | Assimp::TXmlParser< TNodeType > | inlinestatic
getDocument() const | Assimp::TXmlParser< TNodeType > | inline
getDoubleAttribute(XmlNode &xmlNode, const char *name, double &val) | Assimp::TXmlParser< TNodeType > | inlinestatic
getFloatAttribute(XmlNode &xmlNode, const char *name, float &val) | Assimp::TXmlParser< TNodeType > | inlinestatic
getIntAttribute(XmlNode &xmlNode, const char *name, int &val) | Assimp::TXmlParser< TNodeType > | inlinestatic
getRootNode() const | Assimp::TXmlParser< TNodeType > | inline
getRootNode() | Assimp::TXmlParser< TNodeType > | inline
getStdStrAttribute(XmlNode &xmlNode, const char *name, std::string &val) | Assimp::TXmlParser< TNodeType > | inlinestatic
getUIntAttribute(XmlNode &xmlNode, const char *name, unsigned int &val) | Assimp::TXmlParser< TNodeType > | inlinestatic
getValueAsFloat(XmlNode &node, ai_real &v) | Assimp::TXmlParser< TNodeType > | inlinestatic
getValueAsString(XmlNode &node, std::string &text) | Assimp::TXmlParser< TNodeType > | inlinestatic
hasAttribute(XmlNode &xmlNode, const char *name) | Assimp::TXmlParser< TNodeType > | inlinestatic
hasNode(const std::string &name) | Assimp::TXmlParser< TNodeType > | inline
hasNode(XmlNode &node, const char *name) | Assimp::TXmlParser< TNodeType > | inlinestatic
parse(IOStream *stream) | Assimp::TXmlParser< TNodeType > | inline
TXmlParser() | Assimp::TXmlParser< TNodeType > | inline
~TXmlParser() | Assimp::TXmlParser< TNodeType > | inline
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Vertex
Assimp::Vertex Member List

This is the complete list of members for Assimp::Vertex, including all inherited members.

bitangent | Assimp::Vertex |
colors | Assimp::Vertex |
normal | Assimp::Vertex |
operator*(const Vertex &, ai_real) | Assimp::Vertex | friend
operator*(ai_real, const Vertex &) | Assimp::Vertex | friend
operator*=(ai_real v) | Assimp::Vertex | inline
operator+(const Vertex &, const Vertex &) | Assimp::Vertex | friend
operator+=(const Vertex &v) | Assimp::Vertex | inline
operator-(const Vertex &, const Vertex &) | Assimp::Vertex | friend
operator-=(const Vertex &v) | Assimp::Vertex | inline
operator/(const Vertex &, ai_real) | Assimp::Vertex | friend
operator/=(ai_real v) | Assimp::Vertex | inline
position | Assimp::Vertex |
SortBack(aiMesh *out, unsigned int idx) const | Assimp::Vertex | inline
tangent | Assimp::Vertex |
texcoords | Assimp::Vertex |
Vertex() | Assimp::Vertex | inline
Vertex(const aiMesh *msh, unsigned int idx) | Assimp::Vertex | inlineexplicit
Vertex(const aiAnimMesh *msh, unsigned int idx) | Assimp::Vertex | inlineexplicit
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • XmlNodeIterator
Assimp::XmlNodeIterator Member List

This is the complete list of members for Assimp::XmlNodeIterator, including all inherited members.

clear() | Assimp::XmlNodeIterator | inline
collectChildrenPostOrder(XmlNode &node) | Assimp::XmlNodeIterator | inline
collectChildrenPreOrder(XmlNode &node) | Assimp::XmlNodeIterator | inline
getNext(XmlNode &next) | Assimp::XmlNodeIterator | inline
isEmpty() const | Assimp::XmlNodeIterator | inline
size() const | Assimp::XmlNodeIterator | inline
XmlNodeIterator(XmlNode &parent) | Assimp::XmlNodeIterator | inline
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • ZipArchiveIOSystem
Assimp::ZipArchiveIOSystem Member List

This is the complete list of members for Assimp::ZipArchiveIOSystem, including all inherited members.

ChangeDirectory(const std::string &path) | Assimp::IOSystem | virtual
Close(IOStream *pFile) override | Assimp::ZipArchiveIOSystem | virtual
ComparePaths(const char *one, const char *second) const | Assimp::IOSystem | virtual
ComparePaths(const std::string &one, const std::string &second) const | Assimp::IOSystem | inline
CreateDirectory(const std::string &path) | Assimp::IOSystem | virtual
CurrentDirectory() const | Assimp::IOSystem | virtual
DeleteFile(const std::string &file) | Assimp::IOSystem | virtual
Exists(const char *pFilename) const override | Assimp::ZipArchiveIOSystem | virtual
Assimp::IOSystem::Exists(const std::string &pFile) const | Assimp::IOSystem |
getFileList(std::vector< std::string > &rFileList) const | Assimp::ZipArchiveIOSystem |
getFileListExtension(std::vector< std::string > &rFileList, const std::string &extension) const | Assimp::ZipArchiveIOSystem |
getOsSeparator() const override | Assimp::ZipArchiveIOSystem | virtual
IOSystem() AI_NO_EXCEPT | Assimp::IOSystem |
isOpen() const | Assimp::ZipArchiveIOSystem |
isZipArchive(IOSystem *pIOHandler, const char *pFilename) | Assimp::ZipArchiveIOSystem | static
isZipArchive(IOSystem *pIOHandler, const std::string &rFilename) | Assimp::ZipArchiveIOSystem | static
Open(const char *pFilename, const char *pMode="rb") override | Assimp::ZipArchiveIOSystem | virtual
Assimp::IOSystem::Open(const std::string &pFile, const std::string &pMode=std::string("rb")) | Assimp::IOSystem | inline
PopDirectory() | Assimp::IOSystem | virtual
PushDirectory(const std::string &path) | Assimp::IOSystem | virtual
StackSize() const | Assimp::IOSystem | virtual
ZipArchiveIOSystem(IOSystem *pIOHandler, const char *pFilename, const char *pMode="r") | Assimp::ZipArchiveIOSystem |
ZipArchiveIOSystem(IOSystem *pIOHandler, const std::string &rFilename, const char *pMode="r") | Assimp::ZipArchiveIOSystem |
~IOSystem() | Assimp::IOSystem | virtual
~ZipArchiveIOSystem() | Assimp::ZipArchiveIOSystem | virtual
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

DeadlyErrorBase Member List

This is the complete list of members for DeadlyErrorBase, including all inherited members.

DeadlyErrorBase(Assimp::Formatter::format f) | DeadlyErrorBase | protected
DeadlyErrorBase(Assimp::Formatter::format f, U &&u, T &&... args) | DeadlyErrorBase | inlineprotected
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

DeadlyExportError Member List

This is the complete list of members for DeadlyExportError, including all inherited members.

DeadlyErrorBase(Assimp::Formatter::format f) | DeadlyErrorBase | protected
DeadlyErrorBase(Assimp::Formatter::format f, U &&u, T &&... args) | DeadlyErrorBase | inlineprotected
DeadlyExportError(T &&... args) | DeadlyExportError | inlineexplicit
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

DeadlyImportError Member List

This is the complete list of members for DeadlyImportError, including all inherited members.

DeadlyErrorBase(Assimp::Formatter::format f) | DeadlyErrorBase | protected
DeadlyErrorBase(Assimp::Formatter::format f, U &&u, T &&... args) | DeadlyErrorBase | inlineprotected
DeadlyImportError(T &&... args) | DeadlyImportError | inlineexplicit
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

aiColor4t< TReal > Member List

This is the complete list of members for aiColor4t< TReal >, including all inherited members.

a | aiColor4t< TReal > |
aiColor4t() AI_NO_EXCEPT | aiColor4t< TReal > | inline
aiColor4t(TReal _r, TReal _g, TReal _b, TReal _a) | aiColor4t< TReal > | inline
aiColor4t(TReal _r) | aiColor4t< TReal > | inlineexplicit
aiColor4t(const aiColor4t &o)=default | aiColor4t< TReal > |
b | aiColor4t< TReal > |
g | aiColor4t< TReal > |
IsBlack() const | aiColor4t< TReal > | inline
operator!=(const aiColor4t &other) const | aiColor4t< TReal > |
operator*=(TReal f) | aiColor4t< TReal > |
operator+=(const aiColor4t &o) | aiColor4t< TReal > |
operator-=(const aiColor4t &o) | aiColor4t< TReal > |
operator/=(TReal f) | aiColor4t< TReal > |
operator<(const aiColor4t &other) const | aiColor4t< TReal > |
operator==(const aiColor4t &other) const | aiColor4t< TReal > |
operator[](unsigned int i) const | aiColor4t< TReal > | inline
operator[](unsigned int i) | aiColor4t< TReal > | inline
r | aiColor4t< TReal > |
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiMatrix3x3t< TReal > Member List

This is the complete list of members for aiMatrix3x3t< TReal >, including all inherited members.

a1 | aiMatrix3x3t< TReal > |
a2 | aiMatrix3x3t< TReal > |
a3 | aiMatrix3x3t< TReal > |
aiMatrix3x3t() AI_NO_EXCEPT | aiMatrix3x3t< TReal > | inline
aiMatrix3x3t(TReal _a1, TReal _a2, TReal _a3, TReal _b1, TReal _b2, TReal _b3, TReal _c1, TReal _c2, TReal _c3) | aiMatrix3x3t< TReal > | inline
aiMatrix3x3t(const aiMatrix4x4t< TReal > &pMatrix) | aiMatrix3x3t< TReal > | explicit
b1 | aiMatrix3x3t< TReal > |
b2 | aiMatrix3x3t< TReal > |
b3 | aiMatrix3x3t< TReal > |
c1 | aiMatrix3x3t< TReal > |
c2 | aiMatrix3x3t< TReal > |
c3 | aiMatrix3x3t< TReal > |
Determinant() const | aiMatrix3x3t< TReal > |
Equal(const aiMatrix3x3t< TReal > &m, TReal epsilon=1e-6) const | aiMatrix3x3t< TReal > |
FromToMatrix(const aiVector3t< TReal > &from, const aiVector3t< TReal > &to, aiMatrix3x3t &out) | aiMatrix3x3t< TReal > | static
Inverse() | aiMatrix3x3t< TReal > |
operator aiMatrix3x3t< TOther >() const | aiMatrix3x3t< TReal > |
operator!=(const aiMatrix3x3t< TReal > &m) const | aiMatrix3x3t< TReal > |
operator*(const aiMatrix3x3t &m) const | aiMatrix3x3t< TReal > |
operator*=(const aiMatrix3x3t &m) | aiMatrix3x3t< TReal > |
operator==(const aiMatrix3x3t< TReal > &m) const | aiMatrix3x3t< TReal > |
operator[](unsigned int p_iIndex) | aiMatrix3x3t< TReal > |
operator[](unsigned int p_iIndex) const | aiMatrix3x3t< TReal > |
Rotation(TReal a, const aiVector3t< TReal > &axis, aiMatrix3x3t &out) | aiMatrix3x3t< TReal > | static
RotationZ(TReal a, aiMatrix3x3t &out) | aiMatrix3x3t< TReal > | static
Translation(const aiVector2t< TReal > &v, aiMatrix3x3t &out) | aiMatrix3x3t< TReal > | static
Transpose() | aiMatrix3x3t< TReal > |
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiMatrix4x4t< TReal > Member List

This is the complete list of members for aiMatrix4x4t< TReal >, including all inherited members.

a1 | aiMatrix4x4t< TReal > |
a2 | aiMatrix4x4t< TReal > |
a3 | aiMatrix4x4t< TReal > |
a4 | aiMatrix4x4t< TReal > |
aiMatrix4x4t() AI_NO_EXCEPT | aiMatrix4x4t< TReal > |
aiMatrix4x4t(TReal _a1, TReal _a2, TReal _a3, TReal _a4, TReal _b1, TReal _b2, TReal _b3, TReal _b4, TReal _c1, TReal _c2, TReal _c3, TReal _c4, TReal _d1, TReal _d2, TReal _d3, TReal _d4) | aiMatrix4x4t< TReal > |
aiMatrix4x4t(const aiMatrix3x3t< TReal > &m) | aiMatrix4x4t< TReal > | explicit
aiMatrix4x4t(const aiVector3t< TReal > &scaling, const aiQuaterniont< TReal > &rotation, const aiVector3t< TReal > &position) | aiMatrix4x4t< TReal > |
b1 | aiMatrix4x4t< TReal > |
b2 | aiMatrix4x4t< TReal > |
b3 | aiMatrix4x4t< TReal > |
b4 | aiMatrix4x4t< TReal > |
c1 | aiMatrix4x4t< TReal > |
c2 | aiMatrix4x4t< TReal > |
c3 | aiMatrix4x4t< TReal > |
c4 | aiMatrix4x4t< TReal > |
d1 | aiMatrix4x4t< TReal > |
d2 | aiMatrix4x4t< TReal > |
d3 | aiMatrix4x4t< TReal > |
d4 | aiMatrix4x4t< TReal > |
Decompose(aiVector3t< TReal > &scaling, aiQuaterniont< TReal > &rotation, aiVector3t< TReal > &position) const | aiMatrix4x4t< TReal > |
Decompose(aiVector3t< TReal > &pScaling, aiVector3t< TReal > &pRotation, aiVector3t< TReal > &pPosition) const | aiMatrix4x4t< TReal > |
Decompose(aiVector3t< TReal > &pScaling, aiVector3t< TReal > &pRotationAxis, TReal &pRotationAngle, aiVector3t< TReal > &pPosition) const | aiMatrix4x4t< TReal > |
DecomposeNoScaling(aiQuaterniont< TReal > &rotation, aiVector3t< TReal > &position) const | aiMatrix4x4t< TReal > |
Determinant() const | aiMatrix4x4t< TReal > |
Equal(const aiMatrix4x4t &m, TReal epsilon=1e-6) const | aiMatrix4x4t< TReal > |
FromEulerAnglesXYZ(TReal x, TReal y, TReal z) | aiMatrix4x4t< TReal > |
FromEulerAnglesXYZ(const aiVector3t< TReal > &blubb) | aiMatrix4x4t< TReal > |
FromToMatrix(const aiVector3t< TReal > &from, const aiVector3t< TReal > &to, aiMatrix4x4t &out) | aiMatrix4x4t< TReal > | static
Inverse() | aiMatrix4x4t< TReal > |
IsIdentity() const | aiMatrix4x4t< TReal > | inline
operator aiMatrix4x4t< TOther >() const | aiMatrix4x4t< TReal > |
operator!=(const aiMatrix4x4t &m) const | aiMatrix4x4t< TReal > |
operator*(const aiMatrix4x4t &m) const | aiMatrix4x4t< TReal > |
operator*(const TReal &aFloat) const | aiMatrix4x4t< TReal > |
operator*=(const aiMatrix4x4t &m) | aiMatrix4x4t< TReal > |
operator+(const aiMatrix4x4t &aMatrix) const | aiMatrix4x4t< TReal > |
operator==(const aiMatrix4x4t &m) const | aiMatrix4x4t< TReal > |
operator[](unsigned int p_iIndex) | aiMatrix4x4t< TReal > |
operator[](unsigned int p_iIndex) const | aiMatrix4x4t< TReal > |
Rotation(TReal a, const aiVector3t< TReal > &axis, aiMatrix4x4t &out) | aiMatrix4x4t< TReal > | static
RotationX(TReal a, aiMatrix4x4t &out) | aiMatrix4x4t< TReal > | static
RotationY(TReal a, aiMatrix4x4t &out) | aiMatrix4x4t< TReal > | static
RotationZ(TReal a, aiMatrix4x4t &out) | aiMatrix4x4t< TReal > | static
Scaling(const aiVector3t< TReal > &v, aiMatrix4x4t &out) | aiMatrix4x4t< TReal > | static
Translation(const aiVector3t< TReal > &v, aiMatrix4x4t &out) | aiMatrix4x4t< TReal > | static
Transpose() | aiMatrix4x4t< TReal > |
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiQuaterniont< TReal > Member List

This is the complete list of members for aiQuaterniont< TReal >, including all inherited members.

aiQuaterniont() AI_NO_EXCEPT | aiQuaterniont< TReal > | inline
aiQuaterniont(TReal pw, TReal px, TReal py, TReal pz) | aiQuaterniont< TReal > | inline
aiQuaterniont(const aiMatrix3x3t< TReal > &pRotMatrix) | aiQuaterniont< TReal > | inlineexplicit
aiQuaterniont(TReal rotx, TReal roty, TReal rotz) | aiQuaterniont< TReal > | inline
aiQuaterniont(aiVector3t< TReal > axis, TReal angle) | aiQuaterniont< TReal > | inline
aiQuaterniont(aiVector3t< TReal > normalized) | aiQuaterniont< TReal > | inlineexplicit
Conjugate() | aiQuaterniont< TReal > | inline
Equal(const aiQuaterniont &o, TReal epsilon=1e-6) const | aiQuaterniont< TReal > | inline
GetMatrix() const | aiQuaterniont< TReal > | inline
Interpolate(aiQuaterniont &pOut, const aiQuaterniont &pStart, const aiQuaterniont &pEnd, TReal pFactor) | aiQuaterniont< TReal > | inlinestatic
Normalize() | aiQuaterniont< TReal > | inline
operator!=(const aiQuaterniont &o) const | aiQuaterniont< TReal > |
operator*(const aiQuaterniont &two) const | aiQuaterniont< TReal > | inline
operator==(const aiQuaterniont &o) const | aiQuaterniont< TReal > |
Rotate(const aiVector3t< TReal > &in) const | aiQuaterniont< TReal > | inline
w | aiQuaterniont< TReal > |
x | aiQuaterniont< TReal > |
y | aiQuaterniont< TReal > |
z | aiQuaterniont< TReal > |
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiVector2t< TReal > Member List

This is the complete list of members for aiVector2t< TReal >, including all inherited members.

aiVector2t() | aiVector2t< TReal > | inline
aiVector2t(TReal _x, TReal _y) | aiVector2t< TReal > | inline
aiVector2t(TReal _xyz) | aiVector2t< TReal > | inlineexplicit
aiVector2t(const aiVector2t &o)=default | aiVector2t< TReal > |
Equal(const aiVector2t &other, TReal epsilon=1e-6) const | aiVector2t< TReal > | inline
Length() const | aiVector2t< TReal > | inline
Normalize() | aiVector2t< TReal > | inline
operator aiVector2t< TOther >() const | aiVector2t< TReal > |
operator!=(const aiVector2t &other) const | aiVector2t< TReal > | inline
operator*=(TReal f) | aiVector2t< TReal > | inline
operator+=(const aiVector2t &o) | aiVector2t< TReal > | inline
operator-=(const aiVector2t &o) | aiVector2t< TReal > | inline
operator/=(TReal f) | aiVector2t< TReal > | inline
operator=(TReal f) | aiVector2t< TReal > | inline
operator==(const aiVector2t &other) const | aiVector2t< TReal > | inline
operator[](unsigned int i) const | aiVector2t< TReal > | inline
Set(TReal pX, TReal pY) | aiVector2t< TReal > | inline
SquareLength() const | aiVector2t< TReal > | inline
SymMul(const aiVector2t &o) | aiVector2t< TReal > | inline
x | aiVector2t< TReal > |
y | aiVector2t< TReal > |
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

aiVector3t< TReal > Member List

This is the complete list of members for aiVector3t< TReal >, including all inherited members.

aiVector3t() AI_NO_EXCEPT | aiVector3t< TReal > | inline
aiVector3t(TReal _x, TReal _y, TReal _z) | aiVector3t< TReal > | inline
aiVector3t(TReal _xyz) | aiVector3t< TReal > | inlineexplicit
aiVector3t(const aiVector3t &o)=default | aiVector3t< TReal > |
Equal(const aiVector3t &other, TReal epsilon=1e-6) const | aiVector3t< TReal > |
Length() const | aiVector3t< TReal > |
Normalize() | aiVector3t< TReal > |
NormalizeSafe() | aiVector3t< TReal > |
operator aiVector3t< TOther >() const | aiVector3t< TReal > |
operator!=(const aiVector3t &other) const | aiVector3t< TReal > |
operator*=(TReal f) | aiVector3t< TReal > |
operator*=(const aiMatrix3x3t< TReal > &mat) | aiVector3t< TReal > |
operator*=(const aiMatrix4x4t< TReal > &mat) | aiVector3t< TReal > |
operator+=(const aiVector3t &o) | aiVector3t< TReal > |
operator-=(const aiVector3t &o) | aiVector3t< TReal > |
operator/=(TReal f) | aiVector3t< TReal > |
operator<(const aiVector3t &other) const | aiVector3t< TReal > |
operator==(const aiVector3t &other) const | aiVector3t< TReal > |
operator[](unsigned int i) const | aiVector3t< TReal > |
operator[](unsigned int i) | aiVector3t< TReal > |
Set(TReal pX, TReal pY, TReal pZ) | aiVector3t< TReal > |
SquareLength() const | aiVector3t< TReal > |
SymMul(const aiVector3t &o) | aiVector3t< TReal > |
x | aiVector3t< TReal > |
y | aiVector3t< TReal > |
z | aiVector3t< TReal > |
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Compiler Directory Reference

  • include
  • assimp
  • Compiler
Compiler Directory Reference

Files

file | poppack1.h
file | pstdint.h
file | pushpack1.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: assimp Directory Reference

  • include
  • assimp
assimp Directory Reference

Directories

directory | Compiler
directory | port

Files

file | aabb.h
file | ai_assert.h
file | anim.h
Defines the data structures in which the imported animations are returned.
file | BaseImporter.h
file | Bitmap.h
Defines bitmap format helper for textures.
file | BlobIOSystem.h
file | ByteSwapper.h
file | camera.h
Defines the aiCamera data structure.
file | cexport.h
Defines the C-API for the Assimp export interface.
file | cfileio.h
Defines generic C routines to access memory-mapped files.
file | cimport.h
Defines the C-API to the Open Asset Import Library.
file | ColladaMetaData.h
Declares common metadata constants used by Collada files.
file | color4.h
RGBA color structure, including operators when compiling in C++.
file | color4.inl
Inline implementation of aiColor4t<TReal> operators.
file | commonMetaData.h
Defines a set of common scene metadata keys.
file | config.h
Defines constants for configurable properties for the library.
file | CreateAnimMesh.h
Create AnimMesh from Mesh.
file | DefaultIOStream.h
file | DefaultIOSystem.h
file | DefaultLogger.hpp
file | Defines.h
file | defs.h
Assimp build configuration setup.
file | Exceptional.h
file | Exporter.hpp
Defines the CPP-API for the Assimp export interface.
file | fast_atof.h
file | GenericProperty.h
file | Hash.h
file | Importer.hpp
Defines the C++-API to the Open Asset Import Library.
file | importerdesc.h
aiImporterFlags, aiImporterDesc implementation.
file | IOStream.hpp
File I/O wrappers for C++.
file | IOStreamBuffer.h
file | IOSystem.hpp
File system wrapper for C++.
file | light.h
Defines the aiLight data structure.
file | LineSplitter.h
LineSplitter, a helper class to iterate through all lines of a file easily.
file | LogAux.h
Common logging usage patterns for importer implementations.
file | Logger.hpp
Abstract base class 'Logger', base of the logging system.
file | LogStream.hpp
Abstract base class 'LogStream', representing an output log stream.
file | material.h
Defines the material system of the library.
file | material.inl
Defines the C++ getters for the material system.
file | MathFunctions.h
Implementation of math utility functions.
file | matrix3x3.h
Definition of a 3x3 matrix, including operators when compiling in C++.
file | matrix3x3.inl
Inline implementation of the 3x3 matrix operators.
file | matrix4x4.h
4x4 matrix structure, including operators when compiling in C++
file | matrix4x4.inl
Inline implementation of the 4x4 matrix operators.
file | MemoryIOWrapper.h
Handy IOStream/IOSystem implemetation to read directly from a memory buffer.
file | mesh.h
Declares the data structures in which the imported geometry is returned by ASSIMP: aiMesh, aiFace and aiBone data structures.
file | metadata.h
Defines the data structures for holding node meta information.
file | NullLogger.hpp
Dummy logger.
file | ParsingUtils.h
Defines helper functions for text parsing.
file | pbrmaterial.h
Defines the material system of the library.
file | postprocess.h
Definitions for import post processing steps.
file | Profiler.h
Utility to measure the respective runtime of each import step.
file | ProgressHandler.hpp
Abstract base class 'ProgressHandler'.
file | qnan.h
Some utilities for our dealings with qnans.
file | quaternion.h
Quaternion structure, including operators when compiling in C++.
file | quaternion.inl
Inline implementation of aiQuaterniont<TReal> operators.
file | RemoveComments.h
file | scene.h
Defines the data structures in which the imported scene is returned.
file | SceneCombiner.h
file | SGSpatialSort.h
file | SkeletonMeshBuilder.h
Helper class to construct a dummy mesh for file formats containing only motion data.
file | SmallVector.h
file | SmoothingGroups.h
file | SmoothingGroups.inl
file | SpatialSort.h
file | StandardShapes.h
file | StreamReader.h
file | StreamWriter.h
file | StringComparison.h
file | StringUtils.h
file | Subdivision.h
file | texture.h
Defines texture helper structures for the library.
file | TinyFormatter.h
Utility to format log messages more easily.
file | types.h
Basic data types and primitives, such as vectors or colors.
file | vector2.h
2D vector structure, including operators when compiling in C++
file | vector2.inl
Inline implementation of aiVector2t<TReal> operators.
file | vector3.h
3D vector structure, including operators when compiling in C++
file | vector3.inl
Inline implementation of aiVector3t<TReal> operators.
file | version.h
Functions to query the version of the Assimp runtime, check compile flags, ...
file | Vertex.h
file | XmlParser.h
file | XMLTools.h
file | ZipArchiveIOSystem.h
Implementation of IOSystem to read a ZIP file from another IOSystem.
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: port Directory Reference

  • include
  • assimp
  • port
port Directory Reference

Directories

directory AndroidJNI
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: AndroidJNI Directory Reference

  • include
  • assimp
  • port
  • AndroidJNI
AndroidJNI Directory Reference

Files

file AndroidJNIIOSystem.h
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: include Directory Reference

  • include
include Directory Reference

Directories

directory assimp
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: doc Directory Reference

  • doc
doc Directory Reference

Files

file dox.h
General documentation built from a doxygen comment.
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Related Pages

Related Pages
Here is a list of all related documentation pages:
Installation |
Usage |
Data Structures | The assimp library returns the imported data in a collection of structures
Material System |
Performance |
Threading |
Resources | This page lists some useful resources for assimp
Importer Notes |
Extending the Library |
Animation Overview |
Deprecated List |
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • AttachmentInfo
Assimp::AttachmentInfo Member List

This is the complete list of members for Assimp::AttachmentInfo, including all inherited members.

AttachmentInfo() | Assimp::AttachmentInfo | inline
AttachmentInfo(aiScene *_scene, aiNode *_attachToNode) | Assimp::AttachmentInfo | inline
attachToNode | Assimp::AttachmentInfo |
scene | Assimp::AttachmentInfo |
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Bitmap
  • DIB
Assimp::Bitmap::DIB Member List

This is the complete list of members for Assimp::Bitmap::DIB, including all inherited members.

bits_per_pixel | Assimp::Bitmap::DIB |
compression | Assimp::Bitmap::DIB |
dib_size | Assimp::Bitmap::DIB | static
height | Assimp::Bitmap::DIB |
image_size | Assimp::Bitmap::DIB |
nb_colors | Assimp::Bitmap::DIB |
nb_important_colors | Assimp::Bitmap::DIB |
planes | Assimp::Bitmap::DIB |
size | Assimp::Bitmap::DIB |
width | Assimp::Bitmap::DIB |
x_resolution | Assimp::Bitmap::DIB |
y_resolution | Assimp::Bitmap::DIB |
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Bitmap
  • Header
Assimp::Bitmap::Header Member List

This is the complete list of members for Assimp::Bitmap::Header, including all inherited members.

header_size | Assimp::Bitmap::Header | static
offset | Assimp::Bitmap::Header |
reserved1 | Assimp::Bitmap::Header |
reserved2 | Assimp::Bitmap::Header |
size | Assimp::Bitmap::Header |
type | Assimp::Bitmap::Header |
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • BoneWithHash
Assimp::BoneWithHash Member List

This is the complete list of members for Assimp::BoneWithHash, including all inherited members.

pSrcBones Assimp::BoneWithHash
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • ByteSwap
  • _swapper< T, 2 >
Assimp::ByteSwap::_swapper< T, 2 > Member List

This is the complete list of members for Assimp::ByteSwap::_swapper< T, 2 >, including all inherited members.

operator()(T tOut) Assimp::ByteSwap::_swapper< T, 2 > inline
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • ByteSwap
  • _swapper< T, 4 >
Assimp::ByteSwap::_swapper< T, 4 > Member List

This is the complete list of members for Assimp::ByteSwap::_swapper< T, 4 >, including all inherited members.

operator()(T tOut) Assimp::ByteSwap::_swapper< T, 4 > inline
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • ByteSwap
  • _swapper< T, 8 >
Assimp::ByteSwap::_swapper< T, 8 > Member List

This is the complete list of members for Assimp::ByteSwap::_swapper< T, 8 >, including all inherited members.

operator()(T tOut) Assimp::ByteSwap::_swapper< T, 8 > inline
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Exporter
  • ExportFormatEntry
Assimp::Exporter::ExportFormatEntry Member List

This is the complete list of members for Assimp::Exporter::ExportFormatEntry, including all inherited members.

ExportFormatEntry(const char *pId, const char *pDesc, const char *pExtension, fpExportFunc pFunction, unsigned int pEnforcePP=0u) | Assimp::Exporter::ExportFormatEntry | inline
ExportFormatEntry() | Assimp::Exporter::ExportFormatEntry | inline
mDescription | Assimp::Exporter::ExportFormatEntry |
mEnforcePP | Assimp::Exporter::ExportFormatEntry |
mExportFunction | Assimp::Exporter::ExportFormatEntry |
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Intern
  • ByteSwapper
Assimp::Intern::ByteSwapper< T, doit > Member List

This is the complete list of members for Assimp::Intern::ByteSwapper< T, doit >, including all inherited members.

operator()(T *inout) Assimp::Intern::ByteSwapper< T, doit > inline
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Intern
  • ByteSwapper< T, false >
Assimp::Intern::ByteSwapper< T, false > Member List

This is the complete list of members for Assimp::Intern::ByteSwapper< T, false >, including all inherited members.

operator()(T *) Assimp::Intern::ByteSwapper< T, false > inline
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Intern
  • Getter
Assimp::Intern::Getter< SwapEndianess, T, RuntimeSwitch > Member List

This is the complete list of members for Assimp::Intern::Getter< SwapEndianess, T, RuntimeSwitch >, including all inherited members.

operator()(T *inout, bool le) Assimp::Intern::Getter< SwapEndianess, T, RuntimeSwitch > inline
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Intern
  • Getter< SwapEndianess, T, false >
Assimp::Intern::Getter< SwapEndianess, T, false > Member List

This is the complete list of members for Assimp::Intern::Getter< SwapEndianess, T, false >, including all inherited members.

operator()(T *inout, bool) Assimp::Intern::Getter< SwapEndianess, T, false > inline
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Intern
  • divides
Assimp::Intern::divides< T0, T1, TRES > Member List

This is the complete list of members for Assimp::Intern::divides< T0, T1, TRES >, including all inherited members.

operator()(const T0 &t0, const T1 &t1) const Assimp::Intern::divides< T0, T1, TRES > inline
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Intern
  • minus
Assimp::Intern::minus< T0, T1, TRES > Member List

This is the complete list of members for Assimp::Intern::minus< T0, T1, TRES >, including all inherited members.

operator()(const T0 &t0, const T1 &t1) const Assimp::Intern::minus< T0, T1, TRES > inline
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Intern
  • multiplies
Assimp::Intern::multiplies< T0, T1, TRES > Member List

This is the complete list of members for Assimp::Intern::multiplies< T0, T1, TRES >, including all inherited members.

operator()(const T0 &t0, const T1 &t1) const Assimp::Intern::multiplies< T0, T1, TRES > inline
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Intern
  • plus
Assimp::Intern::plus< T0, T1, TRES > Member List

This is the complete list of members for Assimp::Intern::plus< T0, T1, TRES >, including all inherited members.

operator()(const T0 &t0, const T1 &t1) const Assimp::Intern::plus< T0, T1, TRES > inline
Generated on Mon Dec 14 2020 19:31:13 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • Interpolator
Assimp::Interpolator< T > Member List

This is the complete list of members for Assimp::Interpolator< T >, including all inherited members.

operator()(T &anim_out, const T &a, const T &b, ai_real d) const Assimp::Interpolator< T > inline
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • NodeAttachmentInfo
Assimp::NodeAttachmentInfo Member List

This is the complete list of members for Assimp::NodeAttachmentInfo, including all inherited members.

attachToNode | Assimp::NodeAttachmentInfo |
node | Assimp::NodeAttachmentInfo |
NodeAttachmentInfo() | Assimp::NodeAttachmentInfo | inline
NodeAttachmentInfo(aiNode *_scene, aiNode *_attachToNode, size_t idx) | Assimp::NodeAttachmentInfo | inline
resolved | Assimp::NodeAttachmentInfo |
src_idx | Assimp::NodeAttachmentInfo |
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • NodeConverter
Assimp::NodeConverter< TNodeType > Member List

This is the complete list of members for Assimp::NodeConverter< TNodeType >, including all inherited members.

to_int(TNodeType &node, const char *attribName) Assimp::NodeConverter< TNodeType > inlinestatic
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • SGSpatialSort
  • Entry
Assimp::SGSpatialSort::Entry Member List

This is the complete list of members for Assimp::SGSpatialSort::Entry, including all inherited members.

Entry() AI_NO_EXCEPT | Assimp::SGSpatialSort::Entry | inline
Entry(unsigned int pIndex, const aiVector3D &pPosition, float pDistance, uint32_t pSG) | Assimp::SGSpatialSort::Entry | inline
mDistance | Assimp::SGSpatialSort::Entry |
mIndex | Assimp::SGSpatialSort::Entry |
mPosition | Assimp::SGSpatialSort::Entry |
mSmoothGroups | Assimp::SGSpatialSort::Entry |
operator<(const Entry &e) const | Assimp::SGSpatialSort::Entry | inline
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • SceneHelper
Assimp::SceneHelper Member List

This is the complete list of members for Assimp::SceneHelper, including all inherited members.

hashes | Assimp::SceneHelper |
id | Assimp::SceneHelper |
idlen | Assimp::SceneHelper |
operator->() const | Assimp::SceneHelper | inline
scene | Assimp::SceneHelper |
SceneHelper() | Assimp::SceneHelper | inline
SceneHelper(aiScene *_scene) | Assimp::SceneHelper | inlineexplicit
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • SkeletonMeshBuilder
  • Face
Assimp::SkeletonMeshBuilder::Face Member List

This is the complete list of members for Assimp::SkeletonMeshBuilder::Face, including all inherited members.

Face() | Assimp::SkeletonMeshBuilder::Face |
Face(unsigned int p0, unsigned int p1, unsigned int p2) | Assimp::SkeletonMeshBuilder::Face | inline
mIndices | Assimp::SkeletonMeshBuilder::Face |
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • SpatialSort
  • Entry
Assimp::SpatialSort::Entry Member List

This is the complete list of members for Assimp::SpatialSort::Entry, including all inherited members.

Entry() AI_NO_EXCEPT | Assimp::SpatialSort::Entry | inline
Entry(unsigned int pIndex, const aiVector3D &pPosition, ai_real pDistance) | Assimp::SpatialSort::Entry | inline
mDistance | Assimp::SpatialSort::Entry |
mIndex | Assimp::SpatialSort::Entry |
mPosition | Assimp::SpatialSort::Entry |
operator<(const Entry &e) const | Assimp::SpatialSort::Entry | inline
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

  • Assimp
  • find_node_by_name_predicate
Assimp::find_node_by_name_predicate Member List

This is the complete list of members for Assimp::find_node_by_name_predicate, including all inherited members.

find_node_by_name_predicate(const std::string &name) | Assimp::find_node_by_name_predicate | inline
mName | Assimp::find_node_by_name_predicate |
operator()(pugi::xml_node node) const | Assimp::find_node_by_name_predicate | inline
Generated on Mon Dec 14 2020 19:31:12 for Assimp by doxygen 1.8.13


Assimp: Member List

ExceptionSwallower< T > Member List

This is the complete list of members for ExceptionSwallower< T >, including all inherited members.

operator()() const ExceptionSwallower< T > inline
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

ExceptionSwallower< T * > Member List

This is the complete list of members for ExceptionSwallower< T * >, including all inherited members.

operator()() const ExceptionSwallower< T * > inline
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

ExceptionSwallower< aiReturn > Member List

This is the complete list of members for ExceptionSwallower< aiReturn >, including all inherited members.

operator()() const ExceptionSwallower< aiReturn > inline
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

ExceptionSwallower< void > Member List

This is the complete list of members for ExceptionSwallower< void >, including all inherited members.

operator()() const ExceptionSwallower< void > inline
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

FaceWithSmoothingGroup Member List

This is the complete list of members for FaceWithSmoothingGroup, including all inherited members.

FaceWithSmoothingGroup() AI_NO_EXCEPT | FaceWithSmoothingGroup | inline
iSmoothGroup | FaceWithSmoothingGroup |
mIndices | FaceWithSmoothingGroup |
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

MeshWithSmoothingGroups< T > Member List

This is the complete list of members for MeshWithSmoothingGroups< T >, including all inherited members.

mFaces | MeshWithSmoothingGroups< T >
mNormals | MeshWithSmoothingGroups< T >
mPositions | MeshWithSmoothingGroups< T >
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

aiAABB Member List

This is the complete list of members for aiAABB, including all inherited members.

aiAABB() | aiAABB | inline
aiAABB(const aiVector3D &min, const aiVector3D &max) | aiAABB | inline
mMax | aiAABB |
mMin | aiAABB |
~aiAABB() | aiAABB | inline
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiAnimMesh Member List

This is the complete list of members for aiAnimMesh, including all inherited members.

aiAnimMesh() AI_NO_EXCEPT | aiAnimMesh | inline
HasNormals() const | aiAnimMesh | inline
HasPositions() const | aiAnimMesh | inline
HasTangentsAndBitangents() const | aiAnimMesh | inline
HasTextureCoords(unsigned int pIndex) const | aiAnimMesh | inline
HasVertexColors(unsigned int pIndex) const | aiAnimMesh | inline
mBitangents | aiAnimMesh |
mColors | aiAnimMesh |
mName | aiAnimMesh |
mNormals | aiAnimMesh |
mNumVertices | aiAnimMesh |
mTangents | aiAnimMesh |
mTextureCoords | aiAnimMesh |
mVertices | aiAnimMesh |
mWeight | aiAnimMesh |
~aiAnimMesh() | aiAnimMesh | inline
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiAnimation Member List

This is the complete list of members for aiAnimation, including all inherited members.

aiAnimation() AI_NO_EXCEPT | aiAnimation | inline
mChannels | aiAnimation |
mDuration | aiAnimation |
mMeshChannels | aiAnimation |
mMorphMeshChannels | aiAnimation |
mName | aiAnimation |
mNumChannels | aiAnimation |
mNumMeshChannels | aiAnimation |
mNumMorphMeshChannels | aiAnimation |
mTicksPerSecond | aiAnimation |
~aiAnimation() | aiAnimation | inline
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiBone Member List

This is the complete list of members for aiBone, including all inherited members.

aiBone() AI_NO_EXCEPT | aiBone | inline
aiBone(const aiBone &other) | aiBone | inline
mArmature | aiBone |
mName | aiBone |
mNode | aiBone |
mNumWeights | aiBone |
mOffsetMatrix | aiBone |
mWeights | aiBone |
operator=(const aiBone &other) | aiBone | inline
operator==(const aiBone &rhs) const | aiBone | inline
~aiBone() | aiBone | inline
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiCamera Member List

This is the complete list of members for aiCamera, including all inherited members.

aiCamera() AI_NO_EXCEPT | aiCamera | inline
GetCameraMatrix(aiMatrix4x4 &out) const | aiCamera | inline
mAspect | aiCamera |
mClipPlaneFar | aiCamera |
mClipPlaneNear | aiCamera |
mHorizontalFOV | aiCamera |
mLookAt | aiCamera |
mName | aiCamera |
mOrthographicWidth | aiCamera |
mPosition | aiCamera |
mUp | aiCamera |
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiColor3D Member List

This is the complete list of members for aiColor3D, including all inherited members.

aiColor3D() AI_NO_EXCEPT | aiColor3D | inline
aiColor3D(ai_real _r, ai_real _g, ai_real _b) | aiColor3D | inline
aiColor3D(ai_real _r) | aiColor3D | inlineexplicit
aiColor3D(const aiColor3D &o) | aiColor3D | inline
b | aiColor3D |
g | aiColor3D |
IsBlack() const | aiColor3D | inline
operator!=(const aiColor3D &other) const | aiColor3D | inline
operator*(const aiColor3D &c) const | aiColor3D | inline
operator*(ai_real f) const | aiColor3D | inline
operator+(const aiColor3D &c) const | aiColor3D | inline
operator-(const aiColor3D &c) const | aiColor3D | inline
operator<(const aiColor3D &other) const | aiColor3D | inline
operator=(const aiColor3D &o) | aiColor3D | inline
operator==(const aiColor3D &other) const | aiColor3D | inline
operator[](unsigned int i) const | aiColor3D | inline
operator[](unsigned int i) | aiColor3D | inline
r | aiColor3D |
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiExportDataBlob Member List

This is the complete list of members for aiExportDataBlob, including all inherited members.

aiExportDataBlob() | aiExportDataBlob | inline
aiExportDataBlob(const aiExportDataBlob &)=delete | aiExportDataBlob |
data | aiExportDataBlob |
name | aiExportDataBlob |
next | aiExportDataBlob |
operator=(const aiExportDataBlob &)=delete | aiExportDataBlob |
size | aiExportDataBlob |
~aiExportDataBlob() | aiExportDataBlob | inline
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiExportFormatDesc Member List

This is the complete list of members for aiExportFormatDesc, including all inherited members.

description | aiExportFormatDesc
fileExtension | aiExportFormatDesc
id | aiExportFormatDesc
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiFace Member List

This is the complete list of members for aiFace, including all inherited members.

aiFace() AI_NO_EXCEPT | aiFace | inline
aiFace(const aiFace &o) | aiFace | inline
mIndices | aiFace |
mNumIndices | aiFace |
operator!=(const aiFace &o) const | aiFace | inline
operator=(const aiFace &o) | aiFace | inline
operator==(const aiFace &o) const | aiFace | inline
~aiFace() | aiFace | inline
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiFile Member List

This is the complete list of members for aiFile, including all inherited members.

FileSizeProc | aiFile
FlushProc | aiFile
ReadProc | aiFile
SeekProc | aiFile
TellProc | aiFile
UserData | aiFile
WriteProc | aiFile
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiFileIO Member List

This is the complete list of members for aiFileIO, including all inherited members.

CloseProc | aiFileIO
OpenProc | aiFileIO
UserData | aiFileIO
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiImporterDesc Member List

This is the complete list of members for aiImporterDesc, including all inherited members.

mAuthor | aiImporterDesc
mComments | aiImporterDesc
mFileExtensions | aiImporterDesc
mFlags | aiImporterDesc
mMaintainer | aiImporterDesc
mMaxMajor | aiImporterDesc
mMaxMinor | aiImporterDesc
mMinMajor | aiImporterDesc
mMinMinor | aiImporterDesc
mName | aiImporterDesc
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiLight Member List

This is the complete list of members for aiLight, including all inherited members.

aiLight() AI_NO_EXCEPT | aiLight | inline
mAngleInnerCone | aiLight |
mAngleOuterCone | aiLight |
mAttenuationConstant | aiLight |
mAttenuationLinear | aiLight |
mAttenuationQuadratic | aiLight |
mColorAmbient | aiLight |
mColorDiffuse | aiLight |
mColorSpecular | aiLight |
mDirection | aiLight |
mName | aiLight |
mPosition | aiLight |
mSize | aiLight |
mType | aiLight |
mUp | aiLight |
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiLogStream Member List

This is the complete list of members for aiLogStream, including all inherited members.

callback | aiLogStream
user | aiLogStream
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiMaterial Member List

This is the complete list of members for aiMaterial, including all inherited members.

AddBinaryProperty(const void *pInput, unsigned int pSizeInBytes, const char *pKey, unsigned int type, unsigned int index, aiPropertyTypeInfo pType) | aiMaterial |
AddProperty(const aiString *pInput, const char *pKey, unsigned int type=0, unsigned int index=0) | aiMaterial |
AddProperty(const TYPE *pInput, unsigned int pNumValues, const char *pKey, unsigned int type=0, unsigned int index=0) | aiMaterial |
AddProperty(const aiVector3D *pInput, unsigned int pNumValues, const char *pKey, unsigned int type=0, unsigned int index=0) | aiMaterial |
AddProperty(const aiColor3D *pInput, unsigned int pNumValues, const char *pKey, unsigned int type=0, unsigned int index=0) | aiMaterial |
AddProperty(const aiColor4D *pInput, unsigned int pNumValues, const char *pKey, unsigned int type=0, unsigned int index=0) | aiMaterial |
AddProperty(const int *pInput, unsigned int pNumValues, const char *pKey, unsigned int type=0, unsigned int index=0) | aiMaterial |
AddProperty(const float *pInput, unsigned int pNumValues, const char *pKey, unsigned int type=0, unsigned int index=0) | aiMaterial |
AddProperty(const double *pInput, unsigned int pNumValues, const char *pKey, unsigned int type=0, unsigned int index=0) | aiMaterial |
AddProperty(const aiUVTransform *pInput, unsigned int pNumValues, const char *pKey, unsigned int type=0, unsigned int index=0) | aiMaterial |
aiMaterial() | aiMaterial |
Clear() | aiMaterial |
CopyPropertyList(aiMaterial *pcDest, const aiMaterial *pcSrc) | aiMaterial | static
Get(const char *pKey, unsigned int type, unsigned int idx, Type *pOut, unsigned int *pMax) const | aiMaterial |
Get(const char *pKey, unsigned int type, unsigned int idx, int *pOut, unsigned int *pMax) const | aiMaterial |
Get(const char *pKey, unsigned int type, unsigned int idx, ai_real *pOut, unsigned int *pMax) const | aiMaterial |
Get(const char *pKey, unsigned int type, unsigned int idx, Type &pOut) const | aiMaterial |
Get(const char *pKey, unsigned int type, unsigned int idx, int &pOut) const | aiMaterial |
Get(const char *pKey, unsigned int type, unsigned int idx, ai_real &pOut) const | aiMaterial |
Get(const char *pKey, unsigned int type, unsigned int idx, aiString &pOut) const | aiMaterial |
Get(const char *pKey, unsigned int type, unsigned int idx, aiColor3D &pOut) const | aiMaterial |
Get(const char *pKey, unsigned int type, unsigned int idx, aiColor4D &pOut) const | aiMaterial |
Get(const char *pKey, unsigned int type, unsigned int idx, aiUVTransform &pOut) const | aiMaterial |
GetName() const | aiMaterial |
GetTexture(aiTextureType type, unsigned int index, C_STRUCT aiString *path, aiTextureMapping *mapping=NULL, unsigned int *uvindex=NULL, ai_real *blend=NULL, aiTextureOp *op=NULL, aiTextureMapMode *mapmode=NULL) const | aiMaterial |
GetTextureCount(aiTextureType type) const | aiMaterial |
mNumAllocated | aiMaterial |
mNumProperties | aiMaterial |
mProperties | aiMaterial |
RemoveProperty(const char *pKey, unsigned int type=0, unsigned int index=0) | aiMaterial |
~aiMaterial() | aiMaterial |
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiMemoryInfo Member List

This is the complete list of members for aiMemoryInfo, including all inherited members.

aiMemoryInfo() AI_NO_EXCEPT | aiMemoryInfo | inline
animations | aiMemoryInfo |
cameras | aiMemoryInfo |
lights | aiMemoryInfo |
materials | aiMemoryInfo |
meshes | aiMemoryInfo |
nodes | aiMemoryInfo |
textures | aiMemoryInfo |
total | aiMemoryInfo |
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiMesh Member List

This is the complete list of members for aiMesh, including all inherited members.

aiMesh() AI_NO_EXCEPT | aiMesh | inline
GetNumColorChannels() const | aiMesh | inline
GetNumUVChannels() const | aiMesh | inline
HasBones() const | aiMesh | inline
HasFaces() const | aiMesh | inline
HasNormals() const | aiMesh | inline
HasPositions() const | aiMesh | inline
HasTangentsAndBitangents() const | aiMesh | inline
HasTextureCoords(unsigned int pIndex) const | aiMesh | inline
HasVertexColors(unsigned int pIndex) const | aiMesh | inline
mAABB | aiMesh |
mAnimMeshes | aiMesh |
mBitangents | aiMesh |
mBones | aiMesh |
mColors | aiMesh |
mFaces | aiMesh |
mMaterialIndex | aiMesh |
mMethod | aiMesh |
mName | aiMesh |
mNormals | aiMesh |
mNumAnimMeshes | aiMesh |
mNumBones | aiMesh |
mNumFaces | aiMesh |
mNumUVComponents | aiMesh |
mNumVertices | aiMesh |
mPrimitiveTypes | aiMesh |
mTangents | aiMesh |
mTextureCoords | aiMesh |
mVertices | aiMesh |
~aiMesh() | aiMesh | inline
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiMeshAnim Member List

This is the complete list of members for aiMeshAnim, including all inherited members.

aiMeshAnim() AI_NO_EXCEPT | aiMeshAnim | inline
mKeys | aiMeshAnim |
mName | aiMeshAnim |
mNumKeys | aiMeshAnim |
~aiMeshAnim() | aiMeshAnim | inline
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiMeshKey Member List

This is the complete list of members for aiMeshKey, including all inherited members.

aiMeshKey() AI_NO_EXCEPT | aiMeshKey | inline
aiMeshKey(double time, const unsigned int value) | aiMeshKey | inline
elem_type typedef | aiMeshKey |
mTime | aiMeshKey |
mValue | aiMeshKey |
operator!=(const aiMeshKey &o) const | aiMeshKey | inline
operator<(const aiMeshKey &o) const | aiMeshKey | inline
operator==(const aiMeshKey &o) const | aiMeshKey | inline
operator>(const aiMeshKey &o) const | aiMeshKey | inline
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiMeshMorphAnim Member List

This is the complete list of members for aiMeshMorphAnim, including all inherited members.

aiMeshMorphAnim() AI_NO_EXCEPT | aiMeshMorphAnim | inline
mKeys | aiMeshMorphAnim |
mName | aiMeshMorphAnim |
mNumKeys | aiMeshMorphAnim |
~aiMeshMorphAnim() | aiMeshMorphAnim | inline
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiMeshMorphKey Member List

This is the complete list of members for aiMeshMorphKey, including all inherited members.

aiMeshMorphKey() AI_NO_EXCEPT | aiMeshMorphKey | inline
mNumValuesAndWeights | aiMeshMorphKey |
mTime | aiMeshMorphKey |
mValues | aiMeshMorphKey |
mWeights | aiMeshMorphKey |
~aiMeshMorphKey() | aiMeshMorphKey | inline
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiMetadata Member List

This is the complete list of members for aiMetadata, including all inherited members.

Add(const std::string &key, const T &value) | aiMetadata | inline
aiMetadata() AI_NO_EXCEPT | aiMetadata | inline
aiMetadata(const aiMetadata &rhs) | aiMetadata | inline
Alloc(unsigned int numProperties) | aiMetadata | inlinestatic
CompareKeys(const aiMetadata &lhs, const aiMetadata &rhs) | aiMetadata | friend
CompareValues(const aiMetadata &lhs, const aiMetadata &rhs) | aiMetadata | friend
Dealloc(aiMetadata *metadata) | aiMetadata | inlinestatic
Get(unsigned index, T &value) const | aiMetadata | inline
Get(const aiString &key, T &value) const | aiMetadata | inline
Get(const std::string &key, T &value) const | aiMetadata | inline
Get(size_t index, const aiString *&key, const aiMetadataEntry *&entry) const | aiMetadata | inline
HasKey(const char *key) | aiMetadata | inline
mKeys | aiMetadata |
mNumProperties | aiMetadata |
mValues | aiMetadata |
operator!=(const aiMetadata &lhs, const aiMetadata &rhs) | aiMetadata | friend
operator=(aiMetadata rhs) | aiMetadata | inline
operator==(const aiMetadata &lhs, const aiMetadata &rhs) | aiMetadata | friend
Set(unsigned index, const std::string &key, const T &value) | aiMetadata | inline
Set(const std::string &key, const T &value) | aiMetadata | inline
~aiMetadata() | aiMetadata | inline
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiMetadataEntry Member List

This is the complete list of members for aiMetadataEntry, including all inherited members.

aiMetadataEntry() | aiMetadataEntry | inline
mData | aiMetadataEntry |
mType | aiMetadataEntry |
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiNode Member List

This is the complete list of members for aiNode, including all inherited members.

addChildren(unsigned int numChildren, aiNode **children) | aiNode |
aiNode() | aiNode |
aiNode(const std::string &name) | aiNode | explicit
FindNode(const aiString &name) const | aiNode | inline
FindNode(const aiString &name) | aiNode | inline
FindNode(const char *name) const | aiNode |
FindNode(const char *name) | aiNode |
mChildren | aiNode |
mMeshes | aiNode |
mMetaData | aiNode |
mName | aiNode |
mNumChildren | aiNode |
mNumMeshes | aiNode |
mParent | aiNode |
mTransformation | aiNode |
~aiNode() | aiNode |
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiNodeAnim Member List

This is the complete list of members for aiNodeAnim, including all inherited members.

aiNodeAnim() AI_NO_EXCEPT | aiNodeAnim | inline
mNodeName | aiNodeAnim |
mNumPositionKeys | aiNodeAnim |
mNumRotationKeys | aiNodeAnim |
mNumScalingKeys | aiNodeAnim |
mPositionKeys | aiNodeAnim |
mPostState | aiNodeAnim |
mPreState | aiNodeAnim |
mRotationKeys | aiNodeAnim |
mScalingKeys | aiNodeAnim |
~aiNodeAnim() | aiNodeAnim | inline
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiPlane Member List

This is the complete list of members for aiPlane, including all inherited members.

a | aiPlane |
aiPlane() AI_NO_EXCEPT | aiPlane | inline
aiPlane(ai_real _a, ai_real _b, ai_real _c, ai_real _d) | aiPlane | inline
aiPlane(const aiPlane &o) | aiPlane | inline
b | aiPlane |
c | aiPlane |
d | aiPlane |
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiPropertyStore Member List

This is the complete list of members for aiPropertyStore, including all inherited members.

sentinel aiPropertyStore
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiQuatKey Member List

This is the complete list of members for aiQuatKey, including all inherited members.

aiQuatKey() AI_NO_EXCEPT | aiQuatKey | inline
aiQuatKey(double time, const aiQuaternion &value) | aiQuatKey | inline
elem_type typedef | aiQuatKey |
mTime | aiQuatKey |
mValue | aiQuatKey |
operator!=(const aiQuatKey &rhs) const | aiQuatKey | inline
operator<(const aiQuatKey &rhs) const | aiQuatKey | inline
operator==(const aiQuatKey &rhs) const | aiQuatKey | inline
operator>(const aiQuatKey &rhs) const | aiQuatKey | inline
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

aiRay Member List

This is the complete list of members for aiRay, including all inherited members.

aiRay() AI_NO_EXCEPT | aiRay | inline
aiRay(const aiVector3D &_pos, const aiVector3D &_dir) | aiRay | inline
aiRay(const aiRay &o) | aiRay | inline
dir | aiRay |
pos | aiRay |
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

aiScene Member List

This is the complete list of members for aiScene, including all inherited members.

aiScene() | aiScene |
GetEmbeddedTexture(const char *filename) const | aiScene | inline
GetShortFilename(const char *filename) | aiScene | inlinestatic
HasAnimations() const | aiScene | inline
HasCameras() const | aiScene | inline
HasLights() const | aiScene | inline
HasMaterials() const | aiScene | inline
HasMeshes() const | aiScene | inline
HasTextures() const | aiScene | inline
mAnimations | aiScene |
mCameras | aiScene |
mFlags | aiScene |
mLights | aiScene |
mMaterials | aiScene |
mMeshes | aiScene |
mMetaData | aiScene |
mName | aiScene |
mNumAnimations | aiScene |
mNumCameras | aiScene |
mNumLights | aiScene |
mNumMaterials | aiScene |
mNumMeshes | aiScene |
mNumTextures | aiScene |
mPrivate | aiScene |
mRootNode | aiScene |
mTextures | aiScene |
~aiScene() | aiScene |
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

aiString Member List

This is the complete list of members for aiString, including all inherited members.

aiString() AI_NO_EXCEPT | aiString | inline
aiString(const aiString &rOther) | aiString | inline
aiString(const std::string &pString) | aiString | inlineexplicit
Append(const char *app) | aiString | inline
C_Str() const | aiString | inline
Clear() | aiString | inline
data | aiString |
length | aiString |
operator!=(const aiString &other) const | aiString | inline
operator=(const aiString &rOther) | aiString | inline
operator=(const char *sz) | aiString | inline
operator=(const std::string &pString) | aiString | inline
operator==(const aiString &other) const | aiString | inline
Set(const std::string &pString) | aiString | inline
Set(const char *sz) | aiString | inline
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

aiTexel Member List

This is the complete list of members for aiTexel, including all inherited members.

a | aiTexel |
b | aiTexel |
g | aiTexel |
operator aiColor4D() const | aiTexel | inline
operator!=(const aiTexel &other) const | aiTexel | inline
operator==(const aiTexel &other) const | aiTexel | inline
r | aiTexel |
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

aiTexture Member List

This is the complete list of members for aiTexture, including all inherited members.

achFormatHint | aiTexture |
aiTexture() AI_NO_EXCEPT | aiTexture | inline
CheckFormat(const char *s) const | aiTexture | inline
mFilename | aiTexture |
mHeight | aiTexture |
mWidth | aiTexture |
pcData | aiTexture |
~aiTexture() | aiTexture | inline
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

aiUVTransform Member List

This is the complete list of members for aiUVTransform, including all inherited members.

aiUVTransform() AI_NO_EXCEPT | aiUVTransform | inline
mRotation | aiUVTransform |
mScaling | aiUVTransform |
mTranslation | aiUVTransform |
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

aiVectorKey Member List

This is the complete list of members for aiVectorKey, including all inherited members.

aiVectorKey() AI_NO_EXCEPT | aiVectorKey | inline
aiVectorKey(double time, const aiVector3D &value) | aiVectorKey | inline
elem_type typedef | aiVectorKey |
mTime | aiVectorKey |
mValue | aiVectorKey |
operator!=(const aiVectorKey &rhs) const | aiVectorKey | inline
operator<(const aiVectorKey &rhs) const | aiVectorKey | inline
operator==(const aiVectorKey &rhs) const | aiVectorKey | inline
operator>(const aiVectorKey &rhs) const | aiVectorKey | inline
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

aiVertexWeight Member List

This is the complete list of members for aiVertexWeight, including all inherited members.

aiVertexWeight() AI_NO_EXCEPT | aiVertexWeight | inline
aiVertexWeight(unsigned int pID, float pWeight) | aiVertexWeight | inline
mVertexId | aiVertexWeight |
mWeight | aiVertexWeight |
operator!=(const aiVertexWeight &rhs) const | aiVertexWeight | inline
operator==(const aiVertexWeight &rhs) const | aiVertexWeight | inline
Generated on Mon Dec 14 2020 19:31:11 for Assimp by doxygen 1.8.13


Assimp: Member List

_IEEEDouble Member List

This is the complete list of members for _IEEEDouble, including all inherited members.

Double | _IEEEDouble
Exp | _IEEEDouble
Frac | _IEEEDouble
IEEE | _IEEEDouble
Sign | _IEEEDouble
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13


Assimp: Member List

_IEEESingle Member List

This is the complete list of members for _IEEESingle, including all inherited members.

Exp | _IEEESingle
Float | _IEEESingle
Frac | _IEEESingle
IEEE | _IEEESingle
Sign | _IEEESingle
Generated on Mon Dec 14 2020 19:31:10 for Assimp by doxygen 1.8.13