Changeset 30907
- Timestamp:
- 03/07/09 13:17:29 (4 years ago)
- Location:
- lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp
- Files:
-
- 1 added
- 33 modified
-
CV.cpp (modified) (11 diffs)
-
CvArr.cpp (modified) (6 diffs)
-
CvArr.h (modified) (4 diffs)
-
CvCapture.cpp (modified) (1 diff)
-
CvCapture.h (modified) (2 diffs)
-
CvFileStorage.cpp (modified) (1 diff)
-
CvFileStorage.h (modified) (3 diffs)
-
CvFont.cpp (modified) (8 diffs)
-
CvFont.h (modified) (3 diffs)
-
CvHaarClassifierCascade.cpp (modified) (1 diff)
-
CvHaarClassifierCascade.h (modified) (3 diffs)
-
CvHistogram.cpp (modified) (5 diffs)
-
CvHistogram.h (modified) (3 diffs)
-
CvKalman.cpp (modified) (3 diffs)
-
CvKalman.h (modified) (5 diffs)
-
CvMat.h (modified) (2 diffs)
-
CvMatND.h (modified) (3 diffs)
-
CvMemStorage.cpp (modified) (3 diffs)
-
CvMemStorage.h (modified) (4 diffs)
-
CvSeq.h (modified) (2 diffs)
-
CvSet.h (modified) (3 diffs)
-
CvSparseMat.h (modified) (3 diffs)
-
CvStereoBMState.cpp (modified) (1 diff)
-
CvStereoBMState.h (modified) (2 diffs)
-
CvStereoGCState.cpp (modified) (1 diff)
-
CvStereoGCState.h (modified) (2 diffs)
-
CvVideoWriter.cpp (modified) (2 diffs)
-
CvVideoWriter.h (modified) (3 diffs)
-
DisposableObject.h (added)
-
IplConvKernel.cpp (modified) (4 diffs)
-
IplConvKernel.h (modified) (3 diffs)
-
IplImage.h (modified) (2 diffs)
-
OpenCvSharp.vcproj (modified) (1 diff)
-
Stdafx.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CV.cpp
r30899 r30907 7713 7713 { 7714 7714 CHECK_NULL(capture); 7715 capture->~CvCapture();7715 delete capture; 7716 7716 } 7717 7717 #pragma endregion … … 7737 7737 { 7738 7738 CHECK_NULL(fs); 7739 fs->Close();7739 delete fs; 7740 7740 } 7741 7741 #pragma endregion … … 7748 7748 { 7749 7749 CHECK_NULL(cascade); 7750 cascade->Release();7750 delete cascade; 7751 7751 } 7752 7752 #pragma endregion … … 7760 7760 { 7761 7761 CHECK_NULL(hist); 7762 hist->Release();7762 delete hist; 7763 7763 } 7764 7764 #pragma endregion … … 7771 7771 { 7772 7772 CHECK_NULL(image); 7773 image->Release();7773 delete image; 7774 7774 } 7775 7775 #pragma endregion … … 7793 7793 { 7794 7794 CHECK_NULL(kalman); 7795 kalman->Release();7795 delete kalman; 7796 7796 } 7797 7797 #pragma endregion … … 7804 7804 { 7805 7805 CHECK_NULL(mat); 7806 mat->Release();7806 delete mat; 7807 7807 } 7808 7808 #pragma endregion … … 7817 7817 { 7818 7818 CHECK_NULL(storage); 7819 storage->Release();7819 delete storage; 7820 7820 } 7821 7821 #pragma endregion … … 7828 7828 { 7829 7829 CHECK_NULL(state); 7830 state->Release();7830 delete state; 7831 7831 } 7832 7832 #pragma endregion … … 7839 7839 { 7840 7840 CHECK_NULL(state); 7841 state->Release();7841 delete state; 7842 7842 } 7843 7843 #pragma endregion … … 7850 7850 { 7851 7851 CHECK_NULL(element); 7852 element->Release();7852 delete element; 7853 7853 } 7854 7854 #pragma endregion -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvArr.cpp
r30899 r30907 19 19 /// デフォルトコンストラクタ 20 20 /// </summary> 21 CvArr::CvArr(void) 21 CvArr::CvArr(void) : DisposableObject() 22 22 { 23 23 this->ptr = NULL; 24 this->isDisposed = false;25 this->isEnabledDispose = true;26 24 } 27 25 /// <summary> … … 29 27 /// </summary> 30 28 /// <param name="isEnabledDispose">GCで解放するならtrue</param> 31 CvArr::CvArr(Boolean isEnabledDispose) 29 CvArr::CvArr(Boolean isEnabledDispose) : DisposableObject(isEnabledDispose) 32 30 { 33 31 this->ptr = NULL; 34 this->isDisposed = false;35 this->isEnabledDispose = isEnabledDispose;36 32 } 37 33 /// <summary> … … 39 35 /// </summary> 40 36 /// <param name="ptr">元データポインタ</param> 41 CvArr::CvArr(void* ptr) 37 CvArr::CvArr(void* ptr) : DisposableObject() 42 38 { 43 39 if(ptr == NULL){ … … 45 41 } 46 42 this->ptr = ptr; 47 this->isDisposed = false;48 this->isEnabledDispose = true;49 43 } 50 44 /// <summary> … … 53 47 /// <param name="ptr">元データポインタ</param> 54 48 /// <param name="isEnabledDispose">GCで解放するならtrue</param> 55 CvArr::CvArr(void* ptr, Boolean isEnabledDispose) 49 CvArr::CvArr(void* ptr, Boolean isEnabledDispose) : DisposableObject(isEnabledDispose) 56 50 { 57 51 if(ptr == NULL){ … … 59 53 } 60 54 this->ptr = ptr; 61 this->isDisposed = false;62 this->isEnabledDispose = isEnabledDispose;63 55 } 64 56 65 /// <summary>66 /// ファイナライザ67 /// </summary>68 CvArr::!CvArr(void)69 {70 if(isEnabledDispose && !isDisposed){71 Release();72 isDisposed = true;73 }74 }75 /// <summary>76 /// 解放77 /// </summary>78 CvArr::~CvArr(void)79 {80 if(isEnabledDispose && !isDisposed){81 Release();82 isDisposed = true;83 }84 }85 57 /// <summary> 86 58 /// CvArr -> void* への明示的なキャスト -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvArr.h
r29928 r30907 37 37 /// これらを引数にとる関数を記述するための仮引数として利用される。 38 38 /// </summary> 39 public ref class CvArr abstract : public IDisposable, public ICvObject39 public ref class CvArr abstract : public DisposableObject, public ICvObject 40 40 { 41 41 private: … … 43 43 protected: 44 44 void* ptr; 45 Boolean isDisposed;46 Boolean isEnabledDispose;47 45 48 46 internal: … … 59 57 virtual void set(void* value){ ptr = value; } 60 58 } 61 /// <summary> 62 /// リソースの解放を行う。サブクラスで適宜再定義すべし。 63 /// </summary> 64 /// <remarks> 65 /// C++/CLIはDisposeがabstractにできないようなので仕方なくこんなメソッドを用意。 66 /// 2重解放はされないようになっているので、解放処理のみを書けばよい。 67 /// 傍目にはDisposeで解放してるように見える。 68 /// </remarks> 69 virtual void Release(void) abstract; 70 71 public: 72 !CvArr( void ); 73 ~CvArr( void ); 74 59 60 public: 75 61 static explicit operator void*( N::CvArr^ obj ); 76 62 static explicit operator IntPtr( N::CvArr^ obj ); … … 90 76 Int32 get(void){ return IntPtr::Size; } 91 77 } 92 /// <summary> 93 /// リソースが解放済みかどうかを取得する 94 /// </summary> 95 virtual property Boolean IsDisposed{ 96 public: Boolean get(){ return isDisposed; } 97 protected: void set(Boolean value){ isDisposed = value;} 98 } 99 /// <summary> 100 /// GCによる自動的な解放を行うかどうかを取得・設定する 101 /// </summary> 102 virtual property Boolean IsEnabledDispose{ 103 bool get(){ return isEnabledDispose; } 104 void set(Boolean value){ isEnabledDispose = value;} 105 } 78 106 79 /// <summary> 107 80 /// 配列の次元数を取得する. -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvCapture.cpp
r30899 r30907 88 88 89 89 /// <summary> 90 /// ファイナライザ90 /// 解放処理 91 91 /// </summary> 92 CvCapture::!CvCapture(void)92 void CvCapture::Release(void) 93 93 { 94 if(!isDisposed){ 95 isDisposed = true; 96 ::CvCapture* pp = this->Ptr; 97 ::cvReleaseCapture(&pp); 98 } 99 } 100 /// <summary> 101 /// 解放 102 /// </summary> 103 CvCapture::~CvCapture(void) 104 { 105 CvCapture::!CvCapture(); 94 ::CvCapture* pp = this->Ptr; 95 ::cvReleaseCapture(&pp); 106 96 } 107 97 -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvCapture.h
r27019 r30907 27 27 /// ビデオキャプチャ 28 28 /// </summary> 29 public ref class CvCapture : IDisposable29 public ref class CvCapture : public DisposableObject, public ICvObject 30 30 { 31 31 private: 32 32 ::CvCapture* ptr; 33 Boolean isDisposed;34 33 CaptureType captureType; 34 35 protected: 36 virtual void Release( void ) override; 37 35 38 internal: 36 CvCapture(::CvCapture* ptr); 39 CvCapture(::CvCapture* ptr); 37 40 /// <summary> 38 41 /// 元データポインタ(CvCapture*) … … 41 44 ::CvCapture* get(void){ return this->ptr; } 42 45 } 46 43 47 public: 44 48 CvCapture( String^ filename ); 45 49 CvCapture( Int32 index ); 46 50 CvCapture( N::CaptureDevice device ); 47 !CvCapture( void);48 ~CvCapture( void);49 51 50 52 static N::CvCapture^ FromFile( String^ filename ); 51 53 static N::CvCapture^ FromCamera( Int32 index ); 52 static N::CvCapture^ FromCamera( N::CaptureDevice device ); 54 static N::CvCapture^ FromCamera( N::CaptureDevice device ); 53 55 54 56 /// <summary> 55 /// リソースが解放済みかどうか57 /// OpenCVのネイティブデータポインタを取得する 56 58 /// </summary> 57 property Boolean IsDisposed{ 58 public: bool get(){ return isDisposed; } 59 private: void set(bool value){ isDisposed = value;} 59 virtual property IntPtr CvPtr{ 60 IntPtr get(void){ return (IntPtr)ptr; } 60 61 } 61 62 /// <summary> -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvFileStorage.cpp
r30899 r30907 35 35 void CvFileStorage::Close(void) 36 36 { 37 Release();38 }39 /// <summary>40 /// リソースの解放を行う41 /// </summary>42 void CvFileStorage::Release(void)43 {44 37 if(!isDisposed){ 45 __CvFileStorage* _ptr = ptr; 46 cvReleaseFileStorage( &_ptr ); 38 Release(); 47 39 isDisposed = true; 48 40 } 49 41 } 50 51 /// <summary> 52 /// ファイナライザ 53 /// </summary> 54 CvFileStorage::!CvFileStorage(void) 55 { 56 Release(); 57 } 58 /// <summary> 59 /// 解放 60 /// </summary> 61 CvFileStorage::~CvFileStorage(void) 62 { 63 Release(); 42 /// <summary> 43 /// リソースの解放を行う 44 /// </summary> 45 void CvFileStorage::Release(void) 46 { 47 __CvFileStorage* _ptr = ptr; 48 cvReleaseFileStorage( &_ptr ); 64 49 } 65 50 #pragma endregion -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvFileStorage.h
r30662 r30907 27 27 /// CXCoreは,XML(http://www.w3c.org/XML)や YAML (http://www.yaml.org)形式のデータの読み書きが可能である. 28 28 /// </summary> 29 public ref class CvFileStorage : public IDisposable, public ICvObject29 public ref class CvFileStorage : public DisposableObject, public ICvObject 30 30 { 31 31 private: 32 32 __CvFileStorage* ptr; 33 Boolean isDisposed; 33 34 protected: 35 virtual void Release( void ) override; 34 36 35 37 internal: … … 43 45 44 46 public: 45 CvFileStorage( String^ filename, N::CvMemStorage^ memstorage, FileStorageMode flags ); 46 !CvFileStorage( void ); 47 ~CvFileStorage( void ); 47 CvFileStorage( String^ filename, N::CvMemStorage^ memstorage, FileStorageMode flags ); 48 48 49 49 /// <summary> … … 79 79 Double ReadRealByName(N::CvFileNode^ map, String^ name, Double default_value ); 80 80 String^ ReadStringByName( N::CvFileNode^ map, String^ name ); 81 String^ ReadStringByName( N::CvFileNode^ map, String^ name, String^ default_value ); 82 void Release( void ); 81 String^ ReadStringByName( N::CvFileNode^ map, String^ name, String^ default_value ); 83 82 void StartNextStream( void ); 84 83 void StartWriteStruct( String^ name, NodeType struct_flags ); -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvFont.cpp
r17367 r30907 25 25 } 26 26 this->Ptr = ptr; 27 this->Disposed = false;28 27 }; 29 28 /// <summary> … … 33 32 { 34 33 this->Ptr = new __CvFont; 35 this->Disposed = false;36 34 }; 37 35 /// <summary> … … 48 46 this->Ptr = new __CvFont; 49 47 ::cvInitFont(this->Ptr, (int)font_face, hscale, vscale, shear, thickness, (int)line_type); 50 this->Disposed = false;51 48 } 52 49 /// <summary> … … 62 59 this->Ptr = new __CvFont; 63 60 ::cvInitFont(this->Ptr, (int)font_face, hscale, vscale, shear, thickness); 64 this->Disposed = false;65 61 } 66 62 /// <summary> … … 75 71 this->Ptr = new __CvFont; 76 72 ::cvInitFont(this->Ptr, (int)font_face, hscale, vscale, shear); 77 this->Disposed = false;78 73 } 79 74 /// <summary> … … 87 82 this->Ptr = new __CvFont; 88 83 ::cvInitFont(this->Ptr, (int)font_face, hscale, vscale); 89 this->Disposed = false;90 84 } 91 85 /// <summary> … … 98 92 this->Ptr = new __CvFont; 99 93 ::cvInitFont( this->Ptr, CV_FONT_HERSHEY_PLAIN, scale, scale, 0, thickness, CV_AA ); 100 this->Disposed = false;101 94 } 102 95 /// <summary> … … 108 101 this->Ptr = new __CvFont; 109 102 ::cvInitFont( this->Ptr, CV_FONT_HERSHEY_PLAIN, scale, scale, 0, 1, CV_AA ); 110 this->Disposed = false;111 103 112 104 } 105 113 106 /// <summary> 114 /// デストラクタ107 /// 解放処理 115 108 /// </summary> 116 CvFont::!CvFont()109 void CvFont::Release() 117 110 { 118 if(!this->Disposed){ 119 this->Disposed = true; 120 delete this->Ptr; 121 } 111 delete this->Ptr; 122 112 }; 123 /// <summary>124 /// ファイナライザ125 /// </summary>126 CvFont::~CvFont()127 {128 CvFont::!CvFont();129 };130 131 113 132 114 } -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvFont.h
r17367 r30907 22 22 /// フォント 23 23 /// </summary> 24 public ref class CvFont : public IDisposable, public ICvObject24 public ref class CvFont : public DisposableObject, public ICvObject 25 25 { 26 pr ivate:27 bool disposed;26 protected: 27 virtual void Release( void ) override; 28 28 29 29 internal: … … 42 42 CvFont( Double scale, Int32 thickness ); 43 43 CvFont( Double scale ); 44 !CvFont();45 ~CvFont();46 44 47 45 /// <summary> … … 57 55 virtual property Int32 SizeOf{ 58 56 Int32 get(void){ return sizeof(*Ptr); } 59 }60 /// <summary>61 /// リソースが解放済みかどうか62 /// </summary>63 property bool Disposed{64 public: bool get(){ return disposed; }65 private: void set(bool value){ disposed = value;}66 57 } 67 58 /// <summary> -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvHaarClassifierCascade.cpp
r30899 r30907 63 63 ::cvReleaseHaarClassifierCascade(&p); 64 64 } 65 /// <summary>66 /// �t�@�C�i���C�U67 /// </summary>68 CvHaarClassifierCascade::!CvHaarClassifierCascade(void)69 {70 if(!isDisposed){71 Release();72 isDisposed = true;73 }74 }75 /// <summary>76 /// ���\�[�X�̉�77 /// </summary>78 CvHaarClassifierCascade::~CvHaarClassifierCascade(void)79 {80 if(!isDisposed){81 Release();82 isDisposed = true;83 }84 }85 65 #pragma endregion 86 66 -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvHaarClassifierCascade.h
r22982 r30907 23 23 /// �i�K���ފ��J�X�P�[�h�܂��͖� 24 24 /// </summary> 25 public ref class CvHaarClassifierCascade : public IDisposable, public ICvObject25 public ref class CvHaarClassifierCascade : public DisposableObject, public ICvObject 26 26 { 27 27 private: 28 28 __CvHaarClassifierCascade* ptr; 29 bool isDisposed; 29 30 protected: 31 virtual void Release( void ) override; 30 32 31 33 internal: … … 38 40 } 39 41 CvHaarClassifierCascade(__CvHaarClassifierCascade* ptr); 40 void Release(void);41 42 42 43 public: 43 44 static N::CvHaarClassifierCascade^ FromPtr( IntPtr ptr ); 44 45 static N::CvHaarClassifierCascade^ FromFile( String^ filename ); 45 !CvHaarClassifierCascade(void);46 ~CvHaarClassifierCascade(void);47 46 48 47 #pragma region �v���p�e�B … … 58 57 virtual property Int32 SizeOf{ 59 58 Int32 get(void){ return sizeof(*ptr); } 60 }61 /// <summary>62 /// ���\�[�X����ς݂��ǂ���63 /// </summary>64 property bool IsDisposed{65 public: bool get(){ return isDisposed; }66 protected: void set(bool value){ isDisposed = value;}67 59 } 68 60 -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvHistogram.cpp
r30899 r30907 28 28 pin_ptr<int> sizes_ptr = &dims[0]; 29 29 this->ptr = ::cvCreateHist(dims->Length, sizes_ptr, (int)type); 30 this->isDisposed = false;31 30 this->type = type; 32 31 } … … 47 46 SetBinRanges(ranges); 48 47 } 49 this->isDisposed = false;50 48 this->type = type; 51 49 } … … 72 70 SetBinRanges(ranges, uniform); 73 71 } 74 this->isDisposed = false;75 72 this->type = type; 76 73 } … … 83 80 CHECK_NULL(ptr); 84 81 this->ptr = ptr; 85 this->isDisposed = false;86 }87 88 /// <summary>89 /// ファイナライザ90 /// </summary>91 CvHistogram::!CvHistogram(void)92 {93 Release();94 }95 /// <summary>96 /// 解放97 /// </summary>98 CvHistogram::~CvHistogram(void)99 {100 Release();101 82 } 102 83 /// <summary> … … 105 86 void CvHistogram::Release(void) 106 87 { 107 if(!isDisposed){ 108 __CvHistogram* _ptr = this->ptr; 109 ::cvReleaseHist(&_ptr); 110 isDisposed = true; 111 } 88 __CvHistogram* _ptr = this->ptr; 89 ::cvReleaseHist(&_ptr); 112 90 } 113 91 -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvHistogram.h
r22982 r30907 23 23 /// 多次元ヒストグラムの構造体 24 24 /// </summary> 25 public ref class CvHistogram : public IDisposable, public ICvObject25 public ref class CvHistogram : public DisposableObject, public ICvObject 26 26 { 27 27 private: 28 28 __CvHistogram* ptr; 29 29 HistogramFormat type; 30 Boolean isDisposed; 30 31 protected: 32 virtual void Release( void ) override; 31 33 32 34 internal: … … 37 39 __CvHistogram* get(void){ return (__CvHistogram*)this->ptr; } 38 40 } 39 CvHistogram( __CvHistogram* ptr ); 40 void Release(); 41 CvHistogram( __CvHistogram* ptr ); 41 42 42 43 public: … … 44 45 CvHistogram( array<Int32>^ dims, HistogramFormat type, array<array<Single>^>^ ranges ); 45 46 CvHistogram( array<Int32>^ dims, HistogramFormat type, array<array<Single>^>^ ranges, Boolean uniform ); 46 !CvHistogram( void );47 ~CvHistogram( void );48 47 static N::CvHistogram^ FromPtr( IntPtr ptr ); 49 48 50 #pragma region プロパティ 51 /// <summary> 52 /// リソースが解放済みかどうかを取得する 53 /// </summary> 54 property Boolean IsDisposed{ 55 public: bool get(){ return isDisposed; } 56 protected: void set(bool value){ isDisposed = value; } 57 } 49 #pragma region プロパティ} 58 50 /// <summary> 59 51 /// OpenCVのネイティブデータポインタを取得する -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvKalman.cpp
r30899 r30907 23 23 { 24 24 this->ptr = ptr; 25 this->isDisposed = false;26 25 } 27 26 /// <summary> … … 33 32 { 34 33 this->ptr = ::cvCreateKalman(dynam_params, measure_params); 35 this->isDisposed = false;36 34 } 37 35 /// <summary> … … 44 42 { 45 43 this->ptr = ::cvCreateKalman(dynam_params, measure_params, control_params); 46 this->isDisposed = false;47 44 } 48 45 49 /// <summary>50 /// �t�@�C�i���C�U51 /// </summary>52 CvKalman::!CvKalman(void)53 {54 if(!isDisposed){55 Release();56 isDisposed = true;57 }58 }59 /// <summary>60 /// ��61 /// </summary>62 CvKalman::~CvKalman(void)63 {64 if(!isDisposed){65 Release();66 isDisposed = true;67 }68 }69 46 /// <summary> 70 47 /// ���\�[�X�̉� -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvKalman.h
r22982 r30907 21 21 /// �J���}���t�B���^�� 22 22 /// </summary> 23 public ref class CvKalman : public ICvObject, public IDisposable23 public ref class CvKalman : public DisposableObject, public IDisposable 24 24 { 25 25 private: … … 28 28 /// </summary> 29 29 __CvKalman* ptr; 30 /// <summary> 31 /// ��ς݂��ǂ��� 32 /// </summary> 33 Boolean isDisposed; 30 31 protected: 32 virtual void Release( void ) override; 34 33 35 34 internal: … … 42 41 } 43 42 CvKalman(__CvKalman* ptr); 44 void Release();45 43 46 44 public: 47 static N::CvKalman^ FromPtr( IntPtr ptr ); 45 static N::CvKalman^ FromPtr( IntPtr ptr ); 48 46 49 47 #pragma region �v���p�e�B … … 60 58 Int32 get(void){ return sizeof(*ptr); } 61 59 } 62 /// <summary>63 /// ���\�[�X����ς݂��ǂ���������� /// </summary>64 property Boolean IsDisposed{65 public: bool get(){ return isDisposed; }66 protected: void set(bool value){ isDisposed = value; }67 }68 60 69 61 /// <summary> … … 242 234 CvKalman( Int32 dynam_params, Int32 measure_params ); 243 235 CvKalman( Int32 dynam_params, Int32 measure_params, Int32 control_params ); 244 !CvKalman( void );245 ~CvKalman( void );246 236 247 237 #pragma region ���\�b�h -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvMat.h
r30662 r30907 35 35 PtrArray<Double>^ dataArrayDouble; 36 36 37 protected: 38 virtual void Release( void ) override; 39 37 40 internal: 38 41 /// <summary> … … 46 49 CvMat( __CvMat* ptr ); 47 50 CvMat( __CvMat* ptr, Boolean isEnabledDispose ); 48 virtual void Release( void ) override; 51 49 52 50 53 public: -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvMatND.h
r17367 r30907 22 22 public ref class CvMatND : public CvArr//, public ICvArr<CvMatND^> 23 23 { 24 protected: 25 virtual void Release( void ) override; 26 24 27 internal: 25 28 /// <summary> … … 33 36 CvMatND(__CvMatND* ptr); 34 37 CvMatND(__CvMatND* ptr, Boolean isEnabledDispose); 35 virtual void Release(void) override;36 38 37 39 public: 40 41 #pragma region �v���p�e�B 38 42 /// <summary> 39 43 /// ���f�[�^�|�C���^�̃o�C�g�T�C�Y�A … … 63 67 Int32 get(void) new{ return MatNDPtr->dims; } 64 68 } 69 #pragma endregion 65 70 }; 66 71 } -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvMemStorage.cpp
r30899 r30907 25 25 { 26 26 this->ptr = ::cvCreateMemStorage(); 27 this->isDisposed = false;28 27 } 29 28 /// <summary> … … 35 34 { 36 35 this->ptr = ::cvCreateMemStorage(block_size); 37 this->isDisposed = false;38 36 } 39 37 /// <summary> … … 44 42 { 45 43 this->ptr = ptr; 46 this->isDisposed = false;47 44 } 48 45 49 /// <summary>50 /// ファイナライザ51 /// </summary>52 CvMemStorage::!CvMemStorage(void)53 {54 if(!isDisposed){55 Release();56 isDisposed = true;57 }58 }59 /// <summary>60 /// 解放61 /// </summary>62 CvMemStorage::~CvMemStorage(void)63 {64 if(!isDisposed){65 Release();66 isDisposed = true;67 }68 }69 46 /// <summary> 70 47 /// リソースの解放 -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvMemStorage.h
r26033 r30907 18 18 /// 動的に拡張可能なメモリストレージ 19 19 /// </summary> 20 public ref class CvMemStorage : public IDisposable, public ICvObject20 public ref class CvMemStorage : public DisposableObject, public ICvObject 21 21 { 22 22 private: 23 23 __CvMemStorage* ptr; 24 Boolean isDisposed; 24 25 protected: 26 virtual void Release( void ) override; 27 25 28 internal: 26 29 /// <summary> … … 29 32 property __CvMemStorage* Ptr{ 30 33 __CvMemStorage* get(void){ return (__CvMemStorage*)this->ptr; } 31 } 32 void Release(); 34 } 33 35 CvMemStorage( __CvMemStorage* ptr ); 34 36 … … 36 38 CvMemStorage( void ); 37 39 CvMemStorage( Int32 block_size ); 38 !CvMemStorage( void );39 ~CvMemStorage( void );40 40 static N::CvMemStorage^ FromPtr( IntPtr ptr ); 41 41 … … 44 44 N::CvMemStorage^ CreateChild( void ); 45 45 46 /// <summary>47 /// リソースが解放済みかどうかを取得する48 /// </summary>49 property Boolean IsDisposed{50 public: bool get(){ return isDisposed; }51 protected: void set(bool value){ isDisposed = value; }52 }53 46 /// <summary> 54 47 /// OpenCVのネイティブデータポインタを取得する -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvSeq.h
r26389 r30907 29 29 public ref class CvSeq : public CvArr , public ICvArr<CvSeq^> 30 30 { 31 protected: 32 virtual void Release( void ) override; 33 31 34 internal: 32 35 /// <summary> … … 40 43 CvSeq(Boolean isEnabledDispose); 41 44 CvSeq(__CvSeq* ptr, Boolean isEnabledDispose); 42 CvSeq(void* ptr, Boolean isEnabledDispose); 43 virtual void Release(void) override; 45 CvSeq(void* ptr, Boolean isEnabledDispose); 44 46 45 47 public: -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvSet.h
r22982 r30907 24 24 public ref class CvSet : public CvSeq//, public ICvArr<CvSet^> 25 25 { 26 protected: 27 virtual void Release( void ) override; 28 26 29 internal: 27 30 /// <summary> … … 33 36 CvSet(__CvSet* ptr); 34 37 CvSet(Boolean isEnabledDispose); 35 CvSet(__CvSet* ptr, Boolean isEnabledDispose); 36 virtual void Release(void) override; 38 CvSet(__CvSet* ptr, Boolean isEnabledDispose); 37 39 38 40 public: 39 41 static N::CvSet^ FromPtr( IntPtr ptr ); 40 42 43 #pragma region �v���p�e�B 41 44 /// <summary> 42 45 /// ���f�[�^�|�C���^�̃o�C�g�T�C�Y�A … … 52 55 N::CvSetElem^ get(void) { return gcnew N::CvSetElem(SetPtr->free_elems); } 53 56 } 57 #pragma endregion 54 58 }; 55 59 -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvSparseMat.h
r17367 r30907 22 22 public ref class CvSparseMat : public CvArr//, public ICvArr<CvSparseMat^> 23 23 { 24 protected: 25 virtual void Release( void ) override; 26 24 27 internal: 25 28 /// <summary> … … 32 35 CvSparseMat(Boolean isEnabledDispose); 33 36 CvSparseMat(__CvSparseMat* ptr); 34 CvSparseMat(__CvSparseMat* ptr, Boolean isEnabledDispose); 35 virtual void Release(void) override; 37 CvSparseMat(__CvSparseMat* ptr, Boolean isEnabledDispose); 36 38 37 39 public: 40 41 #pragma region �v���p�e�B 38 42 /// <summary> 39 43 /// ���f�[�^�|�C���^�̃o�C�g�T�C�Y�A … … 82 86 } 83 87 } 88 #pragma endregion 84 89 }; 85 90 } -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvStereoBMState.cpp
r30899 r30907 37 37 38 38 /// <summary> 39 /// ファイナライザ40 /// </summary>41 CvStereoBMState::!CvStereoBMState( void )42 {43 Release();44 }45 /// <summary>46 /// 解放47 /// </summary>48 CvStereoBMState::~CvStereoBMState( void )49 {50 Release();51 }52 /// <summary>53 39 /// リソースの解放を行う 54 40 /// </summary> 55 41 void CvStereoBMState::Release( void ) 56 42 { 57 if(!isDisposed){ 58 __CvStereoBMState* _ptr = ptr; 59 cvReleaseStereoBMState( &_ptr ); 60 isDisposed = true; 61 } 43 __CvStereoBMState* _ptr = ptr; 44 cvReleaseStereoBMState( &_ptr ); 62 45 } 63 46 -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvStereoBMState.h
r30662 r30907 17 17 /// ブロックマッチングによるステレオマッチングアルゴリズムのための構造体 18 18 /// </summary> 19 public ref class CvStereoBMState : public IDisposable, public ICvObject19 public ref class CvStereoBMState : public DisposableObject, public ICvObject 20 20 { 21 21 private: 22 22 __CvStereoBMState* ptr; 23 Boolean isDisposed; 23 24 protected: 25 virtual void Release( void ) override; 24 26 25 27 internal: … … 36 38 CvStereoBMState( StereoBMPreset preset ); 37 39 CvStereoBMState( StereoBMPreset preset, Int32 numberOfDisparities ); 38 ~CvStereoBMState( void );39 !CvStereoBMState( void );40 40 41 void Release( void );42 41 void FindStereoCorrespondence( N::CvArr^ left, N::CvArr^ right, N::CvArr^ disparity ); 43 42 -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvStereoGCState.cpp
r30899 r30907 22 22 23 23 /// <summary> 24 /// ファイナライザ25 /// </summary>26 CvStereoGCState::!CvStereoGCState( void )27 {28 Release();29 }30 /// <summary>31 /// 解放32 /// </summary>33 CvStereoGCState::~CvStereoGCState( void )34 {35 Release();36 }37 /// <summary>38 24 /// リソースの解放を行う 39 25 /// </summary> 40 26 void CvStereoGCState::Release( void ) 41 27 { 42 if(!isDisposed){ 43 __CvStereoGCState* _ptr = ptr; 44 cvReleaseStereoGCState( &_ptr ); 45 isDisposed = true; 46 } 28 __CvStereoGCState* _ptr = ptr; 29 cvReleaseStereoGCState( &_ptr ); 47 30 } 48 31 -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvStereoGCState.h
r30662 r30907 17 17 /// グラフカットに基づくステレオマッチングのための構造体 18 18 /// </summary> 19 public ref class CvStereoGCState : public IDisposable, public ICvObject19 public ref class CvStereoGCState : public DisposableObject, public ICvObject 20 20 { 21 21 private: 22 22 __CvStereoGCState* ptr; 23 Boolean isDisposed; 23 24 protected: 25 virtual void Release( void ) override; 24 26 25 27 internal: … … 34 36 public: 35 37 CvStereoGCState( Int32 numberOfDisparities, Int32 maxIters ); 36 ~CvStereoGCState( void );37 !CvStereoGCState( void );38 38 39 void Release( void );40 39 void FindStereoCorrespondence( N::CvArr^ left, N::CvArr^ right, N::CvArr^ dispLeft, N::CvArr^ dispRight ); 41 40 void FindStereoCorrespondence( N::CvArr^ left, N::CvArr^ right, N::CvArr^ dispLeft, N::CvArr^ dispRight, Boolean useDisparityGuess ); -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvVideoWriter.cpp
r30899 r30907 53 53 54 54 /// <summary> 55 /// ファイナライザ56 /// </summary>57 CvVideoWriter::!CvVideoWriter(void)58 {59 Close();60 }61 /// <summary>62 /// 解放63 /// </summary>64 CvVideoWriter::~CvVideoWriter(void)65 {66 Close();67 }68 /// <summary>69 55 /// ビデオファイルへの書き込みを終了する 70 56 /// </summary> … … 76 62 ::cvReleaseVideoWriter(&pp); 77 63 } 64 } 65 void CvVideoWriter::Release(void) 66 { 67 Close(); 78 68 } 79 69 -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvVideoWriter.h
r21994 r30907 19 19 /// AVIビデオを出力するためのライタ 20 20 /// </summary> 21 public ref class CvVideoWriter : IDisposable21 public ref class CvVideoWriter : public DisposableObject 22 22 { 23 23 private: … … 28 28 N::CvSize frame_size; 29 29 Boolean is_color; 30 Boolean isDisposed; 30 31 protected: 32 virtual void Release( void ) override; 33 31 34 internal: 32 35 /// <summary> … … 36 39 ::CvVideoWriter* get(void){ return this->ptr; } 37 40 } 41 38 42 public: 39 43 CvVideoWriter( String^ filename, String^ fourcc, Double fps, N::CvSize frame_size, Boolean is_color ); 40 44 CvVideoWriter( String^ filename, String^ fourcc, Double fps, N::CvSize frame_size ); 41 !CvVideoWriter(void); 42 ~CvVideoWriter(void); 45 43 46 void Close(void); 44 47 Int32 WriteFrame(N::IplImage^ image); 45 48 46 /// <summary>47 /// リソースが解放済みかどうか48 /// </summary>49 property Boolean IsDisposed{50 public: bool get(){ return isDisposed; }51 private: void set(bool value){ isDisposed = value;}52 }53 49 /// <summary> 54 50 /// 出力するビデオファイルの名前を取得する -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/IplConvKernel.cpp
r30899 r30907 22 22 CHECK_NULL(ptr); 23 23 this->Ptr = ptr; 24 this->IsDisposed = false;25 24 } 26 25 /// <summary> … … 36 35 pin_ptr<int> values_ptr = (values != nullptr) ? &values[0] : nullptr; 37 36 this->Ptr = ::cvCreateStructuringElementEx(cols, rows, anchor_x, anchor_y, static_cast<int>(shape), values_ptr); 38 this->IsDisposed = false;39 37 } 40 38 /// <summary> … … 48 46 { 49 47 this->Ptr = ::cvCreateStructuringElementEx(cols, rows, anchor_x, anchor_y, static_cast<int>(shape)); 50 this->IsDisposed = false;51 48 } 52 49 /// <summary> … … 78 75 } 79 76 80 /// <summary>81 /// �t�@�C�i���C�U82 /// </summary>83 IplConvKernel::!IplConvKernel(void)84 {85 if(!isDisposed){86 Release();87 isDisposed = true;88 }89 }90 /// <summary>91 /// ���\�[�X�̉�92 /// </summary>93 IplConvKernel::~IplConvKernel(void)94 {95 if(!isDisposed){96 Release();97 isDisposed = true;98 }99 }100 101 77 }} -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/IplConvKernel.h
r30662 r30907 22 22 /// 膨張・収縮処理で用いる構造要素 23 23 /// </summary> 24 public ref class IplConvKernel : public IDisposable, public ICvObject24 public ref class IplConvKernel : public DisposableObject, public ICvObject 25 25 { 26 26 private: 27 27 bool isDisposed; 28 28 29 protected: 30 virtual void Release( void ) override; 31 29 32 internal: 30 33 property struct _IplConvKernel* Ptr; 31 34 IplConvKernel(__IplConvKernel* ptr); 32 void Release(void);33 34 35 35 36 public: … … 37 38 IplConvKernel(Int32 cols, Int32 rows, Int32 anchor_x, Int32 anchor_y, Shape shape); 38 39 static N::IplConvKernel^ FromPtr( IntPtr ptr ); 39 !IplConvKernel(void);40 ~IplConvKernel(void);41 40 42 41 property Int32 NCols{ Int32 get(){ return Ptr->nCols; } } … … 59 58 Int32 get(void){ return sizeof(*Ptr); } 60 59 } 61 /// <summary>62 /// リソースが解放済みかどうか63 /// </summary>64 property bool IsDisposed{65 public: bool get(){ return isDisposed; }66 protected: void set(bool value){ isDisposed = value;}67 }68 60 69 61 }; -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/IplImage.h
r26101 r30907 39 39 private: 40 40 41 protected: 42 virtual void Release( void ) override; 43 41 44 internal: 42 45 /// <summary> … … 48 51 IplImage(__IplImage* ptr); 49 52 IplImage(__IplImage* ptr, Boolean isEnabledDispose); 50 virtual void Release( void ) override;51 53 52 54 public: -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/OpenCvSharp.vcproj
r30899 r30907 650 650 </File> 651 651 <File 652 RelativePath=".\DisposableObject.h" 653 > 654 </File> 655 <File 652 656 RelativePath=".\Extras.h" 653 657 > -
lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/Stdafx.h
r30778 r30907 20 20 #include <highgui.h> 21 21 #include <windows.h> 22 #include "DisposableObject.h" 22 23 #include "ICvObject.h" 23 24 #include "StringConverter.h"
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)