//
        // C++: static javaDescriptorMatcher* create(int matcherType)
        //

        //javadoc: javaDescriptorMatcher::create(matcherType)
        public static DescriptorMatcher create(int matcherType)
        {
#if UNITY_PRO_LICENSE || ((UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR) || UNITY_5
            DescriptorMatcher retVal = new DescriptorMatcher(features2d_DescriptorMatcher_create_10(matcherType));

            return(retVal);
#else
            return(null);
#endif
        }
        //
        // C++: static Ptr_DescriptorMatcher cv::DescriptorMatcher::create(String descriptorMatcherType)
        //

        //javadoc: DescriptorMatcher::create(descriptorMatcherType)
        public static DescriptorMatcher create(string descriptorMatcherType)
        {
#if UNITY_PRO_LICENSE || ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
            DescriptorMatcher retVal = DescriptorMatcher.__fromPtr__(features2d_DescriptorMatcher_create_10(descriptorMatcherType));

            return(retVal);
#else
            return(null);
#endif
        }
        //javadoc: javaDescriptorMatcher::jclone()
        public DescriptorMatcher clone()
        {
            ThrowIfDisposed();
#if UNITY_PRO_LICENSE || ((UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR) || UNITY_5
            DescriptorMatcher retVal = new DescriptorMatcher(features2d_DescriptorMatcher_clone_11(nativeObj));

            return(retVal);
#else
            return(null);
#endif
        }
        //javadoc: DescriptorMatcher::clone()
        public DescriptorMatcher clone()
        {
            ThrowIfDisposed();
#if UNITY_PRO_LICENSE || ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
            DescriptorMatcher retVal = DescriptorMatcher.__fromPtr__(features2d_DescriptorMatcher_clone_11(nativeObj));

            return(retVal);
#else
            return(null);
#endif
        }