Exemplo n.º 1
0
        /// <summary>
        /// ファイルノードを他のファイルストレージに書き込む
        /// </summary>
        /// <param name="fs">書き込み先のファイルストレージ.</param>
        /// <param name="newNodeName">書き込み先ファイルストレージ内のファイルノードの新しい名前.元の名前を維持するためには,cvGetFileNodeName(node)を用いる.</param>
        /// <param name="node">書き込まれるノード.</param>
        /// <param name="embed">書き込まれるノードがコレクションで,このパラメータがtrueの場合,階層の余分なレベルは生成されない.
        /// その代わりに,nodeの全ての要素は現在書き込まれている構造体に書き込まれる.
        /// 当然,マップ要素はマップにのみ書き込まれ,シーケンス要素はシーケンスにのみ書き込まれる.</param>
#else
        /// <summary>
        /// Writes file node to another file storage
        /// </summary>
        /// <param name="fs">Destination file storage. </param>
        /// <param name="newNodeName">New name of the file node in the destination file storage. To keep the existing name, use cvGetFileNodeName(node). </param>
        /// <param name="node">The written node </param>
        /// <param name="embed">If the written node is a collection and this parameter is true, no extra level of hierarchy is created.
        /// Instead, all the elements of node are written into the currently written structure.
        /// Of course, map elements may be written only to map, and sequence elements may be written only to sequence. </param>
#endif
        public static void WriteFileNode(CvFileStorage fs, string newNodeName, CvFileNode node, bool embed)
        {
            if (fs == null)
            {
                throw new ArgumentNullException("fs");
            }
            if (string.IsNullOrEmpty(newNodeName))
            {
                throw new ArgumentNullException("newNodeName");
            }
            if (node == null)
            {
                throw new ArgumentNullException("node");
            }

            NativeMethods.cvWriteFileNode(fs.CvPtr, newNodeName, node.CvPtr, embed);
        }
Exemplo n.º 2
0
        /// <summary>
        /// ファイルノードを他のファイルストレージに書き込む
        /// </summary>
        /// <param name="newNodeName">書き込み先ファイルストレージ内のファイルノードの新しい名前.元の名前を維持するためには,cvGetFileNodeName(node)を用いる.</param>
        /// <param name="node">書き込まれるノード.</param>
        /// <param name="embed">書き込まれるノードがコレクションで,このパラメータがtrueの場合,階層の余分なレベルは生成されない.
        /// その代わりに,nodeの全ての要素は現在書き込まれている構造体に書き込まれる.
        /// 当然,マップ要素はマップにのみ書き込まれ,シーケンス要素はシーケンスにのみ書き込まれる.</param>
#else
        /// <summary>
        /// Writes file node to another file storage
        /// </summary>
        /// <param name="newNodeName">New name of the file node in the destination file storage. To keep the existing name, use cvGetFileNodeName(node). </param>
        /// <param name="node">The written node </param>
        /// <param name="embed">If the written node is a collection and this parameter is true, no extra level of hierarchy is created.
        /// Instead, all the elements of node are written into the currently written structure.
        /// Of course, map elements may be written only to map, and sequence elements may be written only to sequence. </param>
#endif
        public void WriteFileNode(string newNodeName, CvFileNode node, bool embed)
        {
            Cv.WriteFileNode(this, newNodeName, node, embed);
        }
Exemplo n.º 3
0
        /// <summary>
        /// ファイルノードのシーケンスリーダの初期化
        /// </summary>
        /// <param name="src">読み込むファイルノード(シーケンス).</param>
        /// <param name="reader">シーケンスリーダへのポインタ.</param>
#else
        /// <summary>
        /// Initializes file node sequence reader
        /// </summary>
        /// <param name="src">The file node (a sequence) to read numbers from. </param>
        /// <param name="reader">Output reference to the sequence reader. </param>
#endif
        public void StartReadRawData(CvFileNode src, out CvSeqReader reader)
        {
            Cv.StartReadRawData(this, src, out reader);
        }
Exemplo n.º 4
0
        /// <summary>
        /// ファイルノードを探索し,その値を返す.
        /// cvGetFileNodeByName とcvReadStringの単純な合成である.
        /// </summary>
        /// <param name="map">親マップ.nullの場合,この関数はトップレベルノードを探索する.</param>
        /// <param name="name">ノード名</param>
        /// <param name="defaultValue">ファイルノードが見つからない場合の戻り値</param>
        /// <returns>ファイルノードで表現された文字列</returns>
#else
        /// <summary>
        /// Finds file node and returns its value
        /// </summary>
        /// <param name="map">The parent map. If it is null, the function searches a top-level node. </param>
        /// <param name="name">The node name. </param>
        /// <param name="defaultValue">The value that is returned if the file node is not found. </param>
        /// <returns></returns>
#endif
        public string ReadStringByName(CvFileNode map, string name, string defaultValue)
        {
            return(Cv.ReadStringByName(this, map, name, defaultValue));
        }
