class cv::flann::Index

#include <miniflann.hpp>

class Index
{
public:
    // construction

    Index();

    Index(
        InputArray features,
        const IndexParams& params,
        cvflann::flann_distance_t distType = cvflann::FLANN_DIST_L2
        );

    // methods

    virtual
    void
    build(
        InputArray features,
        const IndexParams& params,
        cvflann::flann_distance_t distType = cvflann::FLANN_DIST_L2
        );

    cvflann::flann_algorithm_t
    getAlgorithm() const;

    cvflann::flann_distance_t
    getDistance() const;

    virtual
    void
    knnSearch(
        InputArray query,
        OutputArray indices,
        OutputArray dists,
        int knn,
        const SearchParams& params = SearchParams()
        );

    virtual
    bool
    load(
        InputArray features,
        const String& filename
        );

    virtual
    int
    radiusSearch(
        InputArray query,
        OutputArray indices,
        OutputArray dists,
        double radius,
        int maxResults,
        const SearchParams& params = SearchParams()
        );

    virtual
    void
    release();

    virtual
    void
    save(const String& filename) const;

protected:
    // fields

    cvflann::flann_algorithm_t algo;
    cvflann::flann_distance_t distType;
    int featureType;
    void* index;
};