Rosetta 3.5
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
core
conformation
find_neighbors.fwd.hh
Go to the documentation of this file.
1
// -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2
// vi: set ts=2 noet:
3
//
4
// (c) Copyright Rosetta Commons Member Institutions.
5
// (c) This file is part of the Rosetta software suite and is made available under license.
6
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9
10
/// @file core/graph/find_neighbors.fwd.hh
11
/// @brief forward headers for find_neighbors.hh
12
/// @author Stuart G. Mentzer (Stuart_Mentzer@objexx.com)
13
/// @author Andrew Leaver-Fay (aleaverfay@gmail.com)
14
///
15
/// @remarks Thanks to Will Sheffler for his ideas on refining this and extending it to atom neighbors
16
/// @remarks Adapting libRosetta code for generalized neighbor detection
17
18
#ifndef INCLUDED_core_conformation_find_neighbors_fwd_hh
19
#define INCLUDED_core_conformation_find_neighbors_fwd_hh
20
21
// Package Headers
22
// AUTO-REMOVED #include <core/conformation/PointGraph.fwd.hh>
23
#include <
core/types.hh
>
24
25
26
27
// Numeric headers
28
// AUTO-REMOVED #include <numeric/numeric.functions.hh>
29
// AUTO-REMOVED #include <numeric/xyzTriple.hh>
30
// AUTO-REMOVED #include <numeric/xyzVector.hh>
31
32
// ObjexxFCL headers
33
//#include <ObjexxFCL/KeyFArray1D.hh>
34
//#include <ObjexxFCL/KeyFArray2D.hh>
35
// AUTO-REMOVED #include <ObjexxFCL/FArray3D.hh>
36
37
// Utility headers
38
//#include <utility/pointer/access_ptr.hh>
39
40
// boost headers
41
// AUTO-REMOVED #include <boost/unordered_map.hpp>
42
43
// C++ headers
44
#include <cassert>
45
// AUTO-REMOVED #include <cmath>
46
// AUTO-REMOVED #include <cstdlib>
47
#include <limits>
48
// AUTO-REMOVED #include <map>
49
#include <vector>
50
51
#include <
core/graph/UpperEdgeGraph.fwd.hh
>
52
#include <utility/vector1.hh>
53
#include <utility/pointer/owning_ptr.hh>
54
#include <numeric/xyzTriple.fwd.hh>
55
56
57
namespace
core {
58
namespace
conformation {
59
60
enum
Strategy
{
61
NAIVE
,
62
AUTOMATIC
,
63
OCTREE
,
64
THREEDGRID
,
65
STRIPEHASH
66
};
67
68
// move the following typedef to top of file instead of
69
// within find_neighbors()
70
typedef
numeric::xyzTriple< core::Size >
CubeKey
;
71
typedef
numeric::xyzVector< core::Real >
PointPosition
;
72
73
template
<
class
Vertex,
class
Edge>
74
void
75
find_neighbors_naive
(
76
utility::pointer::owning_ptr
<
graph::UpperEdgeGraph<Vertex, Edge>
> point_graph,
77
core::Real
neighbor_cutoff
78
);
79
80
template
<
class
Vertex,
class
Edge>
81
void
82
find_neighbors_octree
(
83
utility::pointer::owning_ptr
<
graph::UpperEdgeGraph<Vertex, Edge>
> point_graph,
84
core::Real
neighbor_cutoff,
85
Strategy
strategy
86
);
87
88
template
<
class
Vertex,
class
Edge>
89
void
90
find_neighbors_3dgrid
(
91
utility::pointer::owning_ptr
<
graph::UpperEdgeGraph<Vertex, Edge>
> point_graph,
92
core::Real
neighbor_cutoff
93
);
94
95
template
<
class
Vertex,
class
Edge>
96
void
97
find_neighbors_naive_restricted
(
98
utility::pointer::owning_ptr
<
graph::UpperEdgeGraph<Vertex, Edge>
> point_graph,
99
core::Real
neighbor_cutoff,
100
utility::vector1< bool >
const
& residue_selection
101
);
102
103
template
<
class
Vertex,
class
Edge>
104
void
105
find_neighbors_octree_restricted
(
106
utility::pointer::owning_ptr
<
graph::UpperEdgeGraph<Vertex, Edge>
> point_graph,
107
core::Real
neighbor_cutoff,
108
utility::vector1< bool >
const
& residue_selection,
109
Strategy
strategy
110
);
111
112
113
template
<
class
Vertex,
class
Edge>
114
void
115
find_neighbors_3dgrid_restricted
(
116
utility::pointer::owning_ptr
<
graph::UpperEdgeGraph<Vertex, Edge>
> point_graph,
117
core::Real
neighbor_cutoff,
118
utility::vector1< bool >
const
& residue_selection
119
);
120
121
template
<
class
Vertex,
class
Edge>
122
core::Size
123
get_nearest_neighbor
(
124
utility::pointer::owning_ptr
<
graph::UpperEdgeGraph<Vertex, Edge>
> point_graph,
125
core::Size
node_id,
126
core::Real
neighbor_cutoff,
127
Strategy
strategy =
AUTOMATIC
128
);
129
130
/*
131
// Commented out to make clang compile - duplication of default arguments and forward declaration of template functions confuses the compiler (and me!)
132
// Brian Weitzner and Sergey Lyskov 3/5/2011
133
134
template <class Vertex, class Edge>
135
void
136
find_neighbors(
137
utility::pointer::owning_ptr<graph::UpperEdgeGraph<Vertex, Edge> > point_graph,
138
core::Real neighbor_cutoff,
139
Strategy strategy = AUTOMATIC
140
);
141
142
template <class Vertex, class Edge>
143
void
144
find_neighbors_restricted(
145
utility::pointer::owning_ptr<graph::UpperEdgeGraph<Vertex, Edge> > point_graph,
146
core::Real neighbor_cutoff,
147
utility::vector1< bool > const & residue_selection,
148
Strategy strategy = AUTOMATIC
149
);
150
*/
151
152
153
}
154
}
155
156
#endif
Generated on Sat Jun 1 2013 11:32:25 for Rosetta 3.5 by
1.8.4