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
scoring
constraints
ConstraintGraph.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/constraints/ConstraintsEnergyContainer.hh
11
/// @brief Constraints Energy Container class declaration
12
/// @author Andrew Leaver-Fay
13
14
#ifndef INCLUDED_core_scoring_constraints_ConstraintGraph_hh
15
#define INCLUDED_core_scoring_constraints_ConstraintGraph_hh
16
17
// Unit headers
18
#include <
core/scoring/constraints/ConstraintGraph.fwd.hh
>
19
20
// Project headers
21
#include <
core/graph/Graph.hh
>
22
#include <
core/types.hh
>
23
24
namespace
core {
25
namespace
scoring {
26
namespace
constraints {
27
28
class
ConstraintNode
:
public
graph::Node
29
{
30
31
public
:
32
typedef
graph::Node
parent
;
33
typedef
graph::Node
Node
;
34
35
public
:
36
ConstraintNode
(
graph::Graph
*,
Size
node_id );
37
virtual
~ConstraintNode
();
38
39
virtual
void
copy_from
(
Node
const
* source );
40
41
virtual
Size
count_static_memory
()
const
;
42
virtual
Size
count_dynamic_memory
()
const
;
43
44
};
45
46
class
ConstraintEdge
:
public
graph::Edge
47
{
48
49
public
:
50
typedef
graph::Edge
parent
;
51
typedef
graph::Edge
Edge
;
52
53
public
:
54
ConstraintEdge
(
graph::Graph
* owner,
Size
first_node_ind,
Size
second_node_ind);
55
ConstraintEdge
(
graph::Graph
* owner,
ConstraintEdge
const
& example_edge );
56
virtual
~ConstraintEdge
();
57
58
virtual
void
copy_from
(
Edge
const
* source );
59
60
virtual
Size
count_static_memory
()
const
;
61
virtual
Size
count_dynamic_memory
()
const
;
62
63
void
rna_bond_geometry_energy
(
Energy
);
64
void
atom_pair_constraint_energy
(
Energy
);
65
void
coordinate_constraint_energy
(
Energy
);
66
void
angle_constraint_energy
(
Energy
);
67
void
dihedral_constraint_energy
(
Energy
);
68
void
backbone_stub_constraint_energy
(
Energy
);
69
void
res_type_linking_constraint_energy
(
Energy
);
70
71
72
Energy
rna_bond_geometry_energy
()
const
;
73
Energy
atom_pair_constraint_energy
()
const
;
74
Energy
coordinate_constraint_energy
()
const
;
75
Energy
angle_constraint_energy
()
const
;
76
Energy
dihedral_constraint_energy
()
const
;
77
Energy
backbone_stub_constraint_energy
()
const
;
78
Energy
res_type_linking_constraint_energy
()
const
;
79
80
void
energy_computed
(
bool
setting );
81
bool
energy_computed
()
const
;
82
83
private
:
84
85
Energy
rna_bond_geometry_energy_
;
86
Energy
atom_pair_constraint_energy_
;
87
Energy
coordinate_constraint_energy_
;
88
Energy
angle_constraint_energy_
;
89
Energy
dihedral_constraint_energy_
;
90
Energy
backbone_stub_constraint_energy_
;
91
Energy
res_type_linking_constraint_energy_
;
92
93
94
bool
energy_computed_
;
95
96
};
97
98
class
ConstraintGraph
:
public
graph::Graph
99
{
100
101
public
:
102
typedef
graph::Graph
parent
;
103
typedef
graph::Graph
Graph
;
104
105
public
:
106
ConstraintGraph
();
107
ConstraintGraph
(
Size
num_nodes
);
108
ConstraintGraph
(
ConstraintGraph
const
& source );
109
ConstraintGraph
&
operator =
(
ConstraintGraph
const
& source );
110
111
virtual
~ConstraintGraph
();
112
113
virtual
void
delete_edge
(
graph::Edge
* edge );
114
115
//virtual void copy_from( Graph const * source ); //? why haven't I implemented something like this in the base class?
116
117
protected
:
118
119
virtual
Size
count_static_memory
()
const
;
120
virtual
Size
count_dynamic_memory
()
const
;
121
122
virtual
graph::Node
*
create_new_node
(
Size
node_index );
123
virtual
graph::Edge
*
create_new_edge
(
Size
index1,
Size
index2);
124
virtual
graph::Edge
*
create_new_edge
(
graph::Edge
const
* example_edge );
125
126
127
};
128
129
}
130
}
131
}
132
133
#endif
Generated on Sat Jun 1 2013 11:35:14 for Rosetta 3.5 by
1.8.4