Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TwelveANeighborGraph.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/scoring/TwelveANeighborGraph.hh
11 /// @brief Twelve Angstrom Neighbor Graph class declaration
12 /// @author Andrew Leaver-Fay (leaverfa@email.unc.edu)
13 
14 #ifndef INCLUDED_core_scoring_TwelveANeighborGraph_hh
15 #define INCLUDED_core_scoring_TwelveANeighborGraph_hh
16 
17 // Unit Headers
19 
20 // Package Headers
22 
23 // Project Headers
24 #include <core/graph/Graph.hh>
25 #include <core/pose/Pose.fwd.hh>
26 
27 #include <utility/vector1.hh>
28 
29 
30 
31 namespace core {
32 namespace scoring {
33 
35 {
36 public:
38 
39 public:
40  virtual ~TwelveANeighborNode();
42 
43  virtual void copy_from( Node const * source );
44 
45  virtual Size count_static_memory() const;
46  virtual Size count_dynamic_memory() const;
47 private:
48 
49 };
50 
52 {
53 public:
55 
56 public:
57  virtual ~TwelveANeighborEdge();
58  TwelveANeighborEdge(graph::Graph* owner, Size first_node_ind, Size second_node_ind);
59 
60  virtual void copy_from( graph::Edge const * source );
61 
62  virtual Size count_static_memory() const;
63  virtual Size count_dynamic_memory() const;
64 
65 private:
66 
67 };
68 
70 {
71 public:
73 
74 public:
75 
76  virtual ~TwelveANeighborGraph();
77 
82 
83  virtual
84  Distance
85  neighbor_cutoff() const;
86 
87  virtual
88  void
90  Size lower_node_id,
91  Size upper_node_id,
92  DistanceSquared dsq
93  );
94 
95  virtual
97  clone() const;
98 
99  virtual
100  void update_from_pose(
101  pose::Pose const & pose
102  );
103 
104  virtual void delete_edge( graph::Edge * edge );
105 
106 protected:
107 
108  virtual Size count_static_memory() const;
109  virtual Size count_dynamic_memory() const;
110 
111  virtual graph::Node * create_new_node( Size node_index );
112  virtual graph::Edge * create_new_edge( Size index1, Size index2);
113  virtual graph::Edge * create_new_edge( graph::Edge const * example_edge );
114 
115 private:
116  static Distance const twelveA_;
118 
119 };
120 
121 } // scoring
122 } // core
123 
124 #endif