Pteros  2.0
Molecular modeling library for human beings!
distance_search.h
1 /*
2  * This file is a part of
3  *
4  * ============================================
5  * ### Pteros molecular modeling library ###
6  * ============================================
7  *
8  * https://github.com/yesint/pteros
9  *
10  * (C) 2009-2021, Semen Yesylevskyy
11  *
12  * All works, which use Pteros, should cite the following papers:
13  *
14  * 1. Semen O. Yesylevskyy, "Pteros 2.0: Evolution of the fast parallel
15  * molecular analysis library for C++ and python",
16  * Journal of Computational Chemistry, 2015, 36(19), 1480–1488.
17  * doi: 10.1002/jcc.23943.
18  *
19  * 2. Semen O. Yesylevskyy, "Pteros: Fast and easy to use open-source C++
20  * library for molecular analysis",
21  * Journal of Computational Chemistry, 2012, 33(19), 1632–1636.
22  * doi: 10.1002/jcc.22989.
23  *
24  * This is free software distributed under Artistic License:
25  * http://www.opensource.org/licenses/artistic-license-2.0.php
26  *
27 */
28 
29 
30 
31 
32 /*
33  * This file is a part of
34  *
35  * ============================================
36  * ### Pteros molecular modeling library ###
37  * ============================================
38  *
39  * https://github.com/yesint/pteros
40  *
41  * (C) 2009-2021, Semen Yesylevskyy
42  *
43  * All works, which use Pteros, should cite the following papers:
44  *
45  * 1. Semen O. Yesylevskyy, "Pteros 2.0: Evolution of the fast parallel
46  * molecular analysis library for C++ and python",
47  * Journal of Computational Chemistry, 2015, 36(19), 1480–1488.
48  * doi: 10.1002/jcc.23943.
49  *
50  * 2. Semen O. Yesylevskyy, "Pteros: Fast and easy to use open-source C++
51  * library for molecular analysis",
52  * Journal of Computational Chemistry, 2012, 33(19), 1632–1636.
53  * doi: 10.1002/jcc.22989.
54  *
55  * This is free software distributed under Artistic License:
56  * http://www.opensource.org/licenses/artistic-license-2.0.php
57  *
58 */
59 
60 
61 #pragma once
62 
63 #include "pteros/core/selection.h"
64 #include "pteros/core/distance_search_within.h"
65 
66 namespace pteros {
67 
70 void search_contacts(float d,
71  const Selection& sel,
72  std::vector<Eigen::Vector2i>& pairs,
73  std::vector<float>& distances,
74  bool absolute_index,
75  Vector3i_const_ref pbc);
76 
78 void search_contacts(float d,
79  const Selection& sel1,
80  const Selection& sel2,
81  std::vector<Eigen::Vector2i>& pairs,
82  std::vector<float>& distances,
83  bool absolute_index,
84  Vector3i_const_ref pbc);
85 
88 void search_within(float d,
89  const Selection& src,
90  const Selection& target,
91  std::vector<int> &res,
92  bool include_self,
93  Vector3i_const_ref pbc);
94 
95 }
96 
97 
98 
99 
100