Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Constant Groups | Typedefs | Enumerations | Functions
find_neighbors.fwd.hh File Reference
#include <core/types.hh>
#include <cassert>
#include <limits>
#include <vector>
#include <core/graph/UpperEdgeGraph.fwd.hh>
#include <utility/vector1.hh>
#include <utility/pointer/owning_ptr.hh>
#include <numeric/xyzTriple.fwd.hh>

Namespaces

 core
 A class for defining atom parameters, known as atom_types.
 
 core::conformation
 

Constant Groups

 core
 A class for defining atom parameters, known as atom_types.
 
 core::conformation
 

Typedefs

typedef numeric::xyzTriple
< core::Size
core::conformation::CubeKey
 
typedef numeric::xyzVector
< core::Real
core::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::owning_ptr< graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff)
 
template<class Vertex , class Edge >
void core::conformation::find_neighbors_octree (utility::pointer::owning_ptr< 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::owning_ptr< 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::owning_ptr< 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::owning_ptr< 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::owning_ptr< 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::owning_ptr< graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Size node_id, core::Real neighbor_cutoff, Strategy strategy=AUTOMATIC)