StructuredLightPattern.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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.Structured_lightModule {
  8. // C++: class StructuredLightPattern
  9. //javadoc: StructuredLightPattern
  10. public class StructuredLightPattern : Algorithm {
  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. structured_1light_StructuredLightPattern_delete(nativeObj);
  19. nativeObj = IntPtr.Zero;
  20. }
  21. } finally {
  22. base.Dispose(disposing);
  23. }
  24. #else
  25. return;
  26. #endif
  27. }
  28. protected internal StructuredLightPattern(IntPtr addr) : base(addr) { }
  29. // internal usage only
  30. public static new StructuredLightPattern __fromPtr__(IntPtr addr) { return new StructuredLightPattern(addr); }
  31. //
  32. // C++: bool cv::structured_light::StructuredLightPattern::decode(vector_vector_Mat patternImages, Mat& disparityMap, vector_Mat blackImages = vector_Mat(), vector_Mat whiteImages = vector_Mat(), int flags = DECODE_3D_UNDERWORLD)
  33. //
  34. // Unknown type 'vector_vector_Mat' (I), skipping the function
  35. //
  36. // C++: bool cv::structured_light::StructuredLightPattern::generate(vector_Mat& patternImages)
  37. //
  38. //javadoc: StructuredLightPattern::generate(patternImages)
  39. public bool generate(List<Mat> patternImages) {
  40. ThrowIfDisposed();
  41. #if (UNITY_ANDROID && !UNITY_EDITOR)
  42. Mat patternImages_mat = new Mat();
  43. bool retVal = structured_1light_StructuredLightPattern_generate_10(nativeObj, patternImages_mat.nativeObj);
  44. Converters.Mat_to_vector_Mat(patternImages_mat, patternImages);
  45. patternImages_mat.release();
  46. return retVal;
  47. #else
  48. return false;
  49. #endif
  50. }
  51. #if (UNITY_ANDROID && !UNITY_EDITOR)
  52. const string LIBNAME = "opencvforunity";
  53. // C++: bool cv::structured_light::StructuredLightPattern::generate(vector_Mat& patternImages)
  54. [DllImport(LIBNAME)]
  55. private static extern bool structured_1light_StructuredLightPattern_generate_10(IntPtr nativeObj, IntPtr patternImages_mat_nativeObj);
  56. // native support for java finalize()
  57. [DllImport(LIBNAME)]
  58. private static extern void structured_1light_StructuredLightPattern_delete(IntPtr nativeObj);
  59. #endif
  60. }
  61. }