31 #ifndef FLANN_LINEAR_INDEX_H_
32 #define FLANN_LINEAR_INDEX_H_
48 template <
typename Distance>
105 template<
typename Archive>
112 if (Archive::is_loading::value) {
132 for (
size_t i = 0; i <
points_.size(); ++i) {
139 for (
size_t i = 0; i <
points_.size(); ++i) {
double Distance(const Point3D< Real > &p1, const Point3D< Real > &p2)
cmdLineReadable * params[]
bool test(size_t index) const
void addPoints(const Matrix< ElementType > &points, float rebuild_threshold=2)
Incrementally add points to the index.
Distance::ElementType ElementType
flann_algorithm_t getType() const
NNIndex< Distance > BaseClass
void saveIndex(FILE *stream)
LinearIndex & operator=(LinearIndex other)
Distance::ResultType DistanceType
LinearIndex(const Matrix< ElementType > &input_data, const IndexParams ¶ms=LinearIndexParams(), Distance d=Distance())
LinearIndex(const LinearIndex &other)
void findNeighbors(ResultSet< DistanceType > &resultSet, const ElementType *vec, const SearchParams &) const
void loadIndex(FILE *stream)
void serialize(Archive &ar)
LinearIndex(const IndexParams ¶ms=LinearIndexParams(), Distance d=Distance())
BaseClass * clone() const
std::vector< ElementType * > points_
void swap(NNIndex &other)
DynamicBitset removed_points_
void setDataset(const Matrix< ElementType > &dataset)
void extendDataset(const Matrix< ElementType > &new_points)
IndexParams index_params_
virtual void addPoint(DistanceType dist, size_t index)=0
static double dist(double x1, double y1, double x2, double y2)
std::map< std::string, any > IndexParams
#define USING_BASECLASS_SYMBOLS