Rosetta
Classes | Namespaces | Functions
find_neighbors.hh File Reference
#include <core/conformation/find_neighbors.fwd.hh>
#include <core/types.hh>
#include <utility/graph/UpperEdgeGraph.hh>
#include <numeric/numeric.functions.hh>
#include <numeric/xyzTriple.hh>
#include <numeric/geometry/hashing/xyzStripeHashWithMeta.hh>
#include <ObjexxFCL/FArray3D.hh>
#include <cmath>
#include <limits>
#include <map>
#include <vector>
#include <utility/vector1.hh>
#include <basic/options/keys/score.OptionKeys.gen.hh>
#include <basic/options/option.hh>
#include <boost/container_hash/extensions.hpp>

Classes

struct  core::conformation::DefaultCubeHash
 uses default boost::hash combine to hash Cubes More...
 
struct  core::conformation::AddEdgeVisitor< Vertex, Edge >
 

Namespaces

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

Functions

template<class Vertex , class Edge >
void core::conformation::find_neighbors (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff, Strategy strategy=AUTOMATIC)
 
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_stripe (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_restricted (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff, utility::vector1< bool > const &residue_selection, Strategy strategy=AUTOMATIC)
 
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)
 
template<class Vertex , class Edge >
void core::conformation::find_neighbors_naive_surface (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff, utility::vector1< std::pair< Size, Size > > const &non_surface_ranges, utility::vector1< bool > const &is_surface)