root/lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvPoint2D32f.cpp @ 22561

Revision 22402, 3.1 kB (checked in by schima, 5 years ago)

キャリブレーション関係の関数を仮実装。

Line 
1/**
2 * (C) 2008 Schima
3 * This code is licenced under the LGPL.
4 */
5
6#include "StdAfx.h"
7#include "CvPoint2D32f.h"
8
9using namespace System;
10
11// typedef CvPoint2D32f __CvPoint2D32f;
12
13namespace KwsmLab {
14namespace OpenCvSharp
15{
16        /// <summary>
17        /// 初期化
18        /// </summary>
19        /// <param name="x">x座標</param>
20        /// <param name="y">y座標</param>
21        CvPoint2D32f::CvPoint2D32f(Single x, Single y)
22        {
23                Set(x, y);
24        }
25        /// <summary>
26        /// x座標とy座標を設定する
27        /// </summary>
28        /// <param name="x">x座標</param>
29        /// <param name="y">y座標</param>
30        void CvPoint2D32f::Set(Single x, Single y)
31        {
32                this->X = x;
33                this->Y = y;
34        }       
35
36
37        /// <summary>
38        /// OpenCVの構造体形式に変換する暗黙のキャスト
39        /// </summary>
40        /// <param name="self"></param>
41        /// <returns>CvPoint2D32f構造体</returns>
42        CvPoint2D32f::operator __CvPoint2D32f(CvPoint2D32f self)
43        {
44                return self.ToNativeStruct();
45        }
46        /// <summary>
47        /// OpenCVの構造体形式に変換する
48        /// </summary>
49        /// <returns>CvPoint2D32f構造体</returns>
50        __CvPoint2D32f CvPoint2D32f::ToNativeStruct( void )
51        {
52                return ::cvPoint2D32f(this->X, this->Y);
53        }
54        /// <summary>
55        /// OpenCVの構造体形式から変換する暗黙のキャスト
56        /// </summary>
57        /// <param name="p"></param>
58        /// <returns>このCvPoint2D32f構造体</returns>
59        CvPoint2D32f::operator CvPoint2D32f(__CvPoint2D32f p)
60        {
61                return CvPoint2D32f(p.x, p.y);
62        }
63        /// <summary>
64        /// IntPtrからCvPoint2D32fへ変換して返す. 引数のポインタの実体がCvPoint2D32f*でなければならない.
65        /// </summary>
66        /// <param name="ptr">IntPtr</param>
67        /// <returns>CvPoint2D32f</returns>
68        CvPoint2D32f CvPoint2D32f::FromPtr( IntPtr ptr )
69        {
70                if(ptr == IntPtr::Zero){
71                        throw gcnew NullReferenceException();
72                }else{
73                        try{
74                                __CvPoint2D32f* _ptr = (__CvPoint2D32f*)(ptr.ToPointer());
75                                return CvPoint2D32f(_ptr->x, _ptr->y);
76                        }catch(...){
77                                throw gcnew InvalidCastException();
78                        }
79                }
80        }
81        /// <summary>
82        /// IntPtrからCvPoint2D32fへ変換する明示的なキャスト
83        /// </summary>
84        /// <param name="ptr">IntPtr</param>
85        /// <returns>CvPoCvPoint2D32fint</returns>
86        CvPoint2D32f::operator CvPoint2D32f( IntPtr ptr )
87        {
88                return CvPoint2D32f::FromPtr(ptr);
89        }
90
91
92        /// <summary>
93        /// == 演算子のオーバーロード。x,y座標値が等しければtrueを返す
94        /// </summary>
95        /// <param name="lhs">左辺値</param>
96        /// <param name="rhs">右辺値</param>
97        /// <returns>等しければtrue</returns>
98        bool CvPoint2D32f::operator==(CvPoint2D32f lhs, CvPoint2D32f rhs)
99        {
100                return lhs.Equals(rhs);
101        }
102        /// <summary>
103        /// 指定したCvPoint2D32fの座標と等しければtrueを返す
104        /// </summary>
105        /// <param name="cs">比較対象</param>
106        /// <returns>等しければtrue</returns>
107        bool CvPoint2D32f::Equals(CvPoint2D32f cs)
108        {
109                return (this->X == cs.X && this->Y == cs.Y);
110        }
111        /// <summary>
112        /// 文字列形式を返す
113        /// </summary>
114        /// <returns>文字列形式</returns>
115        String^ CvPoint2D32f::ToString()
116        {
117                return String::Format("CvPoint2D32f (x:{0} y:{1})", X, Y);
118        }
119
120}
121}
Note: See TracBrowser for help on using the browser.