示例#1
0
 internal void SetOwnerStorage(MemStorage storage)
 {
     owner = storage;
 }
示例#2
0
 /// <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);
 }
示例#3
0
 /// <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)
 {
 }
示例#4
0
 /// <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)
 {
 }
示例#5
0
 /// <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));
 }
示例#6
0
 /// <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)
 {
 }
示例#7
0
 internal Seq(MemStorage storage)
     : base(true)
 {
     owner = storage;
 }
示例#8
0
 /// <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);
 }