internal void SetOwnerStorage(MemStorage storage) { owner = storage; }
/// <summary> /// Executes the code required to free the native <see cref="Seq"/> handle. /// </summary> /// <returns> /// <b>true</b> if the handle is released successfully; otherwise, in the event of a /// catastrophic failure, <b>false</b>. /// </returns> protected override bool ReleaseHandle() { SetHandleAsInvalid(); owner = null; return(true); }
/// <summary> /// Initializes a new instance of the <see cref="Seq"/> class with the specified /// common element type and sequence <paramref name="kind"/>. /// Memory for the sequence will be allocated from the provided <paramref name="storage"/>. /// </summary> /// <param name="elementType">The type of elements in the sequence.</param> /// <param name="kind">The kind of sequence to create.</param> /// <param name="storage">The memory storage used to grow the sequence.</param> public Seq(SequenceElementType elementType, SequenceKind kind, MemStorage storage) : this((int)elementType, kind, SequenceFlags.Simple, storage) { }
/// <summary> /// Initializes a new instance of the <see cref="Seq"/> class with the specified /// element bit <paramref name="depth"/>, <paramref name="channels"/> per element, /// sequence <paramref name="kind"/> and operational <paramref name="flags"/>. /// Memory for the sequence will be allocated from the provided <paramref name="storage"/>. /// </summary> /// <param name="depth">The bit depth of sequence elements.</param> /// <param name="channels">The number of channels per sequence element.</param> /// <param name="kind">The kind of sequence to create.</param> /// <param name="flags">The operational flags for the sequence.</param> /// <param name="storage">The memory storage used to grow the sequence.</param> public Seq(Depth depth, int channels, SequenceKind kind, SequenceFlags flags, MemStorage storage) : this(MatHelper.GetMatType(depth, channels), kind, flags, storage) { }
/// <summary> /// Creates a copy of the sequence. /// </summary> /// <param name="storage"> /// The destination <see cref="MemStorage"/> instance on which to store the new sequence. /// If <paramref name="storage"/> is <b>null</b>, the same memory storage of this sequence is used. /// </param> /// <returns>A new <see cref="Seq"/> instance that is a copy of this sequence.</returns> public Seq Clone(MemStorage storage = null) { return(Slice(SeqSlice.WholeSeq, storage, true)); }
/// <summary> /// Initializes a new instance of the <see cref="Seq"/> class with the specified /// element bit <paramref name="depth"/> and <paramref name="channels"/> per element. /// Memory for the sequence will be allocated from the provided <paramref name="storage"/>. /// </summary> /// <param name="depth">The bit depth of sequence elements.</param> /// <param name="channels">The number of channels per sequence element.</param> /// <param name="storage">The memory storage used to grow the sequence.</param> public Seq(Depth depth, int channels, MemStorage storage) : this(MatHelper.GetMatType(depth, channels), SequenceKind.Generic, SequenceFlags.Simple, storage) { }
internal Seq(MemStorage storage) : base(true) { owner = storage; }
/// <summary> /// Executes the code required to free the native <see cref="FileStorage"/> handle. /// </summary> /// <returns> /// <b>true</b> if the handle is released successfully; otherwise, in the event of a /// catastrophic failure, <b>false</b>. /// </returns> protected override bool ReleaseHandle() { NativeMethods.cvReleaseFileStorage(ref handle); owner = null; return(true); }