IMP logo
IMP Reference Guide  develop.63b38c487d,2024/12/26
The Integrative Modeling Platform
IMP::multifit::GeometricHash< T, D > Class Template Reference

Geometric Hash table. More...

#include <IMP/multifit/GeometricHash.h>

Detailed Description

template<typename T, size_t D>
class IMP::multifit::GeometricHash< T, D >

Geometric Hash table.

GeometricHash<T, D> stores values of type T with D-dimensional points whose coordinates are of type double inside D-dimensional buckets (cubes)

Definition at line 26 of file GeometricHash.h.

Public Types

typedef std::array< int, D > Bucket
 
typedef std::vector< Bucket > BucketList
 
typedef GeomMap::const_iterator const_iterator
 
enum  Distance { INF, EUCLIDEAN }
 
typedef std::map< const Bucket,
PointList > 
GeomMap
 
typedef std::vector< const
ValueType * > 
HashResult
 
typedef IMP::Vector< T > HashResultT
 
typedef GeomMap::iterator iterator
 
typedef algebra::VectorD< D > Point
 
typedef std::vector< ValueType > PointList
 
typedef std::pair< Point, T > ValueType
 

Public Member Functions

 GeometricHash (double radius=1)
 
template<typename X >
 GeometricHash (const X &radii)
 
 GeometricHash (const algebra::VectorD< D > &radii)
 
void add (const Point &pt, const T &data)
 
template<typename X >
void add (const X &coordinates, const T &data)
 
iterator begin ()
 
const_iterator begin () const
 
PointList const * bucket (const Point &pt) const
 
void clear ()
 Remove all data from the hash map. More...
 
iterator end ()
 
const_iterator end () const
 
BucketList get_buckets () const
 Return vector of buckets. More...
 
GeomMap const & Map () const
 Return the hash map. More...
 
HashResult neighbors (Distance dt, const Point &center, double radius) const
 
template<typename X >
HashResult neighbors (Distance dt, const X &center_coordinates, double radius) const
 
void neighbors (Distance dt, const Point &center, double radius, HashResultT &values)
 
template<typename X >
HashResult neighbors (const Point &center, const X &radii) const
 
HashResult neighbors (const Point &center)
 
template<typename X >
HashResult neighbors (const X &center_coordinates)
 
HashResultT neighbors_data (Distance dt, const Point &center, double radius) const
 
double resolution (int axis=0) const
 

Member Function Documentation

template<typename T , size_t D>
void IMP::multifit::GeometricHash< T, D >::clear ( )

Remove all data from the hash map.

Definition at line 156 of file GeometricHash.h.

template<typename T , size_t D>
BucketList IMP::multifit::GeometricHash< T, D >::get_buckets ( ) const

Return vector of buckets.

Definition at line 147 of file GeometricHash.h.

template<typename T , size_t D>
GeomMap const& IMP::multifit::GeometricHash< T, D >::Map ( ) const

Return the hash map.

Definition at line 136 of file GeometricHash.h.


The documentation for this class was generated from the following file: