Click or drag to resize

AssimpLibrary Class

Singleton that governs access to the unmanaged Assimp library functions.
Inheritance Hierarchy
SystemObject
  Internal.Assimp.UnmanagedUnmanagedLibrary
    Internal.Assimp.UnmanagedAssimpLibrary

Namespace: Internal.Assimp.Unmanaged
Assembly: NeoAxis.Core (in NeoAxis.Core.dll) Version: 2026.2.1.0 (2026.2.1.0)
Syntax
C#
public sealed class AssimpLibrary : UnmanagedLibrary

The AssimpLibrary type exposes the following members.

Properties
 NameDescription
Public propertyDefaultLibraryName 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 UnmanagedLibraryResolver (e.g. to load versioned DLLs)
(Inherited from UnmanagedLibrary)
Public propertyStatic memberInstance Gets the AssimpLibrary instance.
Public propertyIsLibraryLoaded Queries if the unmanaged library has been loaded or not.
(Inherited from UnmanagedLibrary)
Public propertyIsMultithreadingSupported 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.
Public propertyLibraryPath Gets the path to the unmanaged library DLL that is currently loaded.
(Inherited from UnmanagedLibrary)
Public propertyResolver Gets the resolver used to find the unmanaged library DLL when loading.
(Inherited from UnmanagedLibrary)
Public propertyThrowOnLoadFailure Gets or sets whether an AssimpException is thrown if the unmanaged DLL fails to load for whatever reason. By default this is true.
(Inherited from UnmanagedLibrary)
Top
Methods
 NameDescription
Public methodApplyPostProcessing Applies a post-processing step on an already imported scene.
Public methodAttachLogStream Attaches a log stream callback to catch Assimp messages.
Public methodCopyScene 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.
Public methodCreatePropertyStore Create an empty property store. Property stores are used to collect import settings.
Public methodDetachAllLogStreams Detaches all logstream callbacks currently attached to Assimp.
Public methodDetachLogStream Detaches a logstream callback.
Public methodEnableVerboseLogging Enables verbose logging.
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodExportScene(IntPtr, String, String, PostProcessSteps) Exports the given scene to a chosen file format and writes the result file(s) to disk.
Public methodExportScene(IntPtr, String, String, IntPtr, PostProcessSteps) Exports the given scene to a chosen file format and writes the result file(s) to disk.
Public methodExportSceneToBlob 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.
Public methodFreeLibrary Frees the unmanaged library that is currently loaded.
(Inherited from UnmanagedLibrary)
Public methodGetBranchName Returns the branchname of the Assimp runtime.
Public methodGetCompileFlags Get the compilation flags that describe how the native Assimp DLL was compiled.
Public methodGetEmbeddedTexture Gets an embedded texture.
Public methodGetErrorString Gets the last error logged in Assimp.
Public methodGetExportFormatDescriptions Gets all supported export formats.
Public methodGetExtensionList Gets all the model format extensions that are currently supported by Assimp.
Public methodGetFunctionT Gets a delegate based on the unmanaged function name.
(Inherited from UnmanagedLibrary)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetImporterDescriptions Gets a collection of importer descriptions that detail metadata and feature support for each importer.
Public methodGetLegalString Gets the Assimp legal info.
Public methodGetMaterialColor Retrieves a color value from the material property table.
Public methodGetMaterialFloatArray Retrieves an array of float values with the specific key from the material.
Public methodGetMaterialIntegerArray Retrieves an array of integer values with the specific key from the material.
Public methodGetMaterialProperty Retrieves a material property with the specific key from the material.
Public methodGetMaterialString Retrieves a string from the material property table.
Public methodGetMaterialTexture Gets all values pertaining to a particular texture from a material.
Public methodGetMaterialTextureCount Gets the number of textures contained in the material for a particular texture type.
Public methodGetMaterialTextureFilePath Gets the texture filepath contained in the material.
Public methodGetMemoryRequirements Gets the memory requirements of the scene.
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodGetVerboseLoggingEnabled Gets if verbose logging is enabled.
Public methodGetVersion 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.
Public methodGetVersionAsVersion Gets the native Assimp DLL's current version number as a .NET version object.
Public methodGetVersionMajor Gets the native Assimp DLL's major version number.
Public methodGetVersionMinor Gets the native Assimp DLL's minor version number.
Public methodGetVersionRevision Gets the native Assimp DLL's revision version number.
Public methodImportFile(String, PostProcessSteps, IntPtr) Imports a file.
Public methodImportFile(String, PostProcessSteps, IntPtr, IntPtr) Imports a file.
Public methodImportFileFromStream 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.
Public methodIsExtensionSupported Checks whether the model format extension is supported by Assimp.
Public methodLoadLibrary Loads the unmanaged library using the UnmanagedLibraryResolver.
(Inherited from UnmanagedLibrary)
Public methodLoadLibrary(String) Loads the unmanaged library using the supplied path.
(Inherited from UnmanagedLibrary)
Public methodLoadLibrary(String, String) Loads the unmanaged library using the supplied 32 and 64 bit paths, the one chosen is based on the OS bitness.
(Inherited from UnmanagedLibrary)
Public methodReleaseImport 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!
Public methodReleasePropertyStore Deletes a property store.
Public methodSetImportPropertyFloat Sets a float property value.
Public methodSetImportPropertyInteger Sets an integer property value.
Public methodSetImportPropertyMatrix Sets a matrix property value.
Public methodSetImportPropertyString Sets a string property value.
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Events
 NameDescription
Public eventLibraryFreed Occurs when the unmanaged library is freed.
(Inherited from UnmanagedLibrary)
Public eventLibraryLoaded Occurs when the unmanaged library is loaded.
(Inherited from UnmanagedLibrary)
Top
Extension Methods
 NameDescription
Public Extension MethodMethodInvoke Calls the object method by name.
(Defined by ObjectEx)
Public Extension MethodPropertyGet Gets the value of the object property by name.
(Defined by ObjectEx)
Public Extension MethodPropertyGetT Gets the value of the object property by name.
(Defined by ObjectEx)
Public Extension MethodPropertySet Sets the value of the object property by name.
(Defined by ObjectEx)
Top
See Also