Replace FLANNException by CV_Error.
authorVincent Rabaud <vrabaud@google.com>
Sat, 17 Oct 2020 02:39:05 +0000 (04:39 +0200)
committerVincent Rabaud <vrabaud@google.com>
Sun, 20 Dec 2020 13:17:28 +0000 (14:17 +0100)
18 files changed:
modules/flann/include/opencv2/flann/all_indices.h
modules/flann/include/opencv2/flann/autotuned_index.h
modules/flann/include/opencv2/flann/composite_index.h
modules/flann/include/opencv2/flann/flann_base.hpp
modules/flann/include/opencv2/flann/general.h
modules/flann/include/opencv2/flann/hierarchical_clustering_index.h
modules/flann/include/opencv2/flann/index_testing.h
modules/flann/include/opencv2/flann/kdtree_index.h
modules/flann/include/opencv2/flann/kdtree_single_index.h
modules/flann/include/opencv2/flann/kmeans_index.h
modules/flann/include/opencv2/flann/linear_index.h
modules/flann/include/opencv2/flann/lsh_index.h
modules/flann/include/opencv2/flann/matrix.h
modules/flann/include/opencv2/flann/nn_index.h
modules/flann/include/opencv2/flann/params.h
modules/flann/include/opencv2/flann/random.h
modules/flann/include/opencv2/flann/saving.h
modules/flann/src/precomp.hpp

index 2de18af..03877ab 100644 (file)
@@ -82,7 +82,7 @@ struct index_creator
             nnIndex = new LshIndex<Distance>(dataset, params, distance);
             break;
         default:
-            throw FLANNException("Unknown index type");
+            FLANN_THROW(cv::Error::StsBadArg, "Unknown index type");
         }
 
         return nnIndex;
@@ -111,7 +111,7 @@ struct index_creator<False,VectorSpace,Distance>
             nnIndex = new LshIndex<Distance>(dataset, params, distance);
             break;
         default:
-            throw FLANNException("Unknown index type");
+            FLANN_THROW(cv::Error::StsBadArg, "Unknown index type");
         }
 
         return nnIndex;
@@ -140,7 +140,7 @@ struct index_creator<False,False,Distance>
             nnIndex = new LshIndex<Distance>(dataset, params, distance);
             break;
         default:
-            throw FLANNException("Unknown index type");
+            FLANN_THROW(cv::Error::StsBadArg, "Unknown index type");
         }
 
         return nnIndex;
index 54a60a7..d90f739 100644 (file)
@@ -34,7 +34,6 @@
 
 #include <sstream>
 
-#include "general.h"
 #include "nn_index.h"
 #include "ground_truth.h"
 #include "index_testing.h"
index bcf0827..f1af41a 100644 (file)
@@ -33,7 +33,6 @@
 
 //! @cond IGNORED
 
-#include "general.h"
 #include "nn_index.h"
 #include "kdtree_index.h"
 #include "kmeans_index.h"
