/// <summary> /// Creates and loads a NX file from a path. /// </summary> /// <param name="path"> The path where the NX file is located. </param> /// <param name="flag"> NX parsing flags. </param> public NXFile(string path, NXReadSelection flag = NXReadSelection.None) { FilePath = path; _flags = flag; _start = (_pointerWrapper = new MemoryMappedFile(path)).Pointer; Parse(); }
/// <summary> /// Creates and loads a NX file from a byte array. /// </summary> /// <param name="input"> The byte array containing the NX file. </param> /// <param name="flag"> NX parsing flags. </param> public NXFile(byte[] input, NXReadSelection flag = NXReadSelection.None) { FilePath = "-- from memory --"; _flags = flag; _start = (_pointerWrapper = new ByteArrayPointer(input)).Pointer; Parse(); }
/// <summary> /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. /// </summary> public void Dispose() { if (_pointerWrapper != null) { _pointerWrapper.Dispose(); } _pointerWrapper = null; _nodes = null; _strings = null; GC.SuppressFinalize(this); }
/// <summary> /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. /// </summary> public void Dispose() { _disposed = true; if (_pointerWrapper != null) { _pointerWrapper.Dispose(); } _pointerWrapper = null; _baseNode = null; _strings = null; GC.SuppressFinalize(this); }
/// <summary> /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. /// </summary> public void Dispose() { if (_pointerWrapper != null) { _pointerWrapper.Dispose(); } if (_nodes != null) { foreach (var node in _nodes) { node?.Unload(true); } } _pointerWrapper = null; _nodes = null; _strings = null; GC.SuppressFinalize(this); }