vector_vector_KeyPoint_copy() private method

private vector_vector_KeyPoint_copy ( IntPtr vec, IntPtr dst ) : void
vec IntPtr
dst IntPtr
return void
コード例 #1
0
        /// <summary>
        /// Converts std::vector to managed array
        /// </summary>
        /// <returns></returns>
        public KeyPoint[][] ToArray()
        {
            int size1 = Size1;

            if (size1 == 0)
            {
                return(new KeyPoint[0][]);
            }
            long[] size2 = Size2;

            var ret = new KeyPoint[size1][];

            for (int i = 0; i < size1; i++)
            {
                ret[i] = new KeyPoint[size2[i]];
            }
            using (var retPtr = new ArrayAddress2 <KeyPoint>(ret))
            {
                NativeMethods.vector_vector_KeyPoint_copy(ptr, retPtr);
            }
            return(ret);
        }
コード例 #2
0
        /// <summary>
        /// Converts std::vector to managed array
        /// </summary>
        /// <returns></returns>
        public KeyPoint[][] ToArray()
        {
            var size1 = GetSize1();

            if (size1 == 0)
            {
                return(Array.Empty <KeyPoint[]>());
            }
            var size2 = GetSize2();

            var ret = new KeyPoint[size1][];

            for (var i = 0; i < size1; i++)
            {
                ret[i] = new KeyPoint[size2[i]];
            }
            using (var retPtr = new ArrayAddress2 <KeyPoint>(ret))
            {
                NativeMethods.vector_vector_KeyPoint_copy(ptr, retPtr.GetPointer());
                GC.KeepAlive(this);
            }
            return(ret);
        }