index 0f23930..258ec38 100644 (file)
@@ -82,11 +82,11 @@ NNIndex<Distance>* load_saved_index(const Matrix<typename Distance::ElementType>
     IndexHeader header = load_header(fin);
     if (header.data_type != Datatype<ElementType>::type()) {
         fclose(fin);
-        throw FLANNException("Datatype of saved index is different than of the one to be created.");
+        FLANN_THROW(cv::Error::StsError, "Datatype of saved index is different than of the one to be created.");
     }
     if ((size_t(header.rows) != dataset.rows)||(size_t(header.cols) != dataset.cols)) {
         fclose(fin);
-        throw FLANNException("The index saved belongs to a different dataset");
+        FLANN_THROW(cv::Error::StsError, "The index saved belongs to a different dataset");
     }
 
     IndexParams params;
@@ -140,7 +140,7 @@ public:
     {
         FILE* fout = fopen(filename.c_str(), "wb");
         if (fout == NULL) {
-            throw FLANNException("Cannot open file");
+            FLANN_THROW(cv::Error::StsError, "Cannot open file");
         }
         save_header(fout, *nnIndex_);
         saveIndex(fout);
index ac848d6..29fa8be 100644 (file)
@@ -31,6 +31,8 @@
 #ifndef OPENCV_FLANN_GENERAL_H_
 #define OPENCV_FLANN_GENERAL_H_
 
+#if CV_VERSION_MAJOR <= 4
+
 //! @cond IGNORED
 
 #include "opencv2/core.hpp"
@@ -48,6 +50,14 @@ public:
 
 }
 
+#define FLANN_THROW(TYPE, STR) throw FLANNException(STR)
+
+#else
+
+#define FLANN_THROW(TYPE, STR) CV_Error(TYPE, STR)
+
+#endif
+
 //! @endcond
 
 #endif  /* OPENCV_FLANN_GENERAL_H_ */
index 78ac401..7085d69 100644 (file)
@@ -382,7 +382,7 @@ public:
             chooseCenters = &HierarchicalClusteringIndex::GroupWiseCenterChooser;
         }
         else {
-            throw FLANNException("Unknown algorithm for choosing initial centers.");
+            FLANN_THROW(cv::Error::StsError, "Unknown algorithm for choosing initial centers.");
         }
 
         root = new NodePtr[trees_];
