• Api Documentation
  • Source Code
Search Results for

    Show / Hide Table of Contents
    • SharpAssimp
      • Animation
      • AnimationBehaviour
      • AnimationInterpolation
      • AssimpContext
      • AssimpException
      • BlendMode
      • Bone
      • BoundingBox
      • Camera
      • CompileFlags
      • ConsoleLogStream
      • DefaultLogStream
      • EmbeddedTexture
      • ExcludeComponent
      • ExportDataBlob
      • ExportFormatDescription
      • Face
      • FileIOMode
      • FileIOSystem
      • FreeNativeDelegate
      • IMarshalable<Managed, Native>
      • INativeCustomMarshaler
      • IOStream
      • IOSystem
      • ImporterDescription
      • ImporterFeatureFlags
      • Light
      • LightSourceType
      • LogStream
      • LoggingCallback
      • Material
      • Material.PBRMaterialProperties
      • Material.ShaderMaterialProperties
      • MaterialProperty
      • Matrix3x3
      • MemoryHelper
      • Mesh
      • MeshAnimationAttachment
      • MeshAnimationChannel
      • MeshKey
      • MeshMorphAnimationChannel
      • MeshMorphKey
      • MeshMorphingMethod
      • MetaDataType
      • Metadata
      • Metadata.Entry
      • NativeCustomMarshalerAttribute
      • Node
      • NodeAnimationChannel
      • NodeCollection
      • Origin
      • PostProcessPreset
      • PostProcessSteps
      • PrimitiveType
      • PropertyType
      • QuaternionKey
      • Ray
      • ReturnCode
      • Scene
      • SceneFlags
      • ShadingMode
      • Texel
      • TextureFlags
      • TextureMapping
      • TextureOperation
      • TextureSlot
      • TextureType
      • TextureWrapMode
      • UVTransform
      • UVTransformFlags
      • VectorKey
      • VertexWeight
    • SharpAssimp.Configs
      • ACEvaluateSubdivisionConfig
      • ACSeparateBackfaceCullConfig
      • ASEReconstructNormalsConfig
      • AnimationAccuracyConfig
      • AppScaleConfig
      • BooleanPropertyConfig
      • ColladaIgnoreUpDirectionConfig
      • ColladaUseColladaNamesConfig
      • DeboneAllOrNoneConfig
      • DeboneThresholdConfig
      • ExportPointCloudsConfig
      • FBXConvertToMetersConfig
      • FBXImportAllGeometryLayersConfig
      • FBXImportAllMaterialsConfig
      • FBXImportAnimationsConfig
      • FBXImportCamerasConfig
      • FBXImportEmbeddedTexturesConfig
      • FBXImportEmbeddedTexturesLegacyNamingConfig
      • FBXImportLightsConfig
      • FBXImportMaterialsConfig
      • FBXOptimizeEmptyAnimationCurvesConfig
      • FBXPreservePivotsConfig
      • FBXStrictModeConfig
      • FavorSpeedConfig
      • FloatPropertyConfig
      • GlobalKeyFrameImportConfig
      • GlobalScaleConfig
      • IFCCylindricalTessellationConfig
      • IFCSkipSpaceRepresentationsConfig
      • IFCSmoothingAngleConfig
      • IFCUseCustomTriangulationConfig
      • IRRAnimationFrameRateConfig
      • IgnoreTextureCoordinatesConfig
      • IntegerPropertyConfig
      • KeepSceneHierarchyConfig
      • LWOImportOneLayerConfig
      • LWSAnimationEndConfig
      • LWSAnimationStartConfig
      • MD2KeyFrameImportConfig
      • MD3HandleMultiPartConfig
      • MD3KeyFrameImportConfig
      • MD3ShaderSourceConfig
      • MD3SkinNameConfig
      • MD5NoAnimationAutoLoadConfig
      • MDLColorMapConfig
      • MDLKeyFrameImportConfig
      • MaterialExcludeListConfig
      • MatrixPropertyConfig
      • MaxBoneCountConfig
      • MeasureTimeConfig
      • MeshTriangleLimitConfig
      • MeshVertexLimitConfig
      • MultithreadingConfig
      • NoSkeletonMeshesConfig
      • NodeExcludeListConfig
      • NormalSmoothingAngleConfig
      • NormalizeVertexComponentsConfig
      • OgreMaterialFileConfig
      • OgreTextureTypeFromFilenameConfig
      • PropertyConfig
      • RemoveComponentConfig
      • RemoveDegeneratePrimitivesCheckAreaConfig
      • RemoveDegeneratePrimitivesConfig
      • RemoveEmptyBonesConfig
      • RootTransformationConfig
      • SMDKeyFrameImportConfig
      • SmdLoadAnimationListConfig
      • SortByPrimitiveTypeConfig
      • StringPropertyConfig
      • TangentSmoothingAngleConfig
      • TangentTextureChannelIndexConfig
      • TerragenComputeTexCoordsConfig
      • TransformUVConfig
      • UnrealHandleFlagsConfig
      • UnrealKeyFrameImportConfig
      • VertexBoneWeightLimitConfig
      • VertexCacheSizeConfig
      • XFileUseDoublesConfig
    • SharpAssimp.Unmanaged
      • AiAnimMesh
      • AiAnimation
      • AiBone
      • AiCamera
      • AiConfigs
      • AiDefines
      • AiExportDataBlob
      • AiExportFormatDesc
      • AiFace
      • AiFile
      • AiFileCloseProc
      • AiFileFlushProc
      • AiFileIO
      • AiFileOpenProc
      • AiFileReadProc
      • AiFileSeek
      • AiFileTellProc
      • AiFileWriteProc
      • AiImporterDesc
      • AiLight
      • AiLogStream
      • AiLogStreamCallback
      • AiMatKeys
      • AiMaterial
      • AiMaterialProperty
      • AiMemoryInfo
      • AiMesh
      • AiMeshAnim
      • AiMeshColorArray
      • AiMeshMorphAnim
      • AiMeshMorphKey
      • AiMeshTextureCoordinateArray
      • AiMeshUVComponentArray
      • AiMetadata
      • AiMetadataEntry
      • AiNode
      • AiNodeAnim
      • AiScene
      • AiString
      • AiTexture
      • AssimpLibrary
      • Platform
      • UnmanagedFunctionNameAttribute
      • UnmanagedLibrary
      • UnmanagedLibraryResolver

    Class IOSystem

    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.

    Inheritance
    object
    IOSystem
    FileIOSystem
    Implements
    IDisposable
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: SharpAssimp
    Assembly: SharpAssimp.dll
    Syntax
    public abstract class IOSystem : IDisposable

    Constructors

    | Edit this page View Source

    IOSystem()

    Constructs a new IOSystem.

    Declaration
    public IOSystem()
    | Edit this page View Source

    IOSystem(bool)

    Constructs a new IOSystem.

    Declaration
    protected IOSystem(bool initialize = true)
    Parameters
    Type Name Description
    bool initialize

    True if initialize should be immediately called with the default callbacks. Set this to false if your subclass requires a different way to setup the function pointers.

    Properties

    | Edit this page View Source

    IsDisposed

    Gets whether or not this IOSystem has been disposed.

    Declaration
    public bool IsDisposed { get; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    OpenFileCount

    Gets the number of currently opened streams.

    Declaration
    public int OpenFileCount { get; }
    Property Value
    Type Description
    int

    Methods

    | Edit this page View Source

    CloseAllFiles()

    Closes all outstanding streams owned by this IOSystem.

    Declaration
    public virtual void CloseAllFiles()
    | Edit this page View Source

    CloseFile(IOStream)

    Closes a stream that is owned by this IOSystem.

    Declaration
    public virtual void CloseFile(IOStream stream)
    Parameters
    Type Name Description
    IOStream stream

    Stream to close

    | Edit this page View Source

    Dispose()

    Disposes of all resources held by this object.

    Declaration
    public void Dispose()
    | Edit this page View Source

    Dispose(bool)

    Releases unmanaged and - optionally - managed resources.

    Declaration
    protected virtual void Dispose(bool disposing)
    Parameters
    Type Name Description
    bool disposing

    True to release both managed and unmanaged resources; False to release only unmanaged resources.

    | Edit this page View Source

    ~IOSystem()

    Finalizes an instance of the IOSystem class.

    Declaration
    protected ~IOSystem()
    | Edit this page View Source

    Initialize(AiFileOpenProc, AiFileCloseProc, nint)

    Initializes the system by setting up native pointers for Assimp to the specified functions.

    Declaration
    protected void Initialize(AiFileOpenProc fileOpenProc, AiFileCloseProc fileCloseProc, nint userData = 0)
    Parameters
    Type Name Description
    AiFileOpenProc fileOpenProc

    Handles open file requests.

    AiFileCloseProc fileCloseProc

    Handles close file requests.

    nint userData

    Additional user data, if any.

    | Edit this page View Source

    OnAiFileCloseProc(nint, nint)

    Callback for Assimp that handles a file being closed.

    Declaration
    protected void OnAiFileCloseProc(nint fileIO, nint file)
    Parameters
    Type Name Description
    nint fileIO
    nint file
    | Edit this page View Source

    OnAiFileOpenProc(nint, string, string)

    Callback for Assimp that handles a file being opened.

    Declaration
    protected nint OnAiFileOpenProc(nint fileIO, string pathToFile, string mode)
    Parameters
    Type Name Description
    nint fileIO
    string pathToFile
    string mode
    Returns
    Type Description
    nint
    | Edit this page View Source

    OpenFile(string, FileIOMode)

    Opens a stream to a file.

    Declaration
    public abstract IOStream OpenFile(string pathToFile, FileIOMode fileMode)
    Parameters
    Type Name Description
    string pathToFile

    Path to the file

    FileIOMode fileMode

    Desired file access mode

    Returns
    Type Description
    IOStream

    The IO stream

    Implements

    IDisposable
    • Edit this page
    • View Source
    In this article
    Back to top Copyright (c) 2012-2020 Nicholas Woodfield, (c) 2024 Salvage, (c) 2025 Jérémy Ansel