Mapper.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. 
  2. using OpenCVForUnity.CoreModule;
  3. using OpenCVForUnity.UtilsModule;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Runtime.InteropServices;
  7. namespace OpenCVForUnity.RegModule {
  8. // C++: class Mapper
  9. //javadoc: Mapper
  10. public class Mapper : DisposableOpenCVObject {
  11. protected override void Dispose(bool disposing) {
  12. #if (UNITY_ANDROID && !UNITY_EDITOR)
  13. try {
  14. if (disposing) {
  15. }
  16. if (IsEnabledDispose) {
  17. if (nativeObj != IntPtr.Zero)
  18. reg_Mapper_delete(nativeObj);
  19. nativeObj = IntPtr.Zero;
  20. }
  21. } finally {
  22. base.Dispose(disposing);
  23. }
  24. #else
  25. return;
  26. #endif
  27. }
  28. protected internal Mapper(IntPtr addr)
  29. : base(addr) {
  30. }
  31. public IntPtr getNativeObjAddr() {
  32. return nativeObj;
  33. }
  34. // internal usage only
  35. public static Mapper __fromPtr__(IntPtr addr) {
  36. return new Mapper(addr);
  37. }
  38. //
  39. // C++: Ptr_Map cv::reg::Mapper::calculate(Mat img1, Mat img2, Ptr_Map init = cv::Ptr<Map>())
  40. //
  41. //javadoc: Mapper::calculate(img1, img2, init)
  42. public virtual Map calculate(Mat img1, Mat img2, Map init) {
  43. ThrowIfDisposed();
  44. if (img1 != null)
  45. img1.ThrowIfDisposed();
  46. if (img2 != null)
  47. img2.ThrowIfDisposed();
  48. if (init != null)
  49. init.ThrowIfDisposed();
  50. #if (UNITY_ANDROID && !UNITY_EDITOR)
  51. Map retVal = Map.__fromPtr__(reg_Mapper_calculate_10(nativeObj, img1.nativeObj, img2.nativeObj, init.getNativeObjAddr()));
  52. return retVal;
  53. #else
  54. return null;
  55. #endif
  56. }
  57. //javadoc: Mapper::calculate(img1, img2)
  58. public virtual Map calculate(Mat img1, Mat img2) {
  59. ThrowIfDisposed();
  60. if (img1 != null)
  61. img1.ThrowIfDisposed();
  62. if (img2 != null)
  63. img2.ThrowIfDisposed();
  64. #if (UNITY_ANDROID && !UNITY_EDITOR)
  65. Map retVal = Map.__fromPtr__(reg_Mapper_calculate_11(nativeObj, img1.nativeObj, img2.nativeObj));
  66. return retVal;
  67. #else
  68. return null;
  69. #endif
  70. }
  71. //
  72. // C++: Ptr_Map cv::reg::Mapper::getMap()
  73. //
  74. //javadoc: Mapper::getMap()
  75. public virtual Map getMap() {
  76. ThrowIfDisposed();
  77. #if (UNITY_ANDROID && !UNITY_EDITOR)
  78. Map retVal = Map.__fromPtr__(reg_Mapper_getMap_10(nativeObj));
  79. return retVal;
  80. #else
  81. return null;
  82. #endif
  83. }
  84. #if (UNITY_ANDROID && !UNITY_EDITOR)
  85. const string LIBNAME = "opencvforunity";
  86. // C++: Ptr_Map cv::reg::Mapper::calculate(Mat img1, Mat img2, Ptr_Map init = cv::Ptr<Map>())
  87. [DllImport(LIBNAME)]
  88. private static extern IntPtr reg_Mapper_calculate_10(IntPtr nativeObj, IntPtr img1_nativeObj, IntPtr img2_nativeObj, IntPtr init_nativeObj);
  89. [DllImport(LIBNAME)]
  90. private static extern IntPtr reg_Mapper_calculate_11(IntPtr nativeObj, IntPtr img1_nativeObj, IntPtr img2_nativeObj);
  91. // C++: Ptr_Map cv::reg::Mapper::getMap()
  92. [DllImport(LIBNAME)]
  93. private static extern IntPtr reg_Mapper_getMap_10(IntPtr nativeObj);
  94. // native support for java finalize()
  95. [DllImport(LIBNAME)]
  96. private static extern void reg_Mapper_delete(IntPtr nativeObj);
  97. #endif
  98. }
  99. }