@@ -446,7 +446,7 @@ public:
     void buildIndex() CV_OVERRIDE
     {
         if (branching_<2) {
-            throw FLANNException("Branching factor must be at least 2");
+            FLANN_THROW(cv::Error::StsError, "Branching factor must be at least 2");
         }
 
         free_indices();
index f3d1475..207adef 100644 (file)
@@ -93,7 +93,7 @@ float search_with_ground_truth(NNIndex<Distance>& index, const Matrix<typename D
     if (matches.cols<size_t(nn)) {
         Logger::info("matches.cols=%d, nn=%d\n",matches.cols,nn);
 
-        throw FLANNException("Ground truth is not computed for as many neighbors as requested");
+        FLANN_THROW(cv::Error::StsError, "Ground truth is not computed for as many neighbors as requested");
     }
 
     KNNResultSet<DistanceType> resultSet(nn+skipMatches);
index acc87a3..ea3550a 100644 (file)
@@ -37,7 +37,6 @@
 #include <map>
 #include <cstring>
 
-#include "general.h"
 #include "nn_index.h"
 #include "dynamic_bitset.h"
 #include "matrix.h"
index e571403..ed95c3d 100644 (file)
@@ -37,7 +37,6 @@
 #include <map>
 #include <cstring>
 
-#include "general.h"
 #include "nn_index.h"
 #include "matrix.h"
 #include "result_set.h"
index 6f63629..10b272d 100644 (file)
@@ -381,7 +381,7 @@ public:
             chooseCenters = &KMeansIndex::chooseCentersKMeanspp;
         }
         else {
-            throw FLANNException("Unknown algorithm for choosing initial centers.");
+            FLANN_THROW(cv::Error::StsBadArg, "Unknown algorithm for choosing initial centers.");
         }
         cb_index_ = 0.4f;
 
@@ -453,7 +453,7 @@ public:
     void buildIndex() CV_OVERRIDE
     {
         if (branching_<2) {
-            throw FLANNException("Branching factor must be at least 2");
+            FLANN_THROW(cv::Error::StsError, "Branching factor must be at least 2");
         }
 
         free_indices();
@@ -570,7 +570,7 @@ public:
     {
         int numClusters = centers.rows;
         if (numClusters<1) {
-            throw FLANNException("Number of clusters must be at least 1");
+            FLANN_THROW(cv::Error::StsBadArg, "Number of clusters must be at least 1");
         }
 
         DistanceType variance;
index 8a0f10f..6428c0d 100644 (file)
@@ -33,7 +33,6 @@
 
 //! @cond IGNORED
 
-#include "general.h"
 #include "nn_index.h"
 
 namespace cvflann
index 9ac3013..9ff86b8 100644 (file)
@@ -42,7 +42,6 @@
 #include <map>
 #include <vector>
 
-#include "general.h"
 #include "nn_index.h"
 #include "matrix.h"
 #include "result_set.h"
index 34893b7..fb871bd 100644 (file)
@@ -35,8 +35,6 @@
 
 #include <stdio.h>
 
-#include "general.h"
-
 namespace cvflann
 {
 
index fbb4c79..f6e17d1 100644 (file)
@@ -31,7 +31,6 @@
 #ifndef OPENCV_FLANN_NNINDEX_H
 #define OPENCV_FLANN_NNINDEX_H
 
-#include "general.h"
 #include "matrix.h"
 #include "result_set.h"
 #include "params.h"
index b8f7331..a7920d0 100644 (file)
@@ -77,7 +77,7 @@ T get_param(const IndexParams& params, cv::String name)
         return it->second.cast<T>();
     }
     else {
-        throw FLANNException(cv::String("Missing parameter '")+name+cv::String("' in the parameters given"));
+        FLANN_THROW(cv::Error::StsBadArg, cv::String("Missing parameter '")+name+cv::String("' in the parameters given"));
     }
 }
 
index 3bb48b6..2c1809c 100644 (file)
@@ -37,8 +37,6 @@
 #include <cstdlib>
 #include <vector>
 
-#include "general.h"
-
 namespace cvflann
 {
 
index 53359b4..8b3aeb7 100644 (file)
@@ -112,11 +112,11 @@ inline IndexHeader load_header(FILE* stream)
     size_t read_size = fread(&header,sizeof(header),1,stream);
 
     if (read_size!=(size_t)1) {
-        throw FLANNException("Invalid index file, cannot read");
+        FLANN_THROW(cv::Error::StsError, "Invalid index file, cannot read");
     }
 
     if (strcmp(header.signature,FLANN_SIGNATURE_)!=0) {
-        throw FLANNException("Invalid index file, wrong signature");
+        FLANN_THROW(cv::Error::StsError, "Invalid index file, wrong signature");
     }
 
     return header;
@@ -150,7 +150,7 @@ void load_value(FILE* stream, T& value, size_t count = 1)
 {
     size_t read_cnt = fread(&value, sizeof(value), count, stream);
     if (read_cnt != count) {
-        throw FLANNException("Cannot read from file");
+        FLANN_THROW(cv::Error::StsParseError, "Cannot read from file");
     }
 }
 
@@ -159,12 +159,12 @@ void load_value(FILE* stream, cvflann::Matrix<T>& value)
 {
     size_t read_cnt = fread(&value, sizeof(value), 1, stream);
     if (read_cnt != 1) {
-        throw FLANNException("Cannot read from file");
+        FLANN_THROW(cv::Error::StsParseError, "Cannot read from file");
     }
     value.data = new T[value.rows*value.cols];
     read_cnt = fread(value.data, sizeof(T), value.rows*value.cols, stream);
     if (read_cnt != (size_t)(value.rows*value.cols)) {
-        throw FLANNException("Cannot read from file");
+        FLANN_THROW(cv::Error::StsParseError, "Cannot read from file");
     }
 }
 
@@ -175,12 +175,12 @@ void load_value(FILE* stream, std::vector<T>& value)
     size_t size;
     size_t read_cnt = fread(&size, sizeof(size_t), 1, stream);
     if (read_cnt!=1) {
-        throw FLANNException("Cannot read from file");
+        FLANN_THROW(cv::Error::StsError, "Cannot read from file");
     }
     value.resize(size);
     read_cnt = fread(&value[0], sizeof(T), size, stream);
     if (read_cnt != size) {
-        throw FLANNException("Cannot read from file");
+        FLANN_THROW(cv::Error::StsError, "Cannot read from file");
     }
 }
 
index 099a6ab..66de0c1 100644 (file)
@@ -13,7 +13,6 @@
 #include "opencv2/flann/index_testing.h"
 #include "opencv2/flann/params.h"
 #include "opencv2/flann/saving.h"
-#include "opencv2/flann/general.h"
 
 // index types
 #include "opencv2/flann/all_indices.h"