Rosetta
Namespaces | Typedefs | Enumerations | Functions
find_neighbors.fwd.hh File Reference
#include <core/types.hh>
#include <utility/graph/UpperEdgeGraph.fwd.hh>
#include <utility/vector1.fwd.hh>
#include <utility/pointer/owning_ptr.hh>
#include <numeric/xyzTriple.fwd.hh>

Namespaces

 core
 A class for reading in the atom type properties.
 
 core::conformation
 

Typedefs

typedef numeric::xyzTriple< core::Sizecore::conformation::CubeKey
 
typedef numeric::xyzVector< core::Realcore::conformation::PointPosition
 

Enumerations

enum  core::conformation::Strategy {
  core::conformation::NAIVE , core::conformation::AUTOMATIC , core::conformation::OCTREE , core::conformation::THREEDGRID ,
  core::conformation::STRIPEHASH
}
 

Functions

template<class Vertex , class Edge >
void core::conformation::find_neighbors_naive (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff)
 
template<class Vertex , class Edge >
void core::conformation::find_neighbors_octree (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff, Strategy strategy)
 Finds the residue neighbors efficiently using an octree-like spatial sort. More...
 
template<class Vertex , class Edge >
void core::conformation::find_neighbors_3dgrid (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff)
 Create a 3D grid of points. O(N^3). For "spherical" conformations, Theta(N). Speeds neighbor detection in abinitio by a factor of 2. Definition: Spherical = span of x,y and z all O(N**1/3). Note circularity. Adendum: if the 3D grid used a list of point indices instead of a vector, then this would be Theta(N) for spherical conformations; however, with a vector, this is O(NlgN). With the additional assumption that each cube contains O(1) points, then this implementation is O(N). Such an assumption is unneccessary in the list implementation. More...
 
template<class Vertex , class Edge >
void core::conformation::find_neighbors_naive_restricted (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff, utility::vector1< bool > const &residue_selection)
 
template<class Vertex , class Edge >
void core::conformation::find_neighbors_octree_restricted (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff, utility::vector1< bool > const &residue_selection, Strategy strategy)
 Finds the residue neighbors efficiently using an octree-like spatial sort. More...
 
template<class Vertex , class Edge >
void core::conformation::find_neighbors_3dgrid_restricted (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff, utility::vector1< bool > const &residue_selection)
 Create a 3D grid of points. O(N^3). For "spherical" conformations, Theta(N). Speeds neighbor detection in abinitio by a factor of 2. Definition: Spherical = span of x,y and z all O(N**1/3). Note circularity. Adendum: if the 3D grid used a list of point indices instead of a vector, then this would be Theta(N) for spherical conformations; however, with a vector, this is O(NlgN). With the additional assumption that each cube contains O(1) points, then this implementation is O(N). Such an assumption is unneccessary in the list implementation. More...
 
template<class Vertex , class Edge >
core::Size core::conformation::get_nearest_neighbor (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Size node_id, core::Real neighbor_cutoff, Strategy strategy=AUTOMATIC)