Pteros  2.0
Molecular modeling library for human beings!
distance_search_within.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_WITHIN_INCLUDED
24 #define DISTANCE_SEARCH_WITHIN_INCLUDED
25 
26 #include "pteros/core/selection.h"
27 
28 namespace pteros {
29 
32 public:
34 
35  Distance_search_within(float d,
36  const Selection& src,
37  bool absolute_index = false,
38  bool periodic = false);
39 
40  virtual ~Distance_search_within();
41 
42  void setup(float d,
43  const Selection& src,
44  bool absolute_index = false,
45  bool periodic = false);
46 
47  void search_within(Vector3f_const_ref coord,
48  std::vector<int> &res);
49 
50  void search_within(const Selection& target,
51  std::vector<int> &res,
52  bool include_self=true);
53 
54 private:
55  class Distance_search_within_impl;
56  std::unique_ptr<Distance_search_within_impl> p;
57 };
58 
59 }
60 
61 #endif
Pteros namespace.
Definition: options.cpp:32
Selection class.
Definition: atom_proxy.h:57
Class for within searching.
Definition: distance_search_within.h:31