using OpenCVForUnity.CoreModule; using OpenCVForUnity.UtilsModule; using System; using System.Collections.Generic; using System.Runtime.InteropServices; namespace OpenCVForUnity.Calib3dModule { // C++: class StereoBM //javadoc: StereoBM public class StereoBM : StereoMatcher { 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_StereoBM_delete(nativeObj); nativeObj = IntPtr.Zero; } } finally { base.Dispose (disposing); } #else return; #endif } protected internal StereoBM (IntPtr addr) : base (addr) { } // internal usage only public static new StereoBM __fromPtr__ (IntPtr addr) { return new StereoBM (addr); } // C++: enum public const int PREFILTER_NORMALIZED_RESPONSE = 0; public const int PREFILTER_XSOBEL = 1; // // C++: static Ptr_StereoBM cv::StereoBM::create(int numDisparities = 0, int blockSize = 21) // //javadoc: StereoBM::create(numDisparities, blockSize) public static StereoBM create (int numDisparities, int blockSize) { #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER StereoBM retVal = StereoBM.__fromPtr__(calib3d_StereoBM_create_10(numDisparities, blockSize)); return retVal; #else return null; #endif } //javadoc: StereoBM::create(numDisparities) public static StereoBM create (int numDisparities) { #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER StereoBM retVal = StereoBM.__fromPtr__(calib3d_StereoBM_create_11(numDisparities)); return retVal; #else return null; #endif } //javadoc: StereoBM::create() public static StereoBM create () { #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER StereoBM retVal = StereoBM.__fromPtr__(calib3d_StereoBM_create_12()); return retVal; #else return null; #endif } // // C++: Rect cv::StereoBM::getROI1() // //javadoc: StereoBM::getROI1() public Rect getROI1 () { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER double[] tmpArray = new double[4]; calib3d_StereoBM_getROI1_10(nativeObj, tmpArray); Rect retVal = new Rect (tmpArray); return retVal; #else return null; #endif } // // C++: Rect cv::StereoBM::getROI2() // //javadoc: StereoBM::getROI2() public Rect getROI2 () { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER double[] tmpArray = new double[4]; calib3d_StereoBM_getROI2_10(nativeObj, tmpArray); Rect retVal = new Rect (tmpArray); return retVal; #else return null; #endif } // // C++: int cv::StereoBM::getPreFilterCap() // //javadoc: StereoBM::getPreFilterCap() public int getPreFilterCap () { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER int retVal = calib3d_StereoBM_getPreFilterCap_10(nativeObj); return retVal; #else return -1; #endif } // // C++: int cv::StereoBM::getPreFilterSize() // //javadoc: StereoBM::getPreFilterSize() public int getPreFilterSize () { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER int retVal = calib3d_StereoBM_getPreFilterSize_10(nativeObj); return retVal; #else return -1; #endif } // // C++: int cv::StereoBM::getPreFilterType() // //javadoc: StereoBM::getPreFilterType() public int getPreFilterType () { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER int retVal = calib3d_StereoBM_getPreFilterType_10(nativeObj); return retVal; #else return -1; #endif } // // C++: int cv::StereoBM::getSmallerBlockSize() // //javadoc: StereoBM::getSmallerBlockSize() public int getSmallerBlockSize () { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER int retVal = calib3d_StereoBM_getSmallerBlockSize_10(nativeObj); return retVal; #else return -1; #endif } // // C++: int cv::StereoBM::getTextureThreshold() // //javadoc: StereoBM::getTextureThreshold() public int getTextureThreshold () { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER int retVal = calib3d_StereoBM_getTextureThreshold_10(nativeObj); return retVal; #else return -1; #endif } // // C++: int cv::StereoBM::getUniquenessRatio() // //javadoc: StereoBM::getUniquenessRatio() public int getUniquenessRatio () { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER int retVal = calib3d_StereoBM_getUniquenessRatio_10(nativeObj); return retVal; #else return -1; #endif } // // C++: void cv::StereoBM::setPreFilterCap(int preFilterCap) // //javadoc: StereoBM::setPreFilterCap(preFilterCap) public void setPreFilterCap (int preFilterCap) { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER calib3d_StereoBM_setPreFilterCap_10(nativeObj, preFilterCap); return; #else return; #endif } // // C++: void cv::StereoBM::setPreFilterSize(int preFilterSize) // //javadoc: StereoBM::setPreFilterSize(preFilterSize) public void setPreFilterSize (int preFilterSize) { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER calib3d_StereoBM_setPreFilterSize_10(nativeObj, preFilterSize); return; #else return; #endif } // // C++: void cv::StereoBM::setPreFilterType(int preFilterType) // //javadoc: StereoBM::setPreFilterType(preFilterType) public void setPreFilterType (int preFilterType) { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER calib3d_StereoBM_setPreFilterType_10(nativeObj, preFilterType); return; #else return; #endif } // // C++: void cv::StereoBM::setROI1(Rect roi1) // //javadoc: StereoBM::setROI1(roi1) public void setROI1 (Rect roi1) { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER calib3d_StereoBM_setROI1_10(nativeObj, roi1.x, roi1.y, roi1.width, roi1.height); return; #else return; #endif } // // C++: void cv::StereoBM::setROI2(Rect roi2) // //javadoc: StereoBM::setROI2(roi2) public void setROI2 (Rect roi2) { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER calib3d_StereoBM_setROI2_10(nativeObj, roi2.x, roi2.y, roi2.width, roi2.height); return; #else return; #endif } // // C++: void cv::StereoBM::setSmallerBlockSize(int blockSize) // //javadoc: StereoBM::setSmallerBlockSize(blockSize) public void setSmallerBlockSize (int blockSize) { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER calib3d_StereoBM_setSmallerBlockSize_10(nativeObj, blockSize); return; #else return; #endif } // // C++: void cv::StereoBM::setTextureThreshold(int textureThreshold) // //javadoc: StereoBM::setTextureThreshold(textureThreshold) public void setTextureThreshold (int textureThreshold) { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER calib3d_StereoBM_setTextureThreshold_10(nativeObj, textureThreshold); return; #else return; #endif } // // C++: void cv::StereoBM::setUniquenessRatio(int uniquenessRatio) // //javadoc: StereoBM::setUniquenessRatio(uniquenessRatio) public void setUniquenessRatio (int uniquenessRatio) { ThrowIfDisposed (); #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER calib3d_StereoBM_setUniquenessRatio_10(nativeObj, uniquenessRatio); return; #else return; #endif } #if (UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR const string LIBNAME = "__Internal"; #else const string LIBNAME = "opencvforunity"; #endif // C++: static Ptr_StereoBM cv::StereoBM::create(int numDisparities = 0, int blockSize = 21) [DllImport (LIBNAME)] private static extern IntPtr calib3d_StereoBM_create_10 (int numDisparities, int blockSize); [DllImport (LIBNAME)] private static extern IntPtr calib3d_StereoBM_create_11 (int numDisparities); [DllImport (LIBNAME)] private static extern IntPtr calib3d_StereoBM_create_12 (); // C++: Rect cv::StereoBM::getROI1() [DllImport (LIBNAME)] private static extern void calib3d_StereoBM_getROI1_10 (IntPtr nativeObj, double[] retVal); // C++: Rect cv::StereoBM::getROI2() [DllImport (LIBNAME)] private static extern void calib3d_StereoBM_getROI2_10 (IntPtr nativeObj, double[] retVal); // C++: int cv::StereoBM::getPreFilterCap() [DllImport (LIBNAME)] private static extern int calib3d_StereoBM_getPreFilterCap_10 (IntPtr nativeObj); // C++: int cv::StereoBM::getPreFilterSize() [DllImport (LIBNAME)] private static extern int calib3d_StereoBM_getPreFilterSize_10 (IntPtr nativeObj); // C++: int cv::StereoBM::getPreFilterType() [DllImport (LIBNAME)] private static extern int calib3d_StereoBM_getPreFilterType_10 (IntPtr nativeObj); // C++: int cv::StereoBM::getSmallerBlockSize() [DllImport (LIBNAME)] private static extern int calib3d_StereoBM_getSmallerBlockSize_10 (IntPtr nativeObj); // C++: int cv::StereoBM::getTextureThreshold() [DllImport (LIBNAME)] private static extern int calib3d_StereoBM_getTextureThreshold_10 (IntPtr nativeObj); // C++: int cv::StereoBM::getUniquenessRatio() [DllImport (LIBNAME)] private static extern int calib3d_StereoBM_getUniquenessRatio_10 (IntPtr nativeObj); // C++: void cv::StereoBM::setPreFilterCap(int preFilterCap) [DllImport (LIBNAME)] private static extern void calib3d_StereoBM_setPreFilterCap_10 (IntPtr nativeObj, int preFilterCap); // C++: void cv::StereoBM::setPreFilterSize(int preFilterSize) [DllImport (LIBNAME)] private static extern void calib3d_StereoBM_setPreFilterSize_10 (IntPtr nativeObj, int preFilterSize); // C++: void cv::StereoBM::setPreFilterType(int preFilterType) [DllImport (LIBNAME)] private static extern void calib3d_StereoBM_setPreFilterType_10 (IntPtr nativeObj, int preFilterType); // C++: void cv::StereoBM::setROI1(Rect roi1) [DllImport (LIBNAME)] private static extern void calib3d_StereoBM_setROI1_10 (IntPtr nativeObj, int roi1_x, int roi1_y, int roi1_width, int roi1_height); // C++: void cv::StereoBM::setROI2(Rect roi2) [DllImport (LIBNAME)] private static extern void calib3d_StereoBM_setROI2_10 (IntPtr nativeObj, int roi2_x, int roi2_y, int roi2_width, int roi2_height); // C++: void cv::StereoBM::setSmallerBlockSize(int blockSize) [DllImport (LIBNAME)] private static extern void calib3d_StereoBM_setSmallerBlockSize_10 (IntPtr nativeObj, int blockSize); // C++: void cv::StereoBM::setTextureThreshold(int textureThreshold) [DllImport (LIBNAME)] private static extern void calib3d_StereoBM_setTextureThreshold_10 (IntPtr nativeObj, int textureThreshold); // C++: void cv::StereoBM::setUniquenessRatio(int uniquenessRatio) [DllImport (LIBNAME)] private static extern void calib3d_StereoBM_setUniquenessRatio_10 (IntPtr nativeObj, int uniquenessRatio); // native support for java finalize() [DllImport (LIBNAME)] private static extern void calib3d_StereoBM_delete (IntPtr nativeObj); } }