Expand description
Low-level FFI bindings for the Assimp 3D asset import library
This crate provides raw, unsafe bindings to the Assimp C API.
For safe, idiomatic Rust bindings, use the asset-importer crate instead.
Re-exports§
pub use aiImporterDesc as ImporterDesc;pub use aiScene as Scene;pub use aiImportFile as import_file;pub use aiReleaseImport as release_import;
Structs§
- aiAABB
- An axis-aligned bounding box.
- aiAnim
Mesh - @brief An AnimMesh is an attachment to an #aiMesh stores per-vertex animations for a particular frame.
- aiAnimation
- 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.
- aiBone
- @brief A single bone of a mesh.
- aiBuffer
- @brief Type to store a in-memory data buffer.
- aiCamera
- Helper structure to describe a virtual camera.
- aiColor3D
- Represents a color in Red-Green-Blue space.
- aiColor4D
- aiExport
Data Blob - 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.
- aiExport
Format Desc - @brief Describes an file format which Assimp can export to.
- aiFace
- @brief A single face in a mesh, referring to multiple vertices.
- aiFile
- @brief C-API: File callbacks
- aiFileIO
- @brief C-API: File system callbacks
- aiImporter
Desc - 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.
- aiLight
- Helper structure to describe a light source.
- aiLog
Stream - C-API: Represents a log stream. A log stream receives all log messages and streams them somewhere. @see aiGetPredefinedLogStream @see aiAttachLogStream @see aiDetachLogStream
- aiMaterial
- aiMaterial
Property - @brief Data structure for a single material property
- aiMatrix3x3
- aiMatrix4x4
- aiMemory
Info - Stores the memory requirements for different components (e.g. meshes, materials, animations) of an import. All sizes are in bytes. @see Importer::GetMemoryRequirements()
- aiMesh
- @brief A mesh represents a geometry or model with a single material.
- aiMesh
Anim - 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.
- aiMesh
Key - Binds a anim-mesh to a specific point in time.
- aiMesh
Morph Anim - Describes a morphing animation of a given mesh.
- aiMesh
Morph Key - Binds a morph anim mesh to a specific point in time.
- aiMetadata
- Container for holding metadata.
- aiMetadata
Entry - Metadata entry
- aiNode
- A node in the imported hierarchy.
- aiNode
Anim - 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
- aiPlane
- Represents a plane in a three-dimensional, euclidean space
- aiProperty
Store - C-API: Represents an opaque set of settings to be used during importing. @see aiCreatePropertyStore @see aiReleasePropertyStore @see aiImportFileExWithProperties @see aiSetPropertyInteger @see aiSetPropertyFloat @see aiSetPropertyString @see aiSetPropertyMatrix
- aiQuat
Key - A time-value pair specifying a rotation for the given time. Rotations are expressed with quaternions.
- aiQuaternion
- aiRay
- Represents a ray
- aiRust
Property - aiScene
- The root structure of the imported data.
- aiSkeleton
- @brief A skeleton represents the bone hierarchy of an animation.
- aiSkeleton
Bone - @brief A skeleton bone represents a single bone is a skeleton structure.
- aiString
- @brief Represents an UTF-8 string, zero byte terminated.
- aiTexel
- @brief Helper structure to represent a texel in a ARGB8888 format
- aiTexture
- Helper structure to describe an embedded texture
- aiUV
Transform - @brief Defines how an UV channel is transformed.
- aiVector2D
- aiVector3D
- aiVector
Key - A time-value pair specifying a certain 3D vector for the given time.
- aiVertex
Weight - @brief A single influence of a bone on a vertex.
Enums§
- aiAnim
Behaviour - Defines how an animation channel behaves outside the defined time range. This corresponds to aiNodeAnim::mPreState and aiNodeAnim::mPostState.
- aiAnim
Interpolation - aiBlend
Mode - @brief Defines alpha-blend flags.
- aiComponent
- @brief Enumerates components of the aiScene and aiMesh data structures that can be excluded from the import using the #aiProcess_RemoveComponent step.
- aiDefault
LogStream - @brief Enumerates predefined log streaming destinations. Logging to these streams can be enabled with a single call to #LogStream::createDefaultStream.
- aiImporter
Flags - Mixed set of flags for #aiImporterDesc, indicating some features common to many importers
- aiLight
Source Type - Enumerates all supported types of light sources.
- aiMetadata
Type - Enum used to distinguish data types
- aiMorphing
Method - @brief Enumerates the methods of mesh morphing supported by Assimp.
- aiOrigin
- Seek origins (for the virtual file system API). Much cooler than using SEEK_SET, SEEK_CUR or SEEK_END.
- aiPost
Process Steps - @enum aiPostProcessSteps @brief Defines the flags for all possible post processing steps.
- aiPrimitive
Type - @brief Enumerates the types of geometric primitives supported by Assimp.
- aiProperty
Type Info - @brief A very primitive RTTI system for the contents of material properties.
- aiReturn
- Standard return type for some library functions. Rarely used, and if, mostly in the C API.
- aiRust
Property Kind - aiShading
Mode - @brief Defines all shading models supported by the library
- aiTexture
Flags - @brief Defines some mixed flags for a particular texture.
- aiTexture
MapMode - @brief Defines how UV coordinates outside the [0…1] range are handled.
- aiTexture
Mapping - @brief Defines how the mapping coords for a texture are generated.
- aiTexture
Op - @brief Defines how the Nth texture of a specific type is combined with the result of all previous layers.
- aiTexture
Type - @brief Defines the purpose of a texture
Constants§
- AI_
CONFIG_ ANDROID_ JNI_ ASSIMP_ MANAGER_ SUPPORT - AI_
CONFIG_ APP_ SCALE_ KEY - AI_
CONFIG_ CHECK_ IDENTITY_ MATRIX_ EPSILON - AI_
CONFIG_ CHECK_ IDENTITY_ MATRIX_ EPSILON_ DEFAULT - AI_
CONFIG_ EXPORT_ BLOB_ NAME - AI_
CONFIG_ EXPORT_ FBX_ TRANSPARENCY_ FACTOR_ REFER_ TO_ OPACITY - AI_
CONFIG_ EXPORT_ GLTF_ UNLIMITED_ SKINNING_ BONES_ PER_ VERTEX - AI_
CONFIG_ EXPORT_ POINT_ CLOUDS - AI_
CONFIG_ EXPORT_ XFILE_ 64BIT - AI_
CONFIG_ FAVOUR_ SPEED - AI_
CONFIG_ FBX_ CONVERT_ TO_ M - AI_
CONFIG_ FBX_ USE_ SKELETON_ BONE_ CONTAINER - AI_
CONFIG_ GLOBAL_ SCALE_ FACTOR_ DEFAULT - AI_
CONFIG_ GLOBAL_ SCALE_ FACTOR_ KEY - AI_
CONFIG_ GLOB_ MEASURE_ TIME - AI_
CONFIG_ IMPORT_ AC_ EVAL_ SUBDIVISION - AI_
CONFIG_ IMPORT_ AC_ SEPARATE_ BFCULL - AI_
CONFIG_ IMPORT_ ASE_ RECONSTRUCT_ NORMALS - AI_
CONFIG_ IMPORT_ COLLADA_ IGNORE_ UNIT_ SIZE - AI_
CONFIG_ IMPORT_ COLLADA_ IGNORE_ UP_ DIRECTION - AI_
CONFIG_ IMPORT_ COLLADA_ USE_ COLLADA_ NAMES - AI_
CONFIG_ IMPORT_ FBX_ EMBEDDED_ TEXTURES_ LEGACY_ NAMING - AI_
CONFIG_ IMPORT_ FBX_ IGNORE_ UP_ DIRECTION - AI_
CONFIG_ IMPORT_ FBX_ OPTIMIZE_ EMPTY_ ANIMATION_ CURVES - AI_
CONFIG_ IMPORT_ FBX_ PRESERVE_ PIVOTS - AI_
CONFIG_ IMPORT_ FBX_ READ_ ALL_ GEOMETRY_ LAYERS - AI_
CONFIG_ IMPORT_ FBX_ READ_ ALL_ MATERIALS - AI_
CONFIG_ IMPORT_ FBX_ READ_ ANIMATIONS - AI_
CONFIG_ IMPORT_ FBX_ READ_ CAMERAS - AI_
CONFIG_ IMPORT_ FBX_ READ_ LIGHTS - AI_
CONFIG_ IMPORT_ FBX_ READ_ MATERIALS - AI_
CONFIG_ IMPORT_ FBX_ READ_ TEXTURES - AI_
CONFIG_ IMPORT_ FBX_ READ_ WEIGHTS - AI_
CONFIG_ IMPORT_ FBX_ STRICT_ MODE - AI_
CONFIG_ IMPORT_ GLOBAL_ KEYFRAME - AI_
CONFIG_ IMPORT_ IFC_ CUSTOM_ TRIANGULATION - AI_
CONFIG_ IMPORT_ IFC_ CYLINDRICAL_ TESSELLATION - AI_
CONFIG_ IMPORT_ IFC_ SKIP_ SPACE_ REPRESENTATIONS - AI_
CONFIG_ IMPORT_ IFC_ SMOOTHING_ ANGLE - AI_
CONFIG_ IMPORT_ IRR_ ANIM_ FPS - AI_
CONFIG_ IMPORT_ LWO_ ONE_ LAYER_ ONLY - AI_
CONFIG_ IMPORT_ LWS_ ANIM_ END - AI_
CONFIG_ IMPORT_ LWS_ ANIM_ START - AI_
CONFIG_ IMPORT_ MD2_ KEYFRAME - AI_
CONFIG_ IMPORT_ MD3_ HANDLE_ MULTIPART - AI_
CONFIG_ IMPORT_ MD3_ KEYFRAME - AI_
CONFIG_ IMPORT_ MD3_ LOAD_ SHADERS - AI_
CONFIG_ IMPORT_ MD3_ SHADER_ SRC - AI_
CONFIG_ IMPORT_ MD3_ SKIN_ NAME - AI_
CONFIG_ IMPORT_ MD5_ NO_ ANIM_ AUTOLOAD - AI_
CONFIG_ IMPORT_ MDC_ KEYFRAME - AI_
CONFIG_ IMPORT_ MDL_ COLORMAP - AI_
CONFIG_ IMPORT_ MDL_ HL1_ READ_ ANIMATIONS - AI_
CONFIG_ IMPORT_ MDL_ HL1_ READ_ ANIMATION_ EVENTS - AI_
CONFIG_ IMPORT_ MDL_ HL1_ READ_ ATTACHMENTS - AI_
CONFIG_ IMPORT_ MDL_ HL1_ READ_ BLEND_ CONTROLLERS - AI_
CONFIG_ IMPORT_ MDL_ HL1_ READ_ BONE_ CONTROLLERS - AI_
CONFIG_ IMPORT_ MDL_ HL1_ READ_ HITBOXES - AI_
CONFIG_ IMPORT_ MDL_ HL1_ READ_ MISC_ GLOBAL_ INFO - AI_
CONFIG_ IMPORT_ MDL_ HL1_ READ_ SEQUENCE_ TRANSITIONS - AI_
CONFIG_ IMPORT_ MDL_ HL1_ TRANSFORM_ COORD_ SYSTEM - AI_
CONFIG_ IMPORT_ MDL_ KEYFRAME - AI_
CONFIG_ IMPORT_ NO_ SKELETON_ MESHES - AI_
CONFIG_ IMPORT_ OGRE_ MATERIAL_ FILE - AI_
CONFIG_ IMPORT_ OGRE_ TEXTURETYPE_ FROM_ FILENAME - AI_
CONFIG_ IMPORT_ REMOVE_ EMPTY_ BONES - AI_
CONFIG_ IMPORT_ SCHEMA_ DOCUMENT_ PROVIDER - AI_
CONFIG_ IMPORT_ SMD_ KEYFRAME - AI_
CONFIG_ IMPORT_ SMD_ LOAD_ ANIMATION_ LIST - AI_
CONFIG_ IMPORT_ TER_ MAKE_ UVS - AI_
CONFIG_ IMPORT_ UNREAL_ HANDLE_ FLAGS - AI_
CONFIG_ IMPORT_ UNREAL_ KEYFRAME - AI_
CONFIG_ PP_ CT_ MAX_ SMOOTHING_ ANGLE - AI_
CONFIG_ PP_ CT_ TEXTURE_ CHANNEL_ INDEX - AI_
CONFIG_ PP_ DB_ ALL_ OR_ NONE - AI_
CONFIG_ PP_ DB_ THRESHOLD - AI_
CONFIG_ PP_ FD_ CHECKAREA - AI_
CONFIG_ PP_ FD_ REMOVE - AI_
CONFIG_ PP_ FID_ ANIM_ ACCURACY - AI_
CONFIG_ PP_ FID_ IGNORE_ TEXTURECOORDS - AI_
CONFIG_ PP_ GSN_ MAX_ SMOOTHING_ ANGLE - AI_
CONFIG_ PP_ ICL_ PTCACHE_ SIZE - AI_
CONFIG_ PP_ LBW_ MAX_ WEIGHTS - AI_
CONFIG_ PP_ OG_ EXCLUDE_ LIST - AI_
CONFIG_ PP_ PTV_ ADD_ ROOT_ TRANSFORMATION - AI_
CONFIG_ PP_ PTV_ KEEP_ HIERARCHY - AI_
CONFIG_ PP_ PTV_ NORMALIZE - AI_
CONFIG_ PP_ PTV_ ROOT_ TRANSFORMATION - AI_
CONFIG_ PP_ RRM_ EXCLUDE_ LIST - AI_
CONFIG_ PP_ RVC_ FLAGS - AI_
CONFIG_ PP_ SBBC_ MAX_ BONES - AI_
CONFIG_ PP_ SBP_ REMOVE - AI_
CONFIG_ PP_ SLM_ TRIANGLE_ LIMIT - AI_
CONFIG_ PP_ SLM_ VERTEX_ LIMIT - AI_
CONFIG_ PP_ TUV_ EVALUATE - AI_
CONFIG_ USE_ GLTF_ PBR_ SPECULAR_ GLOSSINESS - AI_
DEBONE_ THRESHOLD - AI_
DEFAULT_ MATERIAL_ NAME - AI_
EMBEDDED_ TEXNAME_ PREFIX - AI_
FALSE - AI_
IMPORT_ IFC_ DEFAULT_ CYLINDRICAL_ TESSELLATION - AI_
IMPORT_ IFC_ DEFAULT_ SMOOTHING_ ANGLE - AI_
LMW_ MAX_ WEIGHTS - AI_
MATH_ HALF_ PI - AI_
MATH_ HALF_ PI_ F - AI_
MATH_ PI - AI_
MATH_ PI_ F - AI_
MATH_ TWO_ PI - AI_
MATH_ TWO_ PI_ F - AI_
MAXLEN - AI_
MAX_ BONE_ WEIGHTS - AI_
MAX_ FACES - AI_
MAX_ FACE_ INDICES - AI_
MAX_ NUMBER_ OF_ COLOR_ SETS - AI_
MAX_ NUMBER_ OF_ TEXTURECOORDS - AI_
MAX_ VERTICES - AI_
SBBC_ DEFAULT_ MAX_ BONES - AI_
SCENE_ FLAGS_ ALLOW_ SHARED - AI_
SCENE_ FLAGS_ INCOMPLETE - AI_
SCENE_ FLAGS_ NON_ VERBOSE_ FORMAT - AI_
SCENE_ FLAGS_ TERRAIN - AI_
SCENE_ FLAGS_ VALIDATED - AI_
SCENE_ FLAGS_ VALIDATION_ WARNING - AI_
SLM_ DEFAULT_ MAX_ TRIANGLES - AI_
SLM_ DEFAULT_ MAX_ VERTICES - AI_TRUE
- AI_
UVTRAFO_ ALL - AI_
UVTRAFO_ ROTATION - AI_
UVTRAFO_ SCALING - AI_
UVTRAFO_ TRANSLATION - CRATE_
VERSION - Version information for this crate
Functions§
- aiApply
Post ⚠Processing - Apply post-processing to an already-imported scene.
- aiAttach
LogStream ⚠ - Attach a custom log stream to the libraries’ logging system.
- aiCopy
Scene ⚠ - 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. @param pIn Valid scene to be copied @param pOut Receives a modifiable copy of the scene. Use aiFreeScene() to delete it again.
- aiCreate
Property ⚠Store - Create an empty property store. Property stores are used to collect import settings. @return New property store. Property stores need to be manually destroyed using the #aiReleasePropertyStore API function.
- aiCreate
Quaternion ⚠From Matrix - Construct a quaternion from a 3x3 rotation matrix. @param quat Receives the output quaternion. @param mat Matrix to ‘quaternionize’. @see aiQuaternion(const aiMatrix3x3& pRotMatrix)
- aiDecompose
Matrix ⚠ - Decompose a transformation matrix into its rotational, translational and scaling components.
- aiDetach
AllLog ⚠Streams - 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 aiAttachLogStream @see aiDetachLogStream
- aiDetach
LogStream ⚠ - Detach a custom log stream from the libraries’ logging system.
- aiEnable
Verbose ⚠Logging - 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. @param d AI_TRUE or AI_FALSE, your decision.
- aiExport
Scene ⚠ - Exports the given scene to a chosen file format and writes the result file(s) to disk. @param 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 @link data Data Structures Page @endlink. 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. @param pFormatId ID string to specify to which format you want to export to. Use aiGetExportFormatCount() / aiGetExportFormatDescription() to learn which export formats are available. @param pFileName Output file to write @param 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 @link data Data Structures Page @endlink. 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.
- aiExport
Scene ⚠Ex - Exports the given scene to a chosen file format using custom IO logic supplied by you. @param pScene The scene to export. Stays in possession of the caller, is not changed by the function. @param pFormatId ID string to specify to which format you want to export to. Use aiGetExportFormatCount() / aiGetExportFormatDescription() to learn which export formats are available. @param pFileName Output file to write @param 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. @param pPreprocessing Please see the documentation for #aiExportScene @return a status code indicating the result of the export @note Include <aiFileIO.h> for the definition of #aiFileIO. @note Use aiCopyScene() to get a modifiable copy of a previously imported scene.
- aiExport
Scene ⚠ExWith Properties Rust - aiExport
Scene ⚠ToBlob - 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. @param pScene The scene to export. Stays in possession of the caller, is not changed by the function. @param pFormatId ID string to specify to which format you want to export to. Use #aiGetExportFormatCount() / #aiGetExportFormatDescription() to learn which export formats are available. @param pPreprocessing Please see the documentation for #aiExportScene @return the exported data or NULL in case of error
- aiExport
Scene ⚠ToBlob With Properties Rust - aiFree
Scene ⚠ - Frees a scene copy created using aiCopyScene()
- aiGet
Branch ⚠Name - @brief Returns the branch-name of the Assimp runtime. @return The current branch name.
- aiGet
Compile ⚠Flags - @brief Returns assimp’s compile flags @return Any bitwise combination of the ASSIMP_CFLAGS_xxx constants.
- aiGet
Embedded ⚠Texture - Returns an embedded texture, or nullptr. @param pIn Input asset. @param filename Texture path extracted from aiGetMaterialString.
- aiGet
Error ⚠String - Returns the error text of the last failed import process.
- aiGet
Export ⚠Format Count - Returns the number of export file formats available in the current Assimp build. Use aiGetExportFormatDescription() to retrieve infos of a specific export format.
- aiGet
Export ⚠Format Description - 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. @param pIndex Index of the export format to retrieve information for. Valid range is 0 to #aiGetExportFormatCount() @return A description of that specific export format. NULL if pIndex is out of range.
- aiGet
Extension ⚠List - Get a list of all file extensions supported by ASSIMP.
- aiGet
Import ⚠Format Count - Returns the number of import file formats available in the current Assimp build. Use aiGetImportFormatDescription() to retrieve infos of a specific import format.
- aiGet
Import ⚠Format Description - Returns a description of the nth import file format. Use #aiGetImportFormatCount() to learn how many import formats are supported. @param pIndex Index of the import format to retrieve information for. Valid range is 0 to #aiGetImportFormatCount() @return A description of that specific import format. NULL if pIndex is out of range.
- aiGet
Importer ⚠Desc - \brief Returns the Importer description for a given extension.
- aiGet
Last ⚠Error String Rust - aiGet
Legal ⚠String - @brief Returns a string with legal copyright and licensing information about Assimp. The string may include multiple lines. @return Pointer to static string.
- aiGet
Material ⚠Color - @brief Retrieve a color value from the material property table
- aiGet
Material ⚠Float Array - @brief Retrieve an array of float values with a specific key from the material
- aiGet
Material ⚠Integer Array - @brief Retrieve an array of integer values with a specific key from a material
- aiGet
Material ⚠Property - @brief Retrieve a material property with a specific key from the material
- aiGet
Material ⚠String - @brief Retrieve a string from the material property table
- aiGet
Material ⚠Texture - aiGet
Material ⚠Texture Count - Get the number of textures for a particular texture type. @param[in] pMat Pointer to the input material. May not be NULL @param type Texture type to check for @return Number of textures for this type. @note A texture can be easily queried using #aiGetMaterialTexture()
- aiGet
MaterialUV ⚠Transform - @brief Retrieve a aiUVTransform value from the material property table
- aiGet
Memory ⚠Requirements - Get the approximated storage required by an imported asset @param pIn Input asset. @param in Data structure to be filled.
- aiGet
Predefined ⚠LogStream - 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.
- aiGet
Version ⚠Major - @brief Returns the current major version number of Assimp. @return Major version of the Assimp runtime the application was linked/built against
- aiGet
Version ⚠Minor - @brief Returns the current minor version number of Assimp. @return Minor version of the Assimp runtime the application was linked/built against
- aiGet
Version ⚠Patch - @brief Returns the current patch version number of Assimp. @return Patch version of the Assimp runtime the application was linked/built against
- aiGet
Version ⚠Revision - @brief Returns the repository revision of the Assimp runtime. @return SVN Repository revision number of the Assimp runtime the application was linked/built against.
- aiIdentity
Matrix3 ⚠ - Get a 3x3 identity matrix. @param mat Matrix to receive its personal identity
- aiIdentity
Matrix4 ⚠ - Get a 4x4 identity matrix. @param mat Matrix to receive its personal identity
- aiImport
File ⚠ - Reads the given file and returns its content.
- aiImport
File ⚠Ex - Reads the given file using user-defined I/O functions and returns its content.
- aiImport
File ⚠ExWith Progress Rust - aiImport
File ⚠ExWith Properties - Same as #aiImportFileEx, but adds an extra parameter containing importer settings.
- aiImport
File ⚠From Memory - Reads the given file from a given memory buffer,
- aiImport
File ⚠From Memory With Progress Rust - aiImport
File ⚠From Memory With Properties - Same as #aiImportFileFromMemory, but adds an extra parameter containing importer settings.
- aiIs
Extension ⚠Supported - Returns whether a given file extension is supported by ASSIMP
- aiMatrix3
AreEqual ⚠ - Check if 3x3 matrices are equal. @param a First matrix to compare @param b Second matrix to compare @return 1 if the matrices are equal @return 0 if the matrices are not equal
- aiMatrix3
AreEqual ⚠Epsilon - Check if 3x3 matrices are equal. @param a First matrix to compare @param b Second matrix to compare @param epsilon Epsilon @return 1 if the matrices are equal @return 0 if the matrices are not equal
- aiMatrix3
Determinant ⚠ - Get the determinant of a 3x3 matrix. @param mat Matrix to get the determinant from
- aiMatrix3
From ⚠Matrix4 - Construct a 3x3 matrix from a 4x4 matrix. @param dst Receives the output matrix @param mat The 4x4 matrix to use
- aiMatrix3
From ⚠Quaternion - Construct a 3x3 matrix from a quaternion. @param mat Receives the output matrix @param q The quaternion matrix to use
- aiMatrix3
From ⚠Rotation Around Axis - Returns a 3x3 rotation matrix for a rotation around an arbitrary axis. @param mat Receives the output matrix @param axis Rotation axis, should be a normalized vector @param angle Rotation angle, in radians
- aiMatrix3
From ⚠To - Create a 3x3 matrix that rotates one vector to another vector. @param mat Receives the output matrix @param from Vector to rotate from @param to Vector to rotate to
- aiMatrix3
Inverse ⚠ - Invert a 3x3 matrix. @param mat Matrix to invert
- aiMatrix3
RotationZ ⚠ - Get a 3x3 rotation matrix around the Z axis. @param mat Receives the output matrix @param angle Rotation angle, in radians
- aiMatrix3
Translation ⚠ - Get a 3x3 translation matrix. @param mat Receives the output matrix @param translation The translation vector
- aiMatrix4
Add ⚠ - Add 4x4 matrices. @param dst First addend, receives result. @param src Matrix to be added to ‘dst’.
- aiMatrix4
AreEqual ⚠ - Check if 4x4 matrices are equal. @param a First matrix to compare @param b Second matrix to compare @return 1 if the matrices are equal @return 0 if the matrices are not equal
- aiMatrix4
AreEqual ⚠Epsilon - Check if 4x4 matrices are equal. @param a First matrix to compare @param b Second matrix to compare @param epsilon Epsilon @return 1 if the matrices are equal @return 0 if the matrices are not equal
- aiMatrix4
Decompose ⚠Into Scaling Axis Angle Position - Decompose a transformation matrix into its scaling, rotational split into an axis and rotational angle, and it’s translational components.
- aiMatrix4
Decompose ⚠Into Scaling Euler Angles Position - Decompose a transformation matrix into its scaling, rotational as euler angles, and translational components.
- aiMatrix4
Decompose ⚠NoScaling - Decompose a transformation matrix into its rotational and translational components.
- aiMatrix4
Determinant ⚠ - Get the determinant of a 4x4 matrix. @param mat Matrix to get the determinant from @return The determinant of the matrix
- aiMatrix4
From ⚠Euler Angles - Creates a 4x4 matrix from a set of euler angles. @param mat Receives the output matrix @param x Rotation angle for the x-axis, in radians @param y Rotation angle for the y-axis, in radians @param z Rotation angle for the z-axis, in radians
- aiMatrix4
From ⚠Matrix3 - Construct a 4x4 matrix from a 3x3 matrix. @param dst Receives the output matrix @param mat The 3x3 matrix to use
- aiMatrix4
From ⚠Rotation Around Axis - Returns a 4x4 rotation matrix for a rotation around an arbitrary axis. @param mat Receives the output matrix @param axis Rotation axis, should be a normalized vector @param angle Rotation angle, in radians
- aiMatrix4
From ⚠Scaling Quaternion Position - Construct a 4x4 matrix from scaling, rotation and position. @param mat Receives the output matrix. @param scaling The scaling for the x,y,z axes @param rotation The rotation as a hamilton quaternion @param position The position for the x,y,z axes
- aiMatrix4
From ⚠To - Create a 4x4 matrix that rotates one vector to another vector. @param mat Receives the output matrix @param from Vector to rotate from @param to Vector to rotate to
- aiMatrix4
Inverse ⚠ - Invert a 4x4 matrix. @param result Matrix to invert
- aiMatrix4
IsIdentity ⚠ - Returns true of the matrix is the identity matrix. @param mat Matrix to get the determinant from @return 1 if \p mat is an identity matrix. @return 0 if \p mat is not an identity matrix.
- aiMatrix4
RotationX ⚠ - Get a 4x4 rotation matrix around the X axis. @param mat Receives the output matrix @param angle Rotation angle, in radians
- aiMatrix4
RotationY ⚠ - Get a 4x4 rotation matrix around the Y axis. @param mat Receives the output matrix @param angle Rotation angle, in radians
- aiMatrix4
RotationZ ⚠ - Get a 4x4 rotation matrix around the Z axis. @param mat Receives the output matrix @param angle Rotation angle, in radians
- aiMatrix4
Scaling ⚠ - Get a 4x4 scaling matrix. @param mat Receives the output matrix @param scaling The scaling vector
- aiMatrix4
Translation ⚠ - Get a 4x4 translation matrix. @param mat Receives the output matrix @param translation The translation vector
- aiMultiply
Matrix3 ⚠ - Multiply two 3x3 matrices. @param dst First factor, receives result. @param src Matrix to be multiplied with ‘dst’.
- aiMultiply
Matrix4 ⚠ - Multiply two 4x4 matrices. @param dst First factor, receives result. @param src Matrix to be multiplied with ‘dst’.
- aiQuaternion
AreEqual ⚠ - Check if quaternions are equal. @param a First quaternion to compare @param b Second quaternion to compare @return 1 if the quaternions are equal @return 0 if the quaternions are not equal
- aiQuaternion
AreEqual ⚠Epsilon - Check if quaternions are equal using epsilon. @param a First quaternion to compare @param b Second quaternion to compare @param epsilon Epsilon @return 1 if the quaternions are equal @return 0 if the quaternions are not equal
- aiQuaternion
Conjugate ⚠ - Compute quaternion conjugate. @param q Quaternion to compute conjugate, receives the output quaternion
- aiQuaternion
From ⚠Axis Angle - Create a Quaternion from an axis angle pair. @param q Receives the output quaternion @param axis The orientation axis @param angle The rotation angle, in radians
- aiQuaternion
From ⚠Euler Angles - Create a Quaternion from euler angles. @param q Receives the output quaternion @param x Rotation angle for the x-axis, in radians @param y Rotation angle for the y-axis, in radians @param z Rotation angle for the z-axis, in radians
- aiQuaternion
From ⚠Normalized Quaternion - Create a Quaternion from a normalized quaternion stored in a 3D vector. @param q Receives the output quaternion @param normalized The vector that stores the quaternion
- aiQuaternion
Interpolate ⚠ - Performs a spherical interpolation between two quaternions. @param dst Receives the quaternion resulting from the interpolation. @param start Quaternion when factor == 0 @param end Quaternion when factor == 1 @param factor Interpolation factor between 0 and 1
- aiQuaternion
Multiply ⚠ - Multiply quaternions. @param dst First quaternion, receives the output quaternion @param q Second quaternion
- aiQuaternion
Normalize ⚠ - Normalize a quaternion. @param q Quaternion to normalize
- aiRelease
Export ⚠Blob - Releases the memory associated with the given exported data. Use this function to free a data blob returned by aiExportScene(). @param pData the data blob returned by #aiExportSceneToBlob
- aiRelease
Export ⚠Format Description - Release a description of the nth export file format. Must be returned by aiGetExportFormatDescription @param desc Pointer to the description
- aiRelease
Import ⚠ - Releases all resources associated with the given import process.
- aiRelease
Property ⚠Store - Delete a property store. @param p Property store to be deleted.
- aiSet
Import ⚠Property Float - Set a floating-point property.
- aiSet
Import ⚠Property Integer - Set an integer property.
- aiSet
Import ⚠Property Matrix - Set a matrix property.
- aiSet
Import ⚠Property String - Set a string property.
- aiTexture
Type ⚠ToString - @brief Get a string for a given aiTextureType
- aiTransform
VecBy ⚠Matrix3 - Transform a vector by a 3x3 matrix @param vec Vector to be transformed. @param mat Matrix to transform the vector with.
- aiTransform
VecBy ⚠Matrix4 - Transform a vector by a 4x4 matrix @param vec Vector to be transformed. @param mat Matrix to transform the vector with.
- aiTranspose
Matrix3 ⚠ - Transpose a 3x3 matrix. @param mat Pointer to the matrix to be transposed
- aiTranspose
Matrix4 ⚠ - Transpose a 4x4 matrix. @param mat Pointer to the matrix to be transposed
- aiVector2
Add ⚠ - Add 2D vectors. @param dst First addend, receives result. @param src Vector to be added to ‘dst’.
- aiVector2
AreEqual ⚠ - Check if 2D vectors are equal. @param a First vector to compare @param b Second vector to compare @return 1 if the vectors are equal @return 0 if the vectors are not equal
- aiVector2
AreEqual ⚠Epsilon - Check if 2D vectors are equal using epsilon. @param a First vector to compare @param b Second vector to compare @param epsilon Epsilon @return 1 if the vectors are equal @return 0 if the vectors are not equal
- aiVector2
Divide ⚠ByScalar - Divide a 2D vector by a scalar. @param dst Vector to be divided by \p s @param s Scalar divisor
- aiVector2
Divide ⚠ByVector - Divide each component of a 2D vector by the components of another vector. @param dst Vector as the dividend @param v Vector as the divisor
- aiVector2
DotProduct ⚠ - Get the dot product of 2D vectors. @param a First vector @param b Second vector @return The dot product of vectors
- aiVector2
Length ⚠ - Get the length of a 2D vector. @return v Vector to evaluate
- aiVector2
Negate ⚠ - Negate a 2D vector. @param dst Vector to be negated
- aiVector2
Normalize ⚠ - Normalize a 2D vector. @param v Vector to normalize
- aiVector2
Scale ⚠ - Multiply a 2D vector by a scalar. @param dst Vector to be scaled by \p s @param s Scale factor
- aiVector2
Square ⚠Length - Get the squared length of a 2D vector. @return v Vector to evaluate
- aiVector2
Subtract ⚠ - Subtract 2D vectors. @param dst Minuend, receives result. @param src Vector to be subtracted from ‘dst’.
- aiVector2
SymMul ⚠ - Multiply each component of a 2D vector with the components of another vector. @param dst First vector, receives result @param other Second vector
- aiVector3
Add ⚠ - Add 3D vectors. @param dst First addend, receives result. @param src Vector to be added to ‘dst’.
- aiVector3
AreEqual ⚠ - Check if 3D vectors are equal. @param a First vector to compare @param b Second vector to compare @return 1 if the vectors are equal @return 0 if the vectors are not equal
- aiVector3
AreEqual ⚠Epsilon - Check if 3D vectors are equal using epsilon. @param a First vector to compare @param b Second vector to compare @param epsilon Epsilon @return 1 if the vectors are equal @return 0 if the vectors are not equal
- aiVector3
Cross ⚠Product - Get cross product of 3D vectors. @param dst Vector to receive the result. @param a First vector @param b Second vector @return The dot product of vectors
- aiVector3
Divide ⚠ByScalar - Divide a 3D vector by a scalar. @param dst Vector to be divided by \p s @param s Scalar divisor
- aiVector3
Divide ⚠ByVector - Divide each component of a 3D vector by the components of another vector. @param dst Vector as the dividend @param v Vector as the divisor
- aiVector3
DotProduct ⚠ - Get the dot product of 3D vectors. @param a First vector @param b Second vector @return The dot product of vectors
- aiVector3
Length ⚠ - Get the length of a 3D vector. @return v Vector to evaluate
- aiVector3
Less ⚠Than - Check if vector \p a is less than vector \p b. @param a First vector to compare @param b Second vector to compare @param epsilon Epsilon @return 1 if \p a is less than \p b @return 0 if \p a is equal or greater than \p b
- aiVector3
Negate ⚠ - Negate a 3D vector. @param dst Vector to be negated
- aiVector3
Normalize ⚠ - Normalize a 3D vector. @param v Vector to normalize
- aiVector3
Normalize ⚠Safe - Check for division by zero and normalize a 3D vector. @param v Vector to normalize
- aiVector3
Rotate ⚠ByQuaternion - Rotate a 3D vector by a quaternion. @param v The vector to rotate by \p q @param q Quaternion to use to rotate \p v
- aiVector3
Scale ⚠ - Multiply a 3D vector by a scalar. @param dst Vector to be scaled by \p s @param s Scale factor
- aiVector3
Square ⚠Length - Get the squared length of a 3D vector. @return v Vector to evaluate
- aiVector3
Subtract ⚠ - Subtract 3D vectors. @param dst Minuend, receives result. @param src Vector to be subtracted from ‘dst’.
- aiVector3
SymMul ⚠ - Multiply each component of a 3D vector with the components of another vector. @param dst First vector, receives result @param other Second vector