1
0
mirror of synced 2024-12-04 20:08:00 +01:00
Switch-Toolbox/packages/AssimpNet.4.1.0/lib/net35/AssimpNet.xml
KillzXGaming d1f03b161f Add files for the new one.
Rework UI from scratch with proper themes and custom controls. MDI windows are now used for workspaces, comparing docs, and multiple usages. Tabs organise multiple workspaces and you can keep mdi windows maximized if you want to only use tabs. Themes currently include dark and white theme but plan to have XML files with list of color and styles
Alot of things optimized. UI is very fast and snappy now
Dae rigging fixed.
Dae bones can be imported.
Dae with textures can be imported and exported to a folder
Custom sampler editor for sampler data.
Texture refs, shader options, params, render info, and basically all material data can be added/removed and edited
User data editor
Update opengl framework by JuPaHe64 to the newest. Includes an origintation cube, multiple models in a scene, and many improvements
Skeleton can be viewed
GFPAK with some fixes in saving
NUTEXB has proper mip map viewing
PTCL Editor (Wii U and Switch). Can edit colors ( Wii U) and view textures. Also EFFN files in smash ultimate can be previewed
Files can be associated with the program and opened with on clicking them
ASTC textures can be viewed
UVs can be viewed. Includes wrap modes and also translating and scaling for some basic edits
Textures use a new editor. It includes channel viewing and some new editing options
Fixed black textures on some wii u bfres
Fixed saving sarcs in sarcs
Shortcut keys have been added in. CTRL + S can save the active file in the currently used window
Fix more issues with bfres crashing
File - New includes BNTX for creating new bntx files from scatch
Raw shader binaries can be extracted from bnsh and bfsha. Yuzu and Ryujinx can decompile these
Sharc files can have source data previewed and shader programs in XML
Aamp v1 and v2 data can be previewed. v1 can be edited and saved atm, v2 will be at a later update
Byaml uses it's own editor instead of a seperate window for easy saving within sarcs
Archives have a hex viewer
Dae exporting greatly improved and can export rigged meshes
Scene, shader param, srt, color, and texture pattern animations can all be previewed (in a list)
Memory usage is greatly improved
Narc (Nitro Archives) can be viewed and extracted.
Fixed importing TGA images
Support importing ASTC textures for bntx
Added in PBR lighting for bfres from my implimentaion in forge
Added gradient background for viewport. This can be edited in the settings
Added skybox background option for viewport. Can load cubemaps
Added grid with customizable cells for viewport.
DDS decompression no longer requires Direct X tex.
Zlib decompression has been improved for opening files that use it
Rigid bones are properly ordered on importing a mesh. May fix some exploding issues.
Endianness for KCL can be toggled for saving. Will be set to what it was using orignally
Tangents can be filled with a constant value. Will allow them to not cause seams nor flat lighting however normal maps may not work as good
Vertex buffers can be added and removed. Also re encoded
Parameters now use drop down panels with values for easier editing
Reworked the bone editor. Everything for a bone can be fully edited now besides the index, billboard index and parent index  which get set automatically
Fixed animation scaling for skeletal animations finally!
Textures can be loaded in a tab now with thumbnail displaying for easy real time edits while previewing in the viewport

Fixed support for audio files to be big endian in BARS
Textures for switch now use their own folder. You can easily add textures to this and add textures to bfres that have no bntx. If there are no textures then the bfres will automatically not have one on save.
Animations are split into multiple sub sections for switch's material animation for easier access
Bfres for wii u has better binary exporting and is fully compatiable with Wexos Toolbox (to and from)
Every section can be added in as new for both wii u and switch.
Every section can be renamed properly and mostly everything can be edited. (Key frame editing and a more in depth curve editor later)
Added option to copy UV channel
Bone weights can be previewed
Tons of fixes for the switch bfres library with more games working. Splatoon 2 (more work now), BOTW, Kirby Star Allies, and more!
Fixed 3.3 Wii U bfres from not opening
Wii U Sharcfb files can have shader program data previewed (XML)

And possibly alot more things i missed! All this is still experimental but will improve over the next few weeks
2019-03-23 12:55:09 -04:00

11455 lines
550 KiB
XML

<?xml version="1.0"?>
<doc>
<assembly>
<name>AssimpNet</name>
</assembly>
<members>
<member name="T:Assimp.Animation">
<summary>
An animation consists of keyframe data for a number of nodes. For
each node affected by the animation, a separate series of data is given.
</summary>
</member>
<member name="P:Assimp.Animation.Name">
<summary>
Gets or sets the name of the animation. If the modeling package the
data was exported from only supports a single animation channel, this
name is usually empty.
</summary>
</member>
<member name="P:Assimp.Animation.DurationInTicks">
<summary>
Gets or sets the duration of the animation in number of ticks.
</summary>
</member>
<member name="P:Assimp.Animation.TicksPerSecond">
<summary>
Gets or sets the number of ticks per second. It may be zero
if it is not specified in the imported file.
</summary>
</member>
<member name="P:Assimp.Animation.HasNodeAnimations">
<summary>
Gets if the animation has node animation channels.
</summary>
</member>
<member name="P:Assimp.Animation.NodeAnimationChannelCount">
<summary>
Gets the number of node animation channels where each channel
affects a single node.
</summary>
</member>
<member name="P:Assimp.Animation.NodeAnimationChannels">
<summary>
Gets the node animation channels.
</summary>
</member>
<member name="P:Assimp.Animation.HasMeshAnimations">
<summary>
Gets if the animation has mesh animations.
</summary>
</member>
<member name="P:Assimp.Animation.MeshAnimationChannelCount">
<summary>
Gets the number of mesh animation channels.
</summary>
</member>
<member name="P:Assimp.Animation.MeshMorphAnimationChannelCount">
<summary>
Gets the number of mesh morph animation channels.
</summary>
</member>
<member name="P:Assimp.Animation.MeshAnimationChannels">
<summary>
Gets the mesh animation channels.
</summary>
</member>
<member name="P:Assimp.Animation.MeshMorphAnimationChannels">
<summary>
Gets the mesh morph animation channels.
</summary>
</member>
<member name="M:Assimp.Animation.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Animation"/> class.
</summary>
</member>
<member name="P:Assimp.Animation.Assimp#IMarshalable{Assimp#Animation,Assimp#Unmanaged#AiAnimation}#IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.Animation.Assimp#IMarshalable{Assimp#Animation,Assimp#Unmanaged#AiAnimation}#ToNative(System.IntPtr,Assimp.Unmanaged.AiAnimation@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.Animation.Assimp#IMarshalable{Assimp#Animation,Assimp#Unmanaged#AiAnimation}#FromNative(Assimp.Unmanaged.AiAnimation@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.Animation.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.AssimpContext">
<summary>
Represents an Assimp Import/Export context that load or save models using the unmanaged library. Additionally, conversion
functionality is offered to bypass loading model data into managed memory.
</summary>
</member>
<member name="P:Assimp.AssimpContext.IsDisposed">
<summary>
Gets if the context has been disposed.
</summary>
</member>
<member name="P:Assimp.AssimpContext.Scale">
<summary>
Gets or sets the uniform scale for the model. This is multiplied
with the existing root node's transform. This is only used during import.
</summary>
</member>
<member name="P:Assimp.AssimpContext.XAxisRotation">
<summary>
Gets or sets the model's rotation about the X-Axis, in degrees. This is multiplied
with the existing root node's transform. This is only used during import.
</summary>
</member>
<member name="P:Assimp.AssimpContext.YAxisRotation">
<summary>
Gets or sets the model's rotation abut the Y-Axis, in degrees. This is multiplied
with the existing root node's transform. This is only used during import.
</summary>
</member>
<member name="P:Assimp.AssimpContext.ZAxisRotation">
<summary>
Gets or sets the model's rotation about the Z-Axis, in degrees. This is multiplied
with the existing root node's transform. This is only used during import.
</summary>
</member>
<member name="P:Assimp.AssimpContext.UsingCustomIOSystem">
<summary>
Gets whether this context is using a user-defined IO system for file handling.
</summary>
</member>
<member name="P:Assimp.AssimpContext.PropertyConfigurations">
<summary>
Gets the property configurations set to this context. This is only used during import.
</summary>
</member>
<member name="M:Assimp.AssimpContext.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.AssimpContext"/> class.
</summary>
</member>
<member name="M:Assimp.AssimpContext.ImportFileFromStream(System.IO.Stream,System.String)">
<summary>
Imports a model from the stream without running any post-process steps. The importer sets configurations
and loads the model into managed memory, releasing the unmanaged memory used by Assimp. It is up to the caller to dispose of the stream.
If the format is distributed across multiple files/streams, set a custom <see cref="T:Assimp.IOSystem"/>
and use the "ImportFile" family of functions.
</summary>
<param name="stream">Stream to read from</param>
<param name="formatHint">Optional format extension to serve as a hint to Assimp to choose which importer to use. If null or empty, the system will
try to detect what importer to use from the data which may or may not be successful.</param>
<returns>The imported scene</returns>
<exception cref="T:Assimp.AssimpException">Thrown if the stream is not valid (null or write-only).</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ImportFileFromStream(System.IO.Stream,Assimp.PostProcessSteps,System.String)">
<summary>
Imports a model from the stream. The importer sets configurations and loads the model into managed memory, releasing the unmanaged memory
used by Assimp. It is up to the caller to dispose of the stream. If the format is distributed across multiple files/streams, set a custom <see cref="T:Assimp.IOSystem"/>
and use the "ImportFile" family of functions.
</summary>
<param name="stream">Stream to read from</param>
<param name="postProcessFlags">Post processing flags, if any</param>
<param name="formatHint">Optional format extension to serve as a hint to Assimp to choose which importer to use. If null or empty, the system will
try to detect what importer to use from the data which may or may not be successful.</param>
<returns>The imported scene</returns>
<exception cref="T:Assimp.AssimpException">Thrown if the stream is not valid (null or write-only).</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ImportFile(System.String)">
<summary>
Imports a model from the specified file without running any post-process steps. The importer sets configurations
and loads the model into managed memory, releasing the unmanaged memory used by Assimp.
</summary>
<param name="file">Full path to the file</param>
<returns>The imported scene</returns>
<exception cref="T:Assimp.AssimpException">Thrown if there was a general error in importing the model.</exception>
<exception cref="T:System.IO.FileNotFoundException">Thrown if the file could not be located.</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ImportFile(System.String,Assimp.PostProcessSteps)">
<summary>
Imports a model from the specified file. The importer sets configurations
and loads the model into managed memory, releasing the unmanaged memory used by Assimp.
</summary>
<param name="file">Full path to the file</param>
<param name="postProcessFlags">Post processing flags, if any</param>
<returns>The imported scene</returns>
<exception cref="T:Assimp.AssimpException">Thrown if there was a general error in importing the model.</exception>
<exception cref="T:System.IO.FileNotFoundException">Thrown if the file could not be located.</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ExportFile(Assimp.Scene,System.String,System.String)">
<summary>
Exports a scene to the specified format and writes it to a file.
</summary>
<param name="scene">Scene containing the model to export.</param>
<param name="fileName">Path to the file.</param>
<param name="exportFormatId">FormatID representing the format to export to.</param>
<returns>True if the scene was exported successfully, false otherwise.</returns>
<exception cref="T:System.ArgumentNullException">Thrown if the scene is null.</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ExportFile(Assimp.Scene,System.String,System.String,Assimp.PostProcessSteps)">
<summary>
Exports a scene to the specified format and writes it to a file.
</summary>
<param name="scene">Scene containing the model to export.</param>
<param name="fileName">Path to the file.</param>
<param name="exportFormatId">FormatID representing the format to export to.</param>
<param name="preProcessing">Preprocessing flags to apply to the model before it is exported.</param>
<returns>True if the scene was exported successfully, false otherwise.</returns>
<exception cref="T:System.ArgumentNullException">Thrown if the scene is null.</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ExportToBlob(Assimp.Scene,System.String)">
<summary>
Exports a scene to the specified format and writes it to a data blob.
</summary>
<param name="scene">Scene containing the model to export.</param>
<param name="exportFormatId">FormatID representing the format to export to.</param>
<returns>The resulting data blob, or null if the export failed.</returns>
<exception cref="T:System.ArgumentNullException">Thrown if the scene is null.</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ExportToBlob(Assimp.Scene,System.String,Assimp.PostProcessSteps)">
<summary>
Exports a scene to the specified format and writes it to a data blob.
</summary>
<param name="scene">Scene containing the model to export.</param>
<param name="exportFormatId">FormatID representing the format to export to.</param>
<param name="preProcessing">Preprocessing flags to apply to the model before it is exported.</param>
<returns>The resulting data blob, or null if the export failed.</returns>
<exception cref="T:System.ArgumentNullException">Thrown if the scene is null.</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ConvertFromFileToFile(System.String,System.String,System.String)">
<summary>
Converts the model contained in the file to the specified format and save it to a file.
</summary>
<param name="inputFilename">Input file name to import</param>
<param name="outputFilename">Output file name to export to</param>
<param name="exportFormatId">Format id that specifies what format to export to</param>
<returns>True if the conversion was successful or not, false otherwise.</returns>
<exception cref="T:Assimp.AssimpException">Thrown if there was a general error in importing the model.</exception>
<exception cref="T:System.IO.FileNotFoundException">Thrown if the file could not be located.</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ConvertFromFileToFile(System.String,System.String,System.String,Assimp.PostProcessSteps)">
<summary>
Converts the model contained in the file to the specified format and save it to a file.
</summary>
<param name="inputFilename">Input file name to import</param>
<param name="outputFilename">Output file name to export to</param>
<param name="exportFormatId">Format id that specifies what format to export to</param>
<param name="exportProcessSteps">Pre processing steps used for the export</param>
<returns>True if the conversion was successful or not, false otherwise.</returns>
<exception cref="T:Assimp.AssimpException">Thrown if there was a general error in importing the model.</exception>
<exception cref="T:System.IO.FileNotFoundException">Thrown if the file could not be located.</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ConvertFromFileToFile(System.String,Assimp.PostProcessSteps,System.String,System.String,Assimp.PostProcessSteps)">
<summary>
Converts the model contained in the file to the specified format and save it to a file.
</summary>
<param name="inputFilename">Input file name to import</param>
<param name="importProcessSteps">Post processing steps used for the import</param>
<param name="outputFilename">Output file name to export to</param>
<param name="exportFormatId">Format id that specifies what format to export to</param>
<param name="exportProcessSteps">Pre processing steps used for the export</param>
<returns>True if the conversion was successful or not, false otherwise.</returns>
<exception cref="T:Assimp.AssimpException">Thrown if there was a general error in importing the model.</exception>
<exception cref="T:System.IO.FileNotFoundException">Thrown if the file could not be located.</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ConvertFromFileToBlob(System.String,System.String)">
<summary>
Converts the model contained in the file to the specified format and save it to a data blob.
</summary>
<param name="inputFilename">Input file name to import</param>
<param name="exportFormatId">Format id that specifies what format to export to</param>
<returns>Data blob containing the exported scene in a binary form</returns>
<exception cref="T:Assimp.AssimpException">Thrown if there was a general error in importing the model.</exception>
<exception cref="T:System.IO.FileNotFoundException">Thrown if the file could not be located.</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ConvertFromFileToBlob(System.String,System.String,Assimp.PostProcessSteps)">
<summary>
Converts the model contained in the file to the specified format and save it to a data blob.
</summary>
<param name="inputFilename">Input file name to import</param>
<param name="exportFormatId">Format id that specifies what format to export to</param>
<param name="exportProcessSteps">Pre processing steps used for the export</param>
<returns>Data blob containing the exported scene in a binary form</returns>
<exception cref="T:Assimp.AssimpException">Thrown if there was a general error in importing the model.</exception>
<exception cref="T:System.IO.FileNotFoundException">Thrown if the file could not be located.</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ConvertFromFileToBlob(System.String,Assimp.PostProcessSteps,System.String,Assimp.PostProcessSteps)">
<summary>
Converts the model contained in the file to the specified format and save it to a data blob.
</summary>
<param name="inputFilename">Input file name to import</param>
<param name="importProcessSteps">Post processing steps used for the import</param>
<param name="exportFormatId">Format id that specifies what format to export to</param>
<param name="exportProcessSteps">Pre processing steps used for the export</param>
<returns>Data blob containing the exported scene in a binary form</returns>
<exception cref="T:Assimp.AssimpException">Thrown if there was a general error in importing the model.</exception>
<exception cref="T:System.IO.FileNotFoundException">Thrown if the file could not be located.</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ConvertFromStreamToFile(System.IO.Stream,System.String,System.String,System.String)">
<summary>
Converts the model contained in the stream to the specified format and save it to a file. It is up to the caller to dispose of the stream.
If the format is distributed across multiple files/streams, set a custom <see cref="T:Assimp.IOSystem"/>
and use the "ConvertFromFileToFile" family of functions.
</summary>
<param name="inputStream">Stream to read from</param>
<param name="importFormatHint">Optional format extension to serve as a hint to Assimp to choose which importer to use. If null or empty, the system will
try to detect what importer to use from the data which may or may not be successful</param>
<param name="outputFilename">Output file name to export to</param>
<param name="exportFormatId">Format id that specifies what format to export to</param>
<returns>True if the conversion was successful or not, false otherwise.</returns>
<exception cref="T:Assimp.AssimpException">Thrown if the stream is not valid (null or write-only).</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ConvertFromStreamToFile(System.IO.Stream,System.String,System.String,System.String,Assimp.PostProcessSteps)">
<summary>
Converts the model contained in the stream to the specified format and save it to a file. It is up to the caller to dispose of the stream.
If the format is distributed across multiple files/streams, set a custom <see cref="T:Assimp.IOSystem"/>
and use the "ConvertFromFileToFile" family of functions.
</summary>
<param name="inputStream">Stream to read from</param>
<param name="importFormatHint">Optional format extension to serve as a hint to Assimp to choose which importer to use. If null or empty, the system will
try to detect what importer to use from the data which may or may not be successful</param>
<param name="outputFilename">Output file name to export to</param>
<param name="exportFormatId">Format id that specifies what format to export to</param>
<param name="exportProcessSteps">Pre processing steps used for the export</param>
<returns>True if the conversion was successful or not, false otherwise.</returns>
<exception cref="T:Assimp.AssimpException">Thrown if the stream is not valid (null or write-only).</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ConvertFromStreamToFile(System.IO.Stream,System.String,Assimp.PostProcessSteps,System.String,System.String,Assimp.PostProcessSteps)">
<summary>
Converts the model contained in the stream to the specified format and save it to a file. It is up to the caller to dispose of the stream.
If the format is distributed across multiple files/streams, set a custom <see cref="T:Assimp.IOSystem"/>
and use the "ConvertFromFileToFile" family of functions.
</summary>
<param name="inputStream">Stream to read from</param>
<param name="importFormatHint">Optional format extension to serve as a hint to Assimp to choose which importer to use. If null or empty, the system will
try to detect what importer to use from the data which may or may not be successful</param>
<param name="importProcessSteps">Post processing steps used for import</param>
<param name="outputFilename">Output file name to export to</param>
<param name="exportFormatId">Format id that specifies what format to export to</param>
<param name="exportProcessSteps">Pre processing steps used for the export</param>
<returns>True if the conversion was successful or not, false otherwise.</returns>
<exception cref="T:Assimp.AssimpException">Thrown if the stream is not valid (null or write-only).</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ConvertFromStreamToBlob(System.IO.Stream,System.String,System.String)">
<summary>
Converts the model contained in the stream to the specified format and save it to a data blob. It is up to the caller to dispose of the stream.
If the format is distributed across multiple files/streams, set a custom <see cref="T:Assimp.IOSystem"/>
and use the "ConvertFromFileToBlob" family of functions.
</summary>
<param name="inputStream">Stream to read from</param>
<param name="importFormatHint">Optional format extension to serve as a hint to Assimp to choose which importer to use. If null or empty, the system will
try to detect what importer to use from the data which may or may not be successful</param>
<param name="exportFormatId">Format id that specifies what format to export to</param>
<returns>Data blob containing the exported scene in a binary form</returns>
<exception cref="T:Assimp.AssimpException">Thrown if the stream is not valid (null or write-only).</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ConvertFromStreamToBlob(System.IO.Stream,System.String,System.String,Assimp.PostProcessSteps)">
<summary>
Converts the model contained in the stream to the specified format and save it to a data blob. It is up to the caller to dispose of the stream.
If the format is distributed across multiple files/streams, set a custom <see cref="T:Assimp.IOSystem"/>
and use the "ConvertFromFileToBlob" family of functions.
</summary>
<param name="inputStream">Stream to read from</param>
<param name="importFormatHint">Optional format extension to serve as a hint to Assimp to choose which importer to use. If null or empty, the system will
try to detect what importer to use from the data which may or may not be successful</param>
<param name="exportFormatId">Format id that specifies what format to export to</param>
<param name="exportProcessSteps">Pre processing steps used for the export</param>
<returns>Data blob containing the exported scene in a binary form</returns>
<exception cref="T:Assimp.AssimpException">Thrown if the stream is not valid (null or write-only).</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.ConvertFromStreamToBlob(System.IO.Stream,System.String,Assimp.PostProcessSteps,System.String,Assimp.PostProcessSteps)">
<summary>
Converts the model contained in the stream to the specified format and save it to a data blob. It is up to the caller to dispose of the stream.
If the format is distributed across multiple files/streams, set a custom <see cref="T:Assimp.IOSystem"/>
and use the "ConvertFromFileToBlob" family of functions.
</summary>
<param name="inputStream">Stream to read from</param>
<param name="importFormatHint">Optional format extension to serve as a hint to Assimp to choose which importer to use. If null or empty, the system will
try to detect what importer to use from the data which may or may not be successful</param>
<param name="importProcessSteps">Post processing steps used for import</param>
<param name="exportFormatId">Format id that specifies what format to export to</param>
<param name="exportProcessSteps">Pre processing steps used for the export</param>
<returns>Data blob containing the exported scene in a binary form</returns>
<exception cref="T:Assimp.AssimpException">Thrown if the stream is not valid (null or write-only).</exception>
<exception cref="T:System.ObjectDisposedException">Thrown if the context has already been disposed of.</exception>
</member>
<member name="M:Assimp.AssimpContext.SetIOSystem(Assimp.IOSystem)">
<summary>
Sets a custom file system implementation that is used by this importer. If it is null, then the default assimp file system
is used instead.
</summary>
<param name="ioSystem">Custom file system implementation</param>
</member>
<member name="M:Assimp.AssimpContext.RemoveIOSystem">
<summary>
Removes the currently set custom file system implementation from the importer.
</summary>
</member>
<member name="M:Assimp.AssimpContext.GetSupportedExportFormats">
<summary>
Gets the model formats that are supported for export by Assimp.
</summary>
<returns>Export formats supported</returns>
</member>
<member name="M:Assimp.AssimpContext.GetSupportedImportFormats">
<summary>
Gets the model formats that are supported for import by Assimp.
</summary>
<returns>Import formats supported</returns>
</member>
<member name="M:Assimp.AssimpContext.GetImporterDescriptions">
<summary>
Gets descriptions for each importer that assimp has registered.
</summary>
<returns>Descriptions of supported importers.</returns>
</member>
<member name="M:Assimp.AssimpContext.GetImporterDescriptionFor(System.String)">
<summary>
Gets an importer description for the specified file extension. If no importers support it, null is returned. Multiple importers may support the file extension,
they are called in the order that they were registered.
</summary>
<param name="fileExtension">File extension to query importer support for.</param>
<returns>Importer description or null if it does not exist.</returns>
</member>
<member name="M:Assimp.AssimpContext.IsImportFormatSupported(System.String)">
<summary>
Checks if the format extension (e.g. ".dae" or ".obj") is supported for import.
</summary>
<param name="format">Model format</param>
<returns>True if the format is supported, false otherwise</returns>
</member>
<member name="M:Assimp.AssimpContext.IsExportFormatSupported(System.String)">
<summary>
Checks if the format extension (e.g. ".dae" or ".obj") is supported for export.
</summary>
<param name="format">Model format</param>
<returns>True if the format is supported, false otherwise</returns>
</member>
<member name="M:Assimp.AssimpContext.SetConfig(Assimp.Configs.PropertyConfig)">
<summary>
Sets a configuration property to the context. This is only used during import.
</summary>
<param name="config">Config to set</param>
</member>
<member name="M:Assimp.AssimpContext.RemoveConfig(System.String)">
<summary>
Removes a set configuration property by name.
</summary>
<param name="configName">Name of the config property</param>
</member>
<member name="M:Assimp.AssimpContext.RemoveConfigs">
<summary>
Removes all configuration properties from the context.
</summary>
</member>
<member name="M:Assimp.AssimpContext.ContainsConfig(System.String)">
<summary>
Checks if the context has a config set by the specified name.
</summary>
<param name="configName">Name of the config property</param>
<returns>True if the config is present, false otherwise</returns>
</member>
<member name="M:Assimp.AssimpContext.Dispose">
<summary>
Disposes of resources held by the context. These include IO systems still attached.
</summary>
</member>
<member name="M:Assimp.AssimpContext.Dispose(System.Boolean)">
<summary>
Releases unmanaged and - optionally - managed resources
</summary>
<param name="disposing">True to release both managed and unmanaged resources; False to release only unmanaged resources.</param>
</member>
<member name="T:Assimp.AssimpException">
<summary>
AssimpNet general exception.
</summary>
</member>
<member name="M:Assimp.AssimpException.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Assimp.AssimpException"/> class.
</summary>
</member>
<member name="M:Assimp.AssimpException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:Assimp.AssimpException"/> class.
</summary>
<param name="msg">The error message.</param>
</member>
<member name="M:Assimp.AssimpException.#ctor(System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:Assimp.AssimpException"/> class.
</summary>
<param name="paramName">Name of the param.</param>
<param name="msg">The error message.</param>
</member>
<member name="M:Assimp.AssimpException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:Assimp.AssimpException"/> class.
</summary>
<param name="msg">The error message</param>
<param name="innerException">The inner exception.</param>
</member>
<member name="T:Assimp.Bone">
<summary>
Represents a single bone of a mesh. A bone has a name which allows it to 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.
</summary>
</member>
<member name="P:Assimp.Bone.Name">
<summary>
Gets or sets the name of the bone.
</summary>
</member>
<member name="P:Assimp.Bone.VertexWeightCount">
<summary>
Gets the number of vertex influences the bone contains.
</summary>
</member>
<member name="P:Assimp.Bone.HasVertexWeights">
<summary>
Gets if the bone has vertex weights - this should always be true.
</summary>
</member>
<member name="P:Assimp.Bone.VertexWeights">
<summary>
Gets the vertex weights owned by the bone.
</summary>
</member>
<member name="P:Assimp.Bone.OffsetMatrix">
<summary>
Gets or sets the matrix that transforms from mesh space to bone space in bind pose.
</summary>
</member>
<member name="M:Assimp.Bone.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Bone"/> class.
</summary>
</member>
<member name="M:Assimp.Bone.#ctor(System.String,Assimp.Matrix3x3,Assimp.VertexWeight[])">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Bone"/> class.
</summary>
<param name="name">Name of the bone</param>
<param name="offsetMatrix">Bone's offset matrix</param>
<param name="weights">Vertex weights</param>
</member>
<member name="P:Assimp.Bone.Assimp#IMarshalable{Assimp#Bone,Assimp#Unmanaged#AiBone}#IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.Bone.Assimp#IMarshalable{Assimp#Bone,Assimp#Unmanaged#AiBone}#ToNative(System.IntPtr,Assimp.Unmanaged.AiBone@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.Bone.Assimp#IMarshalable{Assimp#Bone,Assimp#Unmanaged#AiBone}#FromNative(Assimp.Unmanaged.AiBone@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.Bone.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.Camera">
<summary>
Describes a right-handed camera in the scene. An important aspect is that
the camera itself is also part of the scenegraph, meaning any values such
as the direction vector are not *absolute*, they can be relative to the coordinate
system defined by the node which corresponds to the camera. This allows for camera
animations.
</summary>
</member>
<member name="P:Assimp.Camera.Name">
<summary>
Gets or sets the name of the camera. This corresponds to 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.
</summary>
</member>
<member name="P:Assimp.Camera.Position">
<summary>
Gets or sets the position of the camera relative to the coordinate space defined by
the corresponding node. THe default value is 0|0|0.
</summary>
</member>
<member name="P:Assimp.Camera.Up">
<summary>
Gets or sets the 'up' vector of the camera, relative to the coordinate space defined by the
corresponding node. The 'right' vector of the camera is the cross product of the up
and direction vectors. The default value is 0|1|0.
</summary>
</member>
<member name="P:Assimp.Camera.Direction">
<summary>
Gets or sets the viewing direction of the camera, relative to the coordinate space defined by the corresponding node.
The default value is 0|0|1.
</summary>
</member>
<member name="P:Assimp.Camera.FieldOfview">
<summary>
Gets or sets the half horizontal field of view angle, in radians. The FoV angle is
the angle between the center line of the screen and the left or right border. The default
value is 1/4PI.
</summary>
</member>
<member name="P:Assimp.Camera.ClipPlaneNear">
<summary>
Gets or sets the distance of the near clipping plane from the camera. The value may not
be 0.0f for arithmetic reasons to prevent a division through zero. The default value is 0.1f;
</summary>
</member>
<member name="P:Assimp.Camera.ClipPlaneFar">
<summary>
Gets or sets the distance of the far clipping plane from the camera. The far clippling plane must
be further than the near clippling plane. The default value is 1000.0f. The ratio between
the near and far plane should not be too large (between 1000 - 10000 should be ok) to avoid
floating-point inaccuracies which can lead to z-fighting.
</summary>
</member>
<member name="P:Assimp.Camera.AspectRatio">
<summary>
Gets or sets the screen aspect ratio. This is the ratio between the width and 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.
The default value is zero.
</summary>
</member>
<member name="P:Assimp.Camera.ViewMatrix">
<summary>
Gets a right-handed view matrix.
</summary>
</member>
<member name="M:Assimp.Camera.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Camera"/> class.
</summary>
</member>
<member name="P:Assimp.Camera.Assimp#IMarshalable{Assimp#Camera,Assimp#Unmanaged#AiCamera}#IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.Camera.Assimp#IMarshalable{Assimp#Camera,Assimp#Unmanaged#AiCamera}#ToNative(System.IntPtr,Assimp.Unmanaged.AiCamera@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.Camera.Assimp#IMarshalable{Assimp#Camera,Assimp#Unmanaged#AiCamera}#FromNative(Assimp.Unmanaged.AiCamera@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.Camera.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.Color3D">
<summary>
Represents a RGB color.
</summary>
</member>
<member name="F:Assimp.Color3D.R">
<summary>
Red component.
</summary>
</member>
<member name="F:Assimp.Color3D.G">
<summary>
Green component.
</summary>
</member>
<member name="F:Assimp.Color3D.B">
<summary>
Blue component.
</summary>
</member>
<member name="P:Assimp.Color3D.Item(System.Int32)">
<summary>
Gets or sets the component value at the specified zero-based index
in the order of RGBA (index 0 access R, 1 access G, etc). If
the index is not in range, a value of zero is returned.
</summary>
<param name="index">Zero-based index.</param>
<returns>The component value</returns>
</member>
<member name="M:Assimp.Color3D.#ctor(System.Single,System.Single,System.Single)">
<summary>
Constructs a Color3D.
</summary>
<param name="r">Red component</param>
<param name="g">Green component</param>
<param name="b">Blue component</param>
</member>
<member name="M:Assimp.Color3D.#ctor(System.Single)">
<summary>
Constructs a Color3D where each component is
set to the same value.
</summary>
<param name="value">Value to set R, G, B components</param>
</member>
<member name="M:Assimp.Color3D.IsBlack">
<summary>
Determines if the color is black, or close to being black.
</summary>
<returns>True if the color is black/nearly block, false otherwise.</returns>
</member>
<member name="M:Assimp.Color3D.op_Addition(Assimp.Color3D,Assimp.Color3D)">
<summary>
Adds the two colors together.
</summary>
<param name="a">First color</param>
<param name="b">Second color</param>
<returns>Added color</returns>
</member>
<member name="M:Assimp.Color3D.op_Addition(Assimp.Color3D,System.Single)">
<summary>
Adds the value to each of the components of the color.
</summary>
<param name="color">Source color</param>
<param name="value">Value to add to each component</param>
<returns>Added color</returns>
</member>
<member name="M:Assimp.Color3D.op_Addition(System.Single,Assimp.Color3D)">
<summary>
Adds the value to each of the components of the color.
</summary>
<param name="value">Value to add to each component</param>
<param name="color">Source color</param>
<returns>Added color</returns>
</member>
<member name="M:Assimp.Color3D.op_Subtraction(Assimp.Color3D,Assimp.Color3D)">
<summary>
Subtracts the second color from the first color.
</summary>
<param name="a">First color</param>
<param name="b">Second color</param>
<returns>Resulting color</returns>
</member>
<member name="M:Assimp.Color3D.op_Subtraction(Assimp.Color3D,System.Single)">
<summary>
Subtracts the value from each of the color's components.
</summary>
<param name="color">Source color</param>
<param name="value">Value to subtract from each component</param>
<returns>Resulting color</returns>
</member>
<member name="M:Assimp.Color3D.op_Subtraction(System.Single,Assimp.Color3D)">
<summary>
Subtracts the color's components from the value, returning
the result as a new color. Same as <c>new Color4D(value) - color</c>
</summary>
<param name="value">Value for each component of the first color</param>
<param name="color">Second color</param>
<returns>Resulting color</returns>
</member>
<member name="M:Assimp.Color3D.op_Multiply(Assimp.Color3D,Assimp.Color3D)">
<summary>
Multiplies the two colors.
</summary>
<param name="a">First color</param>
<param name="b">Second color</param>
<returns>Multiplied color.</returns>
</member>
<member name="M:Assimp.Color3D.op_Multiply(Assimp.Color3D,System.Single)">
<summary>
Multiplies the color by a scalar value, component wise.
</summary>
<param name="value">Source color</param>
<param name="scale">Scalar value</param>
<returns>Resulting color</returns>
</member>
<member name="M:Assimp.Color3D.op_Multiply(System.Single,Assimp.Color3D)">
<summary>
Multiplies the color by a scalar value, component wise.
</summary>
<param name="scale">Scalar value</param>
<param name="value">Source color</param>
<returns>Resulting color</returns>
</member>
<member name="M:Assimp.Color3D.op_Division(Assimp.Color3D,Assimp.Color3D)">
<summary>
Divides the first color by the second color, component wise.
</summary>
<param name="a">First color</param>
<param name="b">Second color</param>
<returns>Resulting color</returns>
</member>
<member name="M:Assimp.Color3D.op_Division(Assimp.Color3D,System.Single)">
<summary>
Divides the color by a divisor value.
</summary>
<param name="color">Source color</param>
<param name="divisor">Divisor</param>
<returns>Resulting color</returns>
</member>
<member name="M:Assimp.Color3D.op_Equality(Assimp.Color3D,Assimp.Color3D)">
<summary>
Tets equality between two colors.
</summary>
<param name="a">First color</param>
<param name="b">Second color</param>
<returns>True if the colors are equal, false otherwise</returns>
</member>
<member name="M:Assimp.Color3D.op_Inequality(Assimp.Color3D,Assimp.Color3D)">
<summary>
Tets inequality between two colors.
</summary>
<param name="a">First color</param>
<param name="b">Second color</param>
<returns>True if the colors are not equal, false otherwise</returns>
</member>
<member name="M:Assimp.Color3D.Equals(Assimp.Color3D)">
<summary>
Tests equality between this color and another color
</summary>
<param name="other">Color to test against</param>
<returns>True if components are equal</returns>
</member>
<member name="M:Assimp.Color3D.Equals(System.Object)">
<summary>
Tests equality between this color and another object.
</summary>
<param name="obj">Object to test against</param>
<returns>True if the object is a color and the components are equal</returns>
</member>
<member name="M:Assimp.Color3D.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
</returns>
</member>
<member name="M:Assimp.Color3D.ToString">
<summary>
Returns a <see cref="T:System.String"/> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String"/> that represents this instance.
</returns>
</member>
<member name="T:Assimp.Color4D">
<summary>
Represents a Red-Green-Blue-Alpha (RGBA) color.
Color values range from 0 to 1.
</summary>
</member>
<member name="F:Assimp.Color4D.R">
<summary>
Red component.
</summary>
</member>
<member name="F:Assimp.Color4D.G">
<summary>
Green component.
</summary>
</member>
<member name="F:Assimp.Color4D.B">
<summary>
Blue component.
</summary>
</member>
<member name="F:Assimp.Color4D.A">
<summary>
Alpha component.
</summary>
</member>
<member name="P:Assimp.Color4D.Item(System.Int32)">
<summary>
Gets or sets the component value at the specified zero-based index
in the order of RGBA (index 0 access R, 1 access G, etc). If
the index is not in range, a value of zero is returned.
</summary>
<param name="index">Zero-based index.</param>
<returns>The component value</returns>
</member>
<member name="M:Assimp.Color4D.#ctor(System.Single,System.Single,System.Single,System.Single)">
<summary>
Constructs a Color4D.
</summary>
<param name="r">Red component</param>
<param name="g">Green component</param>
<param name="b">Blue component</param>
<param name="a">Alpha component</param>
</member>
<member name="M:Assimp.Color4D.#ctor(System.Single,System.Single,System.Single)">
<summary>
Constructs a Color4D. Alpha is set to 1.0.
</summary>
<param name="r">Red component</param>
<param name="g">Green component</param>
<param name="b">Blue component</param>
</member>
<member name="M:Assimp.Color4D.#ctor(System.Single)">
<summary>
Constructs a Color4D where each component is
set to the same value.
</summary>
<param name="value">Value to set R, G, B, A components</param>
</member>
<member name="M:Assimp.Color4D.#ctor(Assimp.Color3D)">
<summary>
Constructs a Color4D from a Color3D. Alpha is set to 1.0.
</summary>
<param name="rgb">RGB values</param>
</member>
<member name="M:Assimp.Color4D.#ctor(Assimp.Color3D,System.Single)">
<summary>
Constructs a Color4D from a Color3D and alpha value.
</summary>
<param name="rgb">RGB values</param>
<param name="alpha">Alpha value</param>
</member>
<member name="M:Assimp.Color4D.IsBlack">
<summary>
Determines if the color is black, or close to being black.
</summary>
<returns>True if the color is black/nearly block, false otherwise.</returns>
</member>
<member name="M:Assimp.Color4D.op_Addition(Assimp.Color4D,Assimp.Color4D)">
<summary>
Adds the two colors together.
</summary>
<param name="a">First color</param>
<param name="b">Second color</param>
<returns>Added color</returns>
</member>
<member name="M:Assimp.Color4D.op_Addition(Assimp.Color4D,System.Single)">
<summary>
Adds the value to each of the components of the color.
</summary>
<param name="color">Source color</param>
<param name="value">Value to add to each component</param>
<returns>Added color</returns>
</member>
<member name="M:Assimp.Color4D.op_Addition(System.Single,Assimp.Color4D)">
<summary>
Adds the value to each of the components of the color.
</summary>
<param name="value">Value to add to each component</param>
<param name="color">Source color</param>
<returns>Added color</returns>
</member>
<member name="M:Assimp.Color4D.op_Subtraction(Assimp.Color4D,Assimp.Color4D)">
<summary>
Subtracts the second color from the first color.
</summary>
<param name="a">First color</param>
<param name="b">Second color</param>
<returns>Resulting color</returns>
</member>
<member name="M:Assimp.Color4D.op_Subtraction(Assimp.Color4D,System.Single)">
<summary>
Subtracts the value from each of the color's components.
</summary>
<param name="color">Source color</param>
<param name="value">Value to subtract from each component</param>
<returns>Resulting color</returns>
</member>
<member name="M:Assimp.Color4D.op_Subtraction(System.Single,Assimp.Color4D)">
<summary>
Subtracts the color's components from the value, returning
the result as a new color. Same as <c>new Color4D(value) - color</c>
</summary>
<param name="value">Value for each component of the first color</param>
<param name="color">Second color</param>
<returns>Resulting color</returns>
</member>
<member name="M:Assimp.Color4D.op_Multiply(Assimp.Color4D,Assimp.Color4D)">
<summary>
Multiplies the two colors.
</summary>
<param name="a">First color</param>
<param name="b">Second color</param>
<returns>Multiplied color.</returns>
</member>
<member name="M:Assimp.Color4D.op_Multiply(Assimp.Color4D,System.Single)">
<summary>
Multiplies the color by a scalar value, component wise.
</summary>
<param name="value">Source color</param>
<param name="scale">Scalar value</param>
<returns>Resulting color</returns>
</member>
<member name="M:Assimp.Color4D.op_Multiply(System.Single,Assimp.Color4D)">
<summary>
Multiplies the color by a scalar value, component wise.
</summary>
<param name="scale">Scalar value</param>
<param name="value">Source color</param>
<returns>Resulting color</returns>
</member>
<member name="M:Assimp.Color4D.op_Division(Assimp.Color4D,Assimp.Color4D)">
<summary>
Divides the first color by the second color, component wise.
</summary>
<param name="a">First color</param>
<param name="b">Second color</param>
<returns>Resulting color</returns>
</member>
<member name="M:Assimp.Color4D.op_Division(Assimp.Color4D,System.Single)">
<summary>
Divides the color by a divisor value.
</summary>
<param name="color">Source color</param>
<param name="divisor">Divisor</param>
<returns>Resulting color</returns>
</member>
<member name="M:Assimp.Color4D.op_Equality(Assimp.Color4D,Assimp.Color4D)">
<summary>
Tets equality between two colors.
</summary>
<param name="a">First color</param>
<param name="b">Second color</param>
<returns>True if the colors are equal, false otherwise</returns>
</member>
<member name="M:Assimp.Color4D.op_Inequality(Assimp.Color4D,Assimp.Color4D)">
<summary>
Tets inequality between two colors.
</summary>
<param name="a">First color</param>
<param name="b">Second color</param>
<returns>True if the colors are not equal, false otherwise</returns>
</member>
<member name="M:Assimp.Color4D.Equals(Assimp.Color4D)">
<summary>
Tests equality between this color and another color
</summary>
<param name="other">Color to test against</param>
<returns>True if components are equal</returns>
</member>
<member name="M:Assimp.Color4D.Equals(System.Object)">
<summary>
Tests equality between this color and another object.
</summary>
<param name="obj">Object to test against</param>
<returns>True if the object is a color and the components are equal</returns>
</member>
<member name="M:Assimp.Color4D.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
</returns>
</member>
<member name="M:Assimp.Color4D.ToString">
<summary>
Returns a <see cref="T:System.String"/> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String"/> that represents this instance.
</returns>
</member>
<member name="T:Assimp.Configs.PropertyConfig">
<summary>
Base property config.
</summary>
</member>
<member name="P:Assimp.Configs.PropertyConfig.Name">
<summary>
Gets the property name.
</summary>
</member>
<member name="M:Assimp.Configs.PropertyConfig.#ctor(System.String)">
<summary>
Creates a new property config that has no active Assimp property store.
</summary>
<param name="name">Name of the property.</param>
</member>
<member name="M:Assimp.Configs.PropertyConfig.SetDefaultValue">
<summary>
Sets the current value to the default value.
</summary>
</member>
<member name="M:Assimp.Configs.PropertyConfig.ApplyValue(System.IntPtr)">
<summary>
Applies the property value to the given Assimp property store.
</summary>
<param name="propStore">Assimp property store</param>
</member>
<member name="M:Assimp.Configs.PropertyConfig.OnApplyValue(System.IntPtr)">
<summary>
Applies the property value to the given Assimp property store.
</summary>
<param name="propStore">Assimp property store</param>
</member>
<member name="T:Assimp.Configs.IntegerPropertyConfig">
<summary>
Describes an integer configuration property.
</summary>
</member>
<member name="P:Assimp.Configs.IntegerPropertyConfig.Value">
<summary>
Gets the property value.
</summary>
</member>
<member name="P:Assimp.Configs.IntegerPropertyConfig.DefaultValue">
<summary>
Gets the default property value.
</summary>
</member>
<member name="M:Assimp.Configs.IntegerPropertyConfig.#ctor(System.String,System.Int32)">
<summary>
Constructs a new IntengerPropertyConfig.
</summary>
<param name="name">Name of the property</param>
<param name="value">Property value</param>
</member>
<member name="M:Assimp.Configs.IntegerPropertyConfig.#ctor(System.String,System.Int32,System.Int32)">
<summary>
constructs a new IntegerPropertyConfig with a default value.
</summary>
<param name="name">Name of the property</param>
<param name="value">Property value</param>
<param name="defaultValue">The default property value</param>
</member>
<member name="M:Assimp.Configs.IntegerPropertyConfig.SetDefaultValue">
<summary>
Sets the current value to the default value.
</summary>
</member>
<member name="M:Assimp.Configs.IntegerPropertyConfig.OnApplyValue(System.IntPtr)">
<summary>
Applies the property value to the given Assimp property store.
</summary>
<param name="propStore">Assimp property store</param>
</member>
<member name="T:Assimp.Configs.FloatPropertyConfig">
<summary>
Describes a float configuration property.
</summary>
</member>
<member name="P:Assimp.Configs.FloatPropertyConfig.Value">
<summary>
Gets the property value.
</summary>
</member>
<member name="P:Assimp.Configs.FloatPropertyConfig.DefaultValue">
<summary>
Gets the default property value.
</summary>
</member>
<member name="M:Assimp.Configs.FloatPropertyConfig.#ctor(System.String,System.Single)">
<summary>
Constructs a new FloatPropertyConfig.
</summary>
<param name="name">Name of the property</param>
<param name="value">Property value</param>
</member>
<member name="M:Assimp.Configs.FloatPropertyConfig.#ctor(System.String,System.Single,System.Single)">
<summary>
Constructs a new FloatPropertyConfig with a default value.
</summary>
<param name="name">Name of the property</param>
<param name="value">Property value</param>
<param name="defaultValue">The default property value</param>
</member>
<member name="M:Assimp.Configs.FloatPropertyConfig.SetDefaultValue">
<summary>
Sets the current value to the default value.
</summary>
</member>
<member name="M:Assimp.Configs.FloatPropertyConfig.OnApplyValue(System.IntPtr)">
<summary>
Applies the property value to the given Assimp property store.
</summary>
<param name="propStore">Assimp property store</param>
</member>
<member name="T:Assimp.Configs.MatrixPropertyConfig">
<summary>
Describes a <see cref="T:Assimp.Matrix4x4"/> configuration property.
</summary>
</member>
<member name="P:Assimp.Configs.MatrixPropertyConfig.Value">
<summary>
Gets the property value.
</summary>
</member>
<member name="P:Assimp.Configs.MatrixPropertyConfig.DefaultValue">
<summary>
Gets the default property value.
</summary>
</member>
<member name="M:Assimp.Configs.MatrixPropertyConfig.#ctor(System.String,Assimp.Matrix4x4)">
<summary>
Constructs a new MatrixPropertyConfig.
</summary>
<param name="name">Name of the property</param>
<param name="value">Property value</param>
</member>
<member name="M:Assimp.Configs.MatrixPropertyConfig.#ctor(System.String,Assimp.Matrix4x4,Assimp.Matrix4x4)">
<summary>
Constructs a new MatrixPropertyConfig.
</summary>
<param name="name">Name of the property</param>
<param name="value">Property value</param>
<param name="defaultValue">The default property value</param>
</member>
<member name="M:Assimp.Configs.MatrixPropertyConfig.SetDefaultValue">
<summary>
Sets the current value to the default value.
</summary>
</member>
<member name="M:Assimp.Configs.MatrixPropertyConfig.OnApplyValue(System.IntPtr)">
<summary>
Applies the property value to the given Assimp property store.
</summary>
<param name="propStore">Assimp property store</param>
</member>
<member name="T:Assimp.Configs.BooleanPropertyConfig">
<summary>
Describes a boolean configuration property.
</summary>
</member>
<member name="P:Assimp.Configs.BooleanPropertyConfig.Value">
<summary>
Gets the property value.
</summary>
</member>
<member name="P:Assimp.Configs.BooleanPropertyConfig.DefaultValue">
<summary>
Gets the default property value.
</summary>
</member>
<member name="M:Assimp.Configs.BooleanPropertyConfig.#ctor(System.String,System.Boolean)">
<summary>
Constructs a new BooleanPropertyConfig.
</summary>
<param name="name">Name of the property</param>
<param name="value">Property value</param>
</member>
<member name="M:Assimp.Configs.BooleanPropertyConfig.#ctor(System.String,System.Boolean,System.Boolean)">
<summary>
Constructs a new BooleanPropertyConfig with a default value.
</summary>
<param name="name">Name of the property</param>
<param name="value">Property value</param>
<param name="defaultValue">The default property value</param>
</member>
<member name="M:Assimp.Configs.BooleanPropertyConfig.SetDefaultValue">
<summary>
Sets the current value to the default value.
</summary>
</member>
<member name="M:Assimp.Configs.BooleanPropertyConfig.OnApplyValue(System.IntPtr)">
<summary>
Applies the property value to the given Assimp property store.
</summary>
<param name="propStore">Assimp property store</param>
</member>
<member name="T:Assimp.Configs.StringPropertyConfig">
<summary>
Describes a string configuration property.
</summary>
</member>
<member name="P:Assimp.Configs.StringPropertyConfig.Value">
<summary>
Gets the property value.
</summary>
</member>
<member name="P:Assimp.Configs.StringPropertyConfig.DefaultValue">
<summary>
Gets the default property value.
</summary>
</member>
<member name="M:Assimp.Configs.StringPropertyConfig.#ctor(System.String,System.String)">
<summary>
Constructs a new StringPropertyConfig.
</summary>
<param name="name">Name of the property</param>
<param name="value">Property value</param>
</member>
<member name="M:Assimp.Configs.StringPropertyConfig.#ctor(System.String,System.String,System.String)">
<summary>
Constructs a new StringPropertyConfig with a default value.
</summary>
<param name="name">Name of the property</param>
<param name="value">Property value</param>
<param name="defaultValue">The default property value</param>
</member>
<member name="M:Assimp.Configs.StringPropertyConfig.SetDefaultValue">
<summary>
Sets the current value to the default value.
</summary>
</member>
<member name="M:Assimp.Configs.StringPropertyConfig.OnApplyValue(System.IntPtr)">
<summary>
Applies the property value to the given Assimp property store.
</summary>
<param name="propStore">Assimp property store</param>
</member>
<member name="M:Assimp.Configs.StringPropertyConfig.ProcessNames(System.String[])">
<summary>
Convience method for constructing a whitespace delimited name list.
</summary>
<param name="names">Array of names</param>
<returns>White-space delimited list as a string</returns>
</member>
<member name="T:Assimp.Configs.MeasureTimeConfig">
<summary>
Configuration to enable time measurements. If enabled, each
part of the loading process is timed and logged. Default value is false.
</summary>
</member>
<member name="P:Assimp.Configs.MeasureTimeConfig.MeasureTimeConfigName">
<summary>
Gets the string name used by MeasureTimeConfig.
</summary>
</member>
<member name="M:Assimp.Configs.MeasureTimeConfig.#ctor(System.Boolean)">
<summary>
Constructs a new MeasureTimeConfig.
</summary>
<param name="measureTime">True if the loading process should be timed or not.</param>
</member>
<member name="T:Assimp.Configs.MultithreadingConfig">
<summary>
Configuration to set Assimp's multithreading policy. Possible
values are -1 to let Assimp decide, 0 to disable multithreading, or
any number larger than zero to force a specific number of threads. This
is only a hint and may be ignored by Assimp. Default value is -1.
</summary>
</member>
<member name="P:Assimp.Configs.MultithreadingConfig.MultithreadingConfigName">
<summary>
Gets the string name used by MultithreadingConfig.
</summary>
</member>
<member name="M:Assimp.Configs.MultithreadingConfig.#ctor(System.Int32)">
<summary>
Constructs a new MultithreadingConfig.
</summary>
<param name="value">A value of -1 will let Assimp decide,
a value of zero to disable multithreading, and a value greater than zero
to force a specific number of threads.</param>
</member>
<member name="T:Assimp.Configs.NoSkeletonMeshesConfig">
<summary>
Global setting to disable generation of skeleton dummy meshes. These are generated as a visualization aid
in cases which the input data contains no geometry, but only animation data. So the geometry are visualizing
the bones. Default value is false.
</summary>
</member>
<member name="P:Assimp.Configs.NoSkeletonMeshesConfig.NoSkeletonMeshesConfigName">
<summary>
Gets the string name used by NoSkeletonMeshConfig.
</summary>
</member>
<member name="M:Assimp.Configs.NoSkeletonMeshesConfig.#ctor(System.Boolean)">
<summary>
Constructs a new NoSkeletonMeshConfig.
</summary>
<param name="disableDummySkeletonMeshes">True if dummy skeleton mesh generation should be disabled, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.TangentSmoothingAngleConfig">
<summary>
Configuration to set the maximum angle that may be between two vertex tangents/bitangents
when they are smoothed during the step to calculate the tangent basis. The default
value is 45 degrees.
</summary>
</member>
<member name="P:Assimp.Configs.TangentSmoothingAngleConfig.TangentSmoothingAngleConfigName">
<summary>
Gets the string name used by TangentSmoothingAngleConfig.
</summary>
</member>
<member name="M:Assimp.Configs.TangentSmoothingAngleConfig.#ctor(System.Single)">
<summary>
Constructs a new TangentSmoothingAngleConfig.
</summary>
<param name="angle">Smoothing angle, in degrees.</param>
</member>
<member name="T:Assimp.Configs.NormalSmoothingAngleConfig">
<summary>
Configuration to set the maximum angle between two face normals at a vertex when
they are smoothed during the step to calculate smooth normals. This is frequently
called the "crease angle". The maximum and default value is 175 degrees.
</summary>
</member>
<member name="P:Assimp.Configs.NormalSmoothingAngleConfig.NormalSmoothingAngleConfigName">
<summary>
Gets the string name used by NormalSmoothingAngleConfig.
</summary>
</member>
<member name="M:Assimp.Configs.NormalSmoothingAngleConfig.#ctor(System.Single)">
<summary>
Constructs a new NormalSmoothingAngleConfig.
</summary>
<param name="angle">Smoothing angle, in degrees.</param>
</member>
<member name="T:Assimp.Configs.MDLColorMapConfig">
<summary>
Configuration to set the colormap (palette) to be used to decode embedded textures in MDL (Quake or 3DG5)
files. This must be a valid path to a file. The file is 768 (256 * 3) bytes alrge and contains
RGB triplets for each of the 256 palette entries. If the file is not found, a
default palette (from Quake 1) is used. The default value is "colormap.lmp".
</summary>
</member>
<member name="P:Assimp.Configs.MDLColorMapConfig.MDLColorMapConfigName">
<summary>
Gets the string name used by MDLColorMapConfig.
</summary>
</member>
<member name="M:Assimp.Configs.MDLColorMapConfig.#ctor(System.String)">
<summary>
Constructs a new MDLColorMapConfig.
</summary>
<param name="fileName">Colormap filename</param>
</member>
<member name="T:Assimp.Configs.MaterialExcludeListConfig">
<summary>
Configuration for the the <see cref="F:Assimp.PostProcessSteps.RemoveRedundantMaterials"/> step
to determine what materials to keep. If a material matches one of these names it will not
be modified or removed by the post processing step. Default is an empty string.
</summary>
</member>
<member name="P:Assimp.Configs.MaterialExcludeListConfig.MaterialExcludeListConfigName">
<summary>
Gets the string name used by MaterialExcludeListConfig.
</summary>
</member>
<member name="M:Assimp.Configs.MaterialExcludeListConfig.#ctor(System.String[])">
<summary>
Constructs a new MaterialExcludeListConfig. Material names containing whitespace
<c>must</c> be enclosed in single quotation marks.
</summary>
<param name="materialNames">List of material names that will not be modified or replaced by the remove redundant materials post process step.</param>
</member>
<member name="T:Assimp.Configs.KeepSceneHierarchyConfig">
<summary>
Configuration for the <see cref="F:Assimp.PostProcessSteps.PreTransformVertices"/> step
to keep the scene hierarchy. Meshes are moved to worldspace, but no optimization is performed
where meshes with the same materials are not joined. This option can be useful
if you have a scene hierarchy that contains important additional information
which you intend to parse. The default value is false.
</summary>
</member>
<member name="P:Assimp.Configs.KeepSceneHierarchyConfig.KeepSceneHierarchyConfigName">
<summary>
Gets the string name used by KeepSceneHierarchyConfig.
</summary>
</member>
<member name="M:Assimp.Configs.KeepSceneHierarchyConfig.#ctor(System.Boolean)">
<summary>
Constructs a new KeepHierarchyConfig.
</summary>
<param name="keepHierarchy">True to keep the hierarchy, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.NormalizeVertexComponentsConfig">
<summary>
Configuration for the <see cref="F:Assimp.PostProcessSteps.PreTransformVertices"/> step
to normalize all vertex components into the -1...1 range. The default value is
false.
</summary>
</member>
<member name="P:Assimp.Configs.NormalizeVertexComponentsConfig.NormalizeVertexComponentsConfigName">
<summary>
Gets the string name used by NormalizeVertexComponentsConfig.
</summary>
</member>
<member name="M:Assimp.Configs.NormalizeVertexComponentsConfig.#ctor(System.Boolean)">
<summary>
Constructs a new NormalizeVertexComponentsConfig.
</summary>
<param name="normalizeVertexComponents">True if the post process step should normalize vertex components, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.RemoveDegeneratePrimitivesConfig">
<summary>
Configuration for the <see cref="F:Assimp.PostProcessSteps.FindDegenerates"/> step to
remove degenerted primitives from the import immediately. The default value is false,
where degenerated triangles are converted to lines, and degenerated lines to points.
</summary>
</member>
<member name="P:Assimp.Configs.RemoveDegeneratePrimitivesConfig.RemoveDegeneratePrimitivesConfigName">
<summary>
Gets the string name used by RemoveDegeneratePrimitivesConfig.
</summary>
</member>
<member name="M:Assimp.Configs.RemoveDegeneratePrimitivesConfig.#ctor(System.Boolean)">
<summary>
Constructs a new RemoveDegeneratePrimitivesConfig.
</summary>
<param name="removeDegenerates">True if the post process step should remove degenerate primitives, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.RemoveDegeneratePrimitivesCheckAreaConfig">
<summary>
Configuration for the <see cref="F:Assimp.PostProcessSteps.FindDegenerates"/> step. If true, the area of the triangles are checked
to see if they are greater than 1e-6. If so, the triangle is removed if <see cref="T:Assimp.Configs.RemoveDegeneratePrimitivesConfig"/> is set to true.
</summary>
</member>
<member name="P:Assimp.Configs.RemoveDegeneratePrimitivesCheckAreaConfig.RemoveDegeneratePrimitivesCheckAreaConfigName">
<summary>
Gets the string name used by RemoveDegeneratePrimitivesCheckAreaConfig.
</summary>
</member>
<member name="M:Assimp.Configs.RemoveDegeneratePrimitivesCheckAreaConfig.#ctor(System.Boolean)">
<summary>
Constructs a new RemoveDegeneratePrimitivesCheckAreaConfig.
</summary>
<param name="checkArea">True if the post process step should check the area of triangles when finding degenerate primitives, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.NodeExcludeListConfig">
<summary>
Configuration for the <see cref="F:Assimp.PostProcessSteps.OptimizeGraph"/> step
to preserve nodes matching a name in the given list. Nodes that match the names in the list
will not be modified or removed. Identifiers containing whitespaces
<c>must</c> be enclosed in single quotation marks. The default value is an
empty string.
</summary>
</member>
<member name="P:Assimp.Configs.NodeExcludeListConfig.NodeExcludeListConfigName">
<summary>
Gets the string name used by NodeExcludeListConfig.
</summary>
</member>
<member name="M:Assimp.Configs.NodeExcludeListConfig.#ctor(System.String[])">
<summary>
Constructs a new NodeExcludeListConfig.
</summary>
<param name="nodeNames">List of node names</param>
</member>
<member name="T:Assimp.Configs.MeshTriangleLimitConfig">
<summary>
Configuration for the <see cref="F:Assimp.PostProcessSteps.SplitLargeMeshes"/> step
that specifies the maximum number of triangles a mesh can contain. The
default value is MeshTriangleLimitConfigDefaultValue.
</summary>
</member>
<member name="P:Assimp.Configs.MeshTriangleLimitConfig.MeshTriangleLimitConfigName">
<summary>
Gets the string name used by MeshTriangleLimitConfig.
</summary>
</member>
<member name="P:Assimp.Configs.MeshTriangleLimitConfig.MeshTriangleLimitConfigDefaultValue">
<summary>
Gets the defined default limit value, this corresponds to the
<see cref="F:Assimp.Unmanaged.AiDefines.AI_SLM_DEFAULT_MAX_TRIANGLES"/> constant.
</summary>
</member>
<member name="M:Assimp.Configs.MeshTriangleLimitConfig.#ctor(System.Int32)">
<summary>
Constructs a new MeshTriangleLimitConfig.
</summary>
<param name="maxTriangleLimit">Max number of triangles a mesh can contain.</param>
</member>
<member name="T:Assimp.Configs.MeshVertexLimitConfig">
<summary>
Configuration for the <see cref="F:Assimp.PostProcessSteps.SplitLargeMeshes"/> step
that specifies the maximum number of vertices a mesh can contain. The
default value is MeshVertexLimitConfigDefaultValue.
</summary>
</member>
<member name="P:Assimp.Configs.MeshVertexLimitConfig.MeshVertexLimitConfigName">
<summary>
Gets the string name used by MeshVertexLimitConfig.
</summary>
</member>
<member name="P:Assimp.Configs.MeshVertexLimitConfig.MeshVertexLimitConfigDefaultValue">
<summary>
Gets the defined default limit value, this corresponds to the
<see cref="F:Assimp.Unmanaged.AiDefines.AI_SLM_DEFAULT_MAX_VERTICES"/> constant.
</summary>
</member>
<member name="M:Assimp.Configs.MeshVertexLimitConfig.#ctor(System.Int32)">
<summary>
Constructs a new MeshVertexLimitConfig.
</summary>
<param name="maxVertexLimit">Max number of vertices a mesh can contain.</param>
</member>
<member name="T:Assimp.Configs.VertexBoneWeightLimitConfig">
<summary>
Configuration for the <see cref="F:Assimp.PostProcessSteps.LimitBoneWeights"/> step
that specifies the maximum number of bone weights per vertex. The default
value is VertexBoneWeightLimitConfigDefaultValue.
</summary>
</member>
<member name="P:Assimp.Configs.VertexBoneWeightLimitConfig.VertexBoneWeightLimitConfigName">
<summary>
gets the string name used by VertexBoneWeightLimitConfig.
</summary>
</member>
<member name="P:Assimp.Configs.VertexBoneWeightLimitConfig.VertexBoneWeightLimitConfigDefaultValue">
<summary>
Gets the defined default limit value, this corresponds to the
<see cref="F:Assimp.Unmanaged.AiDefines.AI_LBW_MAX_WEIGHTS"/> constant.
</summary>
</member>
<member name="M:Assimp.Configs.VertexBoneWeightLimitConfig.#ctor(System.Int32)">
<summary>
Constructs a new VertexBoneWeightLimitConfig.
</summary>
<param name="maxBoneWeights">Max number of bone weights per vertex.</param>
</member>
<member name="T:Assimp.Configs.VertexCacheSizeConfig">
<summary>
Configuration for the <see cref="F:Assimp.PostProcessSteps.ImproveCacheLocality"/> step
that specifies the size of the post-transform vertex cache. The size is
given in number of vertices and the default value is VertexCacheSizeConfigDefaultValue.
</summary>
</member>
<member name="P:Assimp.Configs.VertexCacheSizeConfig.VertexCacheSizeConfigName">
<summary>
Gets the string name used by VertexCacheConfig.
</summary>
</member>
<member name="P:Assimp.Configs.VertexCacheSizeConfig.VertexCacheSizeConfigDefaultValue">
<summary>
Gets the defined default vertex cache size, this corresponds to
the <see cref="F:Assimp.Unmanaged.AiDefines.PP_ICL_PTCACHE_SIZE"/>.
</summary>
</member>
<member name="M:Assimp.Configs.VertexCacheSizeConfig.#ctor(System.Int32)">
<summary>
Constructs a new VertexCacheSizeConfig.
</summary>
<param name="vertexCacheSize">Size of the post-transform vertex cache, in number of vertices.</param>
</member>
<member name="T:Assimp.Configs.RemoveComponentConfig">
<summary>
Configuration for the <see cref="F:Assimp.PostProcessSteps.RemoveComponent"/> step that
specifies which parts of the data structure is to be removed. If no valid mesh
remains after the step, the import fails. The default value i <see cref="F:Assimp.ExcludeComponent.None"/>.
</summary>
</member>
<member name="P:Assimp.Configs.RemoveComponentConfig.RemoveComponentConfigName">
<summary>
Gets the string name used by RemoveComponentConfig.
</summary>
</member>
<member name="M:Assimp.Configs.RemoveComponentConfig.#ctor(Assimp.ExcludeComponent)">
<summary>
Constructs a new RemoveComponentConfig.
</summary>
<param name="componentsToExclude">Bit-wise combination of components to exclude.</param>
</member>
<member name="T:Assimp.Configs.SortByPrimitiveTypeConfig">
<summary>
Configuration for the <see cref="F:Assimp.PostProcessSteps.SortByPrimitiveType"/> step that
specifies which primitive types are to be removed by the step. Specifying all
primitive types is illegal. The default value is zero specifying none.
</summary>
</member>
<member name="P:Assimp.Configs.SortByPrimitiveTypeConfig.SortByPrimitiveTypeConfigName">
<summary>
Gets the string name used by SortByPrimitiveTypeConfig.
</summary>
</member>
<member name="M:Assimp.Configs.SortByPrimitiveTypeConfig.#ctor(Assimp.PrimitiveType)">
<summary>
Constructs a new SortByPrimitiveTypeConfig.
</summary>
<param name="typesToRemove">Bit-wise combination of primitive types to remove</param>
</member>
<member name="T:Assimp.Configs.AnimationAccuracyConfig">
<summary>
Configuration for the <see cref="F:Assimp.PostProcessSteps.FindInvalidData"/> step that
specifies the floating point accuracy for animation values, specifically
the episilon during comparisons. The default value is 0.0f.
</summary>
</member>
<member name="P:Assimp.Configs.AnimationAccuracyConfig.AnimationAccuracyConfigName">
<summary>
Gets the string name used by AnimationAccuracyConfig.
</summary>
</member>
<member name="M:Assimp.Configs.AnimationAccuracyConfig.#ctor(System.Single)">
<summary>
Constructs a new AnimationAccuracyConfig.
</summary>
<param name="episilon">Episilon for animation value comparisons.</param>
</member>
<member name="T:Assimp.Configs.TransformUVConfig">
<summary>
Configuration for the <see cref="F:Assimp.PostProcessSteps.TransformUVCoords"/> step that
specifies which UV transformations are to be evaluated. The default value
is for all combinations (scaling, rotation, translation).
</summary>
</member>
<member name="P:Assimp.Configs.TransformUVConfig.TransformUVConfigName">
<summary>
Gets the string name used by TransformUVConfig.
</summary>
</member>
<member name="M:Assimp.Configs.TransformUVConfig.#ctor(Assimp.UVTransformFlags)">
<summary>
Constructs a new TransformUVConfig.
</summary>
<param name="transformFlags">Bit-wise combination specifying which UV transforms that should be evaluated.</param>
</member>
<member name="T:Assimp.Configs.FavorSpeedConfig">
<summary>
Configuration that is a hint to Assimp to favor speed against import quality. Enabling this
option may result in faster loading, or it may not. It is just a hint to loaders
and post-process steps to use faster code paths if possible. The default value is false.
</summary>
</member>
<member name="P:Assimp.Configs.FavorSpeedConfig.FavorSpeedConfigName">
<summary>
Gets the string name used by FavorSpeedConfig.
</summary>
</member>
<member name="M:Assimp.Configs.FavorSpeedConfig.#ctor(System.Boolean)">
<summary>
Constructs a new FavorSpeedConfig.
</summary>
<param name="favorSpeed">True if Assimp should favor speed at the expense of quality, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.MaxBoneCountConfig">
<summary>
Configures the maximum bone count per mesh for the <see cref="F:Assimp.PostProcessSteps.SplitByBoneCount"/> step. Meshes are
split until the maximum number of bones is reached.
</summary>
</member>
<member name="P:Assimp.Configs.MaxBoneCountConfig.MaxBoneCountConfigName">
<summary>
Gets the string name used by MaxBoneCountConfig.
</summary>
</member>
<member name="M:Assimp.Configs.MaxBoneCountConfig.#ctor(System.Int32)">
<summary>
Constructs a new MaxBoneCountConfig.
</summary>
<param name="maxBones">The maximum bone count.</param>
</member>
<member name="T:Assimp.Configs.TangentTextureChannelIndexConfig">
<summary>
Configures which texture channel is used for tangent space computations. The channel must exist or an error will be raised.
</summary>
</member>
<member name="P:Assimp.Configs.TangentTextureChannelIndexConfig.TangentTextureChannelIndexConfigName">
<summary>
Gets the string name used by TangentTextureChannelIndexConfig.
</summary>
</member>
<member name="M:Assimp.Configs.TangentTextureChannelIndexConfig.#ctor(System.Int32)">
<summary>
Constructs a new TangentTextureChannelIndexConfig.
</summary>
<param name="textureChannelIndex">The zero-based texture channel index.</param>
</member>
<member name="T:Assimp.Configs.DeboneThresholdConfig">
<summary>
Configures the <see cref="F:Assimp.PostProcessSteps.Debone"/> threshold that is used to determine what bones are removed.
</summary>
</member>
<member name="P:Assimp.Configs.DeboneThresholdConfig.DeboneThresholdConfigName">
<summary>
Gets the string name used by DeboneThresholdConfig.
</summary>
</member>
<member name="M:Assimp.Configs.DeboneThresholdConfig.#ctor(System.Single)">
<summary>
Constructs a new DeboneThresholdConfig.
</summary>
<param name="threshold">The debone threshold.</param>
</member>
<member name="T:Assimp.Configs.DeboneAllOrNoneConfig">
<summary>
Configuration that requires all bones to qualify for deboning before any are removed.
</summary>
</member>
<member name="P:Assimp.Configs.DeboneAllOrNoneConfig.DeboneAllOrNoneConfigName">
<summary>
Gets the string name used by DeboneAllOrNoneConfig.
</summary>
</member>
<member name="M:Assimp.Configs.DeboneAllOrNoneConfig.#ctor(System.Boolean)">
<summary>
Constructs a new DeboneAllOrNoneConfig.
</summary>
<param name="allOrNone">True if all are required, false if none need to qualify.</param>
</member>
<member name="T:Assimp.Configs.RootTransformationConfig">
<summary>
Configuration for <see cref="F:Assimp.PostProcessSteps.PreTransformVertices"/> that sets a user defined matrix as the scene root node transformation before
transforming vertices. Default value is the identity matrix.
</summary>
</member>
<member name="P:Assimp.Configs.RootTransformationConfig.RootTransformationConfigName">
<summary>
Gets the string name used by RootTransformationConfig.
</summary>
</member>
<member name="M:Assimp.Configs.RootTransformationConfig.#ctor(Assimp.Matrix4x4)">
<summary>
Constructs a new RootTransformationConfig.
</summary>
<param name="rootTransform">Root transformation matrix to be set to the root scene node during the pretransform post process step.</param>
</member>
<member name="M:Assimp.Configs.RootTransformationConfig.OnApplyValue(System.IntPtr)">
<summary>
Applies the property value to the given Assimp property store.
</summary>
<param name="propStore">Assimp property store</param>
</member>
<member name="T:Assimp.Configs.GlobalScaleConfig">
<summary>
Configures the <see cref="F:Assimp.PostProcessSteps.GlobalScale"/> step to scale the entire scene by a certain amount. Some importers provide a mechanism to define a scaling unit for the model,
which this processing step can utilize.
</summary>
<seealso cref="T:Assimp.Configs.FloatPropertyConfig" />
</member>
<member name="P:Assimp.Configs.GlobalScaleConfig.GlobalScaleConfigName">
<summary>
Gets the string name used by GlobalScaleConfig.
</summary>
</member>
<member name="M:Assimp.Configs.GlobalScaleConfig.#ctor(System.Single)">
<summary>
Constructs a new GlobalScaleConfig.
</summary>
<param name="globalScale">Value to scale the entire scene by.</param>
</member>
<member name="T:Assimp.Configs.GlobalKeyFrameImportConfig">
<summary>
Sets the vertex animation keyframe to be imported. Assimp does not support vertex keyframes (only
bone animation is supported). the library reads only one keyframe with vertex animations. By default this is the
first frame. This config sets the "global" keyframe that will be imported. There are other configs
for specific importers that will override the global setting.
</summary>
</member>
<member name="P:Assimp.Configs.GlobalKeyFrameImportConfig.GlobalKeyFrameImportConfigName">
<summary>
Gets the string name used by GlobalKeyFrameImportConfig.
</summary>
</member>
<member name="M:Assimp.Configs.GlobalKeyFrameImportConfig.#ctor(System.Int32)">
<summary>
Constructs a new GlobalKeyFrameImportConfig.
</summary>
<param name="keyFrame">Keyframe index</param>
</member>
<member name="T:Assimp.Configs.MD3KeyFrameImportConfig">
<summary>
Sets the vertex animation keyframe to be imported. Assimp does not support vertex keyframes (only
bone animation is supported). the library reads only one keyframe with vertex animations. By default this is the
first frame. This config sets the global override for the MD3 format.
</summary>
</member>
<member name="P:Assimp.Configs.MD3KeyFrameImportConfig.MD3KeyFrameImportConfigName">
<summary>
Gets the string name used by MD3KeyFrameImportConfig.
</summary>
</member>
<member name="M:Assimp.Configs.MD3KeyFrameImportConfig.#ctor(System.Int32)">
<summary>
Constructs a new MD3KeyFrameImportConfig.
</summary>
<param name="keyFrame">Keyframe index</param>
</member>
<member name="T:Assimp.Configs.MD2KeyFrameImportConfig">
<summary>
Sets the vertex animation keyframe to be imported. Assimp does not support vertex keyframes (only
bone animation is supported). the library reads only one keyframe with vertex animations. By default this is the
first frame. This config sets the global override for the MD2 format.
</summary>
</member>
<member name="P:Assimp.Configs.MD2KeyFrameImportConfig.MD2KeyFrameImportConfigName">
<summary>
Gets the string name used by MD2KeyFrameImportConfig.
</summary>
</member>
<member name="M:Assimp.Configs.MD2KeyFrameImportConfig.#ctor(System.Int32)">
<summary>
Constructs a new MD2KeyFrameImportConfig.
</summary>
<param name="keyFrame">Keyframe index</param>
</member>
<member name="T:Assimp.Configs.MDLKeyFrameImportConfig">
<summary>
Sets the vertex animation keyframe to be imported. Assimp does not support vertex keyframes (only
bone animation is supported). the library reads only one keyframe with vertex animations. By default this is the
first frame. This config sets the global override for the MDL format.
</summary>
</member>
<member name="P:Assimp.Configs.MDLKeyFrameImportConfig.MDLKeyFrameImportConfigName">
<summary>
Gets the string name used by MDLKeyFrameImportConfig.
</summary>
</member>
<member name="M:Assimp.Configs.MDLKeyFrameImportConfig.#ctor(System.Int32)">
<summary>
Constructs a new MDLKeyFrameImportConfig.
</summary>
<param name="keyFrame">Keyframe index</param>
</member>
<member name="T:Assimp.Configs.SMDKeyFrameImportConfig">
<summary>
Sets the vertex animation keyframe to be imported. Assimp does not support vertex keyframes (only
bone animation is supported). the library reads only one keyframe with vertex animations. By default this is the
first frame. This config sets the global override for the SMD format.
</summary>
</member>
<member name="P:Assimp.Configs.SMDKeyFrameImportConfig.SMDKeyFrameImportConfigName">
<summary>
Gets the string name used by SMDKeyFrameImportConfig.
</summary>
</member>
<member name="M:Assimp.Configs.SMDKeyFrameImportConfig.#ctor(System.Int32)">
<summary>
Constructs a new SMDKeyFrameImportConfig.
</summary>
<param name="keyFrame">Keyframe index</param>
</member>
<member name="T:Assimp.Configs.UnrealKeyFrameImportConfig">
<summary>
Sets the vertex animation keyframe to be imported. Assimp does not support vertex keyframes (only
bone animation is supported). the library reads only one keyframe with vertex animations. By default this is the
first frame. This config sets the global override for the Unreal format.
</summary>
</member>
<member name="P:Assimp.Configs.UnrealKeyFrameImportConfig.UnrealKeyFrameImportConfigName">
<summary>
Gets the string name used by UnrealKeyFrameImportConfig.
</summary>
</member>
<member name="M:Assimp.Configs.UnrealKeyFrameImportConfig.#ctor(System.Int32)">
<summary>
Constructs a new UnrealKeyFrameImportConfig.
</summary>
<param name="keyFrame">Keyframe index</param>
</member>
<member name="T:Assimp.Configs.ACSeparateBackfaceCullConfig">
<summary>
Configures the AC loader to collect all surfaces which have the "Backface cull" flag set in separate
meshes. The default value is true.
</summary>
</member>
<member name="P:Assimp.Configs.ACSeparateBackfaceCullConfig.ACSeparateBackfaceCullConfigName">
<summary>
Gets the string name used by ACSeparateBackfaceCullConfig.
</summary>
</member>
<member name="M:Assimp.Configs.ACSeparateBackfaceCullConfig.#ctor(System.Boolean)">
<summary>
Constructs a new ACSeparateBackfaceCullConfig.
</summary>
<param name="separateBackfaces">True if all surfaces that have the "backface cull" flag set should be collected in separate meshes, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.ACEvaluateSubdivisionConfig">
<summary>
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. The default value is true.
</summary>
</member>
<member name="P:Assimp.Configs.ACEvaluateSubdivisionConfig.ACEvaluateSubdivisionConfigName">
<summary>
Gets the string name used by ACEvaluateSubdivisionConfig.
</summary>
</member>
<member name="M:Assimp.Configs.ACEvaluateSubdivisionConfig.#ctor(System.Boolean)">
<summary>
Constructs a new ACEvaluateSubdivisionConfig.
</summary>
<param name="evaluateSubdivision">True if the AC loader should evaluate subdivisions, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.UnrealHandleFlagsConfig">
<summary>
Configures the UNREAL 3D loader to separate faces with different surface flags (e.g. two-sided vs single-sided).
The default value is true.
</summary>
</member>
<member name="P:Assimp.Configs.UnrealHandleFlagsConfig.UnrealHandleFlagsConfigName">
<summary>
Gets the string name used by UnrealHandleFlagsConfig.
</summary>
</member>
<member name="M:Assimp.Configs.UnrealHandleFlagsConfig.#ctor(System.Boolean)">
<summary>
Constructs a new UnrealHandleFlagsConfig.
</summary>
<param name="handleFlags">True if the unreal loader should separate faces with different surface flags, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.TerragenComputeTexCoordsConfig">
<summary>
Configures the terragen import plugin to compute UV's for terrains, if
they are not given. Furthermore, a default texture is assigned. The default value is false.
<para>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.</para>
</summary>
</member>
<member name="P:Assimp.Configs.TerragenComputeTexCoordsConfig.TerragenComputeTexCoordsConfigName">
<summary>
Gets the string name used by TerragenComputeTexCoordsConfig.
</summary>
</member>
<member name="M:Assimp.Configs.TerragenComputeTexCoordsConfig.#ctor(System.Boolean)">
<summary>
Constructs a new TerragenComputeTexCoordsConfig.
</summary>
<param name="computeTexCoords">True if terran UV coordinates should be computed, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.ASEReconstructNormalsConfig">
<summary>
Configures the ASE loader to always reconstruct normal vectors basing on the smoothing groups
loaded from the file. Some ASE files carry invalid normals, others don't. The default value is true.
</summary>
</member>
<member name="P:Assimp.Configs.ASEReconstructNormalsConfig.ASEReconstructNormalsConfigName">
<summary>
Gets the string name used by ASEReconstructNormalsConfig.
</summary>
</member>
<member name="M:Assimp.Configs.ASEReconstructNormalsConfig.#ctor(System.Boolean)">
<summary>
Constructs a new ASEReconstructNormalsConfig.
</summary>
<param name="reconstructNormals">True if normals should be re-computed, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.MD3HandleMultiPartConfig">
<summary>
Configures the M3D loader to detect and process multi-part Quake player models. These models
usually consit of three files, lower.md3, upper.md3 and head.md3. If this propery is
set to true, Assimp will try to load and combine all three files if one of them is loaded. The
default value is true.
</summary>
</member>
<member name="P:Assimp.Configs.MD3HandleMultiPartConfig.MD3HandleMultiPartConfigName">
<summary>
Gets the string name used by MD3HandleMultiPartConfig.
</summary>
</member>
<member name="M:Assimp.Configs.MD3HandleMultiPartConfig.#ctor(System.Boolean)">
<summary>
Constructs a new MD3HandleMultiPartConfig.
</summary>
<param name="handleMultiParts">True if the split files should be loaded and combined, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.MD3SkinNameConfig">
<summary>
Tells the MD3 loader which skin files to load. When loading MD3 files, Assimp checks
whether a file named "md3_file_name"_"skin_name".skin exists. 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. The default string value is "default".
</summary>
</member>
<member name="P:Assimp.Configs.MD3SkinNameConfig.MD3SkinNameConfigName">
<summary>
Gets the string name used by MD3SkinNameConfig.
</summary>
</member>
<member name="M:Assimp.Configs.MD3SkinNameConfig.#ctor(System.String)">
<summary>
Constructs a new MD3SkinNameConfig.
</summary>
<param name="skinName">The skin name.</param>
</member>
<member name="T:Assimp.Configs.MD3ShaderSourceConfig">
<summary>
Specifies the Quake 3 shader file to be used for a particular MD3 file. This can be a full path or
relative to where all MD3 shaders reside. the default string value is an empty string.
</summary>
</member>
<member name="P:Assimp.Configs.MD3ShaderSourceConfig.MD3ShaderSourceConfigName">
<summary>
Gets the string name used by MD3ShaderSourceConfig.
</summary>
</member>
<member name="M:Assimp.Configs.MD3ShaderSourceConfig.#ctor(System.String)">
<summary>
Constructs a new MD3ShaderSourceConfig.
</summary>
<param name="shaderFile">The shader file.</param>
</member>
<member name="T:Assimp.Configs.LWOImportOneLayerConfig">
<summary>
Configures the LWO loader to load just one layer from the model.
<para>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 then the whole LWO model is loaded. Loading fails
if the requested layer is not vailable. The layer index is zero-based and the layer name may not be empty</para>
The default value is false (all layers are loaded).
</summary>
</member>
<member name="P:Assimp.Configs.LWOImportOneLayerConfig.LWOImportOneLayerConfigName">
<summary>
Gets the string name used by LWOImportOneLayerConfig.
</summary>
</member>
<member name="M:Assimp.Configs.LWOImportOneLayerConfig.#ctor(System.Boolean)">
<summary>
Constructs a new LWOImportOneLayerConfig.
</summary>
<param name="importOneLayerOnly">True if only one layer should be imported, false if all layers should be imported.</param>
</member>
<member name="T:Assimp.Configs.MD5NoAnimationAutoLoadConfig">
<summary>
Configures the MD5 loader to not load the MD5ANIM file for a MD5MESH file automatically.
The default value is false.
<para>The default strategy is to look for a file with the same name but with 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 behavior.</para>
</summary>
</member>
<member name="P:Assimp.Configs.MD5NoAnimationAutoLoadConfig.MD5NoAnimationAutoLoadConfigName">
<summary>
Gets the string name used by MD5NoAnimationAutoLoadConfig.
</summary>
</member>
<member name="M:Assimp.Configs.MD5NoAnimationAutoLoadConfig.#ctor(System.Boolean)">
<summary>
Constructs a new MD5NoAnimationAutoLoadConfig.
</summary>
<param name="noAutoLoadAnim">True if animations should not be automatically loaded, false if they should be.</param>
</member>
<member name="T:Assimp.Configs.LWSAnimationStartConfig">
<summary>
Defines the beginning of the time range for which the LWS loader evaluates animations and computes
AiNodeAnim's. The default value is the one taken from the file.
<para>Assimp provides full conversion of Lightwave's envelope system, including pre and post
conditions. The loader computes linearly subsampled animation channels with the frame rate
given in the LWS file. This property defines the start time.</para>
<para>Animation channels are only generated if a node has at least one envelope with more than one key
assigned. This property is given in frames where '0' is the first. By default,
if this property is not set, the importer takes the animation start from the input LWS
file ('FirstFrame' line)</para>
</summary>
</member>
<member name="P:Assimp.Configs.LWSAnimationStartConfig.LWSAnimationStartConfigName">
<summary>
Gets the string name used by LWSAnimationStartConfig.
</summary>
</member>
<member name="M:Assimp.Configs.LWSAnimationStartConfig.#ctor(System.Int32)">
<summary>
Constructs a new LWSAnimationStartConfig.
</summary>
<param name="animStart">Beginning of the time range</param>
</member>
<member name="T:Assimp.Configs.LWSAnimationEndConfig">
<summary>
Defines the ending of the time range for which the LWS loader evaluates animations and computes
AiNodeAnim's. The default value is the one taken from the file
<para>Assimp provides full conversion of Lightwave's envelope system, including pre and post
conditions. The loader computes linearly subsampled animation channels with the frame rate
given in the LWS file. This property defines the end time.</para>
<para>Animation channels are only generated if a node has at least one envelope with more than one key
assigned. This property is given in frames where '0' is the first. By default,
if this property is not set, the importer takes the animation end from the input LWS
file.</para>
</summary>
</member>
<member name="P:Assimp.Configs.LWSAnimationEndConfig.LWSAnimationEndConfigName">
<summary>
Gets the string name used by LWSAnimationEndConfig.
</summary>
</member>
<member name="M:Assimp.Configs.LWSAnimationEndConfig.#ctor(System.Int32)">
<summary>
Constructs a new LWSAnimationEndConfig.
</summary>
<param name="animEnd">Ending of the time range</param>
</member>
<member name="T:Assimp.Configs.IRRAnimationFrameRateConfig">
<summary>
Defines the output frame rate of the IRR loader.
<para>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.</para>
The default value is 100 frames per second.
</summary>
</member>
<member name="P:Assimp.Configs.IRRAnimationFrameRateConfig.IRRAnimationFrameRateConfigName">
<summary>
Gets the string name used by IRRAnimationFrameRateConfig.
</summary>
</member>
<member name="M:Assimp.Configs.IRRAnimationFrameRateConfig.#ctor(System.Int32)">
<summary>
Constructs a new IRRAnimationFramerateConfig.
</summary>
<param name="frameRate">Number of frames per second to output.</param>
</member>
<member name="T:Assimp.Configs.OgreMaterialFileConfig">
<summary>
The Ogre importer will try to load this MaterialFile. Ogre meshes reference with material names, this does not tell Assimp
where the file is located. 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. The default value is "Scene.Material".
</summary>
</member>
<member name="P:Assimp.Configs.OgreMaterialFileConfig.OgreMaterialFileConfigName">
<summary>
Gets the string name used by OgreMaterialFileConfig.
</summary>
</member>
<member name="M:Assimp.Configs.OgreMaterialFileConfig.#ctor(System.String)">
<summary>
Constructs a new OgreMaterialFileConfig.
</summary>
<param name="materialFileName">Material file name to load.</param>
</member>
<member name="T:Assimp.Configs.OgreTextureTypeFromFilenameConfig">
<summary>
The Ogre importer will detect the texture usage from the filename. Normally a texture is loaded as a color map, if no target is specified
in the material file. If this is enabled, then Assimp will try to detect the type from the texture filename postfix:
<list type="bullet">
<item><description>Normal Maps: _n, _nrm, _nrml, _normal, _normals, _normalmap</description></item>
<item><description>Specular Maps: _s, _spec, _specular, _specularmap</description></item>
<item><description>Light Maps: _l, _light, _lightmap, _occ, _occlusion</description></item>
<item><description>Displacement Maps: _dis, _displacement</description></item>
</list>
The matching is case insensitive. Postfix is taken between the last "_" and last ".". The 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 then,
<see cref="F:Assimp.TextureType.Diffuse"/> is used. The default value is false.
</summary>
</member>
<member name="P:Assimp.Configs.OgreTextureTypeFromFilenameConfig.OgreTextureTypeFromFilenameConfigName">
<summary>
Gets the string name used by OgreTextureTypeFromFilenameConfig.
</summary>
</member>
<member name="M:Assimp.Configs.OgreTextureTypeFromFilenameConfig.#ctor(System.Boolean)">
<summary>
Constructs a new OgreTextureTypeFromFilenameConfig.
</summary>
<param name="fileNameDefinesTextureUsage">True if the filename defines texture usage, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.IFCSkipSpaceRepresentationsConfig">
<summary>
Specifies whether the IFC loader skips over IfcSpace elements. IfcSpace elements (and their geometric representations) are used to represent free space in a building story.
</summary>
</member>
<member name="P:Assimp.Configs.IFCSkipSpaceRepresentationsConfig.IFCSkipSpaceRepresentationsConfigName">
<summary>
Gets the string name used by IFCSkipSpaceRepresentationsConfig.
</summary>
</member>
<member name="M:Assimp.Configs.IFCSkipSpaceRepresentationsConfig.#ctor(System.Boolean)">
<summary>
Constructs a new IFCSkipSpaceRepresentationsConfig.
</summary>
<param name="skipSpaceRepresentations">True if the IfcSpace elements are skipped, false if otherwise.</param>
</member>
<member name="T:Assimp.Configs.IFCUseCustomTriangulationConfig">
<summary>
Specifies whether the IFC loader will use its own, custom triangulation algorithm to triangulate wall and floor meshes. If this is set to false,
walls will be either triangulated by the post process triangulation or will be passed through as huge polygons with faked holes (e.g. holes that are connected
with the outer boundary using a dummy edge). It is highly recommended to leave this property set to true as the default post process has some known
issues with these kind of polygons.
</summary>
</member>
<member name="P:Assimp.Configs.IFCUseCustomTriangulationConfig.IFCUseCustomTriangulationConfigName">
<summary>
Gets the string name used by IFCUseCustomTriangulationConfig.
</summary>
</member>
<member name="M:Assimp.Configs.IFCUseCustomTriangulationConfig.#ctor(System.Boolean)">
<summary>
Constructs a new IFCUseCustomTriangulationConfig.
</summary>
<param name="useCustomTriangulation">True if the loader should use its own triangulation routine for walls/floors, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.IFCSmoothingAngleConfig">
<summary>
Specifies the tessellation conic angle for IFC smoothing curves. Accepted range of values is between [5, 120]
</summary>
</member>
<member name="P:Assimp.Configs.IFCSmoothingAngleConfig.IFCSmoothingAngleConfigName">
<summary>
Gets the string name used by IFCSmoothingAngleConfig.
</summary>
</member>
<member name="M:Assimp.Configs.IFCSmoothingAngleConfig.#ctor(System.Single)">
<summary>
Constructs a new IFCSmoothingAngleConfig.
</summary>
<param name="angle">Smoothing angle when tessellating curves. Needs to be in the range of [5, 120].</param>
</member>
<member name="T:Assimp.Configs.IFCCylindricalTessellationConfig">
<summary>
Specifies the tessellation for IFC cylindrical shapes. E.g. the number of segments used to approximate a circle. Accepted range of values is between [3, 180].
</summary>
</member>
<member name="P:Assimp.Configs.IFCCylindricalTessellationConfig.IFCCylindricalTessellationConfigName">
<summary>
Gets the string name used by IFCCylindricalTessellationConfig.
</summary>
</member>
<member name="M:Assimp.Configs.IFCCylindricalTessellationConfig.#ctor(System.Int32)">
<summary>
Constructs a new IFCCylindricalTessellationConfig.
</summary>
<param name="tessellation">Tessellation of cylindrical shapes (e.g. the number of segments used to approximate a circle). Needs to be in the range of [3, 180].</param>
</member>
<member name="T:Assimp.Configs.ColladaIgnoreUpDirectionConfig">
<summary>
Specifies whether the collada loader will ignore the up direction. Default is false.
</summary>
</member>
<member name="P:Assimp.Configs.ColladaIgnoreUpDirectionConfig.ColladaIgnoreUpDirectionConfigName">
<summary>
Gets the string name used by ColladaIgnoreUpDirectionConfig.
</summary>
</member>
<member name="M:Assimp.Configs.ColladaIgnoreUpDirectionConfig.#ctor(System.Boolean)">
<summary>
Constructs a new ColladaIgnoreUpDirectionConfig.
</summary>
<param name="ignoreUpDirection">True if the loader should ignore the up direction, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.FBXImportAllGeometryLayersConfig">
<summary>
Specifies whether the FBX importer will merge all geometry layers present in the source file or import only the first. Default is true.
</summary>
</member>
<member name="P:Assimp.Configs.FBXImportAllGeometryLayersConfig.FBXImportAllGeometryLayersConfigName">
<summary>
Gets the string name used by FBXImportAllGeometryLayersConfig.
</summary>
</member>
<member name="M:Assimp.Configs.FBXImportAllGeometryLayersConfig.#ctor(System.Boolean)">
<summary>
Constructs a new FBXImportAllGeometryLayersConfig.
</summary>
<param name="importAllGeometryLayers">True if all geometry layers should be merged, false otherwise to take only the first layer.</param>
</member>
<member name="T:Assimp.Configs.FBXImportAllMaterialsConfig">
<summary>
Specifies whether the FBX importer will import all materials present in the source file or take only the referenced materials,
if the importer is configured to import materials at all. Otherwise this will have no effect. Default is false.
</summary>
</member>
<member name="P:Assimp.Configs.FBXImportAllMaterialsConfig.FBXImportAllMaterialsConfigName">
<summary>
Gets the string name used by FBXImportAllMaterialsConfig.
</summary>
</member>
<member name="M:Assimp.Configs.FBXImportAllMaterialsConfig.#ctor(System.Boolean)">
<summary>
Constructs a new FBXImportAllMaterialsConfig.
</summary>
<param name="importAllMaterials">True if the FBX importer should import ALL materials even if not referenced, false otherwise (take only the referenced materials).</param>
</member>
<member name="T:Assimp.Configs.FBXImportMaterialsConfig">
<summary>
Specifies whether the FBX importer will import materials. Default is true.
</summary>
</member>
<member name="P:Assimp.Configs.FBXImportMaterialsConfig.FBXImportMaterialsConfigName">
<summary>
Gets the string name used by FBXImportMaterialsConfig.
</summary>
</member>
<member name="M:Assimp.Configs.FBXImportMaterialsConfig.#ctor(System.Boolean)">
<summary>
Constructs a new FBXImportMaterialsConfig.
</summary>
<param name="importMaterials">True if the FBX importer should import materials, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.FBXImportEmbeddedTexturesConfig">
<summary>
Specifies whether the FBX importer will import embedded textures. Default is true.
</summary>
<seealso cref="T:Assimp.Configs.BooleanPropertyConfig" />
</member>
<member name="P:Assimp.Configs.FBXImportEmbeddedTexturesConfig.FBXImportEmbeddedTexturesConfigName">
<summary>
Gets the string name used by FBXImportEmbeddedTexturesConfig.
</summary>
</member>
<member name="M:Assimp.Configs.FBXImportEmbeddedTexturesConfig.#ctor(System.Boolean)">
<summary>
Constructs a new FBXImportEmbeddedTexturesConfig.
</summary>
<param name="importTextures">True if the FBX importer should import embedded textures, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.FBXImportSearchEmbeddedTexturesConfig">
<summary>
Specifies if the FBX importer should search for embedded loaded textures, where no embedded texture data is provided. Default is false.
</summary>
</member>
<member name="P:Assimp.Configs.FBXImportSearchEmbeddedTexturesConfig.FBXImportSearchEmbeddedTexturesConfigName">
<summary>
Gets the string name used by FBXImportSearchEmbeddedTexturesConfig.
</summary>
</member>
<member name="M:Assimp.Configs.FBXImportSearchEmbeddedTexturesConfig.#ctor(System.Boolean)">
<summary>
Constructs a new FBXImportSearchEmbeddedTexturesConfig.
</summary>
<param name="searchEmbeddedTextures">True if the FBX importer should search for embedded loaded textures, where no embedded texture data is provided.</param>
</member>
<member name="T:Assimp.Configs.FBXImportCamerasConfig">
<summary>
Specifies whether the FBX importer will import cameras. Default is true.
</summary>
</member>
<member name="P:Assimp.Configs.FBXImportCamerasConfig.FBXImportCamerasConfigName">
<summary>
Gets the string name used by FBXImportCamerasConfig.
</summary>
</member>
<member name="M:Assimp.Configs.FBXImportCamerasConfig.#ctor(System.Boolean)">
<summary>
Constructs a new FBXImportCamerasConfig.
</summary>
<param name="importCameras">True if the FBX importer should import cameras, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.FBXImportLightsConfig">
<summary>
Specifies whether the FBX importer will import lights. Default is true.
</summary>
</member>
<member name="P:Assimp.Configs.FBXImportLightsConfig.FBXImportLightsConfigName">
<summary>
Gets the string name used by FBXImportLightsConfig.
</summary>
</member>
<member name="M:Assimp.Configs.FBXImportLightsConfig.#ctor(System.Boolean)">
<summary>
Constructs a new FBXImportLightsConfig.
</summary>
<param name="importLights">True if the FBX importer should import lights, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.FBXImportAnimationsConfig">
<summary>
Specifies whether the FBX importer will import animations. Default is true.
</summary>
</member>
<member name="P:Assimp.Configs.FBXImportAnimationsConfig.FBXImportAnimationsConfigName">
<summary>
Gets the string name used by FBXImportAnimationsConfig.
</summary>
</member>
<member name="M:Assimp.Configs.FBXImportAnimationsConfig.#ctor(System.Boolean)">
<summary>
Constructs a new FBXImportAnimationsConfig.
</summary>
<param name="importAnimations">True if the FBX importer should import animations, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.FBXStrictModeConfig">
<summary>
Specifies whether the FBX importer will act in strict mode in which only the FBX 2013
format 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. Default is false.
</summary>
</member>
<member name="P:Assimp.Configs.FBXStrictModeConfig.FBXStrictModeConfigName">
<summary>
Gets the string name used by FBXStrictModeConfig.
</summary>
</member>
<member name="M:Assimp.Configs.FBXStrictModeConfig.#ctor(System.Boolean)">
<summary>
Constructs a new FBXStrictModeConfig.
</summary>
<param name="useStrictMode">True if FBX strict mode should be used, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.FBXPreservePivotsConfig">
<summary>
Specifies 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. Default value is true.
</summary>
</member>
<member name="P:Assimp.Configs.FBXPreservePivotsConfig.FBXPreservePivotsConfigName">
<summary>
Gets the string name used by FBXPreservePivotsConfig.
</summary>
</member>
<member name="M:Assimp.Configs.FBXPreservePivotsConfig.#ctor(System.Boolean)">
<summary>
Constructs a new FBXPreservePivotsConfig.
</summary>
<param name="preservePivots">True if pivots should be preserved, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.FBXOptimizeEmptyAnimationCurvesConfig">
<summary>
Specifies whether the importer will drop empty animation curves or animation curves which match the bind pose
transformation over their entire defined range. Default value is true.
</summary>
</member>
<member name="P:Assimp.Configs.FBXOptimizeEmptyAnimationCurvesConfig.FBXOptimizeEmptyAnimationCurvesConfigName">
<summary>
Gets the string name used by FBXOptimizeEmptyAnimationCurvesConfig.
</summary>
</member>
<member name="M:Assimp.Configs.FBXOptimizeEmptyAnimationCurvesConfig.#ctor(System.Boolean)">
<summary>
Constructs a new FBXOptimizeEmptyAnimationCurvesConfig.
</summary>
<param name="optimizeEmptyAnimations">True if empty animation curves should be dropped, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.XFileUseDoublesConfig">
<summary>
Specifies if the X-file exporter should use 64-bit doubles rather than 32-bit floats.
</summary>
</member>
<member name="P:Assimp.Configs.XFileUseDoublesConfig.XFileUseDoublesConfigName">
<summary>
Gets the string name used by XFileUseDoublesConfig.
</summary>
</member>
<member name="M:Assimp.Configs.XFileUseDoublesConfig.#ctor(System.Boolean)">
<summary>
Constructs a new XFileUseDoublesConfig.
</summary>
<param name="useDoubles">True if the x file uses 64-bit double values rather than 32-bit float values.</param>
</member>
<member name="T:Assimp.EmbeddedTexture">
<summary>
Represents an embedded texture. Some file formats directly embed texture assets.
Embedded textures may be uncompressed, where the data is given in an uncompressed format.
Or it may be compressed in a format like png or jpg. In the latter case, 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. This object represents both types, so some properties may or may not be valid depending
if it is compressed or not.
</summary>
</member>
<member name="P:Assimp.EmbeddedTexture.IsCompressed">
<summary>
Gets if the texture is compressed or not.
</summary>
</member>
<member name="P:Assimp.EmbeddedTexture.Width">
<summary>
Gets the width of the texture in pixels. Only valid for non-compressed textures.
</summary>
</member>
<member name="P:Assimp.EmbeddedTexture.Height">
<summary>
Gets the height of the texture in pixels. Only valid for non-compressed textures.
</summary>
</member>
<member name="P:Assimp.EmbeddedTexture.HasNonCompressedData">
<summary>
Gets if the texture has non-compressed texel data. Only valid for non-compressed textures.
</summary>
</member>
<member name="P:Assimp.EmbeddedTexture.NonCompressedDataSize">
<summary>
Gets the size of the non-compressed texel data. Only valid for non-compressed textures.
</summary>
</member>
<member name="P:Assimp.EmbeddedTexture.NonCompressedData">
<summary>
Gets the non-compressed texel data, the array is of size Width * Height. Only valid for non-compressed textures.
</summary>
</member>
<member name="P:Assimp.EmbeddedTexture.HasCompressedData">
<summary>
Gets if the embedded texture has compressed data. Only valid for compressed textures.
</summary>
</member>
<member name="P:Assimp.EmbeddedTexture.CompressedDataSize">
<summary>
Gets the size of the compressed data. Only valid for compressed textures.
</summary>
</member>
<member name="P:Assimp.EmbeddedTexture.CompressedData">
<summary>
Gets the raw byte data representing the compressed texture. Only valid for compressed textures.
</summary>
</member>
<member name="P:Assimp.EmbeddedTexture.CompressedFormatHint">
<summary>
Gets the format hint to determine the type of compressed data. This hint
is a three-character lower-case hint like "dds", "jpg", "png".
</summary>
</member>
<member name="M:Assimp.EmbeddedTexture.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.EmbeddedTexture"/> class. Should use only if
reading from a native value.
</summary>
</member>
<member name="M:Assimp.EmbeddedTexture.#ctor(System.String,System.Byte[])">
<summary>
Constructs a new instance of the <see cref="T:Assimp.EmbeddedTexture"/> class. This creates a compressed
embedded texture.
</summary>
<param name="compressedFormatHint">The 3 character format hint.</param>
<param name="compressedData">The compressed data.</param>
</member>
<member name="M:Assimp.EmbeddedTexture.#ctor(System.Int32,System.Int32,Assimp.Texel[])">
<summary>
Constructs a new instance of the <see cref="T:Assimp.EmbeddedTexture"/> class. This creates an uncompressed
embedded texture.
</summary>
<param name="width">Width of the texture</param>
<param name="height">Height of the texture</param>
<param name="uncompressedData">Color data</param>
<exception cref="T:System.ArgumentException">Thrown if the data size does not match width * height.</exception>
</member>
<member name="P:Assimp.EmbeddedTexture.Assimp#IMarshalable{Assimp#EmbeddedTexture,Assimp#Unmanaged#AiTexture}#IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.EmbeddedTexture.Assimp#IMarshalable{Assimp#EmbeddedTexture,Assimp#Unmanaged#AiTexture}#ToNative(System.IntPtr,Assimp.Unmanaged.AiTexture@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.EmbeddedTexture.Assimp#IMarshalable{Assimp#EmbeddedTexture,Assimp#Unmanaged#AiTexture}#FromNative(Assimp.Unmanaged.AiTexture@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.EmbeddedTexture.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.MetaDataType">
<summary>
Enumerates metadata data types.
</summary>
</member>
<member name="F:Assimp.MetaDataType.Bool">
<summary>
Metadata is a boolean.
</summary>
</member>
<member name="F:Assimp.MetaDataType.Int32">
<summary>
Metadata is an integer.
</summary>
</member>
<member name="F:Assimp.MetaDataType.UInt64">
<summary>
Metadata is an unsigned 64-bit integer.
</summary>
</member>
<member name="F:Assimp.MetaDataType.Float">
<summary>
Metadata is a float.
</summary>
</member>
<member name="F:Assimp.MetaDataType.Double">
<summary>
Metadata is a double.
</summary>
</member>
<member name="F:Assimp.MetaDataType.String">
<summary>
Metadata is a string.
</summary>
</member>
<member name="F:Assimp.MetaDataType.Vector3D">
<summary>
Metadata is a <see cref="F:Assimp.MetaDataType.Vector3D"/>.
</summary>
</member>
<member name="T:Assimp.PostProcessSteps">
<summary>
Post processing flag options, specifying a number of steps
that can be run on the data to either generate additional vertex
data or optimize the imported data.
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.None">
<summary>
No flags enabled.
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.CalculateTangentSpace">
<summary>
Calculates the tangents and binormals (bitangents)
for the imported meshes.
<para>
This 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. There is a
config setting AI_CONFIG_PP_CT_MAX_SMOOTHING_ANGLE which
allows you to specify a maximimum smoothing angle for the algorithm.
However, usually you'll want to leave it at the default value.
</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.JoinIdenticalVertices">
<summary>
Identifies and joins identical vertex data sets within all
imported meshes.
<para>
After this step is run each mesh does contain only unique vertices
anymore, so a vertex is possibly 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.</para>
<para>If this flag is not specified, no vertices are referenced by more than one
face and no index buffer is required for rendering.</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.MakeLeftHanded">
<summary>
Converts all imported data to a left handed coordinate space.
<para>By default the data is returned in a right-handed coordinate space,
where +X points to the right, +Z towards the viewer, and +Y upwards.</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.Triangulate">
<summary>
Triangulates all faces of all meshes.
<para>
By default the imported mesh data might contain faces with more than
three indices. For rendering you'll usually want all faces to
be triangles. This post processing step splits up all
higher faces to triangles. Line and point primitives are *not*
modified. If you want 'triangles only' with no other kinds of primitives,
try the following:
</para>
<list type="number">
<item>
<description>Specify both <see cref="F:Assimp.PostProcessSteps.Triangulate"/> and <see cref="F:Assimp.PostProcessSteps.SortByPrimitiveType"/>.</description>
</item>
<item>
<description>Ignore all point and line meshes when you process Assimp's output</description>
</item>
</list>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.RemoveComponent">
<summary>
Removes some parts of the data structure (animations, materials,
light sources, cameras, textures, vertex components).
<para>
The components to be removed are specified in a separate configuration
option, AI_CONFIG_PP_RVC_FLAGS. This is quite useful if you don't
need all parts of the output structure. Especially vertex colors are rarely used today...calling this step to remove
unrequired stuff from the pipeline as early as possible results in an increased
performance and a better optimized output data structure.
</para>
<para>
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.</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.GenerateNormals">
<summary>
Generates normals for all faces of all meshes. It may not be
specified together with <see cref="F:Assimp.PostProcessSteps.GenerateSmoothNormals"/>.
<para>
This is ignored if normals are already there at the time where 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 in other words, forces the library to duplicate vertices in
some cases. This makes <see cref="F:Assimp.PostProcessSteps.JoinIdenticalVertices"/> senseless then.
</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.GenerateSmoothNormals">
<summary>
Generates smooth normals for all vertices of all meshes. It
may not be specified together with <see cref="F:Assimp.PostProcessSteps.GenerateNormals"/>.
<para>
This is ignored if normals are already there at the time where
this flag is evaluated. Model importers try to load them from the
source file, so they're usually already there.
</para>
<para>The configuration option AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE
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 a very good visual
appearance.</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.SplitLargeMeshes">
<summary>
Splits large meshes into smaller submeshes.
<para>
This is useful for realtime rendering where the number
of triangles which can be maximally processed in a single draw call is
usually 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 a vertex limit for a single mesh.
</para>
<para>The split limits can be set through the AI_CONFIG_PP_SLM_VERTEX_LIMIT
and AI_CONFIG_PP_SLM_TRIANGLE_LIMIT config settings. The default
values are 1,000,000.</para>
<para>Warning: This can be a time consuming task.</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.PreTransformVertices">
<summary>
Removes the node graph and "bakes" (pre-transforms) all
vertices with the local transformation matrices of their nodes.
The output scene does still contain nodes, however, there is only
a root node with children, each one referencing only one mesh.
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.
<para>Warning: Animations are removed during this step.</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.LimitBoneWeights">
<summary>
Limits the number of bones simultaneously affecting a single
vertex to a maximum value.
<para>
If any vertex is affected by more than that number of bones,
the least important vertex weights are removed and the remaining vertex
weights are re-normalized so that the weights still sum up to 1.
</para>
<para>The default bone weight limit is 4 and uses the
AI_LMW_MAX_WEIGHTS config. If you intend to perform the skinning in hardware, this post processing
step might be of interest for you.</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.ValidateDataStructure">
<summary>
Validates the imported scene data structure.
<para>
This makes sure that all indices are valid, all animations
and bones are linked correctly, all material references are
correct, etc.
</para>
It is recommended to capture Assimp's log output if you use this flag,
so you can easily find out what's actually wrong if a file fails the
validation. The validator is quite rude and will find *all* inconsistencies
in the data structure. There are two types of failures:
<list type="bullet">
<item>
<description>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.</description>
</item>
<item>
<description>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.</description>
</item>
</list>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.ImproveCacheLocality">
<summary>
Re-orders triangles for better vertex cache locality.
<para>This step tries to improve the ACMR (average post-transform vertex cache
miss ratio) for all meshes. The implementation runs in O(n) time
and is roughly based on the <a href="http://www.cs.princeton.edu/gfx/pubs/Sander_2007_%3ETR/tipsy.pdf">'tipsify' algorithm</a>.</para>
<para>If you intend to render huge models in hardware, this step might be of interest for you.
The AI_CONFIG_PP_ICL_PTCACHE_SIZE config setting can be used to fine tune
the cache optimization.</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.RemoveRedundantMaterials">
<summary>
Searches for redundant/unreferenced materials and removes them.
<para>
This is especially useful in combination with the PreTransformVertices
and 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 always lost during Assimp's import filders and because many
exporters don't check for redundant materials, huge models often have materials which
are defined several times with exactly the same settings.
</para>
<para>Several material settings not contributing to the final appearance of a surface
are ignored in all comparisons ... the material name is one of them. 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
setting.</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.FixInFacingNormals">
<summary>
This step tries to determine which meshes have normal vectors
that are facing inwards.
<para>
The algorithm is simple but effective:
</para>
<para>The bounding box of all vertices and their normals are 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.</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.SortByPrimitiveType">
<summary>
This step splits meshes with more than one primitive type in homogeneous submeshes.
<para>
This step is executed after triangulation and after it 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.
</para>
<para>
You can use AI_CONFIG_PP_SBP_REMOVE option to specify which primitive types you need.
This can be used to easily exclude lines and points, which are rarely used,
from the import.
</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.FindDegenerates">
<summary>
This step searches all meshes for degenerated primitives and
converts them to proper lines or points. A face is 'degenerated' if one or more of its points are identical.
<para>
To have degenerated primitives removed, specify the <see cref="F:Assimp.PostProcessSteps.FindDegenerates"/> flag
try one of the following procedures:
</para>
<list type="numbers">
<item>
<description>To support lines and points: Set the
AI_CONFIG_PP_FD_REMOVE option to one. This will cause the step to remove degenerated triangles as
soon as they are detected. They won't pass any further pipeline steps.</description>
</item>
<item>
<description>If you don't support lines and points: Specify <see cref="F:Assimp.PostProcessSteps.SortByPrimitiveType"/> flag, which
will move line and point primitives to separate meshes. Then set the AI_CONFIG_PP_SBP_REMOVE
option to <see cref="F:Assimp.PrimitiveType.Point"/> and <see cref="F:Assimp.PrimitiveType.Line"/> to cause <see cref="F:Assimp.PostProcessSteps.SortByPrimitiveType"/> step
to reject point and line meshes from the scene.</description>
</item>
</list>
<para>
Degenerated polygons are not necessarily evil and that's why they are not removed by default. There are several
file formats which do not support lines or points where exporters bypass the format specification and write
them as degenerated triangles instead.
</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.FindInvalidData">
<summary>
This step searches all meshes for invalid data, such as zeroed
normal vectors or invalid UV coordinates and removes or fixes them.
This is intended to get rid of some common exporter rrors.
<para>
This is especially useful for normals. If they are invalid,
and the step recognizes this, they will be removed and can later
be recomputed, e.g. by the GenerateSmoothNormals flag. The step
will also remove meshes that are infinitely small and reduce animation
tracks consisting of hundreds of 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.</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.GenerateUVCoords">
<summary>
This step converts non-UV mappings (such as spherical or
cylindrical mapping) to proper texture coordinate channels.
<para>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 father app compute the UV channels, at least 3DS max, maya, blender,
lightwave, modo, .... are able to achieve this.</para>
<para>If this step is not requested, you'll need to process the MATKEY_MAPPING
material property in order to display all assets properly.</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.TransformUVCoords">
<summary>
Applies per-texture UV transformations and bakes them to stand-alone vtexture
coordinate channels.
<para>UV Transformations are specified per-texture - see the MATKEY_UVTRANSFORM material
key for more information. This step processes all textures with transformed input UV coordinates
and generates new (pretransformed) UV channel transformations, so you will probably
want to specify this step.</para>
<para>UV transformations are usually implemented in realtime apps by
transforming texture coordinates in a vertex shader stage with a 3x3 (homogenous)
transformation matrix.</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.FindInstances">
<summary>
Searches for duplicated meshes and replaces them with a reference
to the first mesh.
<para>
This is time consuming, so don't use it if you have no time. Its
main purpose is to work around the limitation with some
file formats that don't support instanced meshes, so exporters
duplicate meshes.
</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.OptimizeMeshes">
<summary>
Attempts to reduce the number of meshes (and draw calls).
<para>
This is recommended to be used together with <see cref="F:Assimp.PostProcessSteps.OptimizeGraph"/>
and is fully compatible with both <see cref="F:Assimp.PostProcessSteps.SplitLargeMeshes"/> and <see cref="F:Assimp.PostProcessSteps.SortByPrimitiveType"/>.
</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.OptimizeGraph">
<summary>
Optimizes scene hierarchy. Nodes with no animations, bones,
lights, or cameras assigned are collapsed and joined.
<para>Node names can be lost during this step, you can specify
names of nodes that should'nt be touched or modified
with AI_CONFIG_PP_OG_EXCLUDE_LIST.</para>
<para>Use this flag with caution. Most simple files will be collapsed to a
single node, complex hierarchies are usually completely lost. That's not
the right choice 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. </para>
<para>This flag is designed to be used with <see cref="F:Assimp.PostProcessSteps.OptimizeMeshes"/> for best
results.</para>
<para>Scenes with thousands of extremely small meshes packed
in deeply nested nodes exist for almost all file formats.
Usage of this and <see cref="F:Assimp.PostProcessSteps.OptimizeMeshes"/> usually fixes them all and
makes them renderable.</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.FlipUVs">
<summary>
Flips all UV coordinates along the y-axis
and adjusts material settings/bitangents accordingly.
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.FlipWindingOrder">
<summary>
Flips face winding order from CCW (default) to CW.
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.SplitByBoneCount">
<summary>
Splits meshes with many bones into submeshes so that each submesh has fewer or as many bones as a given limit.
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.Debone">
<summary>
<para>Removes bones losslessly or according to some threshold. In some cases (e.g. formats that require it) exporters
are faced 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.
</para>
<para>Usage of the configuration AI_CONFIG_PP_DB_THRESHOLD to control the threshold and AI_CONFIG_PP_DB_ALL_OR_NONE if you want bones
removed if and only if all bones within the scene qualify for removal.</para>
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.GlobalScale">
<summary>
This step will perform a global scale of the model. Some importers provide a mechanism to define a scaling unit for the model, which this processing step can utilize.
Use AI_CONFIG_GLOBAL_SCALE_FACTOR_KEY to control this.
</summary>
</member>
<member name="T:Assimp.ExcludeComponent">
<summary>
Enumerates components of the scene or mesh data that
can be excluded from the import using the post process step
RemoveComponent.
</summary>
</member>
<member name="F:Assimp.ExcludeComponent.None">
<summary>
No components to be excluded.
</summary>
</member>
<member name="F:Assimp.ExcludeComponent.Normals">
<summary>
Removes normal vectors
</summary>
</member>
<member name="F:Assimp.ExcludeComponent.TangentBasis">
<summary>
Removes tangents/binormals
</summary>
</member>
<member name="F:Assimp.ExcludeComponent.Colors">
<summary>
Removes all color sets.
</summary>
</member>
<member name="F:Assimp.ExcludeComponent.TexCoords">
<summary>
Removes all texture UV sets.
</summary>
</member>
<member name="F:Assimp.ExcludeComponent.Boneweights">
<summary>
Remove all boneweights from all meshes. Scenegraph
nodes corresponding to the bones are NOT removed.
Use OptimizeGraph step to remove them.
</summary>
</member>
<member name="F:Assimp.ExcludeComponent.Animations">
<summary>
Removes all node animations. Coressponding scenegraph
nodes are NOT removed. Use OptimizeGraph step to
remove them.
</summary>
</member>
<member name="F:Assimp.ExcludeComponent.Textures">
<summary>
Removes all embedded textures.
</summary>
</member>
<member name="F:Assimp.ExcludeComponent.Lights">
<summary>
Removes all light sources. The corresponding scenegraph nodes are
NOT removed. Use the OptimizeGraph step to do this.
</summary>
</member>
<member name="F:Assimp.ExcludeComponent.Cameras">
<summary>
Removes all cameras. The corresponding scenegraph
nodes are NOT removed. Use the OptimizeGraph step
to do this.
</summary>
</member>
<member name="F:Assimp.ExcludeComponent.Meshes">
<summary>
Removes all meshes.
</summary>
</member>
<member name="F:Assimp.ExcludeComponent.Materials">
<summary>
Removes all materials. One default material will be generated.
</summary>
</member>
<member name="T:Assimp.PrimitiveType">
<summary>
Enumerates geometric primitive types.
</summary>
</member>
<member name="F:Assimp.PrimitiveType.Point">
<summary>
Point primitive. This is just a single vertex
in the virtual world. A face has one index for such a primitive.
</summary>
</member>
<member name="F:Assimp.PrimitiveType.Line">
<summary>
Line primitive. This is a line defined through a start and an
end position. A face contains exactly two indices for such a primitive.
</summary>
</member>
<member name="F:Assimp.PrimitiveType.Triangle">
<summary>
Triangle primitive, consisting of three indices.
</summary>
</member>
<member name="F:Assimp.PrimitiveType.Polygon">
<summary>
A n-Gon that has more than three edges (thus is not a triangle).
</summary>
</member>
<member name="T:Assimp.AnimationBehaviour">
<summary>
Defines an animation channel behaves outside the defined
time range. This corresponds to the prestate and poststates
of the animation node.
</summary>
</member>
<member name="F:Assimp.AnimationBehaviour.Default">
<summary>
The value from the default node transformation is taken.
</summary>
</member>
<member name="F:Assimp.AnimationBehaviour.Constant">
<summary>
The nearest key value is used without interpolation.
</summary>
</member>
<member name="F:Assimp.AnimationBehaviour.Linear">
<summary>
The value of the nearest two keys is linearly extrapolated for the current
time value.
</summary>
</member>
<member name="F:Assimp.AnimationBehaviour.Repeat">
<summary>
The animation is repeated. If the animation key goes from n to m
and the current time is t, use the value at (t - n ) % (|m-n|).
</summary>
</member>
<member name="T:Assimp.MeshMorphingMethod">
<summary>
Defines the methods of mesh morphing supported.
</summary>
</member>
<member name="F:Assimp.MeshMorphingMethod.None">
<summary>
No morphing.
</summary>
</member>
<member name="F:Assimp.MeshMorphingMethod.VertexBlend">
<summary>
Interpolation between morph targets.
</summary>
</member>
<member name="F:Assimp.MeshMorphingMethod.MorphNormalized">
<summary>
Normalized morphing between morph targets.
</summary>
</member>
<member name="F:Assimp.MeshMorphingMethod.MorphRelative">
<summary>
Relative morphing between morph targets.
</summary>
</member>
<member name="T:Assimp.LightSourceType">
<summary>
Enumerates all supported light sources.
</summary>
</member>
<member name="F:Assimp.LightSourceType.Undefined">
<summary>
Unknown light.
</summary>
</member>
<member name="F:Assimp.LightSourceType.Directional">
<summary>
Directional light source that has a well-defined
direction but is infinitely far away, e.g. the sun.
</summary>
</member>
<member name="F:Assimp.LightSourceType.Point">
<summary>
Point light source that has a well-defined position in
space but is omni-directional, e.g. a light bulb.
</summary>
</member>
<member name="F:Assimp.LightSourceType.Spot">
<summary>
Spot light source emits light from a position in space,
in a certain direction that is limited by an angle, like
a cone.
</summary>
</member>
<member name="F:Assimp.LightSourceType.Ambient">
<summary>
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 and
is usually just a constant color. This light does not have a valid position, direction, or other properties - just the color.
</summary>
</member>
<member name="F:Assimp.LightSourceType.Area">
<summary>
An area light is a rectangle with a predefined size that uniformly emits light from one of its sides. The position is center of the rectangle and the direction is its normal vector.
</summary>
</member>
<member name="T:Assimp.BlendMode">
<summary>
Defines alpha blending flags, how the final
color value of a pixel is computed, based on the following equation:
<para>
sourceColor * sourceBlend + destColor * destBlend
</para>
<para>
Where the destColor is the previous color in the frame buffer
and sourceColor is the material color before the
transparency calculation. This corresponds to the AI_MATKEY_BLEND_FUNC property.</para>
</summary>
</member>
<member name="F:Assimp.BlendMode.Default">
<summary>
Default blending: sourceColor * sourceAlpha + destColor * (1 - sourceAlpha)
</summary>
</member>
<member name="F:Assimp.BlendMode.Additive">
<summary>
Additive blending: sourcecolor * 1 + destColor * 1.
</summary>
</member>
<member name="T:Assimp.ShadingMode">
<summary>
Defines all shading models supported by the library.
<para>
The list of shading modes has been taken from Blender. See Blender
documentation for more information.
</para>
</summary>
</member>
<member name="F:Assimp.ShadingMode.None">
<summary>
No shading mode defined.
</summary>
</member>
<member name="F:Assimp.ShadingMode.Flat">
<summary>
Flat shading. Shading is done on a per-face basis and is diffuse only. Also known
as 'faceted shading'.
</summary>
</member>
<member name="F:Assimp.ShadingMode.Gouraud">
<summary>
Simple Gouraud shading.
</summary>
</member>
<member name="F:Assimp.ShadingMode.Phong">
<summary>
Phong Shading.
</summary>
</member>
<member name="F:Assimp.ShadingMode.Blinn">
<summary>
Phong-Blinn Shading.
</summary>
</member>
<member name="F:Assimp.ShadingMode.Toon">
<summary>
Toon-shading, also known as a 'comic' shader.
</summary>
</member>
<member name="F:Assimp.ShadingMode.OrenNayar">
<summary>
OrenNayer shading model. Extension to standard Lambertian shading, taking the roughness
of the material into account.
</summary>
</member>
<member name="F:Assimp.ShadingMode.Minnaert">
<summary>
Minnaert shading model. Extension to standard Lambertian shading, taking the "darkness" of
the material into account.
</summary>
</member>
<member name="F:Assimp.ShadingMode.CookTorrance">
<summary>
CookTorrance shading model. Special shader for metallic surfaces.
</summary>
</member>
<member name="F:Assimp.ShadingMode.NoShading">
<summary>
No shading at all. Constant light influence of 1.0.
</summary>
</member>
<member name="F:Assimp.ShadingMode.Fresnel">
<summary>
Fresnel shading.
</summary>
</member>
<member name="T:Assimp.TextureFlags">
<summary>
Defines some mixed flags for a particular texture. This corresponds
to the AI_MAT_KEY_TEXFLAGS property.
</summary>
</member>
<member name="F:Assimp.TextureFlags.Invert">
<summary>
The texture's color values have to be inverted (componentwise 1-n).
</summary>
</member>
<member name="F:Assimp.TextureFlags.UseAlpha">
<summary>
Explicit request to the application to process the alpha channel of the texture. This is mutually
exclusive with <see cref="F:Assimp.TextureFlags.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, iti s left to the application to decide
whether the texture alpha channel - if any - is evaluated or not.
</summary>
</member>
<member name="F:Assimp.TextureFlags.IgnoreAlpha">
<summary>
Explicit request to the application to ignore the alpha channel of the texture. This is mutually
exclusive with <see cref="F:Assimp.TextureFlags.UseAlpha"/>.
</summary>
</member>
<member name="T:Assimp.TextureWrapMode">
<summary>
Defines how UV coordinates outside the [0..1] range are handled. Commonly
referred to as the 'wrapping mode'
</summary>
</member>
<member name="F:Assimp.TextureWrapMode.Wrap">
<summary>
A texture coordinate u|v is translated to u % 1| v % 1.
</summary>
</member>
<member name="F:Assimp.TextureWrapMode.Clamp">
<summary>
Texture coordinates outside [0...1] are clamped to the nearest valid value.
</summary>
</member>
<member name="F:Assimp.TextureWrapMode.Mirror">
<summary>
A texture coordinate u|v becomes u1|v1 if (u - (u % 1)) % 2 is zero
and 1 - (u % 1) | 1 - (v % 1) otherwise.
</summary>
</member>
<member name="F:Assimp.TextureWrapMode.Decal">
<summary>
If the texture coordinates for a pixel are outside [0...1] the texture is not
applied to that pixel.
</summary>
</member>
<member name="T:Assimp.TextureMapping">
<summary>
Defines how texture coordinates are generated
<para>
Real-time applications typically require full UV coordinates. So the use
of <see cref="F:Assimp.PostProcessSteps.GenerateUVCoords"/> step is highly recommended.
It generates proper UV channels for non-UV mapped objects, as long as an accurate
description of how the mapping should look like is given.
</para>
</summary>
</member>
<member name="F:Assimp.TextureMapping.FromUV">
<summary>
Coordinates are taken from the an existing UV channel.
<para>
The AI_MATKEY_UVWSRC key specifies from the UV channel the texture coordinates
are to be taken from since meshes can have more than one UV channel.
</para>
</summary>
</member>
<member name="F:Assimp.TextureMapping.Sphere">
<summary>
Spherical mapping
</summary>
</member>
<member name="F:Assimp.TextureMapping.Cylinder">
<summary>
Cylinder mapping
</summary>
</member>
<member name="F:Assimp.TextureMapping.Box">
<summary>
Cubic mapping
</summary>
</member>
<member name="F:Assimp.TextureMapping.Plane">
<summary>
Planar mapping
</summary>
</member>
<member name="F:Assimp.TextureMapping.Unknown">
<summary>
Unknown mapping that is not recognied.
</summary>
</member>
<member name="T:Assimp.TextureOperation">
<summary>
Defines how the Nth texture of a specific type is combined
with the result of all previous layers.
<para>
Example (left: key, right: value):
<code>
DiffColor0 - gray
DiffTextureOp0 - TextureOperation.Multiply
DiffTexture0 - tex1.png
DiffTextureOp0 - TextureOperation.Add
DiffTexture1 - tex2.png
</code>
<para>
Written as an equation, the final diffuse term for a specific
pixel would be:
</para>
<code>
diffFinal = DiffColor0 * sampleTex(DiffTexture0, UV0) + sampleTex(DiffTexture1, UV0) * diffContrib;
</code>
</para>
</summary>
</member>
<member name="F:Assimp.TextureOperation.Multiply">
<summary>
T = T1 * T2
</summary>
</member>
<member name="F:Assimp.TextureOperation.Add">
<summary>
T = T1 + T2
</summary>
</member>
<member name="F:Assimp.TextureOperation.Subtract">
<summary>
T = T1 - T2
</summary>
</member>
<member name="F:Assimp.TextureOperation.Divide">
<summary>
T = T1 / T2
</summary>
</member>
<member name="F:Assimp.TextureOperation.SmoothAdd">
<summary>
T = (T1 + T2) - (T1 * T2)
</summary>
</member>
<member name="F:Assimp.TextureOperation.SignedAdd">
<summary>
T = T1 + (T2 - 0.5)
</summary>
</member>
<member name="T:Assimp.TextureType">
<summary>
Defines the purpose of a texture.
</summary>
</member>
<member name="F:Assimp.TextureType.None">
<summary>
No texture, but the value can be used as a 'texture semantic'.
</summary>
</member>
<member name="F:Assimp.TextureType.Diffuse">
<summary>
A diffuse texture that is combined with the result of the diffuse lighting equation.
</summary>
</member>
<member name="F:Assimp.TextureType.Specular">
<summary>
A specular texture that is combined with the result of the specular lighting equation.
</summary>
</member>
<member name="F:Assimp.TextureType.Ambient">
<summary>
An ambient texture that is combined with the ambient lighting equation.
</summary>
</member>
<member name="F:Assimp.TextureType.Emissive">
<summary>
An emissive texture that is added to the result of the lighting calculation. It is not influenced
by incoming light, instead it represents the light that the object is naturally emitting.
</summary>
</member>
<member name="F:Assimp.TextureType.Height">
<summary>
A height map texture. by convention, higher gray-scale values stand for
higher elevations from some base height.
</summary>
</member>
<member name="F:Assimp.TextureType.Normals">
<summary>
A tangent-space normal map. There are several conventions for normal maps
and Assimp does (intentionally) not distinguish here.
</summary>
</member>
<member name="F:Assimp.TextureType.Shininess">
<summary>
A texture that defines the glossiness of the material. This is 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.
</summary>
</member>
<member name="F:Assimp.TextureType.Opacity">
<summary>
The texture defines per-pixel opacity. usually 'white' means opaque and 'black' means 'transparency. Or quite
the opposite.
</summary>
</member>
<member name="F:Assimp.TextureType.Displacement">
<summary>
A displacement texture. The exact purpose and format is application-dependent. Higher color values stand for higher vertex displacements.
</summary>
</member>
<member name="F:Assimp.TextureType.Lightmap">
<summary>
A 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.
</summary>
</member>
<member name="F:Assimp.TextureType.Reflection">
<summary>
A reflection texture. Contains the color of a perfect mirror reflection. This is rarely used, almost never for real-time applications.
</summary>
</member>
<member name="F:Assimp.TextureType.Unknown">
<summary>
An unknown texture that does not mention any of the defined texture type definitions. It is still imported, but is excluded from any
further postprocessing.
</summary>
</member>
<member name="T:Assimp.SceneFlags">
<summary>
Defines the state of the imported scene data structure.
</summary>
</member>
<member name="F:Assimp.SceneFlags.None">
<summary>
Default state of the scene, it imported successfully.
</summary>
</member>
<member name="F:Assimp.SceneFlags.Incomplete">
<summary>
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 libaries, or camera animation paths
using Assimp. Most applications won't support such data.
</summary>
</member>
<member name="F:Assimp.SceneFlags.Validated">
<summary>
This flag is set by the <see cref="F:Assimp.PostProcessSteps.ValidateDataStructure"/>
post process step if 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.
</summary>
</member>
<member name="F:Assimp.SceneFlags.ValidationWarning">
<summary>
This flag is set by the <see cref="F:Assimp.PostProcessSteps.ValidateDataStructure"/>
post process step if 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
do not sum to 1.0. In most cases you should still be able to use the import. This flag can be useful
for applications which do not capture Assimp's log output.
</summary>
</member>
<member name="F:Assimp.SceneFlags.NonVerboseFormat">
<summary>
This flag is set by the <see cref="F:Assimp.PostProcessSteps.JoinIdenticalVertices"/> post process step.
It indicates that the vertices of the output mesh are not in the internal verbose format anymore. In the
verbose format, all vertices are unique where no vertex is ever referenced by more than one face.
</summary>
</member>
<member name="F:Assimp.SceneFlags.Terrain">
<summary>
Denotes the scene is 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.
<para>
TER (Terragen) and HMP (3D Game Studio) are height map formats.
</para>
</summary>
</member>
<member name="F:Assimp.SceneFlags.AllowShared">
<summary>
Specifies that the scene data can be shared between structures. For example: one vertex in a few faces. This differs from <see cref="F:Assimp.SceneFlags.NonVerboseFormat"/> as
that has internal meanings about postprocessing steps.
</summary>
</member>
<member name="T:Assimp.ReturnCode">
<summary>
Enumerates Assimp function result codes.
</summary>
</member>
<member name="F:Assimp.ReturnCode.Success">
<summary>
Function returned successfully.
</summary>
</member>
<member name="F:Assimp.ReturnCode.Failure">
<summary>
There was an error.
</summary>
</member>
<member name="F:Assimp.ReturnCode.OutOfMemory">
<summary>
Assimp ran out of memory.
</summary>
</member>
<member name="T:Assimp.Origin">
<summary>
Seek origins for Assimp's virtual file system API.
</summary>
</member>
<member name="F:Assimp.Origin.Set">
<summary>
Beginning of the file
</summary>
</member>
<member name="F:Assimp.Origin.Current">
<summary>
Current position of the file pointer.
</summary>
</member>
<member name="F:Assimp.Origin.End">
<summary>
End of the file, offsets must be negative.
</summary>
</member>
<member name="T:Assimp.DefaultLogStream">
<summary>
Enumerates predefined log streaming destinations.
</summary>
</member>
<member name="F:Assimp.DefaultLogStream.File">
<summary>
Stream log to a file
</summary>
</member>
<member name="F:Assimp.DefaultLogStream.StdOut">
<summary>
Stream log to the standard output
</summary>
</member>
<member name="F:Assimp.DefaultLogStream.StdErr">
<summary>
Stream log to the standard error output.
</summary>
</member>
<member name="F:Assimp.DefaultLogStream.Debugger">
<summary>
MSVC only: Stream the log to the debugger (this relies
on OutputDebugString from the Win32 SDK).
</summary>
</member>
<member name="T:Assimp.PropertyType">
<summary>
Defines material property types.
</summary>
</member>
<member name="F:Assimp.PropertyType.Float">
<summary>
Array of single-precision (32 bit) floats.
</summary>
</member>
<member name="F:Assimp.PropertyType.Double">
<summary>
Array of double-precision (64 bit) floats.
</summary>
</member>
<member name="F:Assimp.PropertyType.String">
<summary>
Property is a string.
</summary>
</member>
<member name="F:Assimp.PropertyType.Integer">
<summary>
Array of 32 bit integers.
</summary>
</member>
<member name="F:Assimp.PropertyType.Buffer">
<summary>
Byte buffer where the content is undefined.
</summary>
</member>
<member name="T:Assimp.CompileFlags">
<summary>
Enumerates how the native Assimp DLL was compiled
</summary>
</member>
<member name="F:Assimp.CompileFlags.Shared">
<summary>
Assimp compiled as a shared object (Windows: DLL);
</summary>
</member>
<member name="F:Assimp.CompileFlags.STLport">
<summary>
Assimp was compiled against STLport
</summary>
</member>
<member name="F:Assimp.CompileFlags.Debug">
<summary>
Assimp was compiled as a debug build
</summary>
</member>
<member name="F:Assimp.CompileFlags.NoBoost">
<summary>
Assimp was compiled with the boost work around.
</summary>
</member>
<member name="F:Assimp.CompileFlags.SingleThreaded">
<summary>
Assimp was compiled built to run single threaded.
</summary>
</member>
<member name="T:Assimp.UVTransformFlags">
<summary>
Defines how UV coordinates should be transformed.
</summary>
</member>
<member name="F:Assimp.UVTransformFlags.Scaling">
<summary>
Scaling is evaluated.
</summary>
</member>
<member name="F:Assimp.UVTransformFlags.Rotation">
<summary>
Rotation is evaluated.
</summary>
</member>
<member name="F:Assimp.UVTransformFlags.Translation">
<summary>
Translation is evaluated.
</summary>
</member>
<member name="T:Assimp.FileIOMode">
<summary>
Defines the desired file I/O mode is when opening a new file.
</summary>
</member>
<member name="F:Assimp.FileIOMode.Write">
<summary>
Open the file for writing.
</summary>
</member>
<member name="F:Assimp.FileIOMode.WriteBinary">
<summary>
Open the file for writing binary data to it.
</summary>
</member>
<member name="F:Assimp.FileIOMode.WriteText">
<summary>
Open the file for writing text data to it.
</summary>
</member>
<member name="F:Assimp.FileIOMode.Read">
<summary>
Open the file for reading.
</summary>
</member>
<member name="F:Assimp.FileIOMode.ReadBinary">
<summary>
Open the file for reading binary data from it.
</summary>
</member>
<member name="F:Assimp.FileIOMode.ReadText">
<summary>
Open the file for reading text data from it.
</summary>
</member>
<member name="T:Assimp.ImporterFeatureFlags">
<summary>
Defines flags that indicate level of support for common features for a given importer.
</summary>
</member>
<member name="F:Assimp.ImporterFeatureFlags.SupportsText">
<summary>
Indicates there is a textual encoding of the file format and it is supported.
</summary>
</member>
<member name="F:Assimp.ImporterFeatureFlags.SupportsBinary">
<summary>
Indicates there is a binary encoding of the file format and it is supported.
</summary>
</member>
<member name="F:Assimp.ImporterFeatureFlags.SupportsCompressed">
<summary>
Indicates there is a compressed encoding of the file format and it is supported.
</summary>
</member>
<member name="F:Assimp.ImporterFeatureFlags.LimitedSupport">
<summary>
Indicates that the importer reads only a very particular subset of the file format. This is common
for formats that cannot easily be mapped to the Scene data structure.
</summary>
</member>
<member name="F:Assimp.ImporterFeatureFlags.Experimental">
<summary>
Indicates that the importer is experimental and used with caution - this is only reserved for importers still in
development, and not typically yet in released production code.
</summary>
</member>
<member name="T:Assimp.ExportDataBlob">
<summary>
Describes a blob of exported scene data. Blobs can be nested - each blob may reference another blob, which in
turn can reference another and so on. This is used to allow exporters to write more than one output for a given
scene, such as material files. Existence of such files depends on the format.
</summary>
<remarks>
The stream representation of an ExportDataBlob is as follows:
<code>
String: Name of the Blob
int: Length of Binary Data
byte[]: Binary Data
bool: If has next data blob
String: Name of nested blob
int: Length of nested blob binary data
byte[]: Nested blob binary data
bool: If nested blob has next data blob
....
</code>
</remarks>
</member>
<member name="P:Assimp.ExportDataBlob.Name">
<summary>
Gets the name of the blob. The first and primary blob always has an empty string for a name. Auxillary files
that are nested will have names.
</summary>
</member>
<member name="P:Assimp.ExportDataBlob.Data">
<summary>
Get the blob data.
</summary>
</member>
<member name="P:Assimp.ExportDataBlob.NextBlob">
<summary>
Gets the next data blob.
</summary>
</member>
<member name="P:Assimp.ExportDataBlob.HasData">
<summary>
Gets if the blob data is valid.
</summary>
</member>
<member name="M:Assimp.ExportDataBlob.#ctor(Assimp.Unmanaged.AiExportDataBlob@)">
<summary>
Creates a new ExportDataBlob.
</summary>
<param name="dataBlob">Unmanaged structure.</param>
</member>
<member name="M:Assimp.ExportDataBlob.#ctor(System.String,System.Byte[])">
<summary>
Creates a new ExportDataBlob.
</summary>
<param name="name">Name</param>
<param name="data">Data</param>
</member>
<member name="M:Assimp.ExportDataBlob.ToStream(System.IO.Stream)">
<summary>
Writes the data blob to the specified stream.
</summary>
<param name="stream">Output stream</param>
</member>
<member name="M:Assimp.ExportDataBlob.FromStream(System.IO.Stream)">
<summary>
Reads a data blob from the specified stream.
</summary>
<param name="stream">Input stream</param>
<returns>Data blob</returns>
</member>
<member name="T:Assimp.ExportFormatDescription">
<summary>
Describes a file format which Assimp can export to.
</summary>
</member>
<member name="P:Assimp.ExportFormatDescription.FormatId">
<summary>
Gets a short string ID to uniquely identify the export format. E.g. "collada" or "obj".
</summary>
</member>
<member name="P:Assimp.ExportFormatDescription.Description">
<summary>
Gets a short description of the file format to present to users.
</summary>
</member>
<member name="P:Assimp.ExportFormatDescription.FileExtension">
<summary>
Gets the recommended file extension for the exported file in lower case.
</summary>
</member>
<member name="M:Assimp.ExportFormatDescription.#ctor(Assimp.Unmanaged.AiExportFormatDesc@)">
<summary>
Constructs a new ExportFormatDescription.
</summary>
<param name="formatDesc">Unmanaged structure</param>
</member>
<member name="T:Assimp.Face">
<summary>
A single face in a mesh, referring to multiple vertices. This can be a triangle
if the index count is equal to three, or a polygon if the count is greater than three.
Since multiple primitive types can be contained in a single mesh, this approach
allows you to better examine how the mesh is constructed. If you use the <see cref="F:Assimp.PostProcessSteps.SortByPrimitiveType"/>
post process step flag during import, then each mesh will be homogenous where primitive type is concerned.
</summary>
</member>
<member name="P:Assimp.Face.IndexCount">
<summary>
Gets the number of indices defined in the face.
</summary>
</member>
<member name="P:Assimp.Face.HasIndices">
<summary>
Gets if the face has faces (should always be true).
</summary>
</member>
<member name="P:Assimp.Face.Indices">
<summary>
Gets or sets the indices that refer to positions of vertex data in the mesh's vertex
arrays.
</summary>
</member>
<member name="M:Assimp.Face.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Face"/> class.
</summary>
</member>
<member name="M:Assimp.Face.#ctor(System.Int32[])">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Face"/> class.
</summary>
<param name="indices">Face indices</param>
</member>
<member name="P:Assimp.Face.Assimp#IMarshalable{Assimp#Face,Assimp#Unmanaged#AiFace}#IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.Face.Assimp#IMarshalable{Assimp#Face,Assimp#Unmanaged#AiFace}#ToNative(System.IntPtr,Assimp.Unmanaged.AiFace@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.Face.Assimp#IMarshalable{Assimp#Face,Assimp#Unmanaged#AiFace}#FromNative(Assimp.Unmanaged.AiFace@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.Face.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.FileIOSystem">
<summary>
Simple implementation of an IOSystem that searches for files on the disk. This implementation
can be given a number of search directories that it will attempt to locate the file in first, before
using the file path given by Assimp. That way, you can load models that have files distributed in a number of other
directories besides the root model's.
</summary>
</member>
<member name="M:Assimp.FileIOSystem.#ctor">
<summary>
Constructs a new FileIOSystem that does not have any search directories.
</summary>
</member>
<member name="M:Assimp.FileIOSystem.#ctor(System.String[])">
<summary>
Constructs a new FileIOSystem that uses the specified search directories.
</summary>
<param name="searchPaths">Search directories to search for files in</param>
</member>
<member name="M:Assimp.FileIOSystem.SetSearchDirectories(System.String[])">
<summary>
Sets the search directories the FileIOSystem will use when searching for files.
</summary>
<param name="searchPaths">Directory paths</param>
</member>
<member name="M:Assimp.FileIOSystem.GetSearchDirectories">
<summary>
Gets the search directories the FileIOSystem is using.
</summary>
<returns>Directory paths</returns>
</member>
<member name="M:Assimp.FileIOSystem.OpenFile(System.String,Assimp.FileIOMode)">
<summary>
Opens a stream to a file.
</summary>
<param name="pathToFile">Path to the file</param>
<param name="fileMode">Desired file access mode</param>
<returns>The IO stream</returns>
</member>
<member name="M:Assimp.FileIOSystem.FindFile(System.String,System.String@)">
<summary>
Finds the first file that matches the file name (name + extension) in the search paths.
</summary>
<param name="fileName">File name (+ extension) to search for</param>
<param name="pathToFile">Found file path</param>
<returns>True if the file was found, false otherwise</returns>
</member>
<member name="T:Assimp.FileIOStream">
<summary>
Wraps a FileStream.
</summary>
</member>
<member name="T:Assimp.ImporterDescription">
<summary>
Metadata and feature support information for a given importer.
</summary>
</member>
<member name="P:Assimp.ImporterDescription.Name">
<summary>
Gets the name of the importer (e.g. Blender3D Importer)
</summary>
</member>
<member name="P:Assimp.ImporterDescription.Author">
<summary>
Gets the original author (blank if unknown or assimp team).
</summary>
</member>
<member name="P:Assimp.ImporterDescription.Maintainer">
<summary>
Gets the name of the current maintainer, if empty then the author maintains.
</summary>
</member>
<member name="P:Assimp.ImporterDescription.Comments">
<summary>
Gets any implementation comments.
</summary>
</member>
<member name="P:Assimp.ImporterDescription.FeatureFlags">
<summary>
Gets the features supported by the importer.
</summary>
</member>
<member name="P:Assimp.ImporterDescription.MinVersion">
<summary>
Gets the minimum version of the file format supported. If no version scheme, forwards compatible, or importer doesn't care, major/min will be zero.
</summary>
</member>
<member name="P:Assimp.ImporterDescription.MaxVersion">
<summary>
Gets the maximum version of the file format supported. If no version scheme, forwards compatible, or importer doesn't care, major/min will be zero.
</summary>
</member>
<member name="P:Assimp.ImporterDescription.FileExtensions">
<summary>
Gets the list of file extensions the importer can handle. All entries are lower case and do NOT have a leading dot.
</summary>
</member>
<member name="T:Assimp.IMarshalable`2">
<summary>
Represents an object that can be marshaled to and from a native representation.
</summary>
<typeparam name="Managed">Managed object type</typeparam>
<typeparam name="Native">Native value type</typeparam>
</member>
<member name="P:Assimp.IMarshalable`2.IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.IMarshalable`2.FromNative(`1@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="T:Assimp.INativeCustomMarshaler">
<summary>
Custom marshaler for usage with the <see cref="T:Assimp.MemoryHelper"/> for performing marshaling
to-and-from unmanaged memory for non-blittable types. A type must be attributed with <see cref="T:Assimp.NativeCustomMarshalerAttribute"/>
to automatically have an instance of its marshaler be utilized.
</summary>
</member>
<member name="P:Assimp.INativeCustomMarshaler.NativeDataSize">
<summary>
Gets the native data size in bytes.
</summary>
</member>
<member name="M:Assimp.INativeCustomMarshaler.MarshalManagedToNative(System.Object,System.IntPtr)">
<summary>
Marshals the managed object to the unmanaged chunk of memory.
</summary>
<param name="managedObj">Managed object to marshal.</param>
<param name="nativeData">Unmanaged chunk of memory to write to.</param>
</member>
<member name="M:Assimp.INativeCustomMarshaler.MarshalNativeToManaged(System.IntPtr)">
<summary>
Marshals the managed object from the unmanaged chunk of memory.
</summary>
<param name="nativeData">Unmanaged chunk of memory to read from.</param>
<returns>Managed object marshaled.</returns>
</member>
<member name="T:Assimp.IOStream">
<summary>
Defines a stream to some file input or output source. This object is responsible for reading/writing data
that is used by Assimp.
</summary>
</member>
<member name="P:Assimp.IOStream.IsDisposed">
<summary>
Gets whether or not this IOStream has been disposed.
</summary>
</member>
<member name="P:Assimp.IOStream.PathToFile">
<summary>
Gets the original path to file given by Assimp.
</summary>
</member>
<member name="P:Assimp.IOStream.FileMode">
<summary>
Gets the original desired file access mode.
</summary>
</member>
<member name="P:Assimp.IOStream.IsValid">
<summary>
Gets whether the stream is in fact valid - that is, the input/output has been
properly located and can be read/written.
</summary>
</member>
<member name="M:Assimp.IOStream.#ctor(System.String,Assimp.FileIOMode)">
<summary>
Constructs a new IOStream.
</summary>
<param name="pathToFile">Path to file given by Assimp</param>
<param name="fileMode">Desired file access mode</param>
</member>
<member name="M:Assimp.IOStream.Finalize">
<summary>
Finalizes an instance of the <see cref="T:Assimp.IOStream"/> class.
</summary>
</member>
<member name="M:Assimp.IOStream.Dispose">
<summary>
Disposes of resources held by the IOStream.
</summary>
</member>
<member name="M:Assimp.IOStream.Dispose(System.Boolean)">
<summary>
Releases unmanaged and - optionally - managed resources.
</summary>
<param name="disposing">True to release both managed and unmanaged resources; False to release only unmanaged resources.</param>
</member>
<member name="M:Assimp.IOStream.Write(System.Byte[],System.Int64)">
<summary>
Writes data to the stream.
</summary>
<param name="dataToWrite">Data to write</param>
<param name="count">Number of bytes to write</param>
<returns>Number of bytes actually written. Should be equal to the specified count, unless if EoF was hit or an error occured.</returns>
</member>
<member name="M:Assimp.IOStream.Read(System.Byte[],System.Int64)">
<summary>
Reads data from the stream.
</summary>
<param name="dataRead">Byte buffer to store the read data in</param>
<param name="count">Number of bytes to read</param>
<returns>Number of bytes actually read. Should be equal to the specified count, unless if EoF was hit or an error occured.</returns>
</member>
<member name="M:Assimp.IOStream.Seek(System.Int64,Assimp.Origin)">
<summary>
Sets the current file position pointer.
</summary>
<param name="offset">Offset in bytes from the origin</param>
<param name="seekOrigin">Origin reference</param>
<returns>ReturnCode indicating success or failure.</returns>
</member>
<member name="M:Assimp.IOStream.GetPosition">
<summary>
Gets the current file position pointer (in bytes).
</summary>
<returns>Current file position pointer (in bytes)</returns>
</member>
<member name="M:Assimp.IOStream.GetFileSize">
<summary>
Gets the total file size (in bytes).
</summary>
<returns>File size in bytes</returns>
</member>
<member name="M:Assimp.IOStream.Flush">
<summary>
Flushes all data currently in the stream buffers.
</summary>
</member>
<member name="M:Assimp.IOStream.Close">
<summary>
Closes the stream - flushing any data not yet read/written and disposes of resources.
</summary>
</member>
<member name="T:Assimp.IOSystem">
<summary>
Defines a custom IO handler that can be registered to an importer that will handle I/O for assimp. This includes searching/opening
files to read during import, and creating/writing to files during export.
</summary>
</member>
<member name="P:Assimp.IOSystem.IsDisposed">
<summary>
Gets whether or not this IOSystem has been disposed.
</summary>
</member>
<member name="P:Assimp.IOSystem.OpenFileCount">
<summary>
Gets the number of currently opened streams.
</summary>
</member>
<member name="M:Assimp.IOSystem.#ctor">
<summary>
Constructs a new IOSystem.
</summary>
</member>
<member name="M:Assimp.IOSystem.Finalize">
<summary>
Finalizes an instance of the <see cref="T:Assimp.IOSystem"/> class.
</summary>
</member>
<member name="M:Assimp.IOSystem.OpenFile(System.String,Assimp.FileIOMode)">
<summary>
Opens a stream to a file.
</summary>
<param name="pathToFile">Path to the file</param>
<param name="fileMode">Desired file access mode</param>
<returns>The IO stream</returns>
</member>
<member name="M:Assimp.IOSystem.CloseFile(Assimp.IOStream)">
<summary>
Closes a stream that is owned by this IOSystem.
</summary>
<param name="stream">Stream to close</param>
</member>
<member name="M:Assimp.IOSystem.CloseAllFiles">
<summary>
Closes all outstanding streams owned by this IOSystem.
</summary>
</member>
<member name="M:Assimp.IOSystem.Dispose">
<summary>
Disposes of all resources held by this object.
</summary>
</member>
<member name="M:Assimp.IOSystem.Dispose(System.Boolean)">
<summary>
Releases unmanaged and - optionally - managed resources.
</summary>
<param name="disposing">True to release both managed and unmanaged resources; False to release only unmanaged resources.</param>
</member>
<member name="T:Assimp.Light">
<summary>
Describes a light source in the scene. Assimp supports multiple light sources
including spot, point, and directional lights. All are defined by a single structure
and distinguished by their parameters. Lights have corresponding nodes in the scenegraph.
<para>Some file formats such as 3DS and ASE export a "target point", e.g. the point
a spot light is looking at (it can even be animated). Assimp writes the target point as a subnode
of a spotlight's main node called "spotName.Target". However, this is just additional information
then, the transform tracks of the main node make the spot light already point in the right direction.</para>
</summary>
</member>
<member name="P:Assimp.Light.Name">
<summary>
Gets or sets the name of the light source. This corresponds to a node present in the scenegraph.
</summary>
</member>
<member name="P:Assimp.Light.LightType">
<summary>
Gets or sets the type of light source. This should never be undefined.
</summary>
</member>
<member name="P:Assimp.Light.AngleInnerCone">
<summary>
Gets or sets the 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 defined for directional lights.
</summary>
</member>
<member name="P:Assimp.Light.AngleOuterCone">
<summary>
Gets or sets the 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.
</summary>
</member>
<member name="P:Assimp.Light.AttenuationConstant">
<summary>
Gets or sets the constant light attenuation factor. The intensity of the light source
at a given distance 'd' from the light position is <code>Atten = 1 / (att0 + att1 * d + att2 * d*d)</code>.
<para>This member corresponds to the att0 variable in the equation and is undefined for directional lights.</para>
</summary>
</member>
<member name="P:Assimp.Light.AttenuationLinear">
<summary>
Gets or sets the linear light attenuation factor. The intensity of the light source
at a given distance 'd' from the light position is <code>Atten = 1 / (att0 + att1 * d + att2 * d*d)</code>
<para>This member corresponds to the att1 variable in the equation and is undefined for directional lights.</para>
</summary>
</member>
<member name="P:Assimp.Light.AttenuationQuadratic">
<summary>
Gets or sets the quadratic light attenuation factor. The intensity of the light source
at a given distance 'd' from the light position is <code>Atten = 1 / (att0 + att1 * d + att2 * d*d)</code>.
<para>This member corresponds to the att2 variable in the equation and is undefined for directional lights.</para>
</summary>
</member>
<member name="P:Assimp.Light.Position">
<summary>
Gets or sets the position of the light source in space, relative to the
transformation of the node corresponding to the light. This is undefined for
directional lights.
</summary>
</member>
<member name="P:Assimp.Light.Direction">
<summary>
Gets or sets the direction of the light source in space, relative to the transformation
of the node corresponding to the light. This is undefined for point lights.
</summary>
</member>
<member name="P:Assimp.Light.Up">
<summary>
Gets or sets the up vector of the light source in space, relative to the transformation of the node corresponding to the light.
This is undefined for point lights.
</summary>
</member>
<member name="P:Assimp.Light.ColorDiffuse">
<summary>
Gets or sets the 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.
</summary>
</member>
<member name="P:Assimp.Light.ColorSpecular">
<summary>
Gets or sets the 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.
</summary>
</member>
<member name="P:Assimp.Light.ColorAmbient">
<summary>
Gets or sets the 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.
</summary>
</member>
<member name="P:Assimp.Light.AreaSize">
<summary>
Gets or sets the Width (X) and Height (Y) of the area that represents an <see cref="F:Assimp.LightSourceType.Area"/> light.
</summary>
</member>
<member name="M:Assimp.Light.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Light"/> class.
</summary>
</member>
<member name="P:Assimp.Light.Assimp#IMarshalable{Assimp#Light,Assimp#Unmanaged#AiLight}#IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.Light.Assimp#IMarshalable{Assimp#Light,Assimp#Unmanaged#AiLight}#ToNative(System.IntPtr,Assimp.Unmanaged.AiLight@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.Light.Assimp#IMarshalable{Assimp#Light,Assimp#Unmanaged#AiLight}#FromNative(Assimp.Unmanaged.AiLight@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.Light.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.LoggingCallback">
<summary>
Callback delegate for Assimp's LogStream.
</summary>
<param name="msg">Log message</param>
<param name="userData">Supplied user data</param>
</member>
<member name="T:Assimp.LogStream">
<summary>
Represents a log stream, which receives all log messages and streams them somewhere.
</summary>
</member>
<member name="P:Assimp.LogStream.IsVerboseLoggingEnabled">
<summary>
Gets or sets, if verbose logging is enabled globally.
</summary>
</member>
<member name="P:Assimp.LogStream.UserData">
<summary>
Gets or sets the user data to be passed to the callback.
</summary>
</member>
<member name="P:Assimp.LogStream.IsDisposed">
<summary>
Gets whether the logstream has been disposed or not.
</summary>
</member>
<member name="P:Assimp.LogStream.IsAttached">
<summary>
Gets whether or not the logstream is currently attached to the library.
</summary>
</member>
<member name="M:Assimp.LogStream.#cctor">
<summary>
Static constructor.
</summary>
</member>
<member name="M:Assimp.LogStream.#ctor">
<summary>
Constructs a new LogStream.
</summary>
</member>
<member name="M:Assimp.LogStream.#ctor(System.String)">
<summary>
Constructs a new LogStream.
</summary>
<param name="userData">User-supplied data</param>
</member>
<member name="M:Assimp.LogStream.#ctor(Assimp.LoggingCallback)">
<summary>
Constructs a new LogStream.
</summary>
<param name="callback">Logging callback that is called when messages are received by the log stream.</param>
</member>
<member name="M:Assimp.LogStream.#ctor(Assimp.LoggingCallback,System.String)">
<summary>
Constructs a new LogStream.
</summary>
<param name="callback">Logging callback that is called when messages are received by the log stream.</param>
<param name="userData">User-supplied data</param>
</member>
<member name="M:Assimp.LogStream.Finalize">
<summary>
Finalizes an instance of the <see cref="T:Assimp.LogStream"/> class.
</summary>
</member>
<member name="M:Assimp.LogStream.DetachAllLogstreams">
<summary>
Detaches all active logstreams from the library.
</summary>
</member>
<member name="M:Assimp.LogStream.GetAttachedLogStreams">
<summary>
Gets all active logstreams that are currently attached to the library.
</summary>
<returns>Collection of active logstreams attached to the library.</returns>
</member>
<member name="M:Assimp.LogStream.Attach">
<summary>
Attaches the logstream to the library.
</summary>
</member>
<member name="M:Assimp.LogStream.Detach">
<summary>
Detaches the logstream from the library.
</summary>
</member>
<member name="M:Assimp.LogStream.Log(System.String)">
<summary>
Logs a message.
</summary>
<param name="msg">Message contents</param>
</member>
<member name="M:Assimp.LogStream.Dispose">
<summary>
Releases unmanaged resources held by the LogStream. This should not be called by the user if the logstream is currently attached to an assimp importer.
</summary>
</member>
<member name="M:Assimp.LogStream.Dispose(System.Boolean)">
<summary>
Releases unmanaged and - optionally - managed resources.
</summary>
<param name="disposing">True to release both managed and unmanaged resources; False to release only unmanaged resources.</param>
</member>
<member name="M:Assimp.LogStream.LogMessage(System.String,System.String)">
<summary>
Override this method to log a message for a subclass of Logstream, if no callback
was set.
</summary>
<param name="msg">Message</param>
<param name="userData">User data</param>
</member>
<member name="M:Assimp.LogStream.OnAttach">
<summary>
Called when the log stream has been attached to the assimp importer. At this point it may start receiving messages.
</summary>
</member>
<member name="M:Assimp.LogStream.OnDetach">
<summary>
Called when the log stream has been detatched from the assimp importer. After this point it will stop receiving
messages until it is re-attached.
</summary>
</member>
<member name="T:Assimp.ConsoleLogStream">
<summary>
Log stream that writes messages to the Console.
</summary>
</member>
<member name="M:Assimp.ConsoleLogStream.#ctor">
<summary>
Constructs a new console logstream.
</summary>
</member>
<member name="M:Assimp.ConsoleLogStream.#ctor(System.String)">
<summary>
Constructs a new console logstream.
</summary>
<param name="userData">User supplied data</param>
</member>
<member name="M:Assimp.ConsoleLogStream.LogMessage(System.String,System.String)">
<summary>
Log a message to the console.
</summary>
<param name="msg">Message</param>
<param name="userData">Userdata</param>
</member>
<member name="T:Assimp.Material">
<summary>
A material contains all the information that describes how to render a mesh. E.g. textures, colors, and render states. Internally
all this information is stored as key-value pair properties. The class contains many convienence methods and properties for
accessing non-texture/texture properties without having to know the Assimp material key names. Not all properties may be present,
and if they aren't a default value will be returned.
</summary>
</member>
<member name="P:Assimp.Material.PropertyCount">
<summary>
Gets the number of properties contained in the material.
</summary>
</member>
<member name="P:Assimp.Material.HasName">
<summary>
Checks if the material has a name property.
</summary>
</member>
<member name="P:Assimp.Material.Name">
<summary>
Gets the material name value, if any. Default value is an empty string.
</summary>
</member>
<member name="P:Assimp.Material.HasTwoSided">
<summary>
Checks if the material has a two-sided property.
</summary>
</member>
<member name="P:Assimp.Material.IsTwoSided">
<summary>
Gets if the material should be rendered as two-sided. Default value is false.
</summary>
</member>
<member name="P:Assimp.Material.HasShadingMode">
<summary>
Checks if the material has a shading-mode property.
</summary>
</member>
<member name="P:Assimp.Material.ShadingMode">
<summary>
Gets the shading mode. Default value is <see cref="F:Assimp.ShadingMode.None"/>, meaning it is not defined.
</summary>
</member>
<member name="P:Assimp.Material.HasWireFrame">
<summary>
Checks if the material has a wireframe property.
</summary>
</member>
<member name="P:Assimp.Material.IsWireFrameEnabled">
<summary>
Gets if wireframe should be enabled. Default value is false.
</summary>
</member>
<member name="P:Assimp.Material.HasBlendMode">
<summary>
Checks if the material has a blend mode property.
</summary>
</member>
<member name="P:Assimp.Material.BlendMode">
<summary>
Gets the blending mode. Default value is <see cref="F:Assimp.BlendMode.Default"/>.
</summary>
</member>
<member name="P:Assimp.Material.HasOpacity">
<summary>
Checks if the material has an opacity property.
</summary>
</member>
<member name="P:Assimp.Material.Opacity">
<summary>
Gets the opacity. Default value is 1.0f.
</summary>
</member>
<member name="P:Assimp.Material.HasBumpScaling">
<summary>
Checks if the material has a bump scaling property.
</summary>
</member>
<member name="P:Assimp.Material.BumpScaling">
<summary>
Gets the bump scaling. Default value is 0.0f;
</summary>
</member>
<member name="P:Assimp.Material.HasShininess">
<summary>
Checks if the material has a shininess property.
</summary>
</member>
<member name="P:Assimp.Material.Shininess">
<summary>
Gets the shininess. Default value is 0.0f;
</summary>
</member>
<member name="P:Assimp.Material.HasShininessStrength">
<summary>
Checks if the material has a shininess strength property.
</summary>
</member>
<member name="P:Assimp.Material.ShininessStrength">
<summary>
Gets the shininess strength. Default vaulue is 1.0f.
</summary>
</member>
<member name="P:Assimp.Material.HasReflectivity">
<summary>
Checks if the material has a reflectivty property.
</summary>
</member>
<member name="P:Assimp.Material.Reflectivity">
<summary>
Gets the reflectivity. Default value is 0.0f;
</summary>
</member>
<member name="P:Assimp.Material.HasColorDiffuse">
<summary>
Checks if the material has a color diffuse property.
</summary>
</member>
<member name="P:Assimp.Material.ColorDiffuse">
<summary>
Gets the color diffuse. Default value is white.
</summary>
</member>
<member name="P:Assimp.Material.HasColorAmbient">
<summary>
Checks if the material has a color ambient property.
</summary>
</member>
<member name="P:Assimp.Material.ColorAmbient">
<summary>
Gets the color ambient. Default value is (.2f, .2f, .2f, 1.0f).
</summary>
</member>
<member name="P:Assimp.Material.HasColorSpecular">
<summary>
Checks if the material has a color specular property.
</summary>
</member>
<member name="P:Assimp.Material.ColorSpecular">
<summary>
Gets the color specular. Default value is black.
</summary>
</member>
<member name="P:Assimp.Material.HasColorEmissive">
<summary>
Checks if the material has a color emissive property.
</summary>
</member>
<member name="P:Assimp.Material.ColorEmissive">
<summary>
Gets the color emissive. Default value is black.
</summary>
</member>
<member name="P:Assimp.Material.HasColorTransparent">
<summary>
Checks if the material has a color transparent property.
</summary>
</member>
<member name="P:Assimp.Material.ColorTransparent">
<summary>
Gets the color transparent. Default value is black.
</summary>
</member>
<member name="P:Assimp.Material.HasColorReflective">
<summary>
Checks if the material has a color reflective property.
</summary>
</member>
<member name="P:Assimp.Material.ColorReflective">
<summary>
Gets the color reflective. Default value is black.
</summary>
</member>
<member name="P:Assimp.Material.HasTextureDiffuse">
<summary>
Gets if the material has a diffuse texture in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.TextureDiffuse">
<summary>
Gets or sets diffuse texture properties in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.HasTextureSpecular">
<summary>
Gets if the material has a specular texture in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.TextureSpecular">
<summary>
Gets or sets specular texture properties in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.HasTextureAmbient">
<summary>
Gets if the material has a ambient texture in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.TextureAmbient">
<summary>
Gets or sets ambient texture properties in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.HasTextureEmissive">
<summary>
Gets if the material has a emissive texture in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.TextureEmissive">
<summary>
Gets or sets emissive texture properties in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.HasTextureHeight">
<summary>
Gets if the material has a height texture in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.TextureHeight">
<summary>
Gets or sets height texture properties in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.HasTextureNormal">
<summary>
Gets if the material has a normal texture in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.TextureNormal">
<summary>
Gets or sets normal texture properties in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.HasTextureOpacity">
<summary>
Gets if the material has an opacity texture in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.TextureOpacity">
<summary>
Gets or sets opacity texture properties in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.HasTextureDisplacement">
<summary>
Gets if the material has a displacement texture in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.TextureDisplacement">
<summary>
Gets or sets displacement texture properties in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.HasTextureLightMap">
<summary>
Gets if the material has a light map texture in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.TextureLightMap">
<summary>
Gets or sets light map texture properties in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.HasTextureReflection">
<summary>
Gets if the material has a reflection texture in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.TextureReflection">
<summary>
Gets or sets reflection texture properties in the first texture index.
</summary>
</member>
<member name="M:Assimp.Material.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Material"/> class.
</summary>
</member>
<member name="M:Assimp.Material.CreateFullyQualifiedName(System.String,Assimp.TextureType,System.Int32)">
<summary>
Helper method to construct a fully qualified name from the input parameters. All the input parameters are combined into the fully qualified name: {baseName},{texType},{texIndex}. E.g.
"$clr.diffuse,0,0" or "$tex.file,1,0". This is the name that is used as the material dictionary key.
</summary>
<param name="baseName">Key basename, this must not be null or empty</param>
<param name="texType">Texture type; non-texture properties should leave this <see cref="F:Assimp.TextureType.None"/></param>
<param name="texIndex">Texture index; non-texture properties should leave this zero.</param>
<returns>The fully qualified name</returns>
</member>
<member name="M:Assimp.Material.GetNonTextureProperty(System.String)">
<summary>
Gets the non-texture properties contained in this Material. The name should be
the "base name", as in it should not contain texture type/texture index information. E.g. "$clr.diffuse" rather than "$clr.diffuse,0,0". The extra
data will be filled in automatically.
</summary>
<param name="baseName">Key basename</param>
<returns>The material property, if it exists</returns>
</member>
<member name="M:Assimp.Material.GetProperty(System.String,Assimp.TextureType,System.Int32)">
<summary>
Gets the material property. All the input parameters are combined into the fully qualified name: {baseName},{texType},{texIndex}. E.g.
"$clr.diffuse,0,0" or "$tex.file,1,0".
</summary>
<param name="baseName">Key basename</param>
<param name="texType">Texture type; non-texture properties should leave this <see cref="F:Assimp.TextureType.None"/></param>
<param name="texIndex">Texture index; non-texture properties should leave this zero.</param>
<returns>The material property, if it exists</returns>
</member>
<member name="M:Assimp.Material.GetProperty(System.String)">
<summary>
Gets the material property by its fully qualified name. The format is: {baseName},{texType},{texIndex}. E.g.
"$clr.diffuse,0,0" or "$tex.file,1,0".
</summary>
<param name="fullyQualifiedName">Fully qualified name of the property</param>
<returns>The material property, if it exists</returns>
</member>
<member name="M:Assimp.Material.HasNonTextureProperty(System.String)">
<summary>
Checks if the material has the specified non-texture property. The name should be
the "base name", as in it should not contain texture type/texture index information. E.g. "$clr.diffuse" rather than "$clr.diffuse,0,0". The extra
data will be filled in automatically.
</summary>
<param name="baseName">Key basename</param>
<returns>True if the property exists, false otherwise.</returns>
</member>
<member name="M:Assimp.Material.HasProperty(System.String,Assimp.TextureType,System.Int32)">
<summary>
Checks if the material has the specified property. All the input parameters are combined into the fully qualified name: {baseName},{texType},{texIndex}. E.g.
"$clr.diffuse,0,0" or "$tex.file,1,0".
</summary>
<param name="baseName">Key basename</param>
<param name="texType">Texture type; non-texture properties should leave this <see cref="F:Assimp.TextureType.None"/></param>
<param name="texIndex">Texture index; non-texture properties should leave this zero.</param>
<returns>True if the property exists, false otherwise.</returns>
</member>
<member name="M:Assimp.Material.HasProperty(System.String)">
<summary>
Checks if the material has the specified property by looking up its fully qualified name. The format is: {baseName},{texType},{texIndex}. E.g.
"$clr.diffuse,0,0" or "$tex.file,1,0".
</summary>
<param name="fullyQualifiedName">Fully qualified name of the property</param>
<returns>True if the property exists, false otherwise.</returns>
</member>
<member name="M:Assimp.Material.AddProperty(Assimp.MaterialProperty)">
<summary>
Adds a property to this material.
</summary>
<param name="matProp">Material property</param>
<returns>True if the property was successfully added, false otherwise (e.g. null or key already present).</returns>
</member>
<member name="M:Assimp.Material.RemoveNonTextureProperty(System.String)">
<summary>
Removes a non-texture property from the material.
</summary>
<param name="baseName">Property name</param>
<returns>True if the property was removed, false otherwise</returns>
</member>
<member name="M:Assimp.Material.RemoveProperty(System.String,Assimp.TextureType,System.Int32)">
<summary>
Removes a property from the material.
</summary>
<param name="baseName">Name of the property</param>
<param name="texType">Property texture type</param>
<param name="texIndex">Property texture index</param>
<returns>True if the property was removed, false otherwise</returns>
</member>
<member name="M:Assimp.Material.RemoveProperty(System.String)">
<summary>
Removes a property from the material.
</summary>
<param name="fullyQualifiedName">Fully qualified name of the property ({basename},{texType},{texIndex})</param>
<returns>True if the property was removed, false otherwise</returns>
</member>
<member name="M:Assimp.Material.Clear">
<summary>
Removes all properties from the material;
</summary>
</member>
<member name="M:Assimp.Material.GetAllProperties">
<summary>
Gets -all- properties contained in the Material.
</summary>
<returns>All properties in the material property map.</returns>
</member>
<member name="M:Assimp.Material.GetMaterialTextureCount(Assimp.TextureType)">
<summary>
Gets all the number of textures that are of the specified texture type.
</summary>
<param name="texType">Texture type</param>
<returns>Texture count</returns>
</member>
<member name="M:Assimp.Material.AddMaterialTexture(Assimp.TextureSlot@)">
<summary>
Adds a texture to the material - this bulk creates a property for each field. This will
either create properties or overwrite existing properties. If the texture has no
file path, nothing is added.
</summary>
<param name="texture">Texture to add</param>
<returns>True if the texture properties were added or modified</returns>
</member>
<member name="M:Assimp.Material.AddMaterialTexture(Assimp.TextureSlot@,System.Boolean)">
<summary>
Adds a texture to the material - this bulk creates a property for each field. This will
either create properties or overwrite existing properties. If the texture has no
file path, nothing is added.
</summary>
<param name="texture">Texture to add</param>
<param name="onlySetFilePath">True to only set the texture's file path, false otherwise</param>
<returns>True if the texture properties were added or modified</returns>
</member>
<member name="M:Assimp.Material.RemoveMaterialTexture(Assimp.TextureSlot@)">
<summary>
Removes a texture from the material - this bulk removes a property for each field.
If the texture has no file path, nothing is removed
</summary>
<param name="texture">Texture to remove</param>
<returns>True if the texture was removed, false otherwise.</returns>
</member>
<member name="M:Assimp.Material.GetMaterialTexture(Assimp.TextureType,System.Int32,Assimp.TextureSlot@)">
<summary>
Gets a texture that corresponds to the type/index.
</summary>
<param name="texType">Texture type</param>
<param name="texIndex">Texture index</param>
<param name="texture">Texture description</param>
<returns>True if the texture was found in the material</returns>
</member>
<member name="M:Assimp.Material.GetMaterialTextures(Assimp.TextureType)">
<summary>
Gets all textures that correspond to the type.
</summary>
<param name="type">Texture type</param>
<returns>The array of textures</returns>
</member>
<member name="M:Assimp.Material.GetAllMaterialTextures">
<summary>
Gets all textures in the material.
</summary>
<returns>The array of textures</returns>
</member>
<member name="P:Assimp.Material.Assimp#IMarshalable{Assimp#Material,Assimp#Unmanaged#AiMaterial}#IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.Material.Assimp#IMarshalable{Assimp#Material,Assimp#Unmanaged#AiMaterial}#ToNative(System.IntPtr,Assimp.Unmanaged.AiMaterial@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.Material.Assimp#IMarshalable{Assimp#Material,Assimp#Unmanaged#AiMaterial}#FromNative(Assimp.Unmanaged.AiMaterial@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.Material.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.MaterialProperty">
<summary>
A key-value pairing that represents some material property.
</summary>
</member>
<member name="P:Assimp.MaterialProperty.Name">
<summary>
Gets or sets the property key name. E.g. $tex.file. This corresponds to the
"AiMatKeys" base name constants.
</summary>
</member>
<member name="P:Assimp.MaterialProperty.PropertyType">
<summary>
Gets or sets the type of property.
</summary>
</member>
<member name="P:Assimp.MaterialProperty.ByteCount">
<summary>
Gets the raw byte data count.
</summary>
</member>
<member name="P:Assimp.MaterialProperty.HasRawData">
<summary>
Checks if the property has data.
</summary>
</member>
<member name="P:Assimp.MaterialProperty.RawData">
<summary>
Gets the raw byte data. To modify/read this data, see the Get/SetXXXValue methods.
</summary>
</member>
<member name="P:Assimp.MaterialProperty.TextureType">
<summary>
Gets or sets the texture type semantic, for non-texture properties this is always <see cref="F:Assimp.TextureType.None"/>.
</summary>
</member>
<member name="P:Assimp.MaterialProperty.TextureIndex">
<summary>
Gets or sets the texture index, for non-texture properties this is always zero.
</summary>
</member>
<member name="P:Assimp.MaterialProperty.FullyQualifiedName">
<summary>
Gets the property's fully qualified name. Format: "{base name},{texture type semantic},{texture index}". E.g. "$clr.diffuse,0,0". This
is the key that is used to index the property in the material property map.
</summary>
</member>
<member name="M:Assimp.MaterialProperty.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.MaterialProperty"/> class.
</summary>
</member>
<member name="M:Assimp.MaterialProperty.#ctor(System.String,System.Byte[])">
<summary>
Constructs a new instance of the <see cref="T:Assimp.MaterialProperty"/> class. Constructs a buffer property.
</summary>
<param name="baseName">Base name of the property</param>
<param name="buffer">Property value</param>
</member>
<member name="M:Assimp.MaterialProperty.#ctor(System.String,System.Single)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.MaterialProperty"/> class. Constructs a float property.
</summary>
<param name="baseName">Base name of the property</param>
<param name="value">Property value</param>
</member>
<member name="M:Assimp.MaterialProperty.#ctor(System.String,System.Int32)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.MaterialProperty"/> class. Constructs an integer property.
</summary>
<param name="baseName">Base name of the property</param>
<param name="value">Property value</param>
</member>
<member name="M:Assimp.MaterialProperty.#ctor(System.String,System.Boolean)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.MaterialProperty"/> class. Constructs a boolean property.
</summary>
<param name="baseName">Name of the property</param>
<param name="value">Property value</param>
</member>
<member name="M:Assimp.MaterialProperty.#ctor(System.String,System.String)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.MaterialProperty"/> class. Creates a string property.
</summary>
<param name="baseName">Base name of the property</param>
<param name="value">Property value</param>
</member>
<member name="M:Assimp.MaterialProperty.#ctor(System.String,System.String,Assimp.TextureType,System.Int32)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.MaterialProperty"/> class. Creates a texture property.
</summary>
<param name="baseName">Base name of the property</param>
<param name="value">Property value</param>
<param name="texType">Texture type</param>
<param name="textureIndex">Texture index</param>
</member>
<member name="M:Assimp.MaterialProperty.#ctor(System.String,System.Single[])">
<summary>
Constructs a new instance of the <see cref="T:Assimp.MaterialProperty"/> class. Creates a float array property.
</summary>
<param name="baseName">Base name of the property</param>
<param name="values">Property values</param>
</member>
<member name="M:Assimp.MaterialProperty.#ctor(System.String,System.Int32[])">
<summary>
Constructs a new instance of the <see cref="T:Assimp.MaterialProperty"/> class. Creates a int array property.
</summary>
<param name="baseName">Base name of the property</param>
<param name="values">Property values</param>
</member>
<member name="M:Assimp.MaterialProperty.#ctor(System.String,Assimp.Color3D)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.MaterialProperty"/> class. Creates a Color3D property.
</summary>
<param name="baseName">Base name of the property</param>
<param name="value">Property value</param>
</member>
<member name="M:Assimp.MaterialProperty.#ctor(System.String,Assimp.Color4D)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.MaterialProperty"/> class. Creates a Color4D property.
</summary>
<param name="baseName">Base name of the property</param>
<param name="value">Property value</param>
</member>
<member name="M:Assimp.MaterialProperty.GetFloatValue">
<summary>
Gets the property raw data as a float.
</summary>
<returns>Float</returns>
</member>
<member name="M:Assimp.MaterialProperty.SetFloatValue(System.Single)">
<summary>
Sets the property raw data with a float.
</summary>
<param name="value">Float.</param>
<returns>True if successful, false otherwise</returns>
</member>
<member name="M:Assimp.MaterialProperty.GetDoubleValue">
<summary>
Gets the property raw data as a double.
</summary>
<returns>Double</returns>
</member>
<member name="M:Assimp.MaterialProperty.SetDoubleValue(System.Double)">
<summary>
Sets the property raw data with a double.
</summary>
<param name="value">Double.</param>
<returns>True if successful, false otherwise.</returns>
</member>
<member name="M:Assimp.MaterialProperty.GetIntegerValue">
<summary>
Gets the property raw data as an integer.
</summary>
<returns>Integer</returns>
</member>
<member name="M:Assimp.MaterialProperty.SetIntegerValue(System.Int32)">
<summary>
Sets the property raw data as an integer.
</summary>
<param name="value">Integer</param>
<returns>True if successful, false otherwise</returns>
</member>
<member name="M:Assimp.MaterialProperty.GetStringValue">
<summary>
Gets the property raw data as a string.
</summary>
<returns>String</returns>
</member>
<member name="M:Assimp.MaterialProperty.SetStringValue(System.String)">
<summary>
Sets the property raw data as string.
</summary>
<param name="value">String</param>
<returns>True if successful, false otherwise</returns>
</member>
<member name="M:Assimp.MaterialProperty.GetFloatArrayValue(System.Int32)">
<summary>
Gets the property raw data as a float array.
</summary>
<param name="count">Number of elements to get</param>
<returns>Float array</returns>
</member>
<member name="M:Assimp.MaterialProperty.GetFloatArrayValue">
<summary>
Gets the property raw data as a float array.
</summary>
<returns>Float array</returns>
</member>
<member name="M:Assimp.MaterialProperty.SetFloatArrayValue(System.Single[])">
<summary>
Sets the property raw data as a float array.
</summary>
<param name="values">Values to set</param>
<returns>True if successful, otherwise false</returns>
</member>
<member name="M:Assimp.MaterialProperty.GetDoubleArrayValue">
<summary>
Gets the property raw data as a double array.
</summary>
<returns>Double array</returns>
</member>
<member name="M:Assimp.MaterialProperty.SetDoubleArrayValue(System.Double[])">
<summary>
Sets the property raw data as a double array.
</summary>
<param name="values">Values to set</param>
<returns>True if successful, otherwise false</returns>
</member>
<member name="M:Assimp.MaterialProperty.GetIntegerArrayValue(System.Int32)">
<summary>
Gets the property raw data as an integer array.
</summary>
<param name="count">Number of elements to get</param>
<returns>Integer array</returns>
</member>
<member name="M:Assimp.MaterialProperty.GetIntegerArrayValue">
<summary>
Gets the property raw data as an integer array.
</summary>
<returns>Integer array</returns>
</member>
<member name="M:Assimp.MaterialProperty.SetIntegerArrayValue(System.Int32[])">
<summary>
Sets the property raw data as an integer array.
</summary>
<param name="values">Values to set</param>
<returns>True if successful, otherwise false</returns>
</member>
<member name="M:Assimp.MaterialProperty.GetBooleanValue">
<summary>
Gets the property raw data as a boolean.
</summary>
<returns>Boolean</returns>
</member>
<member name="M:Assimp.MaterialProperty.SetBooleanValue(System.Boolean)">
<summary>
Sets the property raw data as a boolean.
</summary>
<param name="value">Boolean value</param>
<returns>True if successful, false otherwise</returns>
</member>
<member name="M:Assimp.MaterialProperty.GetColor3DValue">
<summary>
Gets the property raw data as a Color3D.
</summary>
<returns>Color3D</returns>
</member>
<member name="M:Assimp.MaterialProperty.SetColor3DValue(Assimp.Color3D)">
<summary>
Sets the property raw data as a Color3D.
</summary>
<param name="value">Color3D</param>
<returns>True if successful, false otherwise</returns>
</member>
<member name="M:Assimp.MaterialProperty.GetColor4DValue">
<summary>
Gets the property raw data as a Color4D.
</summary>
<returns>Color4D</returns>
</member>
<member name="M:Assimp.MaterialProperty.SetColor4DValue(Assimp.Color4D)">
<summary>
Sets the property raw data as a Color4D.
</summary>
<param name="value">Color4D</param>
<returns>True if successful, false otherwise</returns>
</member>
<member name="P:Assimp.MaterialProperty.Assimp#IMarshalable{Assimp#MaterialProperty,Assimp#Unmanaged#AiMaterialProperty}#IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.MaterialProperty.Assimp#IMarshalable{Assimp#MaterialProperty,Assimp#Unmanaged#AiMaterialProperty}#ToNative(System.IntPtr,Assimp.Unmanaged.AiMaterialProperty@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.MaterialProperty.Assimp#IMarshalable{Assimp#MaterialProperty,Assimp#Unmanaged#AiMaterialProperty}#FromNative(Assimp.Unmanaged.AiMaterialProperty@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.MaterialProperty.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.Matrix3x3">
<summary>
Represents a 3x3 matrix. Assimp docs say their matrices are always row-major,
and it looks like they're only describing the memory layout. Matrices are treated
as column vectors however (X base in the first column, Y base the second, and Z base the third)
</summary>
</member>
<member name="F:Assimp.Matrix3x3.A1">
<summary>
Value at row 1, column 1 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix3x3.A2">
<summary>
Value at row 1, column 2 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix3x3.A3">
<summary>
Value at row 1, column 3 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix3x3.B1">
<summary>
Value at row 2, column 1 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix3x3.B2">
<summary>
Value at row 2, column 2 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix3x3.B3">
<summary>
Value at row 2, column 3 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix3x3.C1">
<summary>
Value at row 3, column 1 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix3x3.C2">
<summary>
Value at row 3, column 2 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix3x3.C3">
<summary>
Value at row 3, column 3 of the matrix
</summary>
</member>
<member name="P:Assimp.Matrix3x3.Identity">
<summary>
Gets the identity matrix.
</summary>
</member>
<member name="P:Assimp.Matrix3x3.IsIdentity">
<summary>
Gets if this matrix is an identity matrix.
</summary>
</member>
<member name="P:Assimp.Matrix3x3.Item(System.Int32,System.Int32)">
<summary>
Gets or sets the value at the specific one-based row, column
index. E.g. i = 1, j = 2 gets the value in row 1, column 2 (MA2). Indices
out of range return a value of zero.
</summary>
<param name="i">One-based Row index</param>
<param name="j">One-based Column index</param>
<returns>Matrix value</returns>
</member>
<member name="M:Assimp.Matrix3x3.#ctor(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Constructs a new Matrix3x3.
</summary>
<param name="a1">Element at row 1, column 1</param>
<param name="a2">Element at row 1, column 2</param>
<param name="a3">Element at row 1, column 3</param>
<param name="b1">Element at row 2, column 1</param>
<param name="b2">Element at row 2, column 2</param>
<param name="b3">Element at row 2, column 3</param>
<param name="c1">Element at row 3, column 1</param>
<param name="c2">Element at row 3, column 2</param>
<param name="c3">Element at row 3, column 3</param>
</member>
<member name="M:Assimp.Matrix3x3.#ctor(Assimp.Matrix4x4)">
<summary>
Constructs a new Matrix3x3.
</summary>
<param name="rotMatrix">A 4x4 matrix to construct from, only taking the rotation/scaling part.</param>
</member>
<member name="M:Assimp.Matrix3x3.Transpose">
<summary>
Transposes this matrix (rows become columns, vice versa).
</summary>
</member>
<member name="M:Assimp.Matrix3x3.Inverse">
<summary>
Inverts the matrix. If the matrix is *not* invertible all elements are set to <see cref="F:System.Single.NaN"/>.
</summary>
</member>
<member name="M:Assimp.Matrix3x3.Determinant">
<summary>
Compute the determinant of this matrix.
</summary>
<returns>The determinant</returns>
</member>
<member name="M:Assimp.Matrix3x3.FromEulerAnglesXYZ(System.Single,System.Single,System.Single)">
<summary>
Creates a rotation matrix from a set of euler angles.
</summary>
<param name="x">Rotation angle about the x-axis, in radians.</param>
<param name="y">Rotation angle about the y-axis, in radians.</param>
<param name="z">Rotation angle about the z-axis, in radians.</param>
<returns>The rotation matrix</returns>
</member>
<member name="M:Assimp.Matrix3x3.FromEulerAnglesXYZ(Assimp.Vector3D)">
<summary>
Creates a rotation matrix from a set of euler angles.
</summary>
<param name="angles">Vector containing the rotation angles about the x, y, z axes, in radians.</param>
<returns>The rotation matrix</returns>
</member>
<member name="M:Assimp.Matrix3x3.FromRotationX(System.Single)">
<summary>
Creates a rotation matrix for a rotation about the x-axis.
</summary>
<param name="radians">Rotation angle in radians.</param>
<returns>The rotation matrix</returns>
</member>
<member name="M:Assimp.Matrix3x3.FromRotationY(System.Single)">
<summary>
Creates a rotation matrix for a rotation about the y-axis.
</summary>
<param name="radians">Rotation angle in radians.</param>
<returns>The rotation matrix</returns>
</member>
<member name="M:Assimp.Matrix3x3.FromRotationZ(System.Single)">
<summary>
Creates a rotation matrix for a rotation about the z-axis.
</summary>
<param name="radians">Rotation angle in radians.</param>
<returns>The rotation matrix</returns>
</member>
<member name="M:Assimp.Matrix3x3.FromAngleAxis(System.Single,Assimp.Vector3D)">
<summary>
Creates a rotation matrix for a rotation about an arbitrary axis.
</summary>
<param name="radians">Rotation angle, in radians</param>
<param name="axis">Rotation axis, which should be a normalized vector.</param>
<returns>The rotation matrix</returns>
</member>
<member name="M:Assimp.Matrix3x3.FromScaling(Assimp.Vector3D)">
<summary>
Creates a scaling matrix.
</summary>
<param name="scaling">Scaling vector</param>
<returns>The scaling vector</returns>
</member>
<member name="M:Assimp.Matrix3x3.FromToMatrix(Assimp.Vector3D,Assimp.Vector3D)">
<summary>
Creates a rotation matrix that rotates a vector called "from" into another
vector called "to". Based on an algorithm by Tomas Moller and John Hudges:
<para>
"Efficiently Building a Matrix to Rotate One Vector to Another"
Journal of Graphics Tools, 4(4):1-4, 1999
</para>
</summary>
<param name="from">Starting vector</param>
<param name="to">Ending vector</param>
<returns>Rotation matrix to rotate from the start to end.</returns>
</member>
<member name="M:Assimp.Matrix3x3.op_Equality(Assimp.Matrix3x3,Assimp.Matrix3x3)">
<summary>
Tests equality between two matrices.
</summary>
<param name="a">First matrix</param>
<param name="b">Second matrix</param>
<returns>True if the matrices are equal, false otherwise</returns>
</member>
<member name="M:Assimp.Matrix3x3.op_Inequality(Assimp.Matrix3x3,Assimp.Matrix3x3)">
<summary>
Tests inequality between two matrices.
</summary>
<param name="a">First matrix</param>
<param name="b">Second matrix</param>
<returns>True if the matrices are not equal, false otherwise</returns>
</member>
<member name="M:Assimp.Matrix3x3.op_Multiply(Assimp.Matrix3x3,Assimp.Matrix3x3)">
<summary>
Performs matrix multiplication.Multiplication order is B x A. That way, SRT concatenations
are left to right.
</summary>
<param name="a">First matrix</param>
<param name="b">Second matrix</param>
<returns>Multiplied matrix</returns>
</member>
<member name="M:Assimp.Matrix3x3.op_Implicit(Assimp.Matrix4x4)~Assimp.Matrix3x3">
<summary>
Implicit conversion from a 4x4 matrix to a 3x3 matrix.
</summary>
<param name="mat">4x4 matrix</param>
<returns>3x3 matrix</returns>
</member>
<member name="M:Assimp.Matrix3x3.Equals(Assimp.Matrix3x3)">
<summary>
Tests equality between this matrix and another.
</summary>
<param name="other">Other matrix to test</param>
<returns>True if the matrices are equal, false otherwise</returns>
</member>
<member name="M:Assimp.Matrix3x3.Equals(System.Object)">
<summary>
Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
</summary>
<param name="obj">The <see cref="T:System.Object"/> to compare with this instance.</param>
<returns>
<c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
</returns>
</member>
<member name="M:Assimp.Matrix3x3.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
</returns>
</member>
<member name="M:Assimp.Matrix3x3.ToString">
<summary>
Returns a <see cref="T:System.String"/> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String"/> that represents this instance.
</returns>
</member>
<member name="T:Assimp.Matrix4x4">
<summary>
Represents a 4x4 column-vector matrix (X base is the first column, Y base is the second, Z base the third, and translation the fourth).
Memory layout is row major. Right handed conventions are used by default.
</summary>
</member>
<member name="F:Assimp.Matrix4x4.A1">
<summary>
Value at row 1, column 1 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix4x4.A2">
<summary>
Value at row 1, column 2 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix4x4.A3">
<summary>
Value at row 1, column 3 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix4x4.A4">
<summary>
Value at row 1, column 4 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix4x4.B1">
<summary>
Value at row 2, column 1 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix4x4.B2">
<summary>
Value at row 2, column 2 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix4x4.B3">
<summary>
Value at row 2, column 3 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix4x4.B4">
<summary>
Value at row 2, column 4 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix4x4.C1">
<summary>
Value at row 3, column 1 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix4x4.C2">
<summary>
Value at row 3, column 2 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix4x4.C3">
<summary>
Value at row 3, column 3 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix4x4.C4">
<summary>
Value at row 3, column 4 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix4x4.D1">
<summary>
Value at row 4, column 1 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix4x4.D2">
<summary>
Value at row 4, column 2 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix4x4.D3">
<summary>
Value at row 4, column 3 of the matrix
</summary>
</member>
<member name="F:Assimp.Matrix4x4.D4">
<summary>
Value at row 4, column 4 of the matrix
</summary>
</member>
<member name="P:Assimp.Matrix4x4.Identity">
<summary>
Gets the identity matrix.
</summary>
</member>
<member name="P:Assimp.Matrix4x4.IsIdentity">
<summary>
Gets if this matrix is an identity matrix.
</summary>
</member>
<member name="P:Assimp.Matrix4x4.Item(System.Int32,System.Int32)">
<summary>
Gets or sets the value at the specific one-based row, column
index. E.g. i = 1, j = 2 gets the value in row 1, column 2 (MA2). Indices
out of range return a value of zero.
</summary>
<param name="i">One-based Row index</param>
<param name="j">One-based Column index</param>
<returns>Matrix value</returns>
</member>
<member name="M:Assimp.Matrix4x4.#ctor(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Constructs a new Matrix4x4.
</summary>
<param name="a1">Element at row 1, column 1</param>
<param name="a2">Element at row 1, column 2</param>
<param name="a3">Element at row 1, column 3</param>
<param name="a4">Element at row 1, column 4</param>
<param name="b1">Element at row 2, column 1</param>
<param name="b2">Element at row 2, column 2</param>
<param name="b3">Element at row 2, column 3</param>
<param name="b4">Element at row 2, column 4</param>
<param name="c1">Element at row 3, column 1</param>
<param name="c2">Element at row 3, column 2</param>
<param name="c3">Element at row 3, column 3</param>
<param name="c4">Element at row 3, column 4</param>
<param name="d1">Element at row 4, column 1</param>
<param name="d2">Element at row 4, column 2</param>
<param name="d3">Element at row 4, column 3</param>
<param name="d4">Element at row 4, column 4</param>
</member>
<member name="M:Assimp.Matrix4x4.#ctor(Assimp.Matrix3x3)">
<summary>
Constructs a new Matrix4x4.
</summary>
<param name="rotMatrix">Rotation matrix to copy values from.</param>
</member>
<member name="M:Assimp.Matrix4x4.Transpose">
<summary>
Transposes this matrix (rows become columns, vice versa).
</summary>
</member>
<member name="M:Assimp.Matrix4x4.Inverse">
<summary>
Inverts the matrix. If the matrix is *not* invertible all elements are set to <see cref="F:System.Single.NaN"/>.
</summary>
</member>
<member name="M:Assimp.Matrix4x4.Determinant">
<summary>
Compute the determinant of this matrix.
</summary>
<returns>The determinant</returns>
</member>
<member name="M:Assimp.Matrix4x4.Decompose(Assimp.Vector3D@,Assimp.Quaternion@,Assimp.Vector3D@)">
<summary>
Decomposes a transformation matrix into its original scale, rotation, and translation components. The
scaling vector receives the scaling for the x, y, z axes. The rotation is returned as a hamilton quaternion. And
the translation is the output position for the x, y, z axes.
</summary>
<param name="scaling">Vector to hold the scaling component</param>
<param name="rotation">Quaternion to hold the rotation component</param>
<param name="translation">Vector to hold the translation component</param>
</member>
<member name="M:Assimp.Matrix4x4.DecomposeNoScaling(Assimp.Quaternion@,Assimp.Vector3D@)">
<summary>
Decomposes a transformation matrix with no scaling. The rotation is returned as a hamilton
quaternion. The translation receives the output position for the x, y, z axes.
</summary>
<param name="rotation">Quaternion to hold the rotation component</param>
<param name="translation">Vector to hold the translation component</param>
</member>
<member name="M:Assimp.Matrix4x4.FromEulerAnglesXYZ(System.Single,System.Single,System.Single)">
<summary>
Creates a rotation matrix from a set of euler angles.
</summary>
<param name="x">Rotation angle about the x-axis, in radians.</param>
<param name="y">Rotation angle about the y-axis, in radians.</param>
<param name="z">Rotation angle about the z-axis, in radians.</param>
<returns>The rotation matrix</returns>
</member>
<member name="M:Assimp.Matrix4x4.FromEulerAnglesXYZ(Assimp.Vector3D)">
<summary>
Creates a rotation matrix from a set of euler angles.
</summary>
<param name="angles">Vector containing the rotation angles about the x, y, z axes, in radians.</param>
<returns>The rotation matrix</returns>
</member>
<member name="M:Assimp.Matrix4x4.FromRotationX(System.Single)">
<summary>
Creates a rotation matrix for a rotation about the x-axis.
</summary>
<param name="radians">Rotation angle in radians.</param>
<returns>The rotation matrix</returns>
</member>
<member name="M:Assimp.Matrix4x4.FromRotationY(System.Single)">
<summary>
Creates a rotation matrix for a rotation about the y-axis.
</summary>
<param name="radians">Rotation angle in radians.</param>
<returns>The rotation matrix</returns>
</member>
<member name="M:Assimp.Matrix4x4.FromRotationZ(System.Single)">
<summary>
Creates a rotation matrix for a rotation about the z-axis.
</summary>
<param name="radians">Rotation angle in radians.</param>
<returns>The rotation matrix</returns>
</member>
<member name="M:Assimp.Matrix4x4.FromAngleAxis(System.Single,Assimp.Vector3D)">
<summary>
Creates a rotation matrix for a rotation about an arbitrary axis.
</summary>
<param name="radians">Rotation angle, in radians</param>
<param name="axis">Rotation axis, which should be a normalized vector.</param>
<returns>The rotation matrix</returns>
</member>
<member name="M:Assimp.Matrix4x4.FromTranslation(Assimp.Vector3D)">
<summary>
Creates a translation matrix.
</summary>
<param name="translation">Translation vector</param>
<returns>The translation matrix</returns>
</member>
<member name="M:Assimp.Matrix4x4.FromScaling(Assimp.Vector3D)">
<summary>
Creates a scaling matrix.
</summary>
<param name="scaling">Scaling vector</param>
<returns>The scaling vector</returns>
</member>
<member name="M:Assimp.Matrix4x4.FromToMatrix(Assimp.Vector3D,Assimp.Vector3D)">
<summary>
Creates a rotation matrix that rotates a vector called "from" into another
vector called "to". Based on an algorithm by Tomas Moller and John Hudges:
<para>
"Efficiently Building a Matrix to Rotate One Vector to Another"
Journal of Graphics Tools, 4(4):1-4, 1999
</para>
</summary>
<param name="from">Starting vector</param>
<param name="to">Ending vector</param>
<returns>Rotation matrix to rotate from the start to end.</returns>
</member>
<member name="M:Assimp.Matrix4x4.op_Equality(Assimp.Matrix4x4,Assimp.Matrix4x4)">
<summary>
Tests equality between two matrices.
</summary>
<param name="a">First matrix</param>
<param name="b">Second matrix</param>
<returns>True if the matrices are equal, false otherwise</returns>
</member>
<member name="M:Assimp.Matrix4x4.op_Inequality(Assimp.Matrix4x4,Assimp.Matrix4x4)">
<summary>
Tests inequality between two matrices.
</summary>
<param name="a">First matrix</param>
<param name="b">Second matrix</param>
<returns>True if the matrices are not equal, false otherwise</returns>
</member>
<member name="M:Assimp.Matrix4x4.op_Multiply(Assimp.Matrix4x4,Assimp.Matrix4x4)">
<summary>
Performs matrix multiplication. Multiplication order is B x A. That way, SRT concatenations
are left to right.
</summary>
<param name="a">First matrix</param>
<param name="b">Second matrix</param>
<returns>Multiplied matrix</returns>
</member>
<member name="M:Assimp.Matrix4x4.op_Implicit(Assimp.Matrix3x3)~Assimp.Matrix4x4">
<summary>
Implicit conversion from a 3x3 matrix to a 4x4 matrix.
</summary>
<param name="mat">3x3 matrix</param>
<returns>4x4 matrix</returns>
</member>
<member name="M:Assimp.Matrix4x4.Equals(Assimp.Matrix4x4)">
<summary>
Tests equality between this matrix and another.
</summary>
<param name="other">Other matrix to test</param>
<returns>True if the matrices are equal, false otherwise</returns>
</member>
<member name="M:Assimp.Matrix4x4.Equals(System.Object)">
<summary>
Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
</summary>
<param name="obj">The <see cref="T:System.Object"/> to compare with this instance.</param>
<returns>
<c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
</returns>
</member>
<member name="M:Assimp.Matrix4x4.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
</returns>
</member>
<member name="M:Assimp.Matrix4x4.ToString">
<summary>
Returns a <see cref="T:System.String"/> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String"/> that represents this instance.
</returns>
</member>
<member name="T:Assimp.FreeNativeDelegate">
<summary>
Delegate for performing unmanaged memory cleanup.
</summary>
<param name="nativeValue">Location in unmanaged memory of the value to cleanup</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise</param>
</member>
<member name="T:Assimp.MemoryHelper">
<summary>
Helper static class containing functions that aid dealing with unmanaged memory to managed memory conversions.
</summary>
</member>
<member name="M:Assimp.MemoryHelper.ToNativeArray``2(``0[])">
<summary>
Marshals an array of managed values to a c-style unmanaged array (void*).
</summary>
<typeparam name="Managed">Managed type</typeparam>
<typeparam name="Native">Native type</typeparam>
<param name="managedArray">Array of managed values</param>
<returns>Pointer to unmanaged memory</returns>
</member>
<member name="M:Assimp.MemoryHelper.ToNativeArray``2(``0[],System.Boolean)">
<summary>
Marshals an array of managed values to a c-style unmanaged array (void*). This also can optionally marshal to
an unmanaged array of pointers (void**).
</summary>
<typeparam name="Managed">Managed type</typeparam>
<typeparam name="Native">Native type</typeparam>
<param name="managedArray">Array of managed values</param>
<param name="arrayOfPointers">True if the pointer is an array of pointers, false otherwise.</param>
<returns>Pointer to unmanaged memory</returns>
</member>
<member name="M:Assimp.MemoryHelper.FromNativeArray``2(System.IntPtr,System.Int32)">
<summary>
Marshals an array of managed values from a c-style unmanaged array (void*).
</summary>
<typeparam name="Managed">Managed type</typeparam>
<typeparam name="Native">Native type</typeparam>
<param name="nativeArray">Pointer to unmanaged memory</param>
<param name="length">Number of elements to marshal</param>
<returns>Marshaled managed values</returns>
</member>
<member name="M:Assimp.MemoryHelper.FromNativeArray``2(System.IntPtr,System.Int32,System.Boolean)">
<summary>
Marshals an array of managed values from a c-style unmanaged array (void*). This also can optionally marshal from
an unmanaged array of pointers (void**).
</summary>
<typeparam name="Managed">Managed type</typeparam>
<typeparam name="Native">Native type</typeparam>
<param name="nativeArray">Pointer to unmanaged memory</param>
<param name="length">Number of elements to marshal</param>
<param name="arrayOfPointers">True if the pointer is an array of pointers, false otherwise.</param>
<returns>Marshaled managed values</returns>
</member>
<member name="M:Assimp.MemoryHelper.ToNativeArray``1(``0[])">
<summary>
Marshals an array of blittable structs to a c-style unmanaged array (void*). This should not be used on non-blittable types
that require marshaling by the runtime (e.g. has MarshalAs attributes).
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="managedArray">Managed array of structs</param>
<returns>Pointer to unmanaged memory</returns>
</member>
<member name="M:Assimp.MemoryHelper.FromNativeArray``1(System.IntPtr,System.Int32)">
<summary>
Marshals an array of blittable structs from a c-style unmanaged array (void*). This should not be used on non-blittable types
that require marshaling by the runtime (e.g. has MarshalAs attributes).
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="nativeArray">Pointer to unmanaged memory</param>
<param name="length">Number of elements to read</param>
<returns>Managed array</returns>
</member>
<member name="M:Assimp.MemoryHelper.FreeNativeArray``1(System.IntPtr,System.Int32,Assimp.FreeNativeDelegate)">
<summary>
Frees an unmanaged array and performs cleanup for each value. This can be used on any type that can be
marshaled into unmanaged memory.
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="nativeArray">Pointer to unmanaged memory</param>
<param name="length">Number of elements to free</param>
<param name="action">Delegate that performs the necessary cleanup</param>
</member>
<member name="M:Assimp.MemoryHelper.FreeNativeArray``1(System.IntPtr,System.Int32,Assimp.FreeNativeDelegate,System.Boolean)">
<summary>
Frees an unmanaged array and performs cleanup for each value. Optionally can free an array of pointers. This can be used on any type that can be
marshaled into unmanaged memory.
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="nativeArray">Pointer to unmanaged memory</param>
<param name="length">Number of elements to free</param>
<param name="action">Delegate that performs the necessary cleanup</param>
<param name="arrayOfPointers">True if the pointer is an array of pointers, false otherwise.</param>
</member>
<member name="M:Assimp.MemoryHelper.ToNativePointer``2(``0)">
<summary>
Marshals a managed value to unmanaged memory.
</summary>
<typeparam name="Managed">Managed type</typeparam>
<typeparam name="Native">Unmanaged type</typeparam>
<param name="managedValue">Managed value to marshal</param>
<returns>Pointer to unmanaged memory</returns>
</member>
<member name="M:Assimp.MemoryHelper.FromNativePointer``2(System.IntPtr)">
<summary>
Marshals a managed value from unmanaged memory.
</summary>
<typeparam name="Managed">Managed type</typeparam>
<typeparam name="Native">Unmanaged type</typeparam>
<param name="ptr">Pointer to unmanaged memory</param>
<returns>The marshaled managed value</returns>
</member>
<member name="M:Assimp.MemoryHelper.MarshalStructure``1(System.IntPtr,``0@)">
<summary>
Convienence method for marshaling a pointer to a structure. Only use if the type is not blittable, otherwise
use the read methods for blittable types.
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="ptr">Pointer to marshal</param>
<param name="value">The marshaled structure</param>
</member>
<member name="M:Assimp.MemoryHelper.MarshalStructure``1(System.IntPtr)">
<summary>
Convienence method for marshaling a pointer to a structure. Only use if the type is not blittable, otherwise
use the read methods for blittable types.
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="ptr">Pointer to marshal</param>
<returns>The marshaled structure</returns>
</member>
<member name="M:Assimp.MemoryHelper.MarshalPointer``1(``0@,System.IntPtr)">
<summary>
Convienence method for marshaling a structure to a pointer. Only use if the type is not blittable, otherwise
use the write methods for blittable types.
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="value">Struct to marshal</param>
<param name="ptr">Pointer to unmanaged chunk of memory which must be allocated prior to this call</param>
</member>
<member name="M:Assimp.MemoryHelper.MarshalSizeOf``1">
<summary>
Computes the size of the struct type using Marshal SizeOf. Only use if the type is not blittable, thus requiring marshaling by the runtime,
(e.g. has MarshalAs attributes), otherwise use the SizeOf methods for blittable types.
</summary>
<typeparam name="T">Struct type</typeparam>
<returns>Size of the struct in bytes.</returns>
</member>
<member name="M:Assimp.MemoryHelper.MarshalSizeOf``1(``0[])">
<summary>
Computes the size of the struct array using Marshal SizeOf. Only use if the type is not blittable, thus requiring marshaling by the runtime,
(e.g. has MarshalAs attributes), otherwise use the SizeOf methods for blittable types.
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="array">Array of structs</param>
<returns>Total size, in bytes, of the array's contents.</returns>
</member>
<member name="M:Assimp.MemoryHelper.PinObject(System.Object)">
<summary>
Pins an object in memory, which allows a pointer to it to be returned. While the object remains pinned the runtime
cannot move the object around in memory, which may degrade performance.
</summary>
<param name="obj">Object to pin.</param>
<returns>Pointer to pinned object's memory location.</returns>
</member>
<member name="M:Assimp.MemoryHelper.UnpinObject(System.Object)">
<summary>
Unpins an object in memory, allowing it to once again freely be moved around by the runtime.
</summary>
<param name="obj">Object to unpin.</param>
</member>
<member name="M:Assimp.MemoryHelper.DisposeCollection``1(System.Collections.Generic.ICollection{``0})">
<summary>
Convienence method to dispose all items in the collection
</summary>
<typeparam name="T">IDisposable type</typeparam>
<param name="collection">Collection of disposables</param>
</member>
<member name="M:Assimp.MemoryHelper.CastToEnum``2(``0)">
<summary>
Casts an underlying value type to an enum type, WITHOUT first casting the value to an Object. So this avoid boxing the value.
</summary>
<typeparam name="V">Underlying value type.</typeparam>
<typeparam name="T">Enum type.</typeparam>
<param name="value">Value to cast.</param>
<returns>Enum value.</returns>
</member>
<member name="M:Assimp.MemoryHelper.AllocateMemory(System.Int32,System.Int32)">
<summary>
Allocates unmanaged memory. This memory should only be freed by this helper.
</summary>
<param name="sizeInBytes">Size to allocate</param>
<param name="alignment">Alignment of the memory, by default aligned along 16-byte boundary.</param>
<returns>Pointer to the allocated unmanaged memory.</returns>
</member>
<member name="M:Assimp.MemoryHelper.AllocateClearedMemory(System.Int32,System.Byte,System.Int32)">
<summary>
Allocates unmanaged memory that is cleared to a certain value. This memory should only be freed by this helper.
</summary>
<param name="sizeInBytes">Size to allocate</param>
<param name="clearValue">Value the memory will be cleared to, by default zero.</param>
<param name="alignment">Alignment of the memory, by default aligned along 16-byte boundary.</param>
<returns>Pointer to the allocated unmanaged memory.</returns>
</member>
<member name="M:Assimp.MemoryHelper.FreeMemory(System.IntPtr)">
<summary>
Frees unmanaged memory that was allocated by this helper.
</summary>
<param name="memoryPtr">Pointer to unmanaged memory to free.</param>
</member>
<member name="M:Assimp.MemoryHelper.IsMemoryAligned(System.IntPtr,System.Int32)">
<summary>
Checks if the memory is aligned to the specified alignment.
</summary>
<param name="memoryPtr">Pointer to the memory</param>
<param name="alignment">Alignment value, by defauly 16-byte</param>
<returns>True if is aligned, false otherwise.</returns>
</member>
<member name="M:Assimp.MemoryHelper.Swap``1(``0@,``0@)">
<summary>
Swaps the value between two references.
</summary>
<typeparam name="T">Type of data to swap.</typeparam>
<param name="left">First reference</param>
<param name="right">Second reference</param>
</member>
<member name="M:Assimp.MemoryHelper.ComputeFNVModifiedHashCode(System.Byte[])">
<summary>
Computes a hash code using the <a href="http://bretm.home.comcast.net/~bretm/hash/6.html">FNV modified algorithm</a>m.
</summary>
<param name="data">Byte data to hash.</param>
<returns>Hash code for the data.</returns>
</member>
<member name="M:Assimp.MemoryHelper.ReadStreamFully(System.IO.Stream,System.Int32)">
<summary>
Reads a stream until the end is reached into a byte array. Based on
<a href="http://www.yoda.arachsys.com/csharp/readbinary.html">Jon Skeet's implementation</a>.
It is up to the caller to dispose of the stream.
</summary>
<param name="stream">Stream to read all bytes from</param>
<param name="initialLength">Initial buffer length, default is 32K</param>
<returns>The byte array containing all the bytes from the stream</returns>
</member>
<member name="M:Assimp.MemoryHelper.Compare(System.Byte[],System.Byte[])">
<summary>
Compares two arrays of bytes for equivalence.
</summary>
<param name="firstData">First array of data.</param>
<param name="secondData">Second array of data.</param>
<returns>True if both arrays contain the same data, false otherwise.</returns>
</member>
<member name="M:Assimp.MemoryHelper.ClearMemory(System.IntPtr,System.Byte,System.Int32)">
<summary>
Clears the memory to the specified value.
</summary>
<param name="memoryPtr">Pointer to the memory.</param>
<param name="clearValue">Value the memory will be cleared to.</param>
<param name="sizeInBytesToClear">Number of bytes, starting from the memory pointer, to clear.</param>
</member>
<member name="M:Assimp.MemoryHelper.SizeOf``1">
<summary>
Computes the size of the struct type.
</summary>
<typeparam name="T">Struct type</typeparam>
<returns>Size of the struct in bytes.</returns>
</member>
<member name="M:Assimp.MemoryHelper.AsPointer``1(``0@)">
<summary>
Casts the by-ref value into a pointer.
</summary>
<typeparam name="T">Struct type.</typeparam>
<param name="src">By-ref value.</param>
<returns>Pointer to the value.</returns>
</member>
<member name="M:Assimp.MemoryHelper.AsPointerReadonly``1(``0@)">
<summary>
Casts the readonly by-ref value into a pointer.
</summary>
<typeparam name="T">Struct type.</typeparam>
<param name="src">By-ref value.</param>
<returns>Pointer to the value.</returns>
</member>
<member name="M:Assimp.MemoryHelper.AsRef``1(System.IntPtr)">
<summary>
Casts the pointer into a by-ref value of the specified type.
</summary>
<typeparam name="T">Struct type.</typeparam>
<param name="pSrc">Memory location.</param>
<returns>By-ref value.</returns>
</member>
<member name="M:Assimp.MemoryHelper.As``2(``0@)">
<summary>
Casts one by-ref type to another, unsafely.
</summary>
<typeparam name="TFrom">From struct type</typeparam>
<typeparam name="TTo">To struct type</typeparam>
<param name="src">Source by-ref value.</param>
<returns>Reference as the from type.</returns>
</member>
<member name="M:Assimp.MemoryHelper.AsReadonly``2(``0@)">
<summary>
Casts one readonly by-ref type to another, unsafely.
</summary>
<typeparam name="TFrom">From struct type</typeparam>
<typeparam name="TTo">To struct type</typeparam>
<param name="src">Source by-ref value.</param>
<returns>Reference as the from type.</returns>
</member>
<member name="M:Assimp.MemoryHelper.SizeOf``1(``0[])">
<summary>
Computes the size of the struct array.
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="array">Array of structs</param>
<returns>Total size, in bytes, of the array's contents.</returns>
</member>
<member name="M:Assimp.MemoryHelper.AddIntPtr(System.IntPtr,System.Int32)">
<summary>
Adds an offset to the pointer.
</summary>
<param name="ptr">Pointer</param>
<param name="offset">Offset</param>
<returns>Pointer plus the offset</returns>
</member>
<member name="M:Assimp.MemoryHelper.CopyMemory(System.IntPtr,System.IntPtr,System.Int32)">
<summary>
Performs a memcopy that copies data from the memory pointed to by the source pointer to the memory pointer by the destination pointer.
</summary>
<param name="pDest">Destination memory location</param>
<param name="pSrc">Source memory location</param>
<param name="sizeInBytesToCopy">Number of bytes to copy</param>
</member>
<member name="M:Assimp.MemoryHelper.Count``1(System.Collections.Generic.IEnumerable{``0})">
<summary>
Returns the number of elements in the enumerable.
</summary>
<typeparam name="T">Type of element in collection.</typeparam>
<param name="source">Enumerable collection</param>
<returns>The number of elements in the enumerable collection.</returns>
</member>
<member name="M:Assimp.MemoryHelper.ToByteArray``1(``0[])">
<summary>
Converts typed element array to a byte array.
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="source">Element array</param>
<returns>Byte array copy or null if the source array was not valid.</returns>
</member>
<member name="M:Assimp.MemoryHelper.FromByteArray``1(System.Byte[])">
<summary>
Converts a byte array to a typed element array.
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="source">Byte array</param>
<returns>Typed element array or null if the source array was not valid.</returns>
</member>
<member name="M:Assimp.MemoryHelper.CopyBytes``1(System.Byte[],System.Int32,``0[],System.Int32,System.Int32)">
<summary>
Copies bytes from a byte array to an element array.
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="srcArray">Source byte array</param>
<param name="srcStartIndex">Starting index in destination array</param>
<param name="destArray">Destination element array</param>
<param name="destStartIndex">Starting index in destination array</param>
<param name="count">Number of elements to copy</param>
</member>
<member name="M:Assimp.MemoryHelper.CopyBytes``1(``0[],System.Int32,System.Byte[],System.Int32,System.Int32)">
<summary>
Copies bytes from an element array to a byte array.
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="srcArray">Source element array</param>
<param name="srcStartIndex">Starting index in source array</param>
<param name="destArray">Destination byte array</param>
<param name="destStartIndex">Starting index in destination array</param>
<param name="count">Number of elements to copy</param>
</member>
<member name="M:Assimp.MemoryHelper.Read``1(System.IntPtr,``0[],System.Int32,System.Int32)">
<summary>
Reads data from the memory location into the array.
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="pSrc">Pointer to memory location</param>
<param name="data">Array to store the copied data</param>
<param name="startIndexInArray">Zero-based element index to start writing data to in the element array.</param>
<param name="count">Number of elements to copy</param>
</member>
<member name="M:Assimp.MemoryHelper.Read``1(System.IntPtr)">
<summary>
Reads a single element from the memory location.
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="pSrc">Pointer to memory location</param>
<returns>The read value</returns>
</member>
<member name="M:Assimp.MemoryHelper.Read``1(System.IntPtr,``0@)">
<summary>
Reads a single element from the memory location.
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="pSrc">Pointer to memory location</param>
<param name="value">The read value.</param>
</member>
<member name="M:Assimp.MemoryHelper.Write``1(System.IntPtr,``0[],System.Int32,System.Int32)">
<summary>
Writes data from the array to the memory location.
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="pDest">Pointer to memory location</param>
<param name="data">Array containing data to write</param>
<param name="startIndexInArray">Zero-based element index to start reading data from in the element array.</param>
<param name="count">Number of elements to copy</param>
</member>
<member name="M:Assimp.MemoryHelper.Write``1(System.IntPtr,``0@)">
<summary>
Writes a single element to the memory location.
</summary>
<typeparam name="T">Struct type</typeparam>
<param name="pDest">Pointer to memory location</param>
<param name="data">The value to write</param>
</member>
<member name="T:Assimp.Mesh">
<summary>
A mesh represents geometry with a single material.
</summary>
</member>
<member name="P:Assimp.Mesh.Name">
<summary>
Gets or sets the mesh name. This tends to be used
when formats name nodes and meshes independently,
vertex animations refer to meshes by their names,
or importers split meshes up, each mesh will reference
the same (dummy) name.
</summary>
</member>
<member name="P:Assimp.Mesh.PrimitiveType">
<summary>
Gets or sets the primitive type. This may contain more than one
type unless if <see cref="F:Assimp.PostProcessSteps.SortByPrimitiveType"/>
option is not set.
</summary>
</member>
<member name="P:Assimp.Mesh.MaterialIndex">
<summary>
Gets or sets the index of the material associated with this mesh.
</summary>
</member>
<member name="P:Assimp.Mesh.VertexCount">
<summary>
Gets the number of vertices in this mesh. This is the count that all
per-vertex lists should be the size of.
</summary>
</member>
<member name="P:Assimp.Mesh.HasVertices">
<summary>
Gets if the mesh has a vertex array. This should always return
true provided no special scene flags are set.
</summary>
</member>
<member name="P:Assimp.Mesh.Vertices">
<summary>
Gets the vertex position list.
</summary>
</member>
<member name="P:Assimp.Mesh.HasNormals">
<summary>
Gets if the mesh as normals. If it does exist, the count should be the same as the vertex count.
</summary>
</member>
<member name="P:Assimp.Mesh.Normals">
<summary>
Gets the vertex normal list.
</summary>
</member>
<member name="P:Assimp.Mesh.HasTangentBasis">
<summary>
Gets if the mesh has tangents and bitangents. It is not
possible for one to be without the other. If it does exist, the count should be the same as the vertex count.
</summary>
</member>
<member name="P:Assimp.Mesh.Tangents">
<summary>
Gets the vertex tangent list.
</summary>
</member>
<member name="P:Assimp.Mesh.BiTangents">
<summary>
Gets the vertex bitangent list.
</summary>
</member>
<member name="P:Assimp.Mesh.FaceCount">
<summary>
Gets the number of faces contained in the mesh.
</summary>
</member>
<member name="P:Assimp.Mesh.HasFaces">
<summary>
Gets if the mesh contains faces. If no special
scene flags are set, this should always return true.
</summary>
</member>
<member name="P:Assimp.Mesh.Faces">
<summary>
Gets the mesh's faces. Each face will contain indices
to the vertices.
</summary>
</member>
<member name="P:Assimp.Mesh.VertexColorChannelCount">
<summary>
Gets the number of valid vertex color channels contained in the
mesh (list is not empty/not null). This can be a value between zero and the maximum vertex color count. Each individual channel
should be the size of <see cref="P:Assimp.Mesh.VertexCount"/>.
</summary>
</member>
<member name="P:Assimp.Mesh.TextureCoordinateChannelCount">
<summary>
Gets the number of valid texture coordinate channels contained
in the mesh (list is not empty/not null). This can be a value between zero and the maximum texture coordinate count.
Each individual channel should be the size of <see cref="P:Assimp.Mesh.VertexCount"/>.
</summary>
</member>
<member name="P:Assimp.Mesh.VertexColorChannels">
<summary>
Gets the array that contains each vertex color channels, by default all are lists of zero (but can be set to null). Each index
in the array corresponds to the texture coordinate channel. The length of the array corresponds to Assimp's maximum vertex color channel limit.
</summary>
</member>
<member name="P:Assimp.Mesh.TextureCoordinateChannels">
<summary>
Gets the array that contains each texture coordinate channel, by default all are lists of zero (but can be set to null). Each index
in the array corresponds to the texture coordinate channel. The length of the array corresponds to Assimp's maximum UV channel limit.
</summary>
</member>
<member name="P:Assimp.Mesh.UVComponentCount">
<summary>
Gets the array that contains the count of UV(W) components for each texture coordinate channel, usually 2 (UV) or 3 (UVW). A component
value of zero means the texture coordinate channel does not exist. The channel index (index in the array) corresponds
to the texture coordinate channel index.
</summary>
</member>
<member name="P:Assimp.Mesh.BoneCount">
<summary>
Gets the number of bones that influence this mesh.
</summary>
</member>
<member name="P:Assimp.Mesh.HasBones">
<summary>
Gets if this mesh has bones.
</summary>
</member>
<member name="P:Assimp.Mesh.Bones">
<summary>
Gets the bones that influence this mesh.
</summary>
</member>
<member name="P:Assimp.Mesh.MeshAnimationAttachmentCount">
<summary>
Gets the number of mesh animation attachments that influence this mesh.
</summary>
</member>
<member name="P:Assimp.Mesh.HasMeshAnimationAttachments">
<summary>
Gets if this mesh has mesh animation attachments.
</summary>
</member>
<member name="P:Assimp.Mesh.MeshAnimationAttachments">
<summary>
Gets the mesh animation attachments that influence this mesh.
</summary>
</member>
<member name="P:Assimp.Mesh.MorphMethod">
<summary>
Gets or sets the morph method used when animation attachments are used.
</summary>
</member>
<member name="M:Assimp.Mesh.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Mesh"/> class.
</summary>
</member>
<member name="M:Assimp.Mesh.#ctor(System.String)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Mesh"/> class.
</summary>
<param name="name">Name of the mesh.</param>
</member>
<member name="M:Assimp.Mesh.#ctor(Assimp.PrimitiveType)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Mesh"/> class.
</summary>
<param name="primType">Primitive types contained in the mesh.</param>
</member>
<member name="M:Assimp.Mesh.#ctor(System.String,Assimp.PrimitiveType)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Mesh"/> class.
</summary>
<param name="name">Name of the mesh</param>
<param name="primType">Primitive types contained in the mesh.</param>
</member>
<member name="M:Assimp.Mesh.HasVertexColors(System.Int32)">
<summary>
Checks if the mesh has vertex colors for the specified channel. This returns false if the list
is null or empty. The channel, if it exists, should contain the same number of entries as <see cref="P:Assimp.Mesh.VertexCount"/>.
</summary>
<param name="channelIndex">Channel index</param>
<returns>True if vertex colors are present in the channel.</returns>
</member>
<member name="M:Assimp.Mesh.HasTextureCoords(System.Int32)">
<summary>
Checks if the mesh has texture coordinates for the specified channel. This returns false if the list
is null or empty. The channel, if it exists, should contain the same number of entries as <see cref="P:Assimp.Mesh.VertexCount"/>.
</summary>
<param name="channelIndex">Channel index</param>
<returns>True if texture coordinates are present in the channel.</returns>
</member>
<member name="M:Assimp.Mesh.SetIndices(System.Int32[],System.Int32)">
<summary>
Convienence method for setting this meshe's face list from an index buffer.
</summary>
<param name="indices">Index buffer</param>
<param name="indicesPerFace">Indices per face</param>
<returns>True if the operation succeeded, false otherwise (e.g. not enough data)</returns>
</member>
<member name="M:Assimp.Mesh.GetIndices">
<summary>
Convienence method for accumulating all face indices into a single
index array.
</summary>
<returns>int index array</returns>
</member>
<member name="M:Assimp.Mesh.GetUnsignedIndices">
<summary>
Convienence method for accumulating all face indices into a single index
array as unsigned integers (the default from Assimp, if you need them).
</summary>
<returns>uint index array</returns>
</member>
<member name="M:Assimp.Mesh.GetShortIndices">
<summary>
Convienence method for accumulating all face indices into a single
index array.
</summary>
<returns>short index array</returns>
</member>
<member name="P:Assimp.Mesh.Assimp#IMarshalable{Assimp#Mesh,Assimp#Unmanaged#AiMesh}#IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.Mesh.Assimp#IMarshalable{Assimp#Mesh,Assimp#Unmanaged#AiMesh}#ToNative(System.IntPtr,Assimp.Unmanaged.AiMesh@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.Mesh.Assimp#IMarshalable{Assimp#Mesh,Assimp#Unmanaged#AiMesh}#FromNative(Assimp.Unmanaged.AiMesh@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.Mesh.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.MeshAnimationAttachment">
<summary>
A mesh attachment store per-vertex animations for a particular frame. You may
think of this as a 'patch' for the host mesh, since the mesh attachment replaces only certain
vertex data streams at a particular time. Each mesh stores 'n' attached meshes. The actual
relationship between the time line and mesh attachments is established by the mesh animation channel,
which references singular mesh attachments by their ID and binds them to a time offset.
</summary>
</member>
<member name="P:Assimp.MeshAnimationAttachment.VertexCount">
<summary>
Gets the number of vertices in this mesh. This is a replacement
for the host mesh's vertex count. Likewise, a mesh attachment
cannot add or remove per-vertex attributes, therefore the existance
of vertex data will match the existance of data in the mesh.
</summary>
</member>
<member name="P:Assimp.MeshAnimationAttachment.HasVertices">
<summary>
Checks whether the attachment mesh overrides the vertex positions
of its host mesh.
</summary>
</member>
<member name="P:Assimp.MeshAnimationAttachment.Vertices">
<summary>
Gets the vertex position list.
</summary>
</member>
<member name="P:Assimp.MeshAnimationAttachment.HasNormals">
<summary>
Checks whether the attachment mesh overrides the vertex normals of
its host mesh.
</summary>
</member>
<member name="P:Assimp.MeshAnimationAttachment.Normals">
<summary>
Gets the vertex normal list.
</summary>
</member>
<member name="P:Assimp.MeshAnimationAttachment.HasTangentBasis">
<summary>
Checks whether the attachment mesh overrides the vertex
tangents and bitangents of its host mesh.
</summary>
</member>
<member name="P:Assimp.MeshAnimationAttachment.Tangents">
<summary>
Gets the vertex tangent list.
</summary>
</member>
<member name="P:Assimp.MeshAnimationAttachment.BiTangents">
<summary>
Gets the vertex bitangent list.
</summary>
</member>
<member name="P:Assimp.MeshAnimationAttachment.VertexColorChannelCount">
<summary>
Gets the number of valid vertex color channels contained in the
mesh (list is not empty/not null). This can be a value between zero and the maximum vertex color count. Each individual channel
should be the size of <see cref="P:Assimp.MeshAnimationAttachment.VertexCount"/>.
</summary>
</member>
<member name="P:Assimp.MeshAnimationAttachment.TextureCoordinateChannelCount">
<summary>
Gets the number of valid texture coordinate channels contained
in the mesh (list is not empty/not null). This can be a value between zero and the maximum texture coordinate count.
Each individual channel should be the size of <see cref="P:Assimp.MeshAnimationAttachment.VertexCount"/>.
</summary>
</member>
<member name="P:Assimp.MeshAnimationAttachment.VertexColorChannels">
<summary>
Gets the array that contains each vertex color channels that override a specific channel in the host mesh, by default all are lists of zero (but can be set to null).
Each index in the array corresponds to the texture coordinate channel. The length of the array corresponds to Assimp's maximum vertex color channel limit.
</summary>
</member>
<member name="P:Assimp.MeshAnimationAttachment.TextureCoordinateChannels">
<summary>
Gets the array that contains each texture coordinate channel that override a specific channel in the host mesh, by default all are lists of zero (but can be set to null).
Each index in the array corresponds to the texture coordinate channel. The length of the array corresponds to Assimp's maximum UV channel limit.
</summary>
</member>
<member name="P:Assimp.MeshAnimationAttachment.Weight">
<summary>
Gets or sets the weight of the mesh animation.
</summary>
</member>
<member name="M:Assimp.MeshAnimationAttachment.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.MeshAnimationAttachment"/> class.
</summary>
</member>
<member name="M:Assimp.MeshAnimationAttachment.HasVertexColors(System.Int32)">
<summary>
Checks if the mesh attachment overrides a particular set of vertex colors on
the host mesh. This returns false if the list is null or empty. The index is between
zero and the maximumb number of vertex color channels.
</summary>
<param name="channelIndex">Channel index</param>
<returns>True if vertex colors are present in the channel.</returns>
</member>
<member name="M:Assimp.MeshAnimationAttachment.HasTextureCoords(System.Int32)">
<summary>
Checks if the mesh attachment overrides a particular set of texture coordinates on
the host mesh. This returns false if the list is null or empty. The index is
between zero and the maximum number of texture coordinate channels.
</summary>
<param name="channelIndex">Channel index</param>
<returns>True if texture coordinates are present in the channel.</returns>
</member>
<member name="P:Assimp.MeshAnimationAttachment.Assimp#IMarshalable{Assimp#MeshAnimationAttachment,Assimp#Unmanaged#AiAnimMesh}#IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.MeshAnimationAttachment.Assimp#IMarshalable{Assimp#MeshAnimationAttachment,Assimp#Unmanaged#AiAnimMesh}#ToNative(System.IntPtr,Assimp.Unmanaged.AiAnimMesh@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.MeshAnimationAttachment.Assimp#IMarshalable{Assimp#MeshAnimationAttachment,Assimp#Unmanaged#AiAnimMesh}#FromNative(Assimp.Unmanaged.AiAnimMesh@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.MeshAnimationAttachment.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.MeshAnimationChannel">
<summary>
Describes vertex-based animations for a single mesh or a group of meshes. Meshes
carry the animation data for each frame. The purpose of this object is to define
keyframes, linking each mesh attachment to a particular point in a time.
</summary>
</member>
<member name="P:Assimp.MeshAnimationChannel.MeshName">
<summary>
Gets or sets the name of the mesh to be animated. Empty strings are not allowed,
animation meshes need to be named (not necessarily uniquely, the name can basically
serve as a wildcard to select a group of meshes with similar animation setup).
</summary>
</member>
<member name="P:Assimp.MeshAnimationChannel.MeshKeyCount">
<summary>
Gets the number of meshkeys in this animation channel. There will always
be at least one key.
</summary>
</member>
<member name="P:Assimp.MeshAnimationChannel.HasMeshKeys">
<summary>
Gets if this animation channel has mesh keys - this should always be true.
</summary>
</member>
<member name="P:Assimp.MeshAnimationChannel.MeshKeys">
<summary>
Gets the mesh keyframes of the animation. This should not be null.
</summary>
</member>
<member name="M:Assimp.MeshAnimationChannel.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.MeshAnimationChannel"/> class.
</summary>
</member>
<member name="P:Assimp.MeshAnimationChannel.Assimp#IMarshalable{Assimp#MeshAnimationChannel,Assimp#Unmanaged#AiMeshAnim}#IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.MeshAnimationChannel.Assimp#IMarshalable{Assimp#MeshAnimationChannel,Assimp#Unmanaged#AiMeshAnim}#ToNative(System.IntPtr,Assimp.Unmanaged.AiMeshAnim@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.MeshAnimationChannel.Assimp#IMarshalable{Assimp#MeshAnimationChannel,Assimp#Unmanaged#AiMeshAnim}#FromNative(Assimp.Unmanaged.AiMeshAnim@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.MeshAnimationChannel.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.MeshKey">
<summary>
Binds an anim mesh (referenced by an index) to a specific point in time.
</summary>
</member>
<member name="F:Assimp.MeshKey.Time">
<summary>
The time of this key.
</summary>
</member>
<member name="F:Assimp.MeshKey.Value">
<summary>
Index of the anim mesh that corresponds to this keyframe.
</summary>
</member>
<member name="M:Assimp.MeshKey.#ctor(System.Double,System.Int32)">
<summary>
Constructs a new MeshKey.
</summary>
<param name="time">The time of this key.</param>
<param name="index">Index of the anim mesh that corresponds to this keyframe.</param>
</member>
<member name="M:Assimp.MeshKey.op_Equality(Assimp.MeshKey,Assimp.MeshKey)">
<summary>
Tests equality between two keys.
</summary>
<param name="a">The first key</param>
<param name="b">The second key</param>
<returns>True if the key's indices are the same, false otherwise</returns>
</member>
<member name="M:Assimp.MeshKey.op_Inequality(Assimp.MeshKey,Assimp.MeshKey)">
<summary>
Tests inequality between two keys.
</summary>
<param name="a">The first key</param>
<param name="b">The second key</param>
<returns>True if the key's indices are not equal, false otherwise.</returns>
</member>
<member name="M:Assimp.MeshKey.op_LessThan(Assimp.MeshKey,Assimp.MeshKey)">
<summary>
Tests inequality between two keys.
</summary>
<param name="a">The first key</param>
<param name="b">The second key</param>
<returns>True if the first key's time is less than the second key's.</returns>
</member>
<member name="M:Assimp.MeshKey.op_GreaterThan(Assimp.MeshKey,Assimp.MeshKey)">
<summary>
Tests inequality between two keys.
</summary>
<param name="a">The first key</param>
<param name="b">The second key</param>
<returns>True if the first key's time is greater than the second key's.</returns>
</member>
<member name="M:Assimp.MeshKey.Equals(System.Object)">
<summary>
Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
</summary>
<param name="obj">The <see cref="T:System.Object"/> to compare with this instance.</param>
<returns>
<c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
</returns>
</member>
<member name="M:Assimp.MeshKey.Equals(Assimp.MeshKey)">
<summary>
Tests equality between this key and another.
</summary>
<param name="key">Other key to test</param>
<returns>True if their indices are equal</returns>
</member>
<member name="M:Assimp.MeshKey.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
</returns>
</member>
<member name="M:Assimp.MeshKey.ToString">
<summary>
Returns a <see cref="T:System.String"/> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String"/> that represents this instance.
</returns>
</member>
<member name="T:Assimp.MeshMorphAnimationChannel">
<summary>
Describes morph-based keyframe animations for a single mesh or a group of meshes.
</summary>
</member>
<member name="P:Assimp.MeshMorphAnimationChannel.Name">
<summary>
Gets or sets the name of the mesh to be animated. Empty strings are not allowed,
animation meshes need to be named (not necessarily uniquely, the name can basically
serve as a wildcard to select a group of meshes with similar animation setup).
</summary>
</member>
<member name="P:Assimp.MeshMorphAnimationChannel.MeshMorphKeyCount">
<summary>
Gets the number of mesh morph keys in this animation channel. There will always be at least one key.
</summary>
</member>
<member name="P:Assimp.MeshMorphAnimationChannel.HasMeshMorphKeys">
<summary>
Gets if this animation channel has mesh keys - this should always be true.
</summary>
</member>
<member name="P:Assimp.MeshMorphAnimationChannel.MeshMorphKeys">
<summary>
Gets the mesh morph keyframes of the animation. This should not be null.
</summary>
</member>
<member name="M:Assimp.MeshMorphAnimationChannel.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.MeshMorphAnimationChannel" /> class.
</summary>
</member>
<member name="P:Assimp.MeshMorphAnimationChannel.Assimp#IMarshalable{Assimp#MeshMorphAnimationChannel,Assimp#Unmanaged#AiMeshMorphAnim}#IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.MeshMorphAnimationChannel.Assimp#IMarshalable{Assimp#MeshMorphAnimationChannel,Assimp#Unmanaged#AiMeshMorphAnim}#FromNative(Assimp.Unmanaged.AiMeshMorphAnim@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.MeshMorphAnimationChannel.Assimp#IMarshalable{Assimp#MeshMorphAnimationChannel,Assimp#Unmanaged#AiMeshMorphAnim}#ToNative(System.IntPtr,Assimp.Unmanaged.AiMeshMorphAnim@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.MeshMorphAnimationChannel.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.MeshMorphKey">
<summary>
Binds a morph animation mesh to a specific point in time.
</summary>
</member>
<member name="P:Assimp.MeshMorphKey.Time">
<summary>
Gets or sets the time of this keyframe.
</summary>
</member>
<member name="P:Assimp.MeshMorphKey.Values">
<summary>
Gets the values at the time of this keyframe. Number of values must equal number of weights.
</summary>
</member>
<member name="P:Assimp.MeshMorphKey.Weights">
<summary>
Gets the weights at the time of this keyframe. Number of weights must equal number of values.
</summary>
</member>
<member name="M:Assimp.MeshMorphKey.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.MeshMorphKey"/> class.
</summary>
</member>
<member name="P:Assimp.MeshMorphKey.Assimp#IMarshalable{Assimp#MeshMorphKey,Assimp#Unmanaged#AiMeshMorphKey}#IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.MeshMorphKey.Assimp#IMarshalable{Assimp#MeshMorphKey,Assimp#Unmanaged#AiMeshMorphKey}#ToNative(System.IntPtr,Assimp.Unmanaged.AiMeshMorphKey@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.MeshMorphKey.Assimp#IMarshalable{Assimp#MeshMorphKey,Assimp#Unmanaged#AiMeshMorphKey}#FromNative(Assimp.Unmanaged.AiMeshMorphKey@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.MeshMorphKey.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.Metadata">
<summary>
Represents a container for holding metadata, representing as key-value pairs.
</summary>
</member>
<member name="M:Assimp.Metadata.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Metadata"/> class.
</summary>
</member>
<member name="P:Assimp.Metadata.Assimp#IMarshalable{Assimp#Metadata,Assimp#Unmanaged#AiMetadata}#IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.Metadata.Assimp#IMarshalable{Assimp#Metadata,Assimp#Unmanaged#AiMetadata}#ToNative(System.IntPtr,Assimp.Unmanaged.AiMetadata@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.Metadata.Assimp#IMarshalable{Assimp#Metadata,Assimp#Unmanaged#AiMetadata}#FromNative(Assimp.Unmanaged.AiMetadata@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.Metadata.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.Metadata.Entry">
<summary>
Represents an entry in a metadata container.
</summary>
</member>
<member name="P:Assimp.Metadata.Entry.DataType">
<summary>
Gets the type of metadata.
</summary>
</member>
<member name="P:Assimp.Metadata.Entry.Data">
<summary>
Gets the metadata data stored in this entry.
</summary>
</member>
<member name="M:Assimp.Metadata.Entry.#ctor(Assimp.MetaDataType,System.Object)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Metadata.Entry"/> struct.
</summary>
<param name="dataType">Type of the data.</param>
<param name="data">The data.</param>
</member>
<member name="M:Assimp.Metadata.Entry.op_Equality(Assimp.Metadata.Entry,Assimp.Metadata.Entry)">
<summary>
Tests equality between two entries.
</summary>
<param name="a">First entry</param>
<param name="b">Second entry</param>
<returns>True if the entries are equal, false otherwise</returns>
</member>
<member name="M:Assimp.Metadata.Entry.op_Inequality(Assimp.Metadata.Entry,Assimp.Metadata.Entry)">
<summary>
Tests inequality between two entries.
</summary>
<param name="a">First entry</param>
<param name="b">Second entry</param>
<returns>True if the entries are not equal, false otherwise</returns>
</member>
<member name="M:Assimp.Metadata.Entry.DataAs``1">
<summary>
Gets the data as the specified type. If it cannot be casted to the type, then null is returned.
</summary>
<typeparam name="T">Type to cast the data to.</typeparam>
<returns>Casted data or null.</returns>
</member>
<member name="M:Assimp.Metadata.Entry.Equals(System.Object)">
<summary>
Determines whether the specified <see cref="T:System.Object" /> is equal to this instance.
</summary>
<param name="obj">The <see cref="T:System.Object" /> to compare with this instance.</param>
<returns>True if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, false.</returns>
</member>
<member name="M:Assimp.Metadata.Entry.Equals(Assimp.Metadata.Entry)">
<summary>
Indicates whether the current object is equal to another object of the same type.
</summary>
<param name="other">An object to compare with this object.</param>
<returns>True if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.</returns>
</member>
<member name="M:Assimp.Metadata.Entry.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. </returns>
</member>
<member name="M:Assimp.Metadata.Entry.ToString">
<summary>
Returns the fully qualified type name of this instance.
</summary>
<returns>A <see cref="T:System.String" /> containing a fully qualified type name.</returns>
</member>
<member name="T:Assimp.NativeCustomMarshalerAttribute">
<summary>
Attribute for assocating a type with an <see cref="T:Assimp.INativeCustomMarshaler"/> instance.
</summary>
</member>
<member name="P:Assimp.NativeCustomMarshalerAttribute.Marshaler">
<summary>
Gets the associated marshaler.
</summary>
</member>
<member name="M:Assimp.NativeCustomMarshalerAttribute.#ctor(System.Type)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.NativeCustomMarshalerAttribute"/> class.
</summary>
<param name="type">Type that implements <see cref="T:Assimp.INativeCustomMarshaler"/></param>
<exception cref="T:System.NullReferenceException">Thrown if the type is null.</exception>
<exception cref="T:System.ArgumentException">Thrown if the type does not implement <see cref="T:Assimp.INativeCustomMarshaler"/>.</exception>
</member>
<member name="T:Assimp.Node">
<summary>
A node in the imported model hierarchy.
</summary>
</member>
<member name="P:Assimp.Node.Name">
<summary>
Gets or sets the name of the node.
</summary>
</member>
<member name="P:Assimp.Node.Transform">
<summary>
Gets or sets the transformation of the node relative to its parent.
</summary>
</member>
<member name="P:Assimp.Node.Parent">
<summary>
Gets the node's parent, if it exists.
</summary>
</member>
<member name="P:Assimp.Node.ChildCount">
<summary>
Gets the number of children that is owned by this node.
</summary>
</member>
<member name="P:Assimp.Node.HasChildren">
<summary>
Gets if the node contains children.
</summary>
</member>
<member name="P:Assimp.Node.Children">
<summary>
Gets the node's children.
</summary>
</member>
<member name="P:Assimp.Node.MeshCount">
<summary>
Gets the number of meshes referenced by this node.
</summary>
</member>
<member name="P:Assimp.Node.HasMeshes">
<summary>
Gets if the node contains mesh references.
</summary>
</member>
<member name="P:Assimp.Node.MeshIndices">
<summary>
Gets the indices of the meshes referenced by this node. Meshes can be
shared between nodes, so there is a mesh collection owned by the scene
that each node can reference.
</summary>
</member>
<member name="P:Assimp.Node.Metadata">
<summary>
Gets the node's metadata container.
</summary>
</member>
<member name="M:Assimp.Node.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Node"/> class.
</summary>
</member>
<member name="M:Assimp.Node.#ctor(System.String)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Node"/> class.
</summary>
<param name="name">Name of the node</param>
</member>
<member name="M:Assimp.Node.#ctor(System.String,Assimp.Node)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Node"/> class.
</summary>
<param name="name">Name of the node</param>
<param name="parent">Parent of the node</param>
</member>
<member name="M:Assimp.Node.FindNode(System.String)">
<summary>
Finds a node with the specific name, which may be this node
or any children or children's children, and so on, if it exists.
</summary>
<param name="name">Node name</param>
<returns>The node or null if it does not exist</returns>
</member>
<member name="P:Assimp.Node.Assimp#IMarshalable{Assimp#Node,Assimp#Unmanaged#AiNode}#IsNativeBlittable">
<summary>
Gets a value indicating whether this instance is native blittable.
</summary>
</member>
<member name="M:Assimp.Node.Assimp#IMarshalable{Assimp#Node,Assimp#Unmanaged#AiNode}#ToNative(System.IntPtr,Assimp.Unmanaged.AiNode@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.Node.Assimp#IMarshalable{Assimp#Node,Assimp#Unmanaged#AiNode}#FromNative(Assimp.Unmanaged.AiNode@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.Node.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.NodeAnimationChannel">
<summary>
Describes the animation of a single node. The name specifies the bone/node which is affected by
this animation chanenl. The keyframes are given in three separate seties of values,
one for each position, rotation, and scaling. The transformation matrix is computed from
these values and replaces the node's original transformation matrix at a specific time.
<para>This means all keys are absolute and not relative to the bone default pose.
The order which the transformations are to be applied is scaling, rotation, and translation (SRT).</para>
<para>Keys are in chronological order and duplicate keys do not pass the validation step. There most likely will be no
negative time values, but they are not forbidden.</para>
</summary>
</member>
<member name="P:Assimp.NodeAnimationChannel.NodeName">
<summary>
Gets or sets the name of the node affected by this animation. It must <c>exist</c> and it <c>must</c>
be unique.
</summary>
</member>
<member name="P:Assimp.NodeAnimationChannel.PositionKeyCount">
<summary>
Gets the number of position keys in the animation channel.
</summary>
</member>
<member name="P:Assimp.NodeAnimationChannel.HasPositionKeys">
<summary>
Gets if this animation channel contains position keys.
</summary>
</member>
<member name="P:Assimp.NodeAnimationChannel.PositionKeys">
<summary>
Gets the position keys of this animation channel. Positions are
specified as a 3D vector. If there are position keys, there should
also be -at least- one scaling and one rotation key.
</summary>
</member>
<member name="P:Assimp.NodeAnimationChannel.RotationKeyCount">
<summary>
Gets the number of rotation keys in the animation channel.
</summary>
</member>
<member name="P:Assimp.NodeAnimationChannel.HasRotationKeys">
<summary>
Gets if the animation channel contains rotation keys.
</summary>
</member>
<member name="P:Assimp.NodeAnimationChannel.RotationKeys">
<summary>
Gets the rotation keys of this animation channel. Rotations are
given as quaternions. If this exists, there should be -at least- one
scaling and one position key.
</summary>
</member>
<member name="P:Assimp.NodeAnimationChannel.ScalingKeyCount">
<summary>
Gets the number of scaling keys in the animation channel.
</summary>
</member>
<member name="P:Assimp.NodeAnimationChannel.HasScalingKeys">
<summary>
Gets if the animation channel contains scaling keys.
</summary>
</member>
<member name="P:Assimp.NodeAnimationChannel.ScalingKeys">
<summary>
Gets the scaling keys of this animation channel. Scalings are
specified in a 3D vector. If there are scaling keys, there should
also be -at least- one position and one rotation key.
</summary>
</member>
<member name="P:Assimp.NodeAnimationChannel.PreState">
<summary>
Gets or sets how the animation behaves before the first key is encountered. By default the original
transformation matrix of the affected node is used.
</summary>
</member>
<member name="P:Assimp.NodeAnimationChannel.PostState">
<summary>
Gets or sets how the animation behaves after the last key was processed. By default the original
transformation matrix of the affected node is taken.
</summary>
</member>
<member name="M:Assimp.NodeAnimationChannel.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.NodeAnimationChannel"/> class.
</summary>
</member>
<member name="P:Assimp.NodeAnimationChannel.Assimp#IMarshalable{Assimp#NodeAnimationChannel,Assimp#Unmanaged#AiNodeAnim}#IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.NodeAnimationChannel.Assimp#IMarshalable{Assimp#NodeAnimationChannel,Assimp#Unmanaged#AiNodeAnim}#ToNative(System.IntPtr,Assimp.Unmanaged.AiNodeAnim@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.NodeAnimationChannel.Assimp#IMarshalable{Assimp#NodeAnimationChannel,Assimp#Unmanaged#AiNodeAnim}#FromNative(Assimp.Unmanaged.AiNodeAnim@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.NodeAnimationChannel.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.NodeCollection">
<summary>
A collection of child nodes owned by a parent node. Manages access to the collection while maintaing parent-child linkage.
</summary>
</member>
<member name="P:Assimp.NodeCollection.Count">
<summary>
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
</summary>
</member>
<member name="P:Assimp.NodeCollection.Item(System.Int32)">
<summary>
Gets or sets the element at the specified index.
</summary>
<param name="index">The child index</param>
</member>
<member name="P:Assimp.NodeCollection.IsReadOnly">
<summary>
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
</summary>
<returns>true if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, false.</returns>
</member>
<member name="M:Assimp.NodeCollection.#ctor(Assimp.Node)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.NodeCollection"/> class.
</summary>
<param name="parent">Parent node</param>
</member>
<member name="M:Assimp.NodeCollection.Add(Assimp.Node)">
<summary>
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
</summary>
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
</member>
<member name="M:Assimp.NodeCollection.AddRange(Assimp.Node[])">
<summary>
Adds a range of items to the list.
</summary>
<param name="items">Item array</param>
</member>
<member name="M:Assimp.NodeCollection.Clear">
<summary>
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
</summary>
</member>
<member name="M:Assimp.NodeCollection.Contains(Assimp.Node)">
<summary>
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
</summary>
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
<returns>
true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.
</returns>
</member>
<member name="M:Assimp.NodeCollection.CopyTo(Assimp.Node[],System.Int32)">
<summary>
Copies collection contents to the array
</summary>
<param name="array">The array to copy to.</param>
<param name="arrayIndex">Index of the array to start copying.</param>
</member>
<member name="M:Assimp.NodeCollection.IndexOf(Assimp.Node)">
<summary>
Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1" />.
</summary>
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1" />.</param>
<returns>
The index of <paramref name="item" /> if found in the list; otherwise, -1.
</returns>
</member>
<member name="M:Assimp.NodeCollection.Insert(System.Int32,Assimp.Node)">
<summary>
Inserts an item to the <see cref="T:System.Collections.Generic.IList`1" /> at the specified index.
</summary>
<param name="index">The zero-based index at which <paramref name="item" /> should be inserted.</param>
<param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1" />.</param>
</member>
<member name="M:Assimp.NodeCollection.RemoveAt(System.Int32)">
<summary>
Removes the <see cref="T:System.Collections.Generic.IList`1" /> item at the specified index.
</summary>
<param name="index">The zero-based index of the item to remove.</param>
</member>
<member name="M:Assimp.NodeCollection.Remove(Assimp.Node)">
<summary>
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
</summary>
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
<returns>
true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.
</returns>
</member>
<member name="M:Assimp.NodeCollection.ToArray">
<summary>
Copies elements in the collection to a new array.
</summary>
<returns>Array of copied elements</returns>
</member>
<member name="M:Assimp.NodeCollection.GetEnumerator">
<summary>
Returns an enumerator that iterates through the collection.
</summary>
<returns>A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
</member>
<member name="M:Assimp.NodeCollection.System#Collections#IEnumerable#GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
</member>
<member name="T:Assimp.Plane">
<summary>
Represents a plane in three-dimensional euclidean space where
A, B, C are components of the plane normal and D is the distance along the
normal from the origin to the plane.
</summary>
</member>
<member name="F:Assimp.Plane.A">
<summary>
X component of the normal vector.
</summary>
</member>
<member name="F:Assimp.Plane.B">
<summary>
Y component of the normal vector.
</summary>
</member>
<member name="F:Assimp.Plane.C">
<summary>
Z component of the normal vector.
</summary>
</member>
<member name="F:Assimp.Plane.D">
<summary>
Distance from the origin to the plane along the normal vector.
</summary>
</member>
<member name="M:Assimp.Plane.#ctor(System.Single,System.Single,System.Single,System.Single)">
<summary>
Constructs a new Plane.
</summary>
<param name="a">X component of the normal vector.</param>
<param name="b">Y component of the normal vector.</param>
<param name="c">Z component of the normal vector.</param>
<param name="d">Distance from the origin to the plane along the normal vector.</param>
</member>
<member name="T:Assimp.PostProcessPreset">
<summary>
Static class containing preset properties for post processing options.
</summary>
</member>
<member name="P:Assimp.PostProcessPreset.ConvertToLeftHanded">
<summary>
PostProcess configuration for (some) Direct3D conventions,
left handed geometry, upper left origin for UV coordinates,
and clockwise face order, suitable for CCW culling.
</summary>
</member>
<member name="P:Assimp.PostProcessPreset.TargetRealTimeFast">
<summary>
PostProcess configuration for optimizing data for real-time.
Does the following steps:
<see cref="F:Assimp.PostProcessSteps.CalculateTangentSpace"/>, <see cref="F:Assimp.PostProcessSteps.GenerateNormals"/>,
<see cref="F:Assimp.PostProcessSteps.JoinIdenticalVertices"/>, <see cref="F:Assimp.PostProcessSteps.Triangulate"/>,
<see cref="F:Assimp.PostProcessSteps.GenerateUVCoords"/>, and <see cref="F:Assimp.PostProcessSteps.SortByPrimitiveType"/>
</summary>
</member>
<member name="P:Assimp.PostProcessPreset.TargetRealTimeQuality">
<summary>
PostProcess configuration for optimizing
data for real-time rendering. Does the following steps:
<see cref="F:Assimp.PostProcessSteps.CalculateTangentSpace"/>, <see cref="F:Assimp.PostProcessSteps.GenerateSmoothNormals"/>,
<see cref="F:Assimp.PostProcessSteps.JoinIdenticalVertices"/>, <see cref="F:Assimp.PostProcessSteps.Triangulate"/>,
<see cref="F:Assimp.PostProcessSteps.GenerateUVCoords"/>, <see cref="F:Assimp.PostProcessSteps.SortByPrimitiveType"/>
<see cref="F:Assimp.PostProcessSteps.LimitBoneWeights"/>, <see cref="F:Assimp.PostProcessSteps.RemoveRedundantMaterials"/>,
<see cref="F:Assimp.PostProcessSteps.SplitLargeMeshes"/>, <see cref="F:Assimp.PostProcessSteps.FindDegenerates"/>, and
<see cref="F:Assimp.PostProcessSteps.FindInvalidData"/>
</summary>
</member>
<member name="P:Assimp.PostProcessPreset.TargetRealTimeMaximumQuality">
<summary>
PostProcess configuration for heavily optimizing the data
for real-time rendering. Includes all flags in
<see cref="P:Assimp.PostProcessPreset.TargetRealTimeQuality"/> as well as
<see cref="F:Assimp.PostProcessSteps.FindInstances"/>, <see cref="F:Assimp.PostProcessSteps.ValidateDataStructure"/>, and
<see cref="F:Assimp.PostProcessSteps.OptimizeMeshes"/>
</summary>
</member>
<member name="T:Assimp.Quaternion">
<summary>
A 4D vector that represents a rotation.
</summary>
</member>
<member name="F:Assimp.Quaternion.W">
<summary>
Rotation component of the quaternion/
</summary>
</member>
<member name="F:Assimp.Quaternion.X">
<summary>
X component of the vector part of the quaternion.
</summary>
</member>
<member name="F:Assimp.Quaternion.Y">
<summary>
Y component of the vector part of the quaternion.
</summary>
</member>
<member name="F:Assimp.Quaternion.Z">
<summary>
Z component of the vector part of the quaternion.
</summary>
</member>
<member name="M:Assimp.Quaternion.#ctor(System.Single,System.Single,System.Single,System.Single)">
<summary>
Constructs a new Quaternion.
</summary>
<param name="w">W component</param>
<param name="x">X component</param>
<param name="y">Y component</param>
<param name="z">Z component</param>
</member>
<member name="M:Assimp.Quaternion.#ctor(Assimp.Matrix3x3)">
<summary>
Constructs a new Quaternion from a rotation matrix.
</summary>
<param name="matrix">Rotation matrix to create the Quaternion from.</param>
</member>
<member name="M:Assimp.Quaternion.#ctor(System.Single,System.Single,System.Single)">
<summary>
Constructs a new Quaternion from three euler angles.
</summary>
<param name="pitch">Pitch</param>
<param name="yaw">Yaw</param>
<param name="roll">Roll</param>
</member>
<member name="M:Assimp.Quaternion.#ctor(Assimp.Vector3D,System.Single)">
<summary>
Constructs a new Quaternion from an axis-angle.
</summary>
<param name="axis">Axis</param>
<param name="angle">Angle about the axis</param>
</member>
<member name="M:Assimp.Quaternion.Normalize">
<summary>
Normalizes the quaternion.
</summary>
</member>
<member name="M:Assimp.Quaternion.Conjugate">
<summary>
Transforms this quaternion into its conjugate.
</summary>
</member>
<member name="M:Assimp.Quaternion.GetMatrix">
<summary>
Returns a matrix representation of the quaternion.
</summary>
<returns>Rotation matrix representing the quaternion.</returns>
</member>
<member name="M:Assimp.Quaternion.Slerp(Assimp.Quaternion,Assimp.Quaternion,System.Single)">
<summary>
Spherical interpolation between two quaternions.
</summary>
<param name="start">Start rotation when factor == 0</param>
<param name="end">End rotation when factor == 1</param>
<param name="factor">Interpolation factor between 0 and 1, values beyond this range yield undefined values</param>
<returns>Interpolated quaternion.</returns>
</member>
<member name="M:Assimp.Quaternion.Rotate(Assimp.Vector3D,Assimp.Quaternion)">
<summary>
Rotates a point by this quaternion.
</summary>
<param name="pt">Point to rotate</param>
<param name="quat">Quaternion representing the rotation</param>
<returns>Rotated point.</returns>
</member>
<member name="M:Assimp.Quaternion.op_Multiply(Assimp.Quaternion,Assimp.Quaternion)">
<summary>
Multiplies two quaternions.
</summary>
<param name="a">First quaternion</param>
<param name="b">Second quaternion</param>
<returns>Resulting quaternion</returns>
</member>
<member name="M:Assimp.Quaternion.op_Equality(Assimp.Quaternion,Assimp.Quaternion)">
<summary>
Tests equality between two quaternions.
</summary>
<param name="a">First quaternion</param>
<param name="b">Second quaternion</param>
<returns>True if the quaternions are equal, false otherwise.</returns>
</member>
<member name="M:Assimp.Quaternion.op_Inequality(Assimp.Quaternion,Assimp.Quaternion)">
<summary>
Tests inequality between two quaternions.
</summary>
<param name="a">First quaternion</param>
<param name="b">Second quaternion</param>
<returns>True if the quaternions are not equal, false otherwise.</returns>
</member>
<member name="M:Assimp.Quaternion.Equals(Assimp.Quaternion)">
<summary>
Tests equality between two quaternions.
</summary>
<param name="other">Quaternion to compare</param>
<returns>True if the quaternions are equal.</returns>
</member>
<member name="M:Assimp.Quaternion.Equals(System.Object)">
<summary>
Tests equality between this color and another object.
</summary>
<param name="obj">Object to test against</param>
<returns>True if the object is a color and the components are equal</returns>
</member>
<member name="M:Assimp.Quaternion.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
</returns>
</member>
<member name="M:Assimp.Quaternion.ToString">
<summary>
Returns a <see cref="T:System.String"/> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String"/> that represents this instance.
</returns>
</member>
<member name="T:Assimp.QuaternionKey">
<summary>
Time-value pair specifying a rotation for a given time.
</summary>
</member>
<member name="F:Assimp.QuaternionKey.Time">
<summary>
The time of this key.
</summary>
</member>
<member name="F:Assimp.QuaternionKey.Value">
<summary>
The rotation of this key.
</summary>
</member>
<member name="M:Assimp.QuaternionKey.#ctor(System.Double,Assimp.Quaternion)">
<summary>
Constructs a new QuaternionKey.
</summary>
<param name="time">Time of the key.</param>
<param name="rot">Quaternion rotation at the time frame.</param>
</member>
<member name="M:Assimp.QuaternionKey.op_Equality(Assimp.QuaternionKey,Assimp.QuaternionKey)">
<summary>
Tests equality between two keys.
</summary>
<param name="a">The first key</param>
<param name="b">The second key</param>
<returns>True if the key's rotations are the same, false otherwise.</returns>
</member>
<member name="M:Assimp.QuaternionKey.op_Inequality(Assimp.QuaternionKey,Assimp.QuaternionKey)">
<summary>
Tests inequality between two keys.
</summary>
<param name="a">The first key</param>
<param name="b">The second key</param>
<returns>True if the key's rotations are not the same, false otherwise.</returns>
</member>
<member name="M:Assimp.QuaternionKey.op_LessThan(Assimp.QuaternionKey,Assimp.QuaternionKey)">
<summary>
Tests inequality between two keys.
</summary>
<param name="a">The first key</param>
<param name="b">The second key</param>
<returns>True if the first key's time is less than the second key's.</returns>
</member>
<member name="M:Assimp.QuaternionKey.op_GreaterThan(Assimp.QuaternionKey,Assimp.QuaternionKey)">
<summary>
Tests inequality between two keys.
</summary>
<param name="a">The first key</param>
<param name="b">The second key</param>
<returns>True if the first key's time is greater than the second key's.</returns>
</member>
<member name="M:Assimp.QuaternionKey.Equals(System.Object)">
<summary>
Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
</summary>
<param name="obj">The <see cref="T:System.Object"/> to compare with this instance.</param>
<returns>
<c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
</returns>
</member>
<member name="M:Assimp.QuaternionKey.Equals(Assimp.QuaternionKey)">
<summary>
Tests equality between this key and another.
</summary>
<param name="key">Other key to test</param>
<returns>True if their rotations are equal.</returns>
</member>
<member name="M:Assimp.QuaternionKey.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
</returns>
</member>
<member name="M:Assimp.QuaternionKey.ToString">
<summary>
Returns a <see cref="T:System.String"/> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String"/> that represents this instance.
</returns>
</member>
<member name="T:Assimp.Ray">
<summary>
Defines a 3D ray with a point of origin and a direction.
</summary>
</member>
<member name="F:Assimp.Ray.Position">
<summary>
Origin of the ray in space.
</summary>
</member>
<member name="F:Assimp.Ray.Direction">
<summary>
Direction of the ray.
</summary>
</member>
<member name="M:Assimp.Ray.#ctor(Assimp.Vector3D,Assimp.Vector3D)">
<summary>
Constructs a new Ray.
</summary>
<param name="pos">Origin of the ray.</param>
<param name="dir">Direction of the ray.</param>
</member>
<member name="T:Assimp.Scene">
<summary>
Represents a completely imported model or scene. Everything that was imported from the given file can be
accessed from here. Once the scene is loaded from unmanaged memory, it resides solely in managed memory
and Assimp's read only copy is released.
</summary>
</member>
<member name="P:Assimp.Scene.SceneFlags">
<summary>
Gets or sets the state of the imported scene. By default no flags are set, but
issues can arise if the flag is set to incomplete.
</summary>
</member>
<member name="P:Assimp.Scene.RootNode">
<summary>
Gets or sets the root node of the scene graph. 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.
</summary>
</member>
<member name="P:Assimp.Scene.HasMeshes">
<summary>
Gets if the scene contains meshes. Unless if no special scene flags are set
this should always be true.
</summary>
</member>
<member name="P:Assimp.Scene.MeshCount">
<summary>
Gets the number of meshes in the scene.
</summary>
</member>
<member name="P:Assimp.Scene.Meshes">
<summary>
Gets the meshes contained in the scene, if any.
</summary>
</member>
<member name="P:Assimp.Scene.HasLights">
<summary>
Gets if the scene contains any lights.
</summary>
</member>
<member name="P:Assimp.Scene.LightCount">
<summary>
Gets the number of lights in the scene.
</summary>
</member>
<member name="P:Assimp.Scene.Lights">
<summary>
Gets the lights in the scene, if any.
</summary>
</member>
<member name="P:Assimp.Scene.HasCameras">
<summary>
Gets if the scene contains any cameras.
</summary>
</member>
<member name="P:Assimp.Scene.CameraCount">
<summary>
Gets the number of cameras in the scene.
</summary>
</member>
<member name="P:Assimp.Scene.Cameras">
<summary>
Gets the cameras in the scene, if any.
</summary>
</member>
<member name="P:Assimp.Scene.HasTextures">
<summary>
Gets if the scene contains embedded textures.
</summary>
</member>
<member name="P:Assimp.Scene.TextureCount">
<summary>
Gets the number of embedded textures in the scene.
</summary>
</member>
<member name="P:Assimp.Scene.Textures">
<summary>
Gets the embedded textures in the scene, if any.
</summary>
</member>
<member name="P:Assimp.Scene.HasAnimations">
<summary>
Gets if the scene contains any animations.
</summary>
</member>
<member name="P:Assimp.Scene.AnimationCount">
<summary>
Gets the number of animations in the scene.
</summary>
</member>
<member name="P:Assimp.Scene.Animations">
<summary>
Gets the animations in the scene, if any.
</summary>
</member>
<member name="P:Assimp.Scene.HasMaterials">
<summary>
Gets if the scene contains any materials. There should always be at least the
default Assimp material if no materials were loaded.
</summary>
</member>
<member name="P:Assimp.Scene.MaterialCount">
<summary>
Gets the number of materials in the scene. There should always be at least the
default Assimp material if no materials were loaded.
</summary>
</member>
<member name="P:Assimp.Scene.Materials">
<summary>
Gets the materials in the scene.
</summary>
</member>
<member name="M:Assimp.Scene.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Scene"/> class.
</summary>
</member>
<member name="M:Assimp.Scene.Clear">
<summary>
Clears the scene of all components.
</summary>
</member>
<member name="M:Assimp.Scene.ToUnmanagedScene(Assimp.Scene)">
<summary>
Marshals a managed scene to unmanaged memory. The unmanaged memory must be freed with a call to
<see cref="M:Assimp.Scene.FreeUnmanagedScene(System.IntPtr)"/>, the memory is owned by AssimpNet and cannot be freed by the native library.
</summary>
<param name="scene">Scene data</param>
<returns>Unmanaged scene or NULL if the scene is null.</returns>
</member>
<member name="M:Assimp.Scene.FromUnmanagedScene(System.IntPtr)">
<summary>
Marshals an unmanaged scene to managed memory. This does not free the unmanaged memory.
</summary>
<param name="scenePtr">The unmanaged scene data</param>
<returns>The managed scene, or null if the pointer is NULL</returns>
</member>
<member name="M:Assimp.Scene.FreeUnmanagedScene(System.IntPtr)">
<summary>
Frees unmanaged memory allocated -ONLY- in <see cref="M:Assimp.Scene.ToUnmanagedScene(Assimp.Scene)"/>. To free an unmanaged scene allocated by the unmanaged Assimp library,
call the appropiate <see cref="M:Assimp.Unmanaged.AssimpLibrary.ReleaseImport(System.IntPtr)"/> function.
</summary>
<param name="scenePtr">Pointer to unmanaged scene data.</param>
</member>
<member name="P:Assimp.Scene.Assimp#IMarshalable{Assimp#Scene,Assimp#Unmanaged#AiScene}#IsNativeBlittable">
<summary>
Gets if the native value type is blittable (that is, does not require marshaling by the runtime, e.g. has MarshalAs attributes).
</summary>
</member>
<member name="M:Assimp.Scene.Assimp#IMarshalable{Assimp#Scene,Assimp#Unmanaged#AiScene}#ToNative(System.IntPtr,Assimp.Unmanaged.AiScene@)">
<summary>
Writes the managed data to the native value.
</summary>
<param name="thisPtr">Optional pointer to the memory that will hold the native value.</param>
<param name="nativeValue">Output native value</param>
</member>
<member name="M:Assimp.Scene.Assimp#IMarshalable{Assimp#Scene,Assimp#Unmanaged#AiScene}#FromNative(Assimp.Unmanaged.AiScene@)">
<summary>
Reads the unmanaged data from the native value.
</summary>
<param name="nativeValue">Input native value</param>
</member>
<member name="M:Assimp.Scene.FreeNative(System.IntPtr,System.Boolean)">
<summary>
Frees unmanaged memory created by <see cref="M:Assimp.IMarshalable`2.ToNative(System.IntPtr,`1@)"/>.
</summary>
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.Texel">
<summary>
Represents a texel in ARGB8888 format.
</summary>
</member>
<member name="F:Assimp.Texel.B">
<summary>
Blue component.
</summary>
</member>
<member name="F:Assimp.Texel.G">
<summary>
Green component.
</summary>
</member>
<member name="F:Assimp.Texel.R">
<summary>
Red component.
</summary>
</member>
<member name="F:Assimp.Texel.A">
<summary>
Alpha component.
</summary>
</member>
<member name="M:Assimp.Texel.#ctor(System.Byte,System.Byte,System.Byte,System.Byte)">
<summary>
Constructs a new Texel.
</summary>
<param name="b">Blue component.</param>
<param name="g">Green component.</param>
<param name="r">Red component.</param>
<param name="a">Alpha component.</param>
</member>
<member name="M:Assimp.Texel.op_Equality(Assimp.Texel,Assimp.Texel)">
<summary>
Tests equality between two texels.
</summary>
<param name="a">First texel</param>
<param name="b">Second texel</param>
<returns>True if the texels are equal, false otherwise.</returns>
</member>
<member name="M:Assimp.Texel.op_Inequality(Assimp.Texel,Assimp.Texel)">
<summary>
Tests inequality between two texels.
</summary>
<param name="a">First texel</param>
<param name="b">Second texel</param>
<returns>True if the texels are not equal, false otherwise.</returns>
</member>
<member name="M:Assimp.Texel.op_Implicit(Assimp.Texel)~Assimp.Color4D">
<summary>
Implicitly converts a texel to a Color4D.
</summary>
<param name="texel">Texel to convert</param>
<returns>Converted Color4D</returns>
</member>
<member name="M:Assimp.Texel.Equals(System.Object)">
<summary>
Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
</summary>
<param name="obj">The <see cref="T:System.Object"/> to compare with this instance.</param>
<returns>
<c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
</returns>
</member>
<member name="M:Assimp.Texel.Equals(Assimp.Texel)">
<summary>
Tests equality between this key and another.
</summary>
<param name="other">Other key to test</param>
<returns>True if their indices are equal</returns>
</member>
<member name="M:Assimp.Texel.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
</returns>
</member>
<member name="M:Assimp.Texel.ToString">
<summary>
Returns a <see cref="T:System.String"/> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String"/> that represents this instance.
</returns>
</member>
<member name="T:Assimp.TextureSlot">
<summary>
Describes all the values pertaining to a particular texture slot in a material.
</summary>
</member>
<member name="F:Assimp.TextureSlot.FilePath">
<summary>
Gets the texture file path.
</summary>
</member>
<member name="F:Assimp.TextureSlot.TextureType">
<summary>
Gets the texture type semantic.
</summary>
</member>
<member name="F:Assimp.TextureSlot.TextureIndex">
<summary>
Gets the texture index in the material.
</summary>
</member>
<member name="F:Assimp.TextureSlot.Mapping">
<summary>
Gets the texture mapping.
</summary>
</member>
<member name="F:Assimp.TextureSlot.UVIndex">
<summary>
Gets the UV channel index that corresponds to this texture from the mesh.
</summary>
</member>
<member name="F:Assimp.TextureSlot.BlendFactor">
<summary>
Gets the blend factor.
</summary>
</member>
<member name="F:Assimp.TextureSlot.Operation">
<summary>
Gets the texture operation.
</summary>
</member>
<member name="F:Assimp.TextureSlot.WrapModeU">
<summary>
Gets the texture wrap mode for the U coordinate.
</summary>
</member>
<member name="F:Assimp.TextureSlot.WrapModeV">
<summary>
Gets the texture wrap mode for the V coordinate.
</summary>
</member>
<member name="F:Assimp.TextureSlot.Flags">
<summary>
Gets misc flags.
</summary>
</member>
<member name="M:Assimp.TextureSlot.#ctor(System.String,Assimp.TextureType,System.Int32,Assimp.TextureMapping,System.Int32,System.Single,Assimp.TextureOperation,Assimp.TextureWrapMode,Assimp.TextureWrapMode,System.Int32)">
<summary>
Constructs a new TextureSlot.
</summary>
<param name="filePath">Texture filepath</param>
<param name="typeSemantic">Texture type semantic</param>
<param name="texIndex">Texture index in the material</param>
<param name="mapping">Texture mapping</param>
<param name="uvIndex">UV channel in mesh that corresponds to this texture</param>
<param name="blendFactor">Blend factor</param>
<param name="texOp">Texture operation</param>
<param name="wrapModeU">Texture wrap mode for U coordinate</param>
<param name="wrapModeV">Texture wrap mode for V coordinate</param>
<param name="flags">Misc flags</param>
</member>
<member name="T:Assimp.Unmanaged.AiConfigs">
<summary>
Defines configurable properties for importing models. All properties
have default values. Setting config properties are done via the SetProperty*
methods in AssimpMethods.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_GLOB_MEASURE_TIME">
<summary>
Enables time measurements. If enabled the time needed for each
part of the loading process is timed and logged.
<para>Type: bool. Default: false</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_GLOB_MULTITHREADING">
<summary>
Sets Assimp's multithreading policy. This is ignored if Assimp is
built without boost.thread support. Possible values are: -1 to
let Assimp decide, 0 to disable multithreading, and nay number larger than 0
to force a specific number of threads. This is only a hint and may be
ignored by Assimp.
<para>Type: integer. Default: -1</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_NO_SKELETON_MESHES">
<summary>
Global setting to disable generation of skeleton dummy meshes. These are generated as a visualization aid
in cases which the input data contains no geometry, but only animation data. So the geometry are visualizing
the bones.
<para>Type: Bool. Default: false.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_CT_MAX_SMOOTHING_ANGLE">
<summary>
Specifies the maximum angle that may be between two vertex tangents that their tangents
and bitangents are smoothed during the step to calculate the tangent basis. The angle specified
is in degrees. The maximum value is 175 degrees.
<para>Type: float. Default: 45 degrees</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE">
<summary>
Specifies the maximum angle that may be between two face normals at the same vertex position that
their normals will be smoothed together during the calculate smooth normals step. This is commonly
called the "crease angle". The angle is specified in degrees. Maximum value is 175 degrees (all vertices
smoothed).
<para>Type: float. Default: 175 degrees</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_MDL_COLORMAP">
<summary>
Sets the colormap(= palette) to be used to decode embedded textures in MDL (Quake or 3DG5) 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. If the file is not found, a default
palette (from Quake 1) is used.
<para>Type: string. Default: "colormap.lmp"</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_RRM_EXCLUDE_LIST">
<summary>
Configures the <see cref="F:Assimp.PostProcessSteps.RemoveRedundantMaterials"/> step to
keep materials matching a name in a given list. This is a list of
1 to n strings where whitespace ' ' serves as a delimiter character. Identifiers
containing whitespaces must be enclosed in *single* quotation marks. Tabs or
carriage returns are treated as whitespace.
<para>If a material matches one of these names, it will not be modified
or removed by the post processing step nor will other materials be replaced
by a reference to it.</para>
<para>Default: string. Default: ""</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_PTV_KEEP_HIERARCHY">
<summary>
Configures the <see cref="F:Assimp.PostProcessSteps.PreTransformVertices"/> step
to keep the scene hierarchy. Meshes are moved to worldspace, but no optimization
is performed where meshes with the same materials are not joined.
<para>This option could be of used if you have a scene hierarchy that contains
important additional information which you intend to parse.</para>
<para>Type: bool. Default: false</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_PTV_NORMALIZE">
<summary>
Configures the <see cref="F:Assimp.PostProcessSteps.PreTransformVertices"/> step
to normalize all vertex components into the -1...1 range. That is, a bounding
box for the whole scene is computed where the maximum component is taken
and all meshes are scaled uniformly. This is useful if you don't know the spatial dimension
of the input data.
<para>Type: bool. Default: false</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_FD_REMOVE">
<summary>
Configures the <see cref="F:Assimp.PostProcessSteps.FindDegenerates"/> step
to remove degenerated primitives from the import immediately.
<para>The default behavior converts degenerated triangles to lines and
degenerated lines to points.</para>
<para>Type: bool. Default: false</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_FD_CHECKAREA">
<summary>
Configures the <see cref="F:Assimp.PostProcessSteps.FindDegenerates"/> step
to check the area of a triangle to be greater than 1e-6. If this is not the case, the triangle will be removed if <see cref="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_FD_REMOVE"/> is set to true.
<para>Type: bool. Default: false</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_OG_EXCLUDE_LIST">
<summary>
Configures the <see cref="F:Assimp.PostProcessSteps.OptimizeGraph"/> step
to preserve nodes matching a name in a given list. This is a list of 1 to n strings, whitespace ' ' serves as a delimter character.
Identifiers containing whitespaces must be enclosed in *single* quotation marks. Carriage returns
and tabs are treated as white space.
<para>If a node matches one of these names, it will not be modified or removed by the
postprocessing step.</para>
<para>Type: string. Default: ""</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_SLM_TRIANGLE_LIMIT">
<summary>
Sets the maximum number of triangles a mesh can contain. This is used by the
<see cref="F:Assimp.PostProcessSteps.SplitLargeMeshes"/> step to determine
whether a mesh must be split or not.
<para>Type: int. Default: AiDefines.AI_SLM_DEFAULT_MAX_TRIANGLES</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_SLM_VERTEX_LIMIT">
<summary>
Sets the maximum number of vertices in a mesh. This is used by the
<see cref="F:Assimp.PostProcessSteps.SplitLargeMeshes"/> step to determine
whether a mesh must be split or not.
<para>Type: integer. Default: AiDefines.AI_SLM_DEFAULT_MAX_VERTICES</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_LBW_MAX_WEIGHTS">
<summary>
Sets the maximum number of bones that can affect a single vertex. This is used
by the <see cref="F:Assimp.PostProcessSteps.LimitBoneWeights"/> step.
<para>Type: integer. Default: AiDefines.AI_LBW_MAX_WEIGHTS</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_ICL_PTCACHE_SIZE">
<summary>
Sets the size of the post-transform vertex cache to optimize vertices for. This is
for the <see cref="F:Assimp.PostProcessSteps.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. The default value *has* resulted in slight performance improvements
for most Nvidia/AMD cards since 2002.
<para>Type: integer. Default: AiDefines.PP_ICL_PTCACHE_SIZE</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_RVC_FLAGS">
<summary>
Input parameter to the <see cref="F:Assimp.PostProcessSteps.RemoveComponent"/> step.
It specifies the parts of the data structure to be removed.
<para>This is a bitwise combination of the <see cref="T:Assimp.ExcludeComponent"/> flag. If no valid mesh is remaining after
the step is executed, the import FAILS.</para>
<para>Type: integer. Default: 0</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_SBP_REMOVE">
<summary>
Input parameter to the <see cref="F:Assimp.PostProcessSteps.SortByPrimitiveType"/> step.
It specifies which primitive types are to be removed by the step.
<para>This is a bitwise combination of the <see cref="T:Assimp.PrimitiveType"/> flag.
Specifying ALL types is illegal.</para>
<para>Type: integer. Default: 0</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_FID_ANIM_ACCURACY">
<summary>
Input parameter to the <see cref="F:Assimp.PostProcessSteps.FindInvalidData"/> step.
It specifies the floating point accuracy for animation values, specifically the epislon
during the comparison. The step checks for animation tracks where all frame values are absolutely equal
and removes them. Two floats are considered equal if the invariant <c>abs(n0-n1) > epislon</c> holds
true for all vector/quaternion components.
<para>Type: float. Default: 0.0f (comparisons are exact)</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_TUV_EVALUATE">
<summary>
Input parameter to the <see cref="F:Assimp.PostProcessSteps.TransformUVCoords"/> step.
It specifies which UV transformations are to be evaluated.
<para>This is bitwise combination of the <see cref="T:Assimp.UVTransformFlags"/> flag.</para>
<para>Type: integer. Default: AiDefines.AI_UV_TRAFO_ALL (All combinations)</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_FAVOUR_SPEED">
<summary>
A hint to Assimp to favour speed against import quality. Enabling this option
may result in faster loading, or it may not. It is just a hint to loaders and post-processing
steps to use faster code paths if possible. A value not equal to zero stands
for true.
<para>Type: integer. Default: 0</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_SBBC_MAX_BONES">
<summary>
Maximum bone cone per mesh for the <see cref="F:Assimp.PostProcessSteps.SplitByBoneCount"/> step. Meshes
are split until the max number of bones is reached.
<para>Type: integer. Default: 60</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_CT_TEXTURE_CHANNEL_INDEX">
<summary>
Source UV channel for tangent space computation. The specified channel must exist or an error will be raised.
<para>Type: integer. Default: 0</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_DB_THRESHOLD">
<summary>
Threshold used to determine if a bone is kept or removed during the <see cref="F:Assimp.PostProcessSteps.Debone"/> step.
<para>Type: float. Default: 1.0f</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_DB_ALL_OR_NONE">
<summary>
Require all bones to qualify for deboning before any are removed.
<para>Type: bool. Default: false</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_PTV_ADD_ROOT_TRANSFORMATION">
<summary>
Configures the <see cref="F:Assimp.PostProcessSteps.PreTransformVertices"/> step to use a user defined matrix as the scene root node
transformation before transforming vertices.
<para>Type: bool. Default: false</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_PTV_ROOT_TRANSFORMATION">
<summary>
Configures the <see cref="F:Assimp.PostProcessSteps.PreTransformVertices"/> step to use a user defined matrix as the scene root node transformation
before transforming vertices.
<para>Type: Matrix4x4. Default: Identity Matrix</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_GLOBAL_SCALE_FACTOR_KEY">
<summary>
Configures the <see cref="F:Assimp.PostProcessSteps.GlobalScale"/> step to scale the entire scene by a certain amount. Some importers provide a mechanism to define a scaling unit for the model,
which this processing step can utilize.
<para>Type: Float. Default: 1.0f.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_GLOBAL_KEYFRAME">
<summary>
Sets the vertex animation keyframe to be imported. Assimp does not support
vertex keyframes (only bone animation is supported). The libary reads only one frame of models
with vertex animations. By default this is the first frame.
<para>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 which
you want to override the global setting.</para>
<para>Type: integer. Default: 0</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_MD3_KEYFRAME">
<summary>
See the documentation for <see cref="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_GLOBAL_KEYFRAME"/>.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_MD2_KEYFRAME">
<summary>
See the documentation for <see cref="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_GLOBAL_KEYFRAME"/>.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_MDL_KEYFRAME">
<summary>
See the documentation for <see cref="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_GLOBAL_KEYFRAME"/>.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_MDC_KEYFRAME">
<summary>
See the documentation for <see cref="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_GLOBAL_KEYFRAME"/>.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_SMD_KEYFRAME">
<summary>
See the documentation for <see cref="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_GLOBAL_KEYFRAME"/>.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_UNREAL_KEYFRAME">
<summary>
See the documentation for <see cref="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_GLOBAL_KEYFRAME"/>.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_AC_SEPARATE_BFCULL">
<summary>
Configures the AC loader to collect all surfaces which have the "Backface cull" flag set in separate
meshes.
<para>Type: bool. Default: true</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_AC_EVAL_SUBDIVISION">
<summary>
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.
<para>Type: bool. Default: true</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_UNREAL_HANDLE_FLAGS">
<summary>
Configures the UNREAL 3D loader to separate faces with different surface flags (e.g. two-sided vs single-sided).
<para>Type: bool. Default: true</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_TER_MAKE_UVS">
<summary>
Configures the terragen import plugin to compute UV's for terrains, if
they are not given. Furthermore, a default texture is assigned.
<para>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.</para>
<para>Type: bool. Default: false</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_ASE_RECONSTRUCT_NORMALS">
<summary>
Configures the ASE loader to always reconstruct normal vectors basing on the smoothing groups
loaded from the file. Some ASE files carry invalid normals, others don't.
<para>Type: bool. Default: true</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_MD3_HANDLE_MULTIPART">
<summary>
Configures the M3D loader to detect and process multi-part Quake player models. These models
usually consit of three files, lower.md3, upper.md3 and head.md3. If this propery is
set to true, Assimp will try to load and combine all three files if one of them is loaded.
<para>Type: bool. Default: true</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_MD3_SKIN_NAME">
<summary>
Tells the MD3 loader which skin files to load. When loading MD3 files, Assimp checks
whether a file named "md3_file_name"_"skin_name".skin exists. 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.
<para>Type: string. Default: "default"</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_MD3_SHADER_SRC">
<summary>
Specifies the Quake 3 shader file to be used for a particular MD3 file. This can be a full path or
relative to where all MD3 shaders reside.
<para>Type: string. Default: ""</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_LWO_ONE_LAYER_ONLY">
<summary>
Configures the LWO loader to load just one layer from the model.
<para>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 then the whole LWO model is loaded. Loading fails
if the requested layer is not vailable. The layer index is zero-based and the layer name may not be empty</para>
<para>Type: bool. Default: false (All layers are loaded)</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_MD5_NO_ANIM_AUTOLOAD">
<summary>
Configures the MD5 loader to not load the MD5ANIM file for a MD5MESH file automatically.
<para>The default strategy is to look for a file with the same name but with 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 behavior.</para>
<para>Type: bool. Default: false</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_LWS_ANIM_START">
<summary>
Defines the beginning of the time range for which the LWS loader evaluates animations and computes
AiNodeAnim's.
<para>Assimp provides full conversion of Lightwave's envelope system, including pre and post
conditions. The loader computes linearly subsampled animation channels with the frame rate
given in the LWS file. This property defines the start time.</para>
<para>Animation channels are only generated if a node has at least one envelope with more than one key
assigned. This property is given in frames where '0' is the first. By default,
if this property is not set, the importer takes the animation start from the input LWS
file ('FirstFrame' line)</para>
<para>Type: integer. Default: taken from file</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_LWS_ANIM_END">
<summary>
Defines the ending of the time range for which the LWS loader evaluates animations and computes
AiNodeAnim's.
<para>Assimp provides full conversion of Lightwave's envelope system, including pre and post
conditions. The loader computes linearly subsampled animation channels with the frame rate
given in the LWS file. This property defines the end time.</para>
<para>Animation channels are only generated if a node has at least one envelope with more than one key
assigned. This property is given in frames where '0' is the first. By default,
if this property is not set, the importer takes the animation end from the input LWS
file.</para>
<para>Type: integer. Default: taken from file</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_IRR_ANIM_FPS">
<summary>
Defines the output frame rate of the IRR loader.
<para>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.</para>
<para>Type: integer. Default: 100</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_OGRE_MATERIAL_FILE">
<summary>
The Ogre importer will try to load this MaterialFile. Ogre meshes reference with material names, this does not tell Assimp
where the file is located. 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.
<para>Type: string. Default: "Scene.Material"</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_OGRE_TEXTURETYPE_FROM_FILENAME">
<summary>
The Ogre importer will detect the texture usage from the filename. Normally a texture is loaded as a color map, if no target is specified
in the material file. If this is enabled, then Assimp will try to detect the type from the texture filename postfix:
<list type="bullet">
<item><description>Normal Maps: _n, _nrm, _nrml, _normal, _normals, _normalmap</description></item>
<item><description>Specular Maps: _s, _spec, _specular, _specularmap</description></item>
<item><description>Light Maps: _l, _light, _lightmap, _occ, _occlusion</description></item>
<item><description>Displacement Maps: _dis, _displacement</description></item>
</list>
The matching is case insensitive. Postfix is taken between the last "_" and last ".". The 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 then,
<see cref="F:Assimp.TextureType.Diffuse"/> is used.
<para>Type: Bool. Default: false.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_IFC_SKIP_SPACE_REPRESENTATIONS">
<summary>
Specifies whether the IFC loader skips over IfcSpace elements. IfcSpace elements (and their geometric representations) are used to represent free space in a building story.
<para>Type: Bool. Default: true.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_IFC_CUSTOM_TRIANGULATION">
<summary>
Specifies whether the IFC loader will use its own, custom triangulation algorithm to triangulate wall and floor meshes. If this is set to false,
walls will be either triangulated by the post process triangulation or will be passed through as huge polygons with faked holes (e.g. holes that are connected
with the outer boundary using a dummy edge). It is highly recommended to leave this property set to true as the default post process has some known
issues with these kind of polygons.
<para>Type: Bool. Default: true.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_IFC_SMOOTHING_ANGLE">
<summary>
Specifies the tessellation conic angle for IFC smoothing curves. Accepted range of values is between [5, 120]
<para>Type: Float. Default: 10.0f</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_IFC_CYLINDRICAL_TESSELLATION">
<summary>
Specifies the tessellation for IFC cylindrical shapes. E.g. the number of segments used to approximate a circle. Accepted range of values is between [3, 180].
<para>Type: Integer. Default: 32</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_COLLADA_IGNORE_UP_DIRECTION">
<summary>
Specifies whether the collada loader will ignore the up direction.
<para>Type: Bool. Default: false</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_FBX_READ_ALL_GEOMETRY_LAYERS">
<summary>
Specifies whether the FBX importer will merge all geometry layers present in the source file or take only the first.
<para>Type: bool. Default: true.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_FBX_READ_ALL_MATERIALS">
<summary>
Specifies whether the FBX importer will read all materials present in the source file or take only the referenced materials, if the importer
will read materials, otherwise this has no effect.
<para>Type: Bool. Default: false.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_FBX_READ_MATERIALS">
<summary>
Specifies whether the FBX importer will read materials.
<para>Type: Bool. Default: true.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_FBX_READ_TEXTURES">
<summary>
Specifies whether the FBX importer will read embedded textures.
<para>Type: Bool. Default: true.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_FBX_SEARCH_EMBEDDED_TEXTURES">
<summary>
Specifies whether the FBX importer will search for embedded loaded textures, where no embedded texture data is provided.
<para>Type: Bool. Default: false.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_FBX_READ_CAMERAS">
<summary>
Specifies whether the FBX importer will read cameras.
<para>Type: Bool. Default: true.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_FBX_READ_LIGHTS">
<summary>
Specifies whether the FBX importer will read light sources.
<para>Type: Bool. Default: true.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_FBX_READ_ANIMATIONS">
<summary>
Specifies whether the FBX importer will read animations.
<para>Type: Bool. default: true.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_FBX_STRICT_MODE">
<summary>
Specifies whether the FBX importer will act in strict mode in which only the FBX 2013
format 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.
<para>Type: Bool. Default: false.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_FBX_PRESERVE_PIVOTS">
<summary>
Specifies 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.
<para>Type: Bool. Default: true.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_FBX_OPTIMIZE_EMPTY_ANIMATION_CURVES">
<summary>
Specifies whether the importer will drop empty animation curves or animation curves which match the bind pose
transformation over their entire defined range.
<para>Type: Bool. Default: true.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_EXPORT_XFILE_64BIT">
<summary>
Specifies if the X-file exporter should use 64-bit doubles rather than 32-bit floats.
<para>Type: Bool. Default: false.</para>
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiDefines">
<summary>
Static class that has a number of constants that are found in Assimp. These can be limits to configuration property default values. The constants
are grouped according to their usage or where they're found in the Assimp include files.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiDefines.AI_SLM_DEFAULT_MAX_TRIANGLES">
<summary>
Default value for <see cref="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_SLM_TRIANGLE_LIMIT"/>.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiDefines.AI_SLM_DEFAULT_MAX_VERTICES">
<summary>
Default value for <see cref="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_SLM_VERTEX_LIMIT"/>.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiDefines.AI_LBW_MAX_WEIGHTS">
<summary>
Default value for <see cref="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_LBW_MAX_WEIGHTS"/>.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiDefines.PP_ICL_PTCACHE_SIZE">
<summary>
Default value for <see cref="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_ICL_PTCACHE_SIZE"/>.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiDefines.AI_UVTRAFO_ALL">
<summary>
Default value for <see cref="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_TUV_EVALUATE"/>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiDefines.AI_MAX_FACE_INDICES">
<summary>
Defines the maximum number of indices per face (polygon).
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiDefines.AI_MAX_BONE_WEIGHTS">
<summary>
Defines the maximum number of bone weights.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiDefines.AI_MAX_VERTICES">
<summary>
Defines the maximum number of vertices per mesh.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiDefines.AI_MAX_FACES">
<summary>
Defines the maximum number of faces per mesh.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiDefines.AI_MAX_NUMBER_OF_COLOR_SETS">
<summary>
Defines the maximum number of vertex color sets per mesh.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiDefines.AI_MAX_NUMBER_OF_TEXTURECOORDS">
<summary>
Defines the maximum number of texture coordinate sets (UV(W) channels) per mesh.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiDefines.AI_SBBC_DEFAULT_MAX_BONES">
<summary>
Defines the default bone count limit.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiDefines.AI_DEBONE_THRESHOLD">
<summary>
Defines the deboning threshold.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiDefines.MAX_LENGTH">
<summary>
Defines the maximum length of a string used in AiString.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiDefines.AI_DEFAULT_MATERIAL_NAME">
<summary>
Defines the default color material.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiDefines.AI_DEFAULT_TEXTURED_MATERIAL_NAME">
<summary>
Defines the default textured material (if the meshes have UV coords).
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiMatKeys">
<summary>
Static class containing material key constants. A fully qualified mat key
name here means that it's a string that combines the mat key (base) name, its
texture type semantic, and its texture index into a single string delimited by
commas. For non-texture material properties, the texture type semantic and texture
index are always zero.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.NAME_BASE">
<summary>
Material name (String)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.NAME">
<summary>
Material name (String)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.TWOSIDED_BASE">
<summary>
Two sided property (boolean)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.TWOSIDED">
<summary>
Two sided property (boolean)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHADING_MODEL_BASE">
<summary>
Shading mode property (ShadingMode)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHADING_MODEL">
<summary>
Shading mode property (ShadingMode)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.ENABLE_WIREFRAME_BASE">
<summary>
Enable wireframe property (boolean)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.ENABLE_WIREFRAME">
<summary>
Enable wireframe property (boolean)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.BLEND_FUNC_BASE">
<summary>
Blending function (BlendMode)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.BLEND_FUNC">
<summary>
Blending function (BlendMode)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.OPACITY_BASE">
<summary>
Opacity (float)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.OPACITY">
<summary>
Opacity (float)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.BUMPSCALING_BASE">
<summary>
Bumpscaling (float)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.BUMPSCALING">
<summary>
Bumpscaling (float)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHININESS_BASE">
<summary>
Shininess (float)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHININESS">
<summary>
Shininess (float)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.REFLECTIVITY_BASE">
<summary>
Reflectivity (float)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.REFLECTIVITY">
<summary>
Reflectivity (float)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHININESS_STRENGTH_BASE">
<summary>
Shininess strength (float)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHININESS_STRENGTH">
<summary>
Shininess strength (float)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.REFRACTI_BASE">
<summary>
Refracti (float)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.REFRACTI">
<summary>
Refracti (float)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.COLOR_DIFFUSE_BASE">
<summary>
Diffuse color (Color4D)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.COLOR_DIFFUSE">
<summary>
Diffuse color (Color4D)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.COLOR_AMBIENT_BASE">
<summary>
Ambient color (Color4D)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.COLOR_AMBIENT">
<summary>
Ambient color (Color4D)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.COLOR_SPECULAR_BASE">
<summary>
Specular color (Color4D)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.COLOR_SPECULAR">
<summary>
Specular color (Color4D)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.COLOR_EMISSIVE_BASE">
<summary>
Emissive color (Color4D)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.COLOR_EMISSIVE">
<summary>
Emissive color (Color4D)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.COLOR_TRANSPARENT_BASE">
<summary>
Transparent color (Color4D)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.COLOR_TRANSPARENT">
<summary>
Transparent color (Color4D)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.COLOR_REFLECTIVE_BASE">
<summary>
Reflective color (Color4D)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.COLOR_REFLECTIVE">
<summary>
Reflective color (Color4D)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.GLOBAL_BACKGROUND_IMAGE_BASE">
<summary>
Background image (String)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.GLOBAL_BACKGROUND_IMAGE">
<summary>
Background image (String)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.TEXTURE_BASE">
<summary>
Texture base name
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.UVWSRC_BASE">
<summary>
UVWSRC base name
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.TEXOP_BASE">
<summary>
Texture op base name
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.MAPPING_BASE">
<summary>
Mapping base name
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.TEXBLEND_BASE">
<summary>
Texture blend base name.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.MAPPINGMODE_U_BASE">
<summary>
Mapping mode U base name
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.MAPPINGMODE_V_BASE">
<summary>
Mapping mode V base name
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.TEXMAP_AXIS_BASE">
<summary>
Texture map axis base name
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.UVTRANSFORM_BASE">
<summary>
UV transform base name
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.TEXFLAGS_BASE">
<summary>
Texture flags base name
</summary>
</member>
<member name="M:Assimp.Unmanaged.AiMatKeys.GetFullTextureName(System.String,Assimp.TextureType,System.Int32)">
<summary>
Helper function to get the fully qualified name of a texture property type name. Takes
in a base name constant, a texture type, and a texture index and outputs the name in the format:
<para>"baseName,TextureType,texIndex"</para>
</summary>
<param name="baseName">Base name</param>
<param name="texType">Texture type</param>
<param name="texIndex">Texture index</param>
<returns>Fully qualified texture name</returns>
</member>
<member name="M:Assimp.Unmanaged.AiMatKeys.GetBaseName(System.String)">
<summary>
Helper function to get the base name from a fully qualified name of a material property type name. The format
of such a string is:
<para>"baseName,TextureType,texIndex"</para>
</summary>
<param name="fullyQualifiedName">Fully qualified material property name.</param>
<returns>Base name of the property type.</returns>
</member>
<member name="T:Assimp.Unmanaged.AssimpLibrary">
<summary>
Singleton that governs access to the unmanaged Assimp library functions.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AssimpLibrary.DefaultLibName">
<summary>
Default name of the unmanaged library. Based on runtime implementation the prefix ("lib" on non-windows) and extension (.dll, .so, .dylib) will be appended automatically.
</summary>
</member>
<member name="P:Assimp.Unmanaged.AssimpLibrary.Instance">
<summary>
Gets the AssimpLibrary instance.
</summary>
</member>
<member name="P:Assimp.Unmanaged.AssimpLibrary.IsMultithreadingSupported">
<summary>
Gets if the Assimp unmanaged library supports multithreading. If it was compiled for single threading only,
then it will not utilize multiple threads during import.
</summary>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.ImportFile(System.String,Assimp.PostProcessSteps,System.IntPtr)">
<summary>
Imports a file.
</summary>
<param name="file">Valid filename</param>
<param name="flags">Post process flags specifying what steps are to be run after the import.</param>
<param name="propStore">Property store containing config name-values, may be null.</param>
<returns>Pointer to the unmanaged data structure.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.ImportFile(System.String,Assimp.PostProcessSteps,System.IntPtr,System.IntPtr)">
<summary>
Imports a file.
</summary>
<param name="file">Valid filename</param>
<param name="flags">Post process flags specifying what steps are to be run after the import.</param>
<param name="fileIO">Pointer to an instance of AiFileIO, a custom file IO system used to open the model and
any associated file the loader needs to open, passing NULL uses the default implementation.</param>
<param name="propStore">Property store containing config name-values, may be null.</param>
<returns>Pointer to the unmanaged data structure.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.ImportFileFromStream(System.IO.Stream,Assimp.PostProcessSteps,System.String,System.IntPtr)">
<summary>
Imports a scene from a stream. This uses the "aiImportFileFromMemory" function. The stream can be from anyplace,
not just a memory stream. It is up to the caller to dispose of the stream.
</summary>
<param name="stream">Stream containing the scene data</param>
<param name="flags">Post processing flags</param>
<param name="formatHint">A hint to Assimp to decide which importer to use to process the data</param>
<param name="propStore">Property store containing the config name-values, may be null.</param>
<returns>Pointer to the unmanaged data structure.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.ReleaseImport(System.IntPtr)">
<summary>
Releases the unmanaged scene data structure. This should NOT be used for unmanaged scenes that were marshaled
from the managed scene structure - only for scenes whose memory was allocated by the native library!
</summary>
<param name="scene">Pointer to the unmanaged scene data structure.</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.ApplyPostProcessing(System.IntPtr,Assimp.PostProcessSteps)">
<summary>
Applies a post-processing step on an already imported scene.
</summary>
<param name="scene">Pointer to the unmanaged scene data structure.</param>
<param name="flags">Post processing steps to run.</param>
<returns>Pointer to the unmanaged scene data structure.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetExportFormatDescriptions">
<summary>
Gets all supported export formats.
</summary>
<returns>Array of supported export formats.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.ExportSceneToBlob(System.IntPtr,System.String,Assimp.PostProcessSteps)">
<summary>
Exports the given scene to a chosen file format. Returns the exported data as a binary blob which you can embed into another data structure or file.
</summary>
<param name="scene">Scene to export, it is the responsibility of the caller to free this when finished.</param>
<param name="formatId">Format id describing which format to export to.</param>
<param name="preProcessing">Pre processing flags to operate on the scene during the export.</param>
<returns>Exported binary blob, or null if there was an error.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.ExportScene(System.IntPtr,System.String,System.String,Assimp.PostProcessSteps)">
<summary>
Exports the given scene to a chosen file format and writes the result file(s) to disk.
</summary>
<param name="scene">The scene to export, which needs to be freed by the caller. The scene is expected to conform to Assimp's Importer output format. In short,
this means the model data should use a right handed coordinate system, face winding should be counter clockwise, and the UV coordinate origin assumed to be upper left. If the input is different, specify the pre processing flags appropiately.</param>
<param name="formatId">Format id describing which format to export to.</param>
<param name="fileName">Output filename to write to</param>
<param name="preProcessing">Pre processing flags - accepts any post processing step flag. In reality only a small subset are actually supported, e.g. to ensure the input
conforms to the standard Assimp output format. Some may be redundant, such as triangulation, which some exporters may have to enforce due to the export format.</param>
<returns>Return code specifying if the operation was a success.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.ExportScene(System.IntPtr,System.String,System.String,System.IntPtr,Assimp.PostProcessSteps)">
<summary>
Exports the given scene to a chosen file format and writes the result file(s) to disk.
</summary>
<param name="scene">The scene to export, which needs to be freed by the caller. The scene is expected to conform to Assimp's Importer output format. In short,
this means the model data should use a right handed coordinate system, face winding should be counter clockwise, and the UV coordinate origin assumed to be upper left. If the input is different, specify the pre processing flags appropiately.</param>
<param name="formatId">Format id describing which format to export to.</param>
<param name="fileName">Output filename to write to</param>
<param name="fileIO">Pointer to an instance of AiFileIO, a custom file IO system used to open the model and
any associated file the loader needs to open, passing NULL uses the default implementation.</param>
<param name="preProcessing">Pre processing flags - accepts any post processing step flag. In reality only a small subset are actually supported, e.g. to ensure the input
conforms to the standard Assimp output format. Some may be redundant, such as triangulation, which some exporters may have to enforce due to the export format.</param>
<returns>Return code specifying if the operation was a success.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.CopyScene(System.IntPtr)">
<summary>
Creates a modifyable copy of a scene, useful for copying the scene that was imported so its topology can be modified
and the scene be exported.
</summary>
<param name="sceneToCopy">Valid scene to be copied</param>
<returns>Modifyable copy of the scene</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.AttachLogStream(System.IntPtr)">
<summary>
Attaches a log stream callback to catch Assimp messages.
</summary>
<param name="logStreamPtr">Pointer to an instance of AiLogStream.</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.EnableVerboseLogging(System.Boolean)">
<summary>
Enables verbose logging.
</summary>
<param name="enable">True if verbose logging is to be enabled or not.</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetVerboseLoggingEnabled">
<summary>
Gets if verbose logging is enabled.
</summary>
<returns>True if verbose logging is enabled, false otherwise.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.DetachLogStream(System.IntPtr)">
<summary>
Detaches a logstream callback.
</summary>
<param name="logStreamPtr">Pointer to an instance of AiLogStream.</param>
<returns>A return code signifying if the function was successful or not.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.DetachAllLogStreams">
<summary>
Detaches all logstream callbacks currently attached to Assimp.
</summary>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.CreatePropertyStore">
<summary>
Create an empty property store. Property stores are used to collect import settings.
</summary>
<returns>Pointer to property store</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.ReleasePropertyStore(System.IntPtr)">
<summary>
Deletes a property store.
</summary>
<param name="propertyStore">Pointer to property store</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.SetImportPropertyInteger(System.IntPtr,System.String,System.Int32)">
<summary>
Sets an integer property value.
</summary>
<param name="propertyStore">Pointer to property store</param>
<param name="name">Property name</param>
<param name="value">Property value</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.SetImportPropertyFloat(System.IntPtr,System.String,System.Single)">
<summary>
Sets a float property value.
</summary>
<param name="propertyStore">Pointer to property store</param>
<param name="name">Property name</param>
<param name="value">Property value</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.SetImportPropertyString(System.IntPtr,System.String,System.String)">
<summary>
Sets a string property value.
</summary>
<param name="propertyStore">Pointer to property store</param>
<param name="name">Property name</param>
<param name="value">Property value</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.SetImportPropertyMatrix(System.IntPtr,System.String,Assimp.Matrix4x4)">
<summary>
Sets a matrix property value.
</summary>
<param name="propertyStore">Pointer to property store</param>
<param name="name">Property name</param>
<param name="value">Property value</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetMaterialColor(Assimp.Unmanaged.AiMaterial@,System.String,Assimp.TextureType,System.UInt32)">
<summary>
Retrieves a color value from the material property table.
</summary>
<param name="mat">Material to retrieve the data from</param>
<param name="key">Ai mat key (base) name to search for</param>
<param name="texType">Texture Type semantic, always zero for non-texture properties</param>
<param name="texIndex">Texture index, always zero for non-texture properties</param>
<returns>The color if it exists. If not, the default Color4D value is returned.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetMaterialFloatArray(Assimp.Unmanaged.AiMaterial@,System.String,Assimp.TextureType,System.UInt32,System.UInt32)">
<summary>
Retrieves an array of float values with the specific key from the material.
</summary>
<param name="mat">Material to retrieve the data from</param>
<param name="key">Ai mat key (base) name to search for</param>
<param name="texType">Texture Type semantic, always zero for non-texture properties</param>
<param name="texIndex">Texture index, always zero for non-texture properties</param>
<param name="floatCount">The maximum number of floats to read. This may not accurately describe the data returned, as it may not exist or be smaller. If this value is less than
the available floats, then only the requested number is returned (e.g. 1 or 2 out of a 4 float array).</param>
<returns>The float array, if it exists</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetMaterialIntegerArray(Assimp.Unmanaged.AiMaterial@,System.String,Assimp.TextureType,System.UInt32,System.UInt32)">
<summary>
Retrieves an array of integer values with the specific key from the material.
</summary>
<param name="mat">Material to retrieve the data from</param>
<param name="key">Ai mat key (base) name to search for</param>
<param name="texType">Texture Type semantic, always zero for non-texture properties</param>
<param name="texIndex">Texture index, always zero for non-texture properties</param>
<param name="intCount">The maximum number of integers to read. This may not accurately describe the data returned, as it may not exist or be smaller. If this value is less than
the available integers, then only the requested number is returned (e.g. 1 or 2 out of a 4 float array).</param>
<returns>The integer array, if it exists</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetMaterialProperty(Assimp.Unmanaged.AiMaterial@,System.String,Assimp.TextureType,System.UInt32)">
<summary>
Retrieves a material property with the specific key from the material.
</summary>
<param name="mat">Material to retrieve the property from</param>
<param name="key">Ai mat key (base) name to search for</param>
<param name="texType">Texture Type semantic, always zero for non-texture properties</param>
<param name="texIndex">Texture index, always zero for non-texture properties</param>
<returns>The material property, if found.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetMaterialString(Assimp.Unmanaged.AiMaterial@,System.String,Assimp.TextureType,System.UInt32)">
<summary>
Retrieves a string from the material property table.
</summary>
<param name="mat">Material to retrieve the data from</param>
<param name="key">Ai mat key (base) name to search for</param>
<param name="texType">Texture Type semantic, always zero for non-texture properties</param>
<param name="texIndex">Texture index, always zero for non-texture properties</param>
<returns>The string, if it exists. If not, an empty string is returned.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetMaterialTextureCount(Assimp.Unmanaged.AiMaterial@,Assimp.TextureType)">
<summary>
Gets the number of textures contained in the material for a particular texture type.
</summary>
<param name="mat">Material to retrieve the data from</param>
<param name="type">Texture Type semantic</param>
<returns>The number of textures for the type.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetMaterialTextureFilePath(Assimp.Unmanaged.AiMaterial@,Assimp.TextureType,System.UInt32)">
<summary>
Gets the texture filepath contained in the material.
</summary>
<param name="mat">Material to retrieve the data from</param>
<param name="type">Texture type semantic</param>
<param name="index">Texture index</param>
<returns>The texture filepath, if it exists. If not an empty string is returned.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetMaterialTexture(Assimp.Unmanaged.AiMaterial@,Assimp.TextureType,System.UInt32)">
<summary>
Gets all values pertaining to a particular texture from a material.
</summary>
<param name="mat">Material to retrieve the data from</param>
<param name="type">Texture type semantic</param>
<param name="index">Texture index</param>
<returns>Returns the texture slot struct containing all the information.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetErrorString">
<summary>
Gets the last error logged in Assimp.
</summary>
<returns>The last error message logged.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.IsExtensionSupported(System.String)">
<summary>
Checks whether the model format extension is supported by Assimp.
</summary>
<param name="extension">Model format extension, e.g. ".3ds"</param>
<returns>True if the format is supported, false otherwise.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetExtensionList">
<summary>
Gets all the model format extensions that are currently supported by Assimp.
</summary>
<returns>Array of supported format extensions</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetImporterDescriptions">
<summary>
Gets a collection of importer descriptions that detail metadata and feature support for each importer.
</summary>
<returns>Collection of importer descriptions</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetMemoryRequirements(System.IntPtr)">
<summary>
Gets the memory requirements of the scene.
</summary>
<param name="scene">Pointer to the unmanaged scene data structure.</param>
<returns>The memory information about the scene.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.CreateQuaternionFromMatrix(Assimp.Quaternion@,Assimp.Matrix3x3@)">
<summary>
Creates a quaternion from the 3x3 rotation matrix.
</summary>
<param name="quat">Quaternion struct to fill</param>
<param name="mat">Rotation matrix</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.DecomposeMatrix(Assimp.Matrix4x4@,Assimp.Vector3D@,Assimp.Quaternion@,Assimp.Vector3D@)">
<summary>
Decomposes a 4x4 matrix into its scaling, rotation, and translation parts.
</summary>
<param name="mat">4x4 Matrix to decompose</param>
<param name="scaling">Scaling vector</param>
<param name="rotation">Quaternion containing the rotation</param>
<param name="position">Translation vector</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.TransposeMatrix4(Assimp.Matrix4x4@)">
<summary>
Transposes the 4x4 matrix.
</summary>
<param name="mat">Matrix to transpose</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.TransposeMatrix3(Assimp.Matrix3x3@)">
<summary>
Transposes the 3x3 matrix.
</summary>
<param name="mat">Matrix to transpose</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.TransformVecByMatrix3(Assimp.Vector3D@,Assimp.Matrix3x3@)">
<summary>
Transforms the vector by the 3x3 rotation matrix.
</summary>
<param name="vec">Vector to transform</param>
<param name="mat">Rotation matrix</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.TransformVecByMatrix4(Assimp.Vector3D@,Assimp.Matrix4x4@)">
<summary>
Transforms the vector by the 4x4 matrix.
</summary>
<param name="vec">Vector to transform</param>
<param name="mat">Matrix transformation</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.MultiplyMatrix4(Assimp.Matrix4x4@,Assimp.Matrix4x4@)">
<summary>
Multiplies two 4x4 matrices. The destination matrix receives the result.
</summary>
<param name="dst">First input matrix and is also the Matrix to receive the result</param>
<param name="src">Second input matrix, to be multiplied with "dst".</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.MultiplyMatrix3(Assimp.Matrix3x3@,Assimp.Matrix3x3@)">
<summary>
Multiplies two 3x3 matrices. The destination matrix receives the result.
</summary>
<param name="dst">First input matrix and is also the Matrix to receive the result</param>
<param name="src">Second input matrix, to be multiplied with "dst".</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.IdentityMatrix3(Assimp.Matrix3x3@)">
<summary>
Creates a 3x3 identity matrix.
</summary>
<param name="mat">Matrix to hold the identity</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.IdentityMatrix4(Assimp.Matrix4x4@)">
<summary>
Creates a 4x4 identity matrix.
</summary>
<param name="mat">Matrix to hold the identity</param>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetLegalString">
<summary>
Gets the Assimp legal info.
</summary>
<returns>String containing Assimp legal info.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetVersionMinor">
<summary>
Gets the native Assimp DLL's minor version number.
</summary>
<returns>Assimp minor version number</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetVersionMajor">
<summary>
Gets the native Assimp DLL's major version number.
</summary>
<returns>Assimp major version number</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetVersionRevision">
<summary>
Gets the native Assimp DLL's revision version number.
</summary>
<returns>Assimp revision version number</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetVersion">
<summary>
Gets the native Assimp DLL's current version number as "major.minor.revision" string. This is the
version of Assimp that this wrapper is currently using.
</summary>
<returns>Unmanaged DLL version</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetVersionAsVersion">
<summary>
Gets the native Assimp DLL's current version number as a .NET version object.
</summary>
<returns>Unmanaged DLL version</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetCompileFlags">
<summary>
Get the compilation flags that describe how the native Assimp DLL was compiled.
</summary>
<returns>Compilation flags</returns>
</member>
<member name="T:Assimp.Unmanaged.AssimpLibrary.FunctionNames">
<summary>
Defines all the unmanaged assimp C-function names.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AssimpLibrary.Functions">
<summary>
Defines all of the delegates that represent the unmanaged assimp functions.
</summary>
</member>
<member name="T:Assimp.Unmanaged.Platform">
<summary>
Enumerates supported platforms.
</summary>
</member>
<member name="F:Assimp.Unmanaged.Platform.Windows">
<summary>
Windows platform.
</summary>
</member>
<member name="F:Assimp.Unmanaged.Platform.Linux">
<summary>
Linux platform.
</summary>
</member>
<member name="F:Assimp.Unmanaged.Platform.Mac">
<summary>
Mac platform.
</summary>
</member>
<member name="T:Assimp.Unmanaged.UnmanagedFunctionNameAttribute">
<summary>
An attribute that represents the name of an unmanaged function to import.
</summary>
</member>
<member name="P:Assimp.Unmanaged.UnmanagedFunctionNameAttribute.UnmanagedFunctionName">
<summary>
Name of the unmanaged function.
</summary>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedFunctionNameAttribute.#ctor(System.String)">
<summary>
Constructs a new <see cref="P:Assimp.Unmanaged.UnmanagedFunctionNameAttribute.UnmanagedFunctionName"/>.
</summary>
<param name="unmanagedFunctionName">Name of the function.</param>
</member>
<member name="T:Assimp.Unmanaged.UnmanagedLibrary">
<summary>
Represents management and access to an unmanaged library. An unmanaged library can be loaded and unloaded dynamically. The library then searches for a list
of exported functions to create managed delegates for, allowing callers to access the library. Each OS platform has its own implementation to determine how to load
unmanaged libraries.
</summary>
</member>
<member name="E:Assimp.Unmanaged.UnmanagedLibrary.LibraryLoaded">
<summary>
Occurs when the unmanaged library is loaded.
</summary>
</member>
<member name="E:Assimp.Unmanaged.UnmanagedLibrary.LibraryFreed">
<summary>
Occurs when the unmanaged library is freed.
</summary>
</member>
<member name="P:Assimp.Unmanaged.UnmanagedLibrary.IsLibraryLoaded">
<summary>
Queries if the unmanaged library has been loaded or not.
</summary>
</member>
<member name="P:Assimp.Unmanaged.UnmanagedLibrary.DefaultLibraryName">
<summary>
Gets the default name of the unmanaged library DLL. This is dependent based on the platform extension and name prefix. Additional
names can be set in the <see cref="T:Assimp.Unmanaged.UnmanagedLibraryResolver"/> (e.g. to load versioned DLLs)
</summary>
</member>
<member name="P:Assimp.Unmanaged.UnmanagedLibrary.LibraryPath">
<summary>
Gets the path to the unmanaged library DLL that is currently loaded.
</summary>
</member>
<member name="P:Assimp.Unmanaged.UnmanagedLibrary.Resolver">
<summary>
Gets the resolver used to find the unmanaged library DLL when loading.
</summary>
</member>
<member name="P:Assimp.Unmanaged.UnmanagedLibrary.ThrowOnLoadFailure">
<summary>
Gets or sets whether an <see cref="T:Assimp.AssimpException"/> is thrown if the unmanaged DLL fails to load for whatever reason. By
default this is true.
</summary>
</member>
<member name="P:Assimp.Unmanaged.UnmanagedLibrary.Is64Bit">
<summary>
Queries if the OS is 64-bit, if false then it is 32-bit.
</summary>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibrary.#ctor(System.String,System.Type[])">
<summary>
Constructs a new <see cref="T:Assimp.Unmanaged.UnmanagedLibrary"/>.
</summary>
<param name="defaultName">Default name (NOT path) of the unmanaged library.</param>
<param name="unmanagedFunctionDelegateTypes">Delegate types to instantiate and load.</param>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibrary.GetPlatform">
<summary>
Gets an enum representing the current OS that is application is executing on.
</summary>
<returns>Platform enumeration.</returns>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibrary.LoadLibrary">
<summary>
Loads the unmanaged library using the <see cref="T:Assimp.Unmanaged.UnmanagedLibraryResolver"/>.
</summary>
<returns>True if the library was found and successfully loaded.</returns>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibrary.LoadLibrary(System.String,System.String)">
<summary>
Loads the unmanaged library using the supplied 32 and 64 bit paths, the one chosen is based on the OS bitness.
</summary>
<param name="lib32Path">Path to the 32-bit DLL</param>
<param name="lib64Path">Path to the 64-bit DLL</param>
<returns>True if the library was found and successfully loaded.</returns>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibrary.LoadLibrary(System.String)">
<summary>
Loads the unmanaged library using the supplied path.
</summary>
<param name="libPath">Path to the unmanaged DLL.</param>
<returns>True if the library was found and successfully loaded.</returns>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibrary.FreeLibrary">
<summary>
Frees the unmanaged library that is currently loaded.
</summary>
<returns>True if the library was sucessfully freed.</returns>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibrary.GetFunction``1(System.String)">
<summary>
Gets a delegate based on the unmanaged function name.
</summary>
<typeparam name="T">Type of delegate.</typeparam>
<param name="funcName">Name of unmanaged function that is exported by the library.</param>
<returns>The delegate, or null if not found.</returns>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibrary.LoadIfNotLoaded">
<summary>
If library is not explicitly loaded by user, call this when trying to call an unmanaged function to load the unmanaged library
from the default path. This function is thread safe.
</summary>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibrary.OnLibraryLoaded">
<summary>
Called when the library is loaded.
</summary>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibrary.OnLibraryFreed">
<summary>
Called when the library is freed.
</summary>
</member>
<member name="T:Assimp.Unmanaged.UnmanagedLibraryResolver">
<summary>
Resolves unmanaged DLLs for <see cref="T:Assimp.Unmanaged.UnmanagedLibrary"/>. The process is completely configurable, where the user can supply alternative library names (e.g. versioned libs),
an override library name, and probing paths. These can be set for both 32/64 bit, or seperately for 32 or 64 bit. See <see cref="M:Assimp.Unmanaged.UnmanagedLibraryResolver.ResolveLibraryPath(System.String)"/>
for the search strategy.
</summary>
</member>
<member name="P:Assimp.Unmanaged.UnmanagedLibraryResolver.Platform">
<summary>
Gets the platform that the application is running on.
</summary>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibraryResolver.#ctor(Assimp.Unmanaged.Platform)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Unmanaged.UnmanagedLibraryResolver"/> class.
</summary>
<param name="platformHint">Platform we're resolving binaries for.</param>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibraryResolver.SetFallbackLibraryNames32(System.String[])">
<summary>
Sets the collection of fallback library names (e.g. versioned libs) for 32-bit probing.
</summary>
<param name="fallbackLibNames">Null to clear, or set of fallback library names.</param>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibraryResolver.SetFallbackLibraryNames64(System.String[])">
<summary>
Sets the collection of fallback library names (e.g. versioned libs) for 64-bit probing.
</summary>
<param name="fallbackLibNames">Null to clear, or set of fallback library names.</param>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibraryResolver.SetFallbackLibraryNames(System.String[])">
<summary>
Sets the collection of fallback library names (e.g. versioned libs) for both 32-bit and 64-bit probing.
</summary>
<param name="fallbackLibNames">Null to clear, or set of fallback library names.</param>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibraryResolver.SetProbingPaths32(System.String[])">
<summary>
Sets the collection of file paths to probe for 32-bit libraries. These paths always are first to be searched, in the order
that they are given.
</summary>
<param name="probingPaths">Null to clear, or set of paths to probe.</param>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibraryResolver.SetProbingPaths64(System.String[])">
<summary>
Sets the collection of file paths to probe for 64-bit libraries. These paths always are first to be searched, in the order
that they are given.
</summary>
<param name="probingPaths">Null to clear, or set of paths to probe.</param>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibraryResolver.SetProbingPaths(System.String[])">
<summary>
Sets the collection of file paths to probe for both 32-bit and 64-bit libraries. These paths always are first to be searched, in the order
that they are given.
</summary>
<param name="probingPaths">Null to clear, or set of paths to probe.</param>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibraryResolver.SetOverrideLibraryName32(System.String)">
<summary>
Sets an override 32-bit library name. By default, the <see cref="T:Assimp.Unmanaged.UnmanagedLibrary"/> implementations creates a default name for the library, which
is passed into <see cref="M:Assimp.Unmanaged.UnmanagedLibraryResolver.ResolveLibraryPath(System.String)"/> for resolving. If the override is non-null, it will be used instead. This is useful if the library
to be loaded is not conforming to the platform's default prefix/extension scheme (e.g. libXYZ.so on linux where "lib" is the prefix and ".so" the extension).
</summary>
<param name="overrideName">Null to clear, or override library name.</param>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibraryResolver.SetOverrideLibraryName64(System.String)">
<summary>
Sets an override 64-bit library name. By default, the <see cref="T:Assimp.Unmanaged.UnmanagedLibrary"/> implementations creates a default name for the library, which
is passed into <see cref="M:Assimp.Unmanaged.UnmanagedLibraryResolver.ResolveLibraryPath(System.String)"/> for resolving. If the override is non-null, it will be used instead. This is useful if the library
to be loaded is not conforming to the platform's default prefix/extension scheme (e.g. libXYZ.so on linux where "lib" is the prefix and ".so" the extension).
</summary>
<param name="overrideName">Null to clear, or override library name.</param>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibraryResolver.SetOverrideLibraryName(System.String)">
<summary>
Sets an override 32-bit and 64-bit library name. By default, the <see cref="T:Assimp.Unmanaged.UnmanagedLibrary"/> implementations creates a default name for the library, which
is passed into <see cref="M:Assimp.Unmanaged.UnmanagedLibraryResolver.ResolveLibraryPath(System.String)"/> for resolving. If the override is non-null, it will be used instead. This is useful if the library
to be loaded is not conforming to the platform's default prefix/extension scheme (e.g. libXYZ.so on linux where "lib" is the prefix and ".so" the extension).
</summary>
<param name="overrideName">Null to clear, or override library name.</param>
</member>
<member name="M:Assimp.Unmanaged.UnmanagedLibraryResolver.ResolveLibraryPath(System.String)">
<summary>
Given a library name, this function attempts to resolve the file path from which it can be loaded. Each step of the search strategy uses the fallback
library names if the given name was not found in the current step. If the search is unsuccessfully, the library name is returned which means the OS will try
and do its own search strategy when attempting to load the library (this is dependent on the OS). The search strategy is the following, in order of execution:
<para>
<list type="number">
<item><description>Search user-specified probing paths.</description></item>
<item><description>Search {AppBaseDirectory}/runtimes/{RID}/native/.</description></item>
<item><description>Search {AppBaseDirectory}/.</description></item>
<item><description>Search nuget package path, e.g. {UserProfile}/.nuget/packages/{PackageId}/{PackageVersion}/runtimes/{RID}/native/.</description></item>
</list>
</para>
<para>
The search strategy gives priority to user-specified probing paths, then local paths to the application, then finally examining the global nuget cache. The RID
is the Runtime Identifier based on the platform/architecture, see also <a href="https://docs.microsoft.com/en-us/dotnet/core/rid-catalog">Microsoft's RID Catalog</a>.
</para>
</summary>
<param name="libName">Name of the library to attempt to resolve.</param>
<returns>Full file path to the library, or the file name if not found (e.g. "libXYZ.so").</returns>
</member>
<member name="T:Assimp.Unmanaged.AiScene">
<summary>
Represents an aiScene struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.Flags">
<summary>
unsigned int, flags about the state of the scene
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.RootNode">
<summary>
aiNode*, root node of the scenegraph.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.NumMeshes">
<summary>
Number of meshes contained.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.Meshes">
<summary>
aiMesh**, meshes in the scene.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.NumMaterials">
<summary>
Number of materials contained.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.Materials">
<summary>
aiMaterial**, materials in the scene.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.NumAnimations">
<summary>
Number of animations contained.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.Animations">
<summary>
aiAnimation**, animations in the scene.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.NumTextures">
<summary>
Number of embedded textures contained.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.Textures">
<summary>
aiTexture**, textures in the scene.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.NumLights">
<summary>
Number of lights contained.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.Lights">
<summary>
aiLight**, lights in the scene.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.NumCameras">
<summary>
Number of cameras contained.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.Cameras">
<summary>
aiCamera**, cameras in the scene.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.PrivateData">
<summary>
void*, Private data do not touch!
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiNode">
<summary>
Represents an aiNode struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNode.Name">
<summary>
Name of the node.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNode.Transformation">
<summary>
Node's transform relative to its parent.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNode.Parent">
<summary>
aiNode*, node's parent.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNode.NumChildren">
<summary>
Number of children the node owns.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNode.Children">
<summary>
aiNode**, array of nodes this node owns.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNode.NumMeshes">
<summary>
Number of meshes referenced by this node.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNode.Meshes">
<summary>
unsigned int*, array of mesh indices.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNode.MetaData">
<summary>
aiMetadata*, pointer to a metadata container. May be NULL, if an importer doesn't document metadata then it doesn't write any.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiMetadataEntry">
<summary>
Represents an aiMetadataEntry struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMetadataEntry.DataType">
<summary>
Type of metadata.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMetadataEntry.Data">
<summary>
Pointer to data.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiMetadata">
<summary>
Represents an aiMetadata struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMetadata.NumProperties">
<summary>
Length of the Keys and Values arrays.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMetadata.keys">
<summary>
aiString*, array of keys. May not be NULL. Each entry must exist.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMetadata.Values">
<summary>
aiMetadataEntry*, array of values. May not be NULL. Entries may be NULL if the corresponding property key has no assigned value.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiMesh">
<summary>
Represents an aiMesh struct. Note: This structure requires marshaling, due to the arrays of IntPtrs.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.PrimitiveTypes">
<summary>
unsigned int, bitwise flag detailing types of primitives contained.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.NumVertices">
<summary>
Number of vertices in the mesh, denotes length of
-all- per-vertex arrays.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.NumFaces">
<summary>
Number of faces in the mesh.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.Vertices">
<summary>
aiVector3D*, array of positions.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.Normals">
<summary>
aiVector3D*, array of normals.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.Tangents">
<summary>
aiVector3D*, array of tangents.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.BiTangents">
<summary>
aiVector3D*, array of bitangents.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.Colors">
<summary>
aiColor4D*[Max_Value], array of arrays of vertex colors. Max_Value is defined as <see cref="F:Assimp.Unmanaged.AiDefines.AI_MAX_NUMBER_OF_COLOR_SETS"/>.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.TextureCoords">
<summary>
aiVector3D*[Max_Value], array of arrays of texture coordinates. Max_Value is defined as <see cref="F:Assimp.Unmanaged.AiDefines.AI_MAX_NUMBER_OF_TEXTURECOORDS"/>.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.NumUVComponents">
<summary>
unsigned int[Max_Value], array of ints denoting the number of components for each set of texture coordinates - UV (2), UVW (3) for example.
Max_Value is defined as <see cref="F:Assimp.Unmanaged.AiDefines.AI_MAX_NUMBER_OF_TEXTURECOORDS"/>.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.Faces">
<summary>
aiFace*, array of faces.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.NumBones">
<summary>
Number of bones in the mesh.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.Bones">
<summary>
aiBone**, array of bones.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.MaterialIndex">
<summary>
Material index referencing the material in the scene.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.Name">
<summary>
Optional name of the mesh.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.NumAnimMeshes">
<summary>
Number of attachment meshes. NOT CURRENTLY IN USE.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.AnimMeshes">
<summary>
aiAnimMesh**, array of attachment meshes for vertex-based animation. NOT CURRENTLY IN USE.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.MorphMethod">
<summary>
unsigned int, method of morphing when anim meshes are specified.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiTexture">
<summary>
Represents an aiTexture struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiTexture.Width">
<summary>
Width of the texture.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiTexture.Height">
<summary>
Height of the texture.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiTexture.FormatHint">
<summary>
sbyte[9], format extension hint. Fixed size char is two bytes regardless of encoding. Unmanaged assimp uses a char that
maps to one byte. 8 for string + 1 for terminator.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiTexture.Data">
<summary>
aiTexel*, array of texel data.
</summary>
</member>
<member name="M:Assimp.Unmanaged.AiTexture.SetFormatHint(System.String)">
<summary>
Sets the format hint.
</summary>
<param name="formatHint">Format hint - must be 3 characters or less</param>
</member>
<member name="M:Assimp.Unmanaged.AiTexture.GetFormatHint">
<summary>
Gets the format hint.
</summary>
<returns>The format hint</returns>
</member>
<member name="M:Assimp.Unmanaged.AiTexture.GetFormatHint(Assimp.Unmanaged.AiTexture@)">
<summary>
Gets the format hint. Use this to avoid struct copy if the string was passed by read-only ref.
</summary>
<param name="aiTex">AiTexture</param>
<returns>The format hint</returns>
</member>
<member name="T:Assimp.Unmanaged.AiFace">
<summary>
Represents an aiFace struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiFace.NumIndices">
<summary>
Number of indices in the face.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiFace.Indices">
<summary>
unsigned int*, array of indices.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiBone">
<summary>
Represents an aiBone struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiBone.Name">
<summary>
Name of the bone.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiBone.NumWeights">
<summary>
Number of weights.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiBone.Weights">
<summary>
VertexWeight*, array of vertex weights.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiBone.OffsetMatrix">
<summary>
Matrix that transforms the vertex from mesh to bone space in bind pose
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiMaterialProperty">
<summary>
Represents an aiMaterialProperty struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMaterialProperty.Key">
<summary>
Name of the property (key).
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMaterialProperty.Semantic">
<summary>
Textures: Specifies texture usage. None texture properties
have this zero (or None).
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMaterialProperty.Index">
<summary>
Textures: Specifies the index of the texture. For non-texture properties
this is always zero.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMaterialProperty.DataLength">
<summary>
Size of the buffer data in bytes. This value may not be zero.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMaterialProperty.Type">
<summary>
Type of value contained in the buffer.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMaterialProperty.Data">
<summary>
char*, byte buffer to hold the property's value.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiMaterial">
<summary>
Represents an aiMaterial struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMaterial.Properties">
<summary>
aiMaterialProperty**, array of material properties.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMaterial.NumProperties">
<summary>
Number of key-value properties.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMaterial.NumAllocated">
<summary>
Storage allocated for key-value properties.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiNodeAnim">
<summary>
Represents an aiNodeAnim struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNodeAnim.NodeName">
<summary>
Name of the node affected by the animation. The node must exist
and be unique.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNodeAnim.NumPositionKeys">
<summary>
Number of position keys.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNodeAnim.PositionKeys">
<summary>
VectorKey*, position keys of this animation channel. Positions
are 3D vectors and are accompanied by at least one scaling and one rotation key.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNodeAnim.NumRotationKeys">
<summary>
The number of rotation keys.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNodeAnim.RotationKeys">
<summary>
QuaternionKey*, rotation keys of this animation channel. Rotations are 4D vectors (quaternions).
If there are rotation keys there will be at least one scaling and one position key.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNodeAnim.NumScalingKeys">
<summary>
Number of scaling keys.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNodeAnim.ScalingKeys">
<summary>
VectorKey*, scaling keys of this animation channel. Scalings are specified as a
3D vector, and if there are scaling keys, there will at least be one position
and one rotation key.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNodeAnim.Prestate">
<summary>
Defines how the animation behaves before the first key is encountered.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiNodeAnim.PostState">
<summary>
Defines how the animation behaves after the last key was processed.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiMeshAnim">
<summary>
Represents an aiMeshAnim struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMeshAnim.Name">
<summary>
Name of the mesh to be animated. Empty string not allowed.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMeshAnim.NumKeys">
<summary>
Number of keys, there is at least one.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMeshAnim.Keys">
<summary>
aiMeshkey*, the key frames of the animation. There must exist at least one.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiMeshMorphKey">
<summary>
Represents an aiMeshMorphKey struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMeshMorphKey.Time">
<summary>
The time of this key.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMeshMorphKey.Values">
<summary>
unsigned int*, values at the time of this key.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMeshMorphKey.Weights">
<summary>
double*, weights at the time of this key.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMeshMorphKey.NumValuesAndWeights">
<summary>
unsigned int, the number of values/weights.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiMeshMorphAnim">
<summary>
Represents an aiMeshMorphAnim struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMeshMorphAnim.Name">
<summary>
aiString, the name of the mesh to be animated. Empty strings are not allowed, animated meshes need to be named (not necessarily uniquely,
the name can basically serve as a wildcard to select a group of meshes with similar animation setup).
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMeshMorphAnim.NumKeys">
<summary>
unsigned int, number of key frames. Must be at least one.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMeshMorphAnim.Keys">
<summary>
aiMeshMorphKey*, key frames of the animation.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiAnimation">
<summary>
Represents an aiAnimation struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimation.Name">
<summary>
Name of the animation.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimation.Duration">
<summary>
Duration of the animation in ticks.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimation.TicksPerSecond">
<summary>
Ticks per second, 0 if not specified in imported file.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimation.NumChannels">
<summary>
Number of bone animation channels, each channel affects a single node.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimation.Channels">
<summary>
aiNodeAnim**, node animation channels. Each channel affects a single node.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimation.NumMeshChannels">
<summary>
Number of mesh animation channels. Each channel affects a single mesh and defines
vertex-based animation.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimation.MeshChannels">
<summary>
aiMeshAnim**, mesh animation channels. Each channel affects a single mesh.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimation.NumMeshMorphChannels">
<summary>
Number of mesh morph animation channels. Each channel affects a single mesh and defines
morphing animation.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimation.MeshMorphChannels">
<summary>
aiMeshMorphAnim**, mesh morph animation channels. Each channel affects a single mesh.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiLight">
<summary>
Represents an aiLight struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiLight.Name">
<summary>
Name of the light.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiLight.Type">
<summary>
Type of light.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiLight.Position">
<summary>
Position of the light.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiLight.Direction">
<summary>
Direction of the spot/directional light.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiLight.Up">
<summary>
Up direction of the light source in space. Undefined for point lights.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiLight.AttenuationConstant">
<summary>
Attenuation constant value.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiLight.AttenuationLinear">
<summary>
Attenuation linear value.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiLight.AttenuationQuadratic">
<summary>
Attenuation quadratic value.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiLight.ColorDiffuse">
<summary>
Diffuse color.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiLight.ColorSpecular">
<summary>
Specular color.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiLight.ColorAmbient">
<summary>
Ambient color.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiLight.AngleInnerCone">
<summary>
Spot light inner angle.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiLight.AngleOuterCone">
<summary>
Spot light outer angle.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiLight.AreaSize">
<summary>
Width (X) and Height (Y) of the area that represents an <see cref="F:Assimp.LightSourceType.Area"/> light.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiCamera">
<summary>
Represents an aiCamera struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiCamera.Name">
<summary>
Name of the camera.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiCamera.Position">
<summary>
Position of the camera.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiCamera.Up">
<summary>
Up vector of the camera.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiCamera.LookAt">
<summary>
Viewing direction of the camera.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiCamera.HorizontalFOV">
<summary>
Field Of View of the camera.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiCamera.ClipPlaneNear">
<summary>
Near clip plane distance.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiCamera.ClipPlaneFar">
<summary>
Far clip plane distance.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiCamera.Aspect">
<summary>
The Aspect ratio.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiString">
<summary>
Represents an aiString struct.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiString.Length">
<summary>
Byte length of the UTF-8 string.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiString.Data">
<summary>
Actual string data.
</summary>
</member>
<member name="M:Assimp.Unmanaged.AiString.#ctor(System.String)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Unmanaged.AiString"/> struct.
</summary>
<param name="data">The string data</param>
</member>
<member name="M:Assimp.Unmanaged.AiString.GetString(Assimp.Unmanaged.AiString@)">
<summary>
Convienence method for getting the AiString string - if the length is not greater than zero, it returns
an empty string rather than garbage. Use this to avoid struct copy if the string was passed by read-only ref.
</summary>
<param name="aiStr">AiString</param>
<returns>AiString string data</returns>
</member>
<member name="M:Assimp.Unmanaged.AiString.GetString">
<summary>
Convienence method for getting the AiString string - if the length is not greater than zero, it returns
an empty string rather than garbage.
</summary>
<returns>AiString string data</returns>
</member>
<member name="M:Assimp.Unmanaged.AiString.SetString(System.String)">
<summary>
Convienence method for setting the AiString string (and length).
</summary>
<param name="data">String data to set</param>
<returns>True if the operation was successful, false otherwise.</returns>
</member>
<member name="M:Assimp.Unmanaged.AiString.ToString">
<summary>
Returns the fully qualified type name of this instance.
</summary>
<returns>A <see cref="T:System.String" /> containing a fully qualified type name.</returns>
</member>
<member name="T:Assimp.Unmanaged.AiLogStream">
<summary>
Represents a log stream, which receives all log messages and streams them somewhere.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiLogStream.Callback">
<summary>
Function pointer that gets called when a message is to be logged.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiLogStream.UserData">
<summary>
char*, user defined opaque data.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiMemoryInfo">
<summary>
Represents the memory requirements for the different components of an imported
scene. All sizes in in bytes.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMemoryInfo.Textures">
<summary>
Size of the storage allocated for texture data, in bytes.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMemoryInfo.Materials">
<summary>
Size of the storage allocated for material data, in bytes.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMemoryInfo.Meshes">
<summary>
Size of the storage allocated for mesh data, in bytes.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMemoryInfo.Nodes">
<summary>
Size of the storage allocated for node data, in bytes.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMemoryInfo.Animations">
<summary>
Size of the storage allocated for animation data, in bytes.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMemoryInfo.Cameras">
<summary>
Size of the storage allocated for camera data, in bytes.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMemoryInfo.Lights">
<summary>
Size of the storage allocated for light data, in bytes.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMemoryInfo.Total">
<summary>
Total storage allocated for the imported scene, in bytes.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiAnimMesh">
<summary>
Represents an aiAnimMesh struct. Note: This structure requires marshaling, due to the array of IntPtrs.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimMesh.Vertices">
<summary>
aiVector3D*, replacement position array.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimMesh.Normals">
<summary>
aiVector3D*, replacement normal array.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimMesh.Tangents">
<summary>
aiVector3D*, replacement tangent array.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimMesh.BiTangents">
<summary>
aiVector3D*, replacement bitangent array.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimMesh.Colors">
<summary>
aiColor4D*[Max_Value], array of arrays of vertex colors. Max_Value is defined as <see cref="F:Assimp.Unmanaged.AiDefines.AI_MAX_NUMBER_OF_COLOR_SETS"/>.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimMesh.TextureCoords">
<summary>
aiVector3D*[Max_Value], array of arrays of texture coordinates. Max_Value is defined as <see cref="F:Assimp.Unmanaged.AiDefines.AI_MAX_NUMBER_OF_TEXTURECOORDS"/>.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimMesh.NumVertices">
<summary>
unsigned int, number of vertices.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimMesh.Weight">
<summary>
float, weight of the AnimMesh.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiImporterDesc">
<summary>
Describes a variety of information about an importer.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiImporterDesc.Name">
<summary>
char*, full name of the importer (e.g. Blender3D Importer)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiImporterDesc.Author">
<summary>
char*, original author (blank if unknown or assimp team)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiImporterDesc.Maintainer">
<summary>
char*, current maintainer, left blank if the author maintains.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiImporterDesc.Comments">
<summary>
char*, implementation comments. E.g. unimplemented features.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiImporterDesc.Flags">
<summary>
unsigned int, features supported by the importer.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiImporterDesc.MinMajor">
<summary>
unsigned int, max major version of format supported. If no version scheme or importer doesn't care, will be zero.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiImporterDesc.MinMinor">
<summary>
unsigned int, min major version of format supported. If no version scheme or importer doesn't care, will be zero.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiImporterDesc.MaxMajor">
<summary>
unsigned int, max major version of format supported. If no version scheme, forwards compatible, or importer doesn't care, will be zero.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiImporterDesc.MaxMinor">
<summary>
unsigned int, min major version of format supported. If no version scheme, forwards compatible, or importer doesn't care, will be zero.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiImporterDesc.FileExtensions">
<summary>
char*, list of file extensions the importer can handle. Entries are separated by space characters, and all entries are lower case WITHOUT a leading dot. (e.g. "xml dae").
Multiple importers may respond to the same file extension, assim
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiExportFormatDesc">
<summary>
Describes a file format which Assimp can export to.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiExportFormatDesc.FormatId">
<summary>
char*, a short string ID to uniquely identify the export format. e.g. "collada" or "obj"
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiExportFormatDesc.Description">
<summary>
char*, a short description of the file format to present to users.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiExportFormatDesc.FileExtension">
<summary>
char*, a recommended file extension of the exported file in lower case.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiExportDataBlob">
<summary>
Describes a blob of exported scene data. Blobs can be nested, the first blob always has an empty name. Nested
blobs represent auxillary files produced by the exporter (e.g. material files) and are named accordingly.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiExportDataBlob.Size">
<summary>
size_t, size of the data in bytes.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiExportDataBlob.Data">
<summary>
void*, the data.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiExportDataBlob.Name">
<summary>
AiString, name of the blob.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiExportDataBlob.NextBlob">
<summary>
aiExportDataBlob*, pointer to the next blob in the chain.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiFileIO">
<summary>
Contains callbacks to implement a custom file system to open and close files.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiFileIO.OpenProc">
<summary>
Function pointer to open a new file.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiFileIO.CloseProc">
<summary>
Function pointer used to close an existing file.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiFileIO.UserData">
<summary>
Char*, user defined opaque data.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiFile">
<summary>
Contains callbacks to read and write to a file opened by a custom file system.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiFile.ReadProc">
<summary>
Function pointer to read from a file.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiFile.WriteProc">
<summary>
Function pointer to write to a file.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiFile.TellProc">
<summary>
Function pointer to retrieve the current position of the file cursor.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiFile.FileSizeProc">
<summary>
Function pointer to retrieve the size of the file.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiFile.SeekProc">
<summary>
Function pointer to set the current position of the file cursor.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiFile.FlushProc">
<summary>
Function pointer to flush the file contents.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiFile.UserData">
<summary>
Char*, user defined opaque data.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiLogStreamCallback">
<summary>
Callback delegate for Assimp's LogStream.
</summary>
<param name="msg">Log message</param>
<param name="userData">char* pointer to user data that is passed to the callback</param>
</member>
<member name="T:Assimp.Unmanaged.AiFileWriteProc">
<summary>
Callback delegate for a custom file system, to write to a file.
</summary>
<param name="file">Pointer to an AiFile instance</param>
<param name="dataToWrite">Char* pointer to data to write (casted from a void*)</param>
<param name="sizeOfElemInBytes">Size of a single element in bytes to write</param>
<param name="numElements">Number of elements to write</param>
<returns>Number of elements successfully written. Should be zero if either size or numElements is zero. May be less than numElements if an error occured.</returns>
</member>
<member name="T:Assimp.Unmanaged.AiFileReadProc">
<summary>
Callback delegate for a custom file system, to read from a file.
</summary>
<param name="file">Pointer to an AiFile instance.</param>
<param name="dataToRead">Char* pointer that will store the data read (casted from a void*)</param>
<param name="sizeOfElemInBytes">Size of a single element in bytes to read</param>
<param name="numElements">Number of elements to read</param>
<returns>Number of elements succesfully read. Should be zero if either size or numElements is zero. May be less than numElements if end of file is encountered, or if an error occured.</returns>
</member>
<member name="T:Assimp.Unmanaged.AiFileTellProc">
<summary>
Callback delegate for a custom file system, to tell offset/size information about the file.
</summary>
<param name="file">Pointer to an AiFile instance.</param>
<returns>Returns the current file cursor or the file size in bytes. May be -1 if an error has occured.</returns>
</member>
<member name="T:Assimp.Unmanaged.AiFileFlushProc">
<summary>
Callback delegate for a custom file system, to flush the contents of the file to the disk.
</summary>
<param name="file">Pointer to an AiFile instance.</param>
</member>
<member name="T:Assimp.Unmanaged.AiFileSeek">
<summary>
Callback delegate for a custom file system, to set the current position of the file cursor.
</summary>
<param name="file">Pointer to An AiFile instance.</param>
<param name="offset">Offset from the origin.</param>
<param name="seekOrigin">Position used as a reference</param>
<returns>Returns success, if successful</returns>
</member>
<member name="T:Assimp.Unmanaged.AiFileOpenProc">
<summary>
Callback delegate for a custom file system, to open a given file and create a new AiFile instance.
</summary>
<param name="fileIO">Pointer to an AiFileIO instance.</param>
<param name="pathToFile">Path to the target file</param>
<param name="mode">Read-write permissions to request</param>
<returns>Pointer to an AiFile instance.</returns>
</member>
<member name="T:Assimp.Unmanaged.AiFileCloseProc">
<summary>
Callback delegate for a custom file system, to close a given file and free its memory.
</summary>
<param name="fileIO">Pointer to an AiFileIO instance.</param>
<param name="file">Pointer to an AiFile instance that will be closed.</param>
</member>
<member name="T:Assimp.Unmanaged.AiMeshColorArray">
<summary>
Fixed length array for representing the color channels of a mesh. Length is equal
to <see cref="F:Assimp.Unmanaged.AiDefines.AI_MAX_NUMBER_OF_COLOR_SETS"/>.
</summary>
</member>
<member name="P:Assimp.Unmanaged.AiMeshColorArray.Length">
<summary>
Gets the length of the array.
</summary>
</member>
<member name="P:Assimp.Unmanaged.AiMeshColorArray.Item(System.Int32)">
<summary>
Gets or sets an array value at the specified index.
</summary>
<param name="index">Zero-based index.</param>
</member>
<member name="T:Assimp.Unmanaged.AiMeshTextureCoordinateArray">
<summary>
Fixed length array for representing the texture coordinate channels of a mesh. Length is equal
to <see cref="F:Assimp.Unmanaged.AiDefines.AI_MAX_NUMBER_OF_TEXTURECOORDS"/>.
</summary>
</member>
<member name="P:Assimp.Unmanaged.AiMeshTextureCoordinateArray.Length">
<summary>
Gets the length of the array.
</summary>
</member>
<member name="P:Assimp.Unmanaged.AiMeshTextureCoordinateArray.Item(System.Int32)">
<summary>
Gets or sets an array value at the specified index.
</summary>
<param name="index">Zero-based index.</param>
</member>
<member name="T:Assimp.Unmanaged.AiMeshUVComponentArray">
<summary>
Fixed length array for representing the number of UV components for each texture coordinate channel of a mesh. Length is equal
to <see cref="F:Assimp.Unmanaged.AiDefines.AI_MAX_NUMBER_OF_TEXTURECOORDS"/>.
</summary>
</member>
<member name="P:Assimp.Unmanaged.AiMeshUVComponentArray.Length">
<summary>
Gets the length of the array.
</summary>
</member>
<member name="P:Assimp.Unmanaged.AiMeshUVComponentArray.Item(System.Int32)">
<summary>
Gets or sets an array value at the specified index.
</summary>
<param name="index">Zero-based index.</param>
</member>
<member name="T:Assimp.UVTransform">
<summary>
Defines how an UV channel is transformed.
</summary>
</member>
<member name="F:Assimp.UVTransform.Translation">
<summary>
Translation on the U and V axes. Default is 0|0
</summary>
</member>
<member name="F:Assimp.UVTransform.Scaling">
<summary>
Scaling on the U and V axes. Default is 1|1.
</summary>
</member>
<member name="F:Assimp.UVTransform.Rotation">
<summary>
Rotation in counter-clockwise direction, specfied in
radians. The rotation center is 0.5f|0.5f and the
default value is zero.
</summary>
</member>
<member name="T:Assimp.Vector2D">
<summary>
Represents a two-dimensional vector.
</summary>
</member>
<member name="F:Assimp.Vector2D.X">
<summary>
X component.
</summary>
</member>
<member name="F:Assimp.Vector2D.Y">
<summary>
Y component
</summary>
</member>
<member name="P:Assimp.Vector2D.Item(System.Int32)">
<summary>
Gets or sets the component value at the specified zero-based index
in the order of XY (index 0 access X, 1 access Y. If
the index is not in range, a value of zero is returned.
</summary>
<param name="index">Zero-based index.</param>
<returns>The component value</returns>
</member>
<member name="M:Assimp.Vector2D.#ctor(System.Single,System.Single)">
<summary>
Constructs a new Vector2D.
</summary>
<param name="x">X component</param>
<param name="y">Y component</param>
</member>
<member name="M:Assimp.Vector2D.#ctor(System.Single)">
<summary>
Constructs a new Vector2D with both components
set the same value.
</summary>
<param name="value">Value to set both X and Y to</param>
</member>
<member name="M:Assimp.Vector2D.Set(System.Single,System.Single)">
<summary>
Sets the X and Y values.
</summary>
<param name="x">X component</param>
<param name="y">Y component</param>
</member>
<member name="M:Assimp.Vector2D.Length">
<summary>
Calculates the length of the vector.
</summary>
<returns>Vector's length</returns>
</member>
<member name="M:Assimp.Vector2D.LengthSquared">
<summary>
Calculates the length of the vector squared.
</summary>
<returns>Vector's length squared</returns>
</member>
<member name="M:Assimp.Vector2D.Normalize">
<summary>
Normalizes the vector where all components add to one (Unit Vector), but preserves
the direction that the vector represents.
</summary>
</member>
<member name="M:Assimp.Vector2D.Negate">
<summary>
Negates the vector.
</summary>
</member>
<member name="M:Assimp.Vector2D.op_Addition(Assimp.Vector2D,Assimp.Vector2D)">
<summary>
Adds two vectors together.
</summary>
<param name="a">First vector</param>
<param name="b">Second vector</param>
<returns>Added vector</returns>
</member>
<member name="M:Assimp.Vector2D.op_Subtraction(Assimp.Vector2D,Assimp.Vector2D)">
<summary>
Subtracts the second vector from the first vector.
</summary>
<param name="a">First vector</param>
<param name="b">Second vector</param>
<returns>Resulting vector</returns>
</member>
<member name="M:Assimp.Vector2D.op_Multiply(Assimp.Vector2D,Assimp.Vector2D)">
<summary>
Multiplies two vectors together.
</summary>
<param name="a">First vector</param>
<param name="b">Second vector</param>
<returns>Multiplied vector</returns>
</member>
<member name="M:Assimp.Vector2D.op_Multiply(Assimp.Vector2D,System.Single)">
<summary>
Multiplies a vector by a scalar.
</summary>
<param name="value">Source vector</param>
<param name="scale">Scalar value</param>
<returns>Scaled vector</returns>
</member>
<member name="M:Assimp.Vector2D.op_Multiply(System.Single,Assimp.Vector2D)">
<summary>
Multiplies a vector by a scalar.
</summary>
<param name="scale">Scalar value</param>
<param name="value">Source vector</param>
<returns>Scaled vector</returns>
</member>
<member name="M:Assimp.Vector2D.op_Division(Assimp.Vector2D,Assimp.Vector2D)">
<summary>
Divides the first vector by the second vector.
</summary>
<param name="a">First vector</param>
<param name="b">Second vector</param>
<returns>Divided vector</returns>
</member>
<member name="M:Assimp.Vector2D.op_Division(Assimp.Vector2D,System.Single)">
<summary>
Divides the vector by a divisor value.
</summary>
<param name="value">Source vector</param>
<param name="divisor">Divisor</param>
<returns>Divided vector</returns>
</member>
<member name="M:Assimp.Vector2D.op_UnaryNegation(Assimp.Vector2D)">
<summary>
Negates the vector.
</summary>
<param name="value">Source vector</param>
<returns>Negated vector</returns>
</member>
<member name="M:Assimp.Vector2D.op_Equality(Assimp.Vector2D,Assimp.Vector2D)">
<summary>
Tests equality between two vectors.
</summary>
<param name="a">First vector</param>
<param name="b">Second vector</param>
<returns>True if the vectors are equal, false otherwise</returns>
</member>
<member name="M:Assimp.Vector2D.op_Inequality(Assimp.Vector2D,Assimp.Vector2D)">
<summary>
Tests inequality between two vectors.
</summary>
<param name="a">First vector</param>
<param name="b">Second vector</param>
<returns>True if the vectors are not equal, false otherwise</returns>
</member>
<member name="M:Assimp.Vector2D.Equals(Assimp.Vector2D)">
<summary>
Tests equality between this vector and another vector.
</summary>
<param name="other">Vector to test against</param>
<returns>True if components are equal</returns>
</member>
<member name="M:Assimp.Vector2D.Equals(System.Object)">
<summary>
Tests equality between this vector and another object.
</summary>
<param name="obj">Object to test against</param>
<returns>True if the object is a vector and the components are equal</returns>
</member>
<member name="M:Assimp.Vector2D.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
</returns>
</member>
<member name="M:Assimp.Vector2D.ToString">
<summary>
Returns a <see cref="T:System.String"/> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String"/> that represents this instance.
</returns>
</member>
<member name="T:Assimp.Vector3D">
<summary>
Represents a three-dimensional vector.
</summary>
</member>
<member name="F:Assimp.Vector3D.X">
<summary>
X component.
</summary>
</member>
<member name="F:Assimp.Vector3D.Y">
<summary>
Y component.
</summary>
</member>
<member name="F:Assimp.Vector3D.Z">
<summary>
Z component.
</summary>
</member>
<member name="P:Assimp.Vector3D.Item(System.Int32)">
<summary>
Gets or sets the component value at the specified zero-based index
in the order of XYZ (index 0 access X, 1 access Y, etc). If
the index is not in range, a value of zero is returned.
</summary>
<param name="index">Zero-based index.</param>
<returns>The component value</returns>
</member>
<member name="M:Assimp.Vector3D.#ctor(System.Single,System.Single,System.Single)">
<summary>
Constructs a new Vector3D.
</summary>
<param name="x">X component</param>
<param name="y">Y component</param>
<param name="z">Z component</param>
</member>
<member name="M:Assimp.Vector3D.#ctor(Assimp.Vector2D,System.Single)">
<summary>
Constructs a new Vector3D.
</summary>
<param name="value">Vector2D containing the X, Y values</param>
<param name="z">Z component</param>
</member>
<member name="M:Assimp.Vector3D.#ctor(System.Single)">
<summary>
Constructs a new Vector3D where each component is set
to the same value.
</summary>
<param name="value">Value to set X, Y, and Z to</param>
</member>
<member name="M:Assimp.Vector3D.Set(System.Single,System.Single,System.Single)">
<summary>
Sets the X, Y, and Z values.
</summary>
<param name="x">X component</param>
<param name="y">Y component</param>
<param name="z">Z component</param>
</member>
<member name="M:Assimp.Vector3D.Length">
<summary>
Calculates the length of the vector.
</summary>
<returns>Vector's length</returns>
</member>
<member name="M:Assimp.Vector3D.LengthSquared">
<summary>
Calculates the length of the vector squared.
</summary>
<returns>Vector's length squared</returns>
</member>
<member name="M:Assimp.Vector3D.Normalize">
<summary>
Normalizes the vector where all components add to one (Unit Vector), but preserves
the direction that the vector represents.
</summary>
</member>
<member name="M:Assimp.Vector3D.Negate">
<summary>
Negates the vector.
</summary>
</member>
<member name="M:Assimp.Vector3D.Cross(Assimp.Vector3D,Assimp.Vector3D)">
<summary>
Calculates the cross product of two vectors.
</summary>
<param name="a">First vector</param>
<param name="b">Second vector</param>
<returns>Resulting vector</returns>
</member>
<member name="M:Assimp.Vector3D.Dot(Assimp.Vector3D,Assimp.Vector3D)">
<summary>
Calculates the dot product of two vectors.
</summary>
<param name="a">First vector</param>
<param name="b">Second vector</param>
<returns>Resulting vector</returns>
</member>
<member name="M:Assimp.Vector3D.op_Addition(Assimp.Vector3D,Assimp.Vector3D)">
<summary>
Adds two vectors together.
</summary>
<param name="a">First vector</param>
<param name="b">Second vector</param>
<returns>Added vector</returns>
</member>
<member name="M:Assimp.Vector3D.op_Subtraction(Assimp.Vector3D,Assimp.Vector3D)">
<summary>
Subtracts the second vector from the first vector.
</summary>
<param name="a">First vector</param>
<param name="b">Second vector</param>
<returns>Resulting vector</returns>
</member>
<member name="M:Assimp.Vector3D.op_Multiply(Assimp.Vector3D,Assimp.Vector3D)">
<summary>
Multiplies two vectors together.
</summary>
<param name="a">First vector</param>
<param name="b">Second vector</param>
<returns>Multiplied vector</returns>
</member>
<member name="M:Assimp.Vector3D.op_Multiply(Assimp.Vector3D,System.Single)">
<summary>
Multiplies a vector by a scalar.
</summary>
<param name="value">Source vector</param>
<param name="scale">Scalar value</param>
<returns>Scaled vector</returns>
</member>
<member name="M:Assimp.Vector3D.op_Multiply(System.Single,Assimp.Vector3D)">
<summary>
Multiplies a vector by a scalar.
</summary>
<param name="scale">Scalar value</param>
<param name="value">Source vector</param>
<returns>Scaled vector</returns>
</member>
<member name="M:Assimp.Vector3D.op_Multiply(Assimp.Matrix3x3,Assimp.Vector3D)">
<summary>
Transforms this vector by a 3x3 matrix. This "post-multiplies" the two.
</summary>
<param name="matrix">Source matrix</param>
<param name="vector">Source vector</param>
<returns>Transformed vector</returns>
</member>
<member name="M:Assimp.Vector3D.op_Multiply(Assimp.Matrix4x4,Assimp.Vector3D)">
<summary>
Transforms this vector by a 4x4 matrix. This "post-multiplies" the two.
</summary>
<param name="matrix">Source matrix</param>
<param name="vector">Source vector</param>
<returns>Transformed vector</returns>
</member>
<member name="M:Assimp.Vector3D.op_Division(Assimp.Vector3D,Assimp.Vector3D)">
<summary>
Divides the first vector by the second vector.
</summary>
<param name="a">First vector</param>
<param name="b">Second vector</param>
<returns>Divided vector</returns>
</member>
<member name="M:Assimp.Vector3D.op_Division(Assimp.Vector3D,System.Single)">
<summary>
Divides the vector by a divisor value.
</summary>
<param name="value">Source vector</param>
<param name="divisor">Divisor</param>
<returns>Divided vector</returns>
</member>
<member name="M:Assimp.Vector3D.op_UnaryNegation(Assimp.Vector3D)">
<summary>
Negates the vector.
</summary>
<param name="value">Source vector</param>
<returns>Negated vector</returns>
</member>
<member name="M:Assimp.Vector3D.op_Equality(Assimp.Vector3D,Assimp.Vector3D)">
<summary>
Tests equality between two vectors.
</summary>
<param name="a">First vector</param>
<param name="b">Second vector</param>
<returns>True if the vectors are equal, false otherwise</returns>
</member>
<member name="M:Assimp.Vector3D.op_Inequality(Assimp.Vector3D,Assimp.Vector3D)">
<summary>
Tests inequality between two vectors.
</summary>
<param name="a">First vector</param>
<param name="b">Second vector</param>
<returns>True if the vectors are not equal, false otherwise</returns>
</member>
<member name="M:Assimp.Vector3D.Equals(Assimp.Vector3D)">
<summary>
Tests equality between this vector and another vector.
</summary>
<param name="other">Vector to test against</param>
<returns>True if components are equal</returns>
</member>
<member name="M:Assimp.Vector3D.Equals(System.Object)">
<summary>
Tests equality between this vector and another object.
</summary>
<param name="obj">Object to test against</param>
<returns>True if the object is a vector and the components are equal</returns>
</member>
<member name="M:Assimp.Vector3D.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
</returns>
</member>
<member name="M:Assimp.Vector3D.ToString">
<summary>
Returns a <see cref="T:System.String"/> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String"/> that represents this instance.
</returns>
</member>
<member name="T:Assimp.VectorKey">
<summary>
Time-value pair specifying a 3D vector for a given time.
</summary>
</member>
<member name="F:Assimp.VectorKey.Time">
<summary>
The time of this key.
</summary>
</member>
<member name="F:Assimp.VectorKey.Value">
<summary>
The 3D vector value of this key.
</summary>
</member>
<member name="M:Assimp.VectorKey.#ctor(System.Double,Assimp.Vector3D)">
<summary>
Constructs a new VectorKey.
</summary>
<param name="time">The time of this key.</param>
<param name="vector">The 3D vector value of this key.</param>
</member>
<member name="M:Assimp.VectorKey.op_Equality(Assimp.VectorKey,Assimp.VectorKey)">
<summary>
Tests equality between two keys.
</summary>
<param name="a">The first key</param>
<param name="b">The second key</param>
<returns>True if the key's 3D vectors are the same, false otherwise.</returns>
</member>
<member name="M:Assimp.VectorKey.op_Inequality(Assimp.VectorKey,Assimp.VectorKey)">
<summary>
Tests inequality between two keys.
</summary>
<param name="a">The first key</param>
<param name="b">The second key</param>
<returns>True if the key's 3D vectors are not the same, false otherwise.</returns>
</member>
<member name="M:Assimp.VectorKey.op_LessThan(Assimp.VectorKey,Assimp.VectorKey)">
<summary>
Tests inequality between two keys.
</summary>
<param name="a">The first key</param>
<param name="b">The second key</param>
<returns>True if the first key's time is less than the second key's.</returns>
</member>
<member name="M:Assimp.VectorKey.op_GreaterThan(Assimp.VectorKey,Assimp.VectorKey)">
<summary>
Tests inequality between two keys.
</summary>
<param name="a">The first key</param>
<param name="b">The second key</param>
<returns>True if the first key's time is greater than the second key's.</returns>
</member>
<member name="M:Assimp.VectorKey.Equals(System.Object)">
<summary>
Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
</summary>
<param name="obj">The <see cref="T:System.Object"/> to compare with this instance.</param>
<returns>
<c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
</returns>
</member>
<member name="M:Assimp.VectorKey.Equals(Assimp.VectorKey)">
<summary>
Tests equality between this key and another.
</summary>
<param name="key">Other key to test</param>
<returns>True if their 3D vectors are equal.</returns>
</member>
<member name="M:Assimp.VectorKey.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
</returns>
</member>
<member name="M:Assimp.VectorKey.ToString">
<summary>
Returns a <see cref="T:System.String"/> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String"/> that represents this instance.
</returns>
</member>
<member name="T:Assimp.VertexWeight">
<summary>
Represents a single influence of a bone on a vertex.
</summary>
</member>
<member name="F:Assimp.VertexWeight.VertexID">
<summary>
Index of the vertex which is influenced by the bone.
</summary>
</member>
<member name="F:Assimp.VertexWeight.Weight">
<summary>
Strength of the influence in range of (0...1). All influences
from all bones at one vertex amounts to 1.
</summary>
</member>
<member name="M:Assimp.VertexWeight.#ctor(System.Int32,System.Single)">
<summary>
Constructs a new VertexWeight.
</summary>
<param name="vertID">Index of the vertex.</param>
<param name="weight">Weight of the influence.</param>
</member>
<member name="M:Assimp.VertexWeight.ToString">
<summary>
Returns a <see cref="T:System.String"/> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String"/> that represents this instance.
</returns>
</member>
<member name="T:Assimp.MemoryInterop">
<summary>
Internal stub type used by MemoryInterop.ILPatcher to inject fast-interop code. Depending on the type of method, the IL injection is either inline (replacing the call) or
replaces the entire method body. Recommended types to use are generally blittable structs.
</summary>
</member>
<member name="M:Assimp.MemoryInterop.As``2(``0@)">
<summary>
Casts the by-ref value from one type to another.
</summary>
<typeparam name="TFrom">Type to cast from.</typeparam>
<typeparam name="TTo">Type to cast to.</typeparam>
<param name="source">By-ref value.</param>
<returns>Ref to the value, as the new type.</returns>
</member>
<member name="M:Assimp.MemoryInterop.AsReadonly``2(``0@)">
<summary>
Casts the readonly by-ref value from one type to another.
</summary>
<typeparam name="TFrom">Type to cast from.</typeparam>
<typeparam name="TTo">Type to cast to.</typeparam>
<param name="source">By-ref value.</param>
<returns>Ref to the value, as the new type.</returns>
</member>
<member name="M:Assimp.MemoryInterop.AsRef``1(System.IntPtr)">
<summary>
Casts the pointer to a by-ref value of the specified type.
</summary>
<typeparam name="T">Type to cast to.</typeparam>
<param name="pSrc">Pointer.</param>
<returns>Ref to the value, as the new type.</returns>
</member>
<member name="M:Assimp.MemoryInterop.WriteArray``1(System.IntPtr,``0[],System.Int32,System.Int32)">
<summary>
Write data from the managed array to the memory location. This will temporarily pin the array and do a memcpy.
</summary>
<typeparam name="T">Type of data.</typeparam>
<param name="pDest">Pointer to memory location to receive the data.</param>
<param name="data">Array containing data to write.</param>
<param name="startIndex">Zero-based index to start reading data from the array.</param>
<param name="count">Number of elements to copy.</param>
</member>
<member name="M:Assimp.MemoryInterop.WriteArrayUnaligned``1(System.IntPtr,``0[],System.Int32,System.Int32)">
<summary>
Write data from the managed array to the memory location. This will temporarily pin the array and do an unaligned memcpy.
</summary>
<typeparam name="T">Type of data.</typeparam>
<param name="pDest">Pointer to memory location to write the data.</param>
<param name="data">Array containing data to write.</param>
<param name="startIndex">Zero-based index to start reading data from the array.</param>
<param name="count">Number of elements to copy.</param>
</member>
<member name="M:Assimp.MemoryInterop.ReadArray``1(System.IntPtr,``0[],System.Int32,System.Int32)">
<summary>
Read data from the memory location to the managed array. This will temporarily pin the array and do a memcpy.
</summary>
<typeparam name="T">Type of data.</typeparam>
<param name="pSrc">Pointer to memory location to read the data.</param>
<param name="data">Array to store the copied data.</param>
<param name="startIndex">Zero-based index to start writing data to in the array.</param>
<param name="count">Number of elements to copy.</param>
</member>
<member name="M:Assimp.MemoryInterop.ReadArrayUnaligned``1(System.IntPtr,``0[],System.Int32,System.Int32)">
<summary>
Read data from the memory location to the managed array. This will temporarily pin the array and do an unaligned memcpy.
</summary>
<typeparam name="T">Type of data.</typeparam>
<param name="pSrc">Pointer to memory location to read the data.</param>
<param name="data">Array to store the copied data.</param>
<param name="startIndex">Zero-based index to start writing data to in the array.</param>
<param name="count">Number of elements to copy.</param>
</member>
<member name="M:Assimp.MemoryInterop.SizeOfInline``1">
<summary>
Computes the size of the type (inlined).
</summary>
<typeparam name="T">Type of data.</typeparam>
<returns>Size of the type in bytes.</returns>
</member>
<member name="M:Assimp.MemoryInterop.AsPointerInline``1(``0@)">
<summary>
Casts the by-ref value to a pointer (inlined). Note: This does not do any sort of pinning.
</summary>
<typeparam name="T">Type of data.</typeparam>
<param name="src">Ref to a value.</param>
<returns>Pointer to the memory location.</returns>
</member>
<member name="M:Assimp.MemoryInterop.AsPointerReadonlyInline``1(``0@)">
<summary>
Casts the readonly by-ref value to a pointer (inlined). Note: This does not do any sort of pinning.
</summary>
<typeparam name="T">Type of data.</typeparam>
<param name="src">Ref to a value.</param>
<returns>Pointer to the memory location.</returns>
</member>
<member name="M:Assimp.MemoryInterop.WriteInline``1(System.Void*,``0@)">
<summary>
Writes a single element to the memory location (inlined).
</summary>
<typeparam name="T">Type of data.</typeparam>
<param name="pDst">Pointer to memory location.</param>
<param name="src">Value to be written.</param>
</member>
<member name="M:Assimp.MemoryInterop.WriteUnalignedInline``1(System.Void*,``0@)">
<summary>
Writes a single element to the memory location (inlined, unaligned copy).
</summary>
<typeparam name="T">Type of data.</typeparam>
<param name="pDst">Pointer to memory location.</param>
<param name="src">Value to be written.</param>
</member>
<member name="M:Assimp.MemoryInterop.ReadInline``1(System.Void*)">
<summary>
Reads a single element from the memory location (inlined).
</summary>
<typeparam name="T">Type of data.</typeparam>
<param name="pSrc">Pointer to memory location.</param>
<returns>Value read.</returns>
</member>
<member name="M:Assimp.MemoryInterop.ReadUnalignedInline``1(System.Void*)">
<summary>
Reads a single element from the memory location (inlined, unaligned copy).
</summary>
<typeparam name="T">Type of data.</typeparam>
<param name="pSrc">Pointer to memory location.</param>
<returns>Value read.</returns>
</member>
<member name="M:Assimp.MemoryInterop.MemCopyInline(System.Void*,System.Void*,System.UInt32)">
<summary>
Copies the number of bytes from one pointer to the other (inlined).
</summary>
<param name="pDest">Pointer to the destination memory location.</param>
<param name="pSrc">Pointer to the source memory location</param>
<param name="byteCount">Number of bytes to copy</param>
</member>
<member name="M:Assimp.MemoryInterop.MemCopyUnalignedInline(System.Void*,System.Void*,System.UInt32)">
<summary>
Copies the number of bytes from one pointer to the other (inlined, unaligned copy).
</summary>
<param name="pDest">Pointer to the destination memory location.</param>
<param name="pSrc">Pointer to the source memory location</param>
<param name="byteCount">Number of bytes to copy</param>
</member>
<member name="M:Assimp.MemoryInterop.MemSetInline(System.Void*,System.Byte,System.UInt32)">
<summary>
Clears the memory to a specified value (inlined).
</summary>
<param name="ptr">Pointer to the memory location.</param>
<param name="clearValue">Value the memory will be cleared to.</param>
<param name="byteCount">Number of bytes to to set.</param>
</member>
<member name="M:Assimp.MemoryInterop.MemSetUnalignedInline(System.Void*,System.Byte,System.UInt32)">
<summary>
Clears the memory to a specified value (inlined, unaligned init).
</summary>
<param name="ptr">Pointer to the memory location.</param>
<param name="clearValue">Value the memory will be cleared to.</param>
<param name="byteCount">Number of bytes to to set.</param>
</member>
</members>
</doc>