Changeset 32941 for lang/cpluspluscli

Show
Ignore:
Timestamp:
04/29/09 17:27:14 (4 years ago)
Author:
schima
Message:

cvTreeToNodeSeq, cvInsertNodeIntoTree, cvRemoveNodeFromTree

Location:
lang/cpluspluscli/OpenCvSharp2/trunk
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/Src/Core/CvDll.cs

    r32876 r32941  
    900900        public static extern void cvTranspose(IntPtr src, IntPtr dst); 
    901901        [DllImport(DLL_CXCORE)] 
     902        public static extern IntPtr cvTreeToNodeSeq(IntPtr first, int header_size, CvMemStorage storage); 
     903        [DllImport(DLL_CXCORE)] 
    902904        public static extern int cvUseOptimized([MarshalAs(UnmanagedType.Bool)] bool on_off); 
    903905        [DllImport(DLL_CXCORE)] 
  • lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/Src/Core/Cv_H-Q.cs

    r32940 r32941  
    12241224        } 
    12251225        #endregion 
     1226        #region InsertNodeIntoTree 
     1227#if LANG_JP 
     1228        /// <summary> 
     1229        /// ツリーに新しいノードを追加する 
     1230        /// </summary> 
     1231        /// <typeparam name="T"></typeparam> 
     1232        /// <param name="node">挿入されるノード.</param> 
     1233        /// <param name="parent">ツリー内に既に存在している親ノード.</param> 
     1234        /// <param name="frame">トップレベルノード.parent と frame が同じである場合, nodeのv_prevフィールドには,parent ではなく,nullがセットされる.</param> 
     1235#else 
     1236        /// <summary> 
     1237        /// Adds new node to the tree 
     1238        /// </summary> 
     1239        /// <typeparam name="T"></typeparam> 
     1240        /// <param name="node">The inserted node. </param> 
     1241        /// <param name="parent">The parent node that is already in the tree. </param> 
     1242        /// <param name="frame">The top level node. If parent and frame are the same, v_prev  field of node is set to null rather than parent. </param> 
     1243#endif 
     1244        public static void InsertNodeIntoTree<T>(this CvTreeNode<T> node, CvTreeNode<T> parent, CvTreeNode<T> frame) 
     1245            where T : CvTreeNode<T> 
     1246        { 
     1247            if (node == null) 
     1248                throw new ArgumentNullException("node"); 
     1249            if (parent == null) 
     1250                throw new ArgumentNullException("parent"); 
     1251            if (frame == null) 
     1252                throw new ArgumentNullException("frame"); 
     1253            CvDll.cvInsertNodeIntoTree(node.CvPtr, parent.CvPtr, frame.CvPtr); 
     1254        } 
     1255        #endregion 
    12261256        #region Integral 
    12271257#if LANG_JP 
  • lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/Src/Core/Cv_R-Z.cs

    r32932 r32941  
    11911191                throw new ArgumentNullException("mapy"); 
    11921192            CvDll.cvRemap(src.CvPtr, dst.CvPtr, mapx.CvPtr, mapy.CvPtr, flags, fillval); 
     1193        } 
     1194        #endregion 
     1195        #region RemoveNodeFromTree 
     1196#if LANG_JP 
     1197        /// <summary> 
     1198        /// ツリーからノードを削除する 
     1199        /// </summary> 
     1200        /// <param name="node">削除されるノード.</param> 
     1201        /// <param name="frame">トップレベルノード.node->v_prev = null かつ node->h_prev = null (つまり,node が frameの最初の子ノードである)である場合,  
     1202        /// frame->v_next は node->h_next にセットされる (つまり,最初の子ノードかframeが変更される).</param> 
     1203#else 
     1204        /// <summary> 
     1205        /// Removes node from tree 
     1206        /// </summary> 
     1207        /// <param name="node">The removed node. </param> 
     1208        /// <param name="frame">The top level node. If node->v_prev = null and node->h_prev is null (i.e. if node is the first child of frame),  
     1209        /// frame->v_next is set to node->h_next (i.e. the first child or frame is changed). </param> 
     1210#endif 
     1211        public static void RemoveNodeFromTree<T>(this CvTreeNode<T> node, CvTreeNode<T> frame) 
     1212            where T : CvTreeNode<T> 
     1213        { 
     1214            if (node == null) 
     1215                throw new ArgumentNullException("node"); 
     1216            if (frame == null) 
     1217                throw new ArgumentNullException("frame"); 
     1218            CvDll.cvRemoveNodeFromTree(node.CvPtr, frame.CvPtr); 
    11931219        } 
    11941220        #endregion 
     
    56485674        } 
    56495675        #endregion 
     5676        #region TreeToNodeSeq 
     5677#if LANG_JP 
     5678        /// <summary> 
     5679        /// すべてのノードへのポインタを一つのシーケンスに集める 
     5680        /// </summary> 
     5681        /// <typeparam name="T"></typeparam> 
     5682        /// <param name="first">ツリーの先頭ノード.</param> 
     5683        /// <param name="header_size">作成したシーケンスのヘッダサイズ(sizeof(CvSeq) が用いられることが多い).</param> 
     5684        /// <param name="storage">シーケンスのためのコンテナ.</param> 
     5685        /// <returns></returns> 
     5686#else 
     5687        /// <summary> 
     5688        /// Gathers all node pointers to the single sequence 
     5689        /// </summary> 
     5690        /// <typeparam name="T"></typeparam> 
     5691        /// <param name="first">The initial tree node. </param> 
     5692        /// <param name="header_size">Header size of the created sequence (sizeof(CvSeq) is the most used value). </param> 
     5693        /// <param name="storage">Container for the sequence. </param> 
     5694        /// <returns></returns> 
     5695#endif 
     5696        public static CvSeq TreeToNodeSeq<T>(this CvTreeNode<T> first, int header_size, CvMemStorage storage) 
     5697            where T : CvTreeNode<T> 
     5698        { 
     5699            if (first == null) 
     5700                throw new ArgumentNullException("first"); 
     5701            if (storage == null) 
     5702                throw new ArgumentNullException("storage"); 
     5703            IntPtr result = CvDll.cvTreeToNodeSeq(first.CvPtr, header_size, storage); 
     5704            if (result == IntPtr.Zero) 
     5705                return null; 
     5706            else 
     5707                return new CvSeq(result); 
     5708        } 
     5709        #endregion 
    56505710        #region Undistort2 
    56515711#if LANG_JP 
  • lang/cpluspluscli/OpenCvSharp2/trunk/OpenCvSharp/Src/CvArr/CvSetT.cs

    r32848 r32941  
    5050#endif 
    5151        public CvSet(SeqType set_flags, int header_size, int elem_size, CvMemStorage storage) 
    52             : base(CvDll.cvCreateSet(set_flags, header_size, elem_size, storage.CvPtr)) 
     52            : base(set_flags, header_size, elem_size, storage) 
    5353        { 
    54             if (this._ptr == IntPtr.Zero) 
    55             { 
    56                 throw new OpenCvSharpException("Failed to create SvSet<T>"); 
    57             } 
    5854        } 
    5955#if LANG_JP 
  • lang/cpluspluscli/OpenCvSharp2/trunk/wrapped functions.csv

    r32932 r32941  
    286286InRange;X; 
    287287InRangeS;X; 
    288 InsertNodeIntoTree;; 
     288InsertNodeIntoTree;X; 
    289289Integral;X; 
    290290Invert;X; 
     
    411411ReleaseVideoWriter;X; 
    412412Remap;X; 
    413 RemoveNodeFromTree;; 
     413RemoveNodeFromTree;X; 
    414414Repeat;X; 
    415415ReprojectImageTo3D;X; 
     
    514514Transform;X; 
    515515Transpose;X; 
    516 TreeToNodeSeq;; 
     516TreeToNodeSeq;X; 
    517517TypeOf;; 
    518518Undistort2;X;