Pteros  2.0
Molecular modeling library for human beings!
distance_search_contacts.h
1 /*
2  *
3  * This source code is part of
4  * ******************
5  * *** Pteros ***
6  * ******************
7  * molecular modeling library
8  *
9  * Copyright (c) 2009-2013, Semen Yesylevskyy
10  *
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of Artistic License:
13  *
14  * Please note, that Artistic License is slightly more restrictive
15  * then GPL license in terms of distributing the modified versions
16  * of this software (they should be approved first).
17  * Read http://www.opensource.org/licenses/artistic-license-2.0.php
18  * for details. Such license fits scientific software better then
19  * GPL because it prevents the distribution of bugged derivatives.
20  *
21 */
22 
23 #ifndef DISTANCE_SEARCH_CONTACTS_H_INCLUDED
24 #define DISTANCE_SEARCH_CONTACTS_H_INCLUDED
25 
26 #include "distance_search_base.h"
27 
28 namespace pteros {
29 
30 class Distance_search_contacts: public Distance_search_base {
31 public:
32 protected:
33  // withited array
34  boost::multi_array<bool, 3> visited;
35  // Pointers for final results
36  std::vector<Eigen::Vector2i>* result_pairs;
37  std::vector<float>* result_distances;
38 
39  void do_search();
40  virtual void do_part(int dim, int _b, int _e,
41  std::deque<Eigen::Vector2i>& bon,
42  std::deque<float>* dist_vec) = 0;
43 
44  void search_in_pair_of_cells(int x1, int y1, int z1,
45  int x2, int y2, int z2,
46  Grid &grid1,
47  Grid &grid2,
48  std::deque<Eigen::Vector2i> &bon,
49  std::deque<float> *dist_vec,
50  bool is_periodic);
51 };
52 
53 }
54 
55 #endif
Pteros namespace.
Definition: options.cpp:32