Exemplo n.º 5
0
        /// <summary>
        /// ファイルノードを探索し,その値を返す.
        /// cvGetFileNodeByName とcvReadStringの単純な合成である.
        /// </summary>
        /// <param name="map">親マップ.nullの場合,この関数はトップレベルノードを探索する.</param>
        /// <param name="name">ノード名</param>
        /// <returns>ファイルノードで表現された文字列</returns>
#else
        /// <summary>
        /// Finds file node and returns its value
        /// </summary>
        /// <param name="map">The parent map. If it is null, the function searches a top-level node. </param>
        /// <param name="name">The node name. </param>
        /// <returns></returns>
#endif
        public string ReadStringByName(CvFileNode map, string name)
        {
            return(Cv.ReadStringByName(this, map, name));
        }
Exemplo n.º 6
0
        /// <summary>
        /// ファイルノードを探索し,その値を返す.
        /// cvGetFileNodeByName とcvReadRealの単純な合成である.
        /// </summary>
        /// <param name="map">親マップ.nullの場合,この関数はトップレベルノードを探索する.</param>
        /// <param name="name">ノード名</param>
        /// <param name="defaultValue">ファイルノードが見つからない場合の戻り値</param>
        /// <returns>ファイルノードで表現された浮動小数点型の値</returns>
#else
        /// <summary>
        /// Finds file node and returns its value
        /// </summary>
        /// <param name="map">The parent map. If it is null, the function searches a top-level node. </param>
        /// <param name="name">The node name. </param>
        /// <param name="defaultValue">The value that is returned if the file node is not found. </param>
        /// <returns></returns>
#endif
        public double ReadRealByName(CvFileNode map, string name, double defaultValue)
        {
            return(Cv.ReadRealByName(this, map, name, defaultValue));
        }
Exemplo n.º 7
0
        /// <summary>
        /// ファイルノードを探索し,その値を返す.
        /// cvGetFileNodeByName とcvReadRealの単純な合成である.
        /// </summary>
        /// <param name="map">親マップ.nullの場合,この関数はトップレベルノードを探索する.</param>
        /// <param name="name">ノード名</param>
        /// <returns>ファイルノードで表現された浮動小数点型の値</returns>
#else
        /// <summary>
        /// Finds file node and returns its value
        /// </summary>
        /// <param name="map">The parent map. If it is null, the function searches a top-level node. </param>
        /// <param name="name">The node name. </param>
        /// <returns></returns>
#endif
        public double ReadRealByName(CvFileNode map, string name)
        {
            return(Cv.ReadRealByName(this, map, name));
        }
Exemplo n.º 8
0
        /// <summary>
        /// 複数の数値を読み込む
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="src">数値を読み込むファイルノード(シーケンス)</param>
        /// <param name="dst">書き込み先の配列へのポインタ.</param>
        /// <param name="dt">配列の個々の要素の仕様.</param>
#else
        /// <summary>
        /// Reads multiple numbers
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="src">The file node (a sequence) to read numbers from. </param>
        /// <param name="dst">Reference to the destination array. </param>
        /// <param name="dt">Specification of each array element. It has the same format as in cvWriteRawData. </param>
#endif
        public void ReadRawData <T>(CvFileNode src, ref T[] dst, string dt)
            where T : struct
        {
            Cv.ReadRawData <T>(this, src, ref dst, dt);
        }
Exemplo n.º 9
0
        /// <summary>
        /// ファイルノードを探索し,その値を返す.
        /// cvGetFileNodeByName とcvReadIntの単純な合成である.
        /// </summary>
        /// <param name="map">親マップ.nullの場合,この関数はトップレベルノードを探索する.</param>
        /// <param name="name">ノード名</param>
        /// <param name="defaultValue">ファイルノードが見つからない場合の戻り値</param>
        /// <returns>ファイルノードで表現された整数値</returns>
#else
        /// <summary>
        /// Finds file node and returns its value
        /// </summary>
        /// <param name="map">The parent map. If it is null, the function searches a top-level node. </param>
        /// <param name="name">The node name. </param>
        /// <param name="defaultValue">The value that is returned if the file node is not found. </param>
        /// <returns></returns>
#endif
        public int ReadIntByName(CvFileNode map, string name, int defaultValue)
        {
            return(Cv.ReadIntByName(this, map, name, defaultValue));
        }
Exemplo n.º 10
0
        /// <summary>
        /// ファイルノードを探索し,その値を返す.
        /// cvGetFileNodeByName とcvReadIntの単純な合成である.
        /// </summary>
        /// <param name="map">親マップ.nullの場合,この関数はトップレベルノードを探索する.</param>
        /// <param name="name">ノード名</param>
        /// <returns>ファイルノードで表現された整数値</returns>
