using OpenCVForUnity.CoreModule; using OpenCVForUnity.UtilsModule; using System; using System.Collections.Generic; using System.Runtime.InteropServices; namespace OpenCVForUnity.Calib3dModule { // C++: class StereoMatcher //javadoc: StereoMatcher public class StereoMatcher : Algorithm { protected override void Dispose (bool disposing) { #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER try { if (disposing) { } if (IsEnabledDispose) { if (nativeObj != IntPtr.Zero) calib3d_StereoMatcher_delete(nativeObj); nativeObj = IntPtr.Zero; } } finally { base.Dispose (disposing); } #else return; #endif } protected internal StereoMatcher (IntPtr addr) : base (addr) { } // internal usage only public static new StereoMatcher __fromPtr__ (IntPtr addr) { return new StereoMatcher (addr); } // C++: enum public const int DISP_SHIFT = 4; public const int DISP_SCALE = (1 << DISP_SHIFT); // // C++: int cv::StereoMatcher::getBlockSize() // //javadoc: StereoMatcher::getBlockSize() public int getBlockSize () { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER int retVal = calib3d_StereoMatcher_getBlockSize_10(nativeObj); return retVal; #else return -1; #endif } // // C++: int cv::StereoMatcher::getDisp12MaxDiff() // //javadoc: StereoMatcher::getDisp12MaxDiff() public int getDisp12MaxDiff () { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER int retVal = calib3d_StereoMatcher_getDisp12MaxDiff_10(nativeObj); return retVal; #else return -1; #endif } // // C++: int cv::StereoMatcher::getMinDisparity() // //javadoc: StereoMatcher::getMinDisparity() public int getMinDisparity () { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER int retVal = calib3d_StereoMatcher_getMinDisparity_10(nativeObj); return retVal; #else return -1; #endif } // // C++: int cv::StereoMatcher::getNumDisparities() // //javadoc: StereoMatcher::getNumDisparities() public int getNumDisparities () { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER int retVal = calib3d_StereoMatcher_getNumDisparities_10(nativeObj); return retVal; #else return -1; #endif } // // C++: int cv::StereoMatcher::getSpeckleRange() // //javadoc: StereoMatcher::getSpeckleRange() public int getSpeckleRange () { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER int retVal = calib3d_StereoMatcher_getSpeckleRange_10(nativeObj); return retVal; #else return -1; #endif } // // C++: int cv::StereoMatcher::getSpeckleWindowSize() // //javadoc: StereoMatcher::getSpeckleWindowSize() public int getSpeckleWindowSize () { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER int retVal = calib3d_StereoMatcher_getSpeckleWindowSize_10(nativeObj); return retVal; #else return -1; #endif } // // C++: void cv::StereoMatcher::compute(Mat left, Mat right, Mat& disparity) // //javadoc: StereoMatcher::compute(left, right, disparity) public void compute (Mat left, Mat right, Mat disparity) { ThrowIfDisposed (); if (left != null) left.ThrowIfDisposed (); if (right != null) right.ThrowIfDisposed (); if (disparity != null) disparity.ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER calib3d_StereoMatcher_compute_10(nativeObj, left.nativeObj, right.nativeObj, disparity.nativeObj); return; #else return; #endif } // // C++: void cv::StereoMatcher::setBlockSize(int blockSize) // //javadoc: StereoMatcher::setBlockSize(blockSize) public void setBlockSize (int blockSize) { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER calib3d_StereoMatcher_setBlockSize_10(nativeObj, blockSize); return; #else return; #endif } // // C++: void cv::StereoMatcher::setDisp12MaxDiff(int disp12MaxDiff) // //javadoc: StereoMatcher::setDisp12MaxDiff(disp12MaxDiff) public void setDisp12MaxDiff (int disp12MaxDiff) { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER calib3d_StereoMatcher_setDisp12MaxDiff_10(nativeObj, disp12MaxDiff); return; #else return; #endif } // // C++: void cv::StereoMatcher::setMinDisparity(int minDisparity) // //javadoc: StereoMatcher::setMinDisparity(minDisparity) public void setMinDisparity (int minDisparity) { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER calib3d_StereoMatcher_setMinDisparity_10(nativeObj, minDisparity); return; #else return; #endif } // // C++: void cv::StereoMatcher::setNumDisparities(int numDisparities) // //javadoc: StereoMatcher::setNumDisparities(numDisparities) public void setNumDisparities (int numDisparities) { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER calib3d_StereoMatcher_setNumDisparities_10(nativeObj, numDisparities); return; #else return; #endif } // // C++: void cv::StereoMatcher::setSpeckleRange(int speckleRange) // //javadoc: StereoMatcher::setSpeckleRange(speckleRange) public void setSpeckleRange (int speckleRange) { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER calib3d_StereoMatcher_setSpeckleRange_10(nativeObj, speckleRange); return; #else return; #endif } // // C++: void cv::StereoMatcher::setSpeckleWindowSize(int speckleWindowSize) // //javadoc: StereoMatcher::setSpeckleWindowSize(speckleWindowSize) public void setSpeckleWindowSize (int speckleWindowSize) { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER calib3d_StereoMatcher_setSpeckleWindowSize_10(nativeObj, speckleWindowSize); return; #else return; #endif } #if (UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR const string LIBNAME = "__Internal"; #else const string LIBNAME = "opencvforunity"; #endif // C++: int cv::StereoMatcher::getBlockSize() [DllImport (LIBNAME)] private static extern int calib3d_StereoMatcher_getBlockSize_10 (IntPtr nativeObj); // C++: int cv::StereoMatcher::getDisp12MaxDiff() [DllImport (LIBNAME)] private static extern int calib3d_StereoMatcher_getDisp12MaxDiff_10 (IntPtr nativeObj); // C++: int cv::StereoMatcher::getMinDisparity() [DllImport (LIBNAME)] private static extern int calib3d_StereoMatcher_getMinDisparity_10 (IntPtr nativeObj); // C++: int cv::StereoMatcher::getNumDisparities() [DllImport (LIBNAME)] private static extern int calib3d_StereoMatcher_getNumDisparities_10 (IntPtr nativeObj); // C++: int cv::StereoMatcher::getSpeckleRange() [DllImport (LIBNAME)] private static extern int calib3d_StereoMatcher_getSpeckleRange_10 (IntPtr nativeObj); // C++: int cv::StereoMatcher::getSpeckleWindowSize() [DllImport (LIBNAME)] private static extern int calib3d_StereoMatcher_getSpeckleWindowSize_10 (IntPtr nativeObj); // C++: void cv::StereoMatcher::compute(Mat left, Mat right, Mat& disparity) [DllImport (LIBNAME)] private static extern void calib3d_StereoMatcher_compute_10 (IntPtr nativeObj, IntPtr left_nativeObj, IntPtr right_nativeObj, IntPtr disparity_nativeObj); // C++: void cv::StereoMatcher::setBlockSize(int blockSize) [DllImport (LIBNAME)] private static extern void calib3d_StereoMatcher_setBlockSize_10 (IntPtr nativeObj, int blockSize); // C++: void cv::StereoMatcher::setDisp12MaxDiff(int disp12MaxDiff) [DllImport (LIBNAME)] private static extern void calib3d_StereoMatcher_setDisp12MaxDiff_10 (IntPtr nativeObj, int disp12MaxDiff); // C++: void cv::StereoMatcher::setMinDisparity(int minDisparity) [DllImport (LIBNAME)] private static extern void calib3d_StereoMatcher_setMinDisparity_10 (IntPtr nativeObj, int minDisparity); // C++: void cv::StereoMatcher::setNumDisparities(int numDisparities) [DllImport (LIBNAME)] private static extern void calib3d_StereoMatcher_setNumDisparities_10 (IntPtr nativeObj, int numDisparities); // C++: void cv::StereoMatcher::setSpeckleRange(int speckleRange) [DllImport (LIBNAME)] private static extern void calib3d_StereoMatcher_setSpeckleRange_10 (IntPtr nativeObj, int speckleRange); // C++: void cv::StereoMatcher::setSpeckleWindowSize(int speckleWindowSize) [DllImport (LIBNAME)] private static extern void calib3d_StereoMatcher_setSpeckleWindowSize_10 (IntPtr nativeObj, int speckleWindowSize); // native support for java finalize() [DllImport (LIBNAME)] private static extern void calib3d_StereoMatcher_delete (IntPtr nativeObj); } }