#else
        /// <summary>
        /// Finds file node and returns its value
        /// </summary>
        /// <param name="map">The parent map. If it is null, the function searches a top-level node. </param>
        /// <param name="name">The node name. </param>
        /// <returns></returns>
#endif
        public int ReadIntByName(CvFileNode map, string name)
        {
            return(Cv.ReadIntByName(this, map, name));
        }
Exemplo n.º 11
0
        /// <summary>
        /// オブジェクトをデコードし,デコードする.
        /// cvGetFileNodeByName とcvReadの単純な合成である.
        /// </summary>
        /// <typeparam name="T">返却値の型(CvArr派生型)</typeparam>
        /// <param name="map">親マップ.nullの場合,この関数はトップレベルノードを探索する.</param>
        /// <param name="name">ノード名</param>
        /// <returns></returns>
#else
        /// <summary>
        /// Finds object and decodes it
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="map">The parent map. If it is null, the function searches a top-level node. </param>
        /// <param name="name">The node name. </param>
        /// <returns></returns>
#endif
        public T ReadByName <T>(CvFileNode map, string name) where T : CvArr
        {
            return(Cv.ReadByName <T>(this, map, name));
        }
Exemplo n.º 12
0
        /// <summary>
        /// オブジェクトをデコードし,その参照を返す.
        /// </summary>
        /// <typeparam name="T">返却値の型(CvArr派生型)</typeparam>
        /// <param name="node">ルートオブジェクトノード</param>
        /// <returns></returns>
#else
        /// <summary>
        /// Decodes object and returns pointer to it
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="node">The root object node. </param>
        /// <returns></returns>
#endif
        public T Read <T>(CvFileNode node) where T : CvArr
        {
            return(Cv.Read <T>(this, node));
        }
Exemplo n.º 13
0
        /// <summary>
        /// マップ内またはファイルストレージ内からノードを探索する
        /// </summary>
        /// <param name="map">親マップ.nullの場合,この関数は一番最初のものから開始して,全てのトップレベルノード(ストリーム)内を探索する.</param>
        /// <param name="name">ファイルノード名</param>
        /// <returns>名前がnameのファイルノード</returns>
#else
        /// <summary>
        /// Finds node in the map or file storage
        /// </summary>
        /// <param name="map">The parent map. If it is null, the function searches in all the top-level nodes (streams), starting from the first one. </param>
        /// <param name="name">The file node name. </param>
        /// <returns></returns>
#endif
        public CvFileNode GetFileNodeByName(CvFileNode map, string name)
        {
            return(Cv.GetFileNodeByName(this, map, name));
        }
Exemplo n.º 14
0
        /// <summary>
        /// マップまたはファイルストレージ内のノードを見つける
        /// </summary>
        /// <param name="map">親マップ.nullの場合,この関数はトップレベルノードを探す.もしmapとkeyの両方がnullの場合には, この関数はトップレベルノードを持つマップであるルートファイルノードを返す.</param>
        /// <param name="key">cvGetHashedKeyで取得されるノード名ヘの唯一のポインタ</param>
        /// <param name="createMissing">absent keyをハッシュテーブルに追加するかどうかを指定するフラグ</param>
        /// <returns>与えたmap,keyに対するファイルノード</returns>
#else
        /// <summary>
        /// Finds node in the map or file storage
        /// </summary>
        /// <param name="map">The parent map. If it is null, the function searches a top-level node. If both map and key are nulls, the function returns the root file node - a map that contains top-level nodes. </param>
        /// <param name="key">Unique pointer to the node name, retrieved with cvGetHashedKey. </param>
        /// <param name="createMissing">Flag that specifies, whether an absent node should be added to the map, or not. </param>
        /// <returns></returns>
#endif
        public CvFileNode GetFileNode(CvFileNode map, CvStringHashNode key, bool createMissing)
        {
            return(Cv.GetFileNode(this, map, key, createMissing));
        }
Exemplo n.º 15
0
        /// <summary>
        /// マップまたはファイルストレージ内のノードを見つける
        /// </summary>
        /// <param name="map">親マップ.nullの場合,この関数はトップレベルノードを探す.もしmapとkeyの両方がnullの場合には, この関数はトップレベルノードを持つマップであるルートファイルノードを返す.</param>
        /// <param name="key">cvGetHashedKeyで取得されるノード名ヘの唯一のポインタ</param>
        /// <returns>与えたmap,keyに対するファイルノード</returns>
#else
        /// <summary>
        /// Finds node in the map or file storage
        /// </summary>
        /// <param name="map">The parent map. If it is null, the function searches a top-level node. If both map and key are nulls, the function returns the root file node - a map that contains top-level nodes. </param>
        /// <param name="key">Unique pointer to the node name, retrieved with cvGetHashedKey. </param>
        /// <returns></returns>
#endif
        public CvFileNode GetFileNode(CvFileNode map, CvStringHashNode key)
        {
            return(Cv.GetFileNode(this, map, key));
        }