![]() |
Rosetta Core
2014.35
|
Class to hold all the minimization-specific data that's required to efficiently evaluate the score function and its derivatives on a structure of fixed sequence and chemical identity. More...
#include <MinimizationGraph.hh>
Public Types | |
typedef graph::Graph | parent |
typedef std::list < EnergyMethodCOP > | Energies |
typedef Energies::const_iterator | EnergiesIterator |
![]() | |
typedef utility::vector1< Node * > | NodeVector |
typedef Node::EdgeListIter | EdgeListIter |
typedef Node::EdgeListConstIter | EdgeListConstIter |
typedef utility::pointer::ReferenceCount | parent |
Public Member Functions | |
virtual | ~MinimizationGraph () |
MinimizationGraph (Size num_nodes) | |
MinimizationGraph () | |
MinimizationGraph (MinimizationGraph const &src) | |
MinimizationGraph const & | operator= (MinimizationGraph const &rhs) |
assignment operator – performs a deep copy More... | |
MinimizationNode const * | get_minimization_node (Size index) const |
MinimizationNode * | get_minimization_node (Size index) |
MinimizationEdge * | find_minimization_edge (Size n1, Size n2) |
MinimizationEdge const * | find_minimization_edge (Size n1, Size n2) const |
virtual void | delete_edge (graph::Edge *edge) |
remove an edge from the graph. (NEW AS OF 12/9/07) Never call C++'s "delete" function on an edge pointer directly. Derived classes must implement this function. If they wish to use unordered_object_pools to manage their memory More... | |
void | add_whole_pose_context_enmeth (EnergyMethodCOP enmeth) |
EnergiesIterator | whole_pose_context_enmeths_begin () const |
EnergiesIterator | whole_pose_context_enmeths_end () const |
void | set_fixed_energies (EnergyMap const &) |
EnergyMap const & | fixed_energies () const |
![]() | |
virtual | ~Graph () |
virtual destructor. Derived classes must ensure they've destroyed all their nodes and edges through a call to "destroy_everything" before this function is arrived at More... | |
Graph () | |
ctor More... | |
Graph (platform::Size num_nodes) | |
num nodes ctor More... | |
Graph (Graph const &source) | |
copy ctor. Must not be called by derived class copy ctors. More... | |
Graph & | operator= (Graph const &source) |
assignment operator. source and this must have the same type. More... | |
void | copy_connectivity (Graph const &source) |
copy the edge connectivity from a source graph with a potentially unknown type. More... | |
platform::Size | num_nodes () const |
the number of nodes in the graph More... | |
void | set_num_nodes (platform::Size num_nodes) |
set the number of nodes in the graph – deletes any existing edges in the graph More... | |
Edge * | add_edge (platform::Size node1, platform::Size node2) |
add an edge between two vertices. Invokes "create_edge" from the derived class. Returns a pointer to the edge after its been added, allowing the calling function to immediately set data for this edge. More... | |
Edge * | add_edge (Edge const *example_edge) |
add an edge to this graph copying the data from an edge in another graph. Returns a pointer to the edge after its been added, allowing the calling function to immediately set data for this edge. More... | |
bool | get_edge_exists (platform::Size node1, platform::Size node2) const |
is an edge already present in the graph? O(V) worst case. O(1) iff all vertices have O(1) edges More... | |
void | drop_all_edges () |
delete all the edges present in the graph More... | |
void | drop_all_edges_for_node (platform::Size node) |
delete all the edges for a single vertex in the graph More... | |
void | print_vertices () const |
send summary information to the screen for all vertices in the graph More... | |
void | output_connectivity (std::ostream &os) const |
send an edge list to the stream os. More... | |
void | output_dimacs (std::ostream &os) const |
describe this graph in dimacs form to the stream os. More... | |
ObjexxFCL::FArray2D_int | all_pairs_shortest_paths () const |
O(V^3). Computes all pairs shortest paths using Warshall's algorithm and writes all the path distances to the two-dimensional table. More... | |
Node const * | get_node (platform::Size index) const |
Node * | get_node (platform::Size index) |
platform::Size | num_edges () const |
EdgeListConstIter | const_edge_list_begin () const |
returns a const iterator to the beginning of the (unordered) edge list for the graph. this edge list contains all the edges in the graph, not simply those for a particular vertex More... | |
EdgeListIter | edge_list_begin () |
returns a non-const iterator to the beginning of the (unordered) edge list for the graph. this edge list contains all the edges in the graph, not simply those for a particular vertex More... | |
EdgeListConstIter | const_edge_list_end () const |
returns a const iterator to the end of the (unordered) edge list for the graph. this edge list contains all the edges in the graph, not simply those for a particular vertex More... | |
EdgeListIter | edge_list_end () |
returns a non-const iterator to the end of the (unordered) edge list for the graph. this edge list contains all the edges in the graph, not simply those for a particular vertex More... | |
Edge * | find_edge (platform::Size node1, platform::Size node2) |
returns a pointer to the edge connecting nodes node1 and node2, if that edge exists in the graph, o.w. returns 0. Focuses the graph on this edge for fast subsequent retrieval. More... | |
Edge const * | find_edge (platform::Size node1, platform::Size node2) const |
returns a const pointer to the edge connecting nodes node1 and node2, if that edge exists in the graph, o.w. returns 0. Focuses the graph on this edge for fast subsequent retrieval. More... | |
Edge * | focused_edge () |
returns a pointer to the focused edge More... | |
Edge const * | focused_edge () const |
returns a const-pointer to the focused edge More... | |
platform::Size | getTotalMemoryUsage () const |
returns a count of all the memory used by every vertex and edge in a graph by invoking the polymorphic count_static_memory and count_dynamic_memory of each (possibly derived) node and edge object as well as for the (possibly derived) graph class. More... | |
Public Attributes | |
__pad0__:EnergyMethodCOP EnergyMethodCOP | |
Protected Member Functions | |
virtual Size | count_static_memory () const |
virtual Size | count_dynamic_memory () const |
virtual graph::Node * | create_new_node (Size index) |
Factory method for node creation. More... | |
virtual graph::Edge * | create_new_edge (Size index1, Size index2) |
Factory method for edge creation. More... | |
virtual graph::Edge * | create_new_edge (graph::Edge const *example_edge) |
Factory copy-constructor method for edge creation. More... | |
![]() | |
void | drop_edge (EdgeListIter edge_iter) |
remove an edge from the entire-graph edge list. Called only by class Edge during its destructor More... | |
void | delete_everything () |
deallocate all nodes and edges from the graph More... | |
boost::unordered_object_pool < EdgeListElement > & | edge_list_element_pool () |
Used by class Node only, this is the pool from which edge lists are to allocate their edge lists elements from. More... | |
Private Attributes | |
Energies | whole_pose_context_enmeths_ |
EnergyMap | fixed_energies_ |
boost::unordered_object_pool < MinimizationEdge > * | minimization_edge_pool_ |
Class to hold all the minimization-specific data that's required to efficiently evaluate the score function and its derivatives on a structure of fixed sequence and chemical identity.
typedef std::list< EnergyMethodCOP > core::scoring::MinimizationGraph::Energies |
|
virtual |
References core::graph::Graph::delete_everything(), and minimization_edge_pool_.
core::scoring::MinimizationGraph::MinimizationGraph | ( | Size | num_nodes | ) |
This does not call the base class parent( Size ) constructor since that produces calls to the polymorphic function create_new_node() and polymorphism does not work during constructor intialization.
References core::graph::Graph::set_num_nodes().
core::scoring::MinimizationGraph::MinimizationGraph | ( | ) |
Referenced by count_static_memory().
core::scoring::MinimizationGraph::MinimizationGraph | ( | MinimizationGraph const & | src | ) |
Notice that this does not call the parent( src ) copy constructor. This is because the copy constructor relies on polymorphic functions which are unavailable during the Graph constructor. Instead, this function waits until parent construction is complete, and relies on the assigmnent operator.
References core::graph::Graph::operator=().
void core::scoring::MinimizationGraph::add_whole_pose_context_enmeth | ( | EnergyMethodCOP | enmeth | ) |
References whole_pose_context_enmeths_.
|
protectedvirtual |
Reimplemented from core::graph::Graph.
References core::graph::Graph::count_dynamic_memory().
|
protectedvirtual |
Reimplemented from core::graph::Graph.
References MinimizationGraph().
|
protectedvirtual |
Factory method for edge creation.
Reimplemented from core::graph::Graph.
References minimization_edge_pool_.
|
protectedvirtual |
Factory copy-constructor method for edge creation.
Reimplemented from core::graph::Graph.
References minimization_edge_pool_.
Factory method for node creation.
Reimplemented from core::graph::Graph.
|
virtual |
remove an edge from the graph. (NEW AS OF 12/9/07) Never call C++'s "delete" function on an edge pointer directly. Derived classes must implement this function. If they wish to use unordered_object_pools to manage their memory
Reimplemented from core::graph::Graph.
References minimization_edge_pool_.
MinimizationEdge * core::scoring::MinimizationGraph::find_minimization_edge | ( | Size | n1, |
Size | n2 | ||
) |
References core::graph::Graph::find_edge().
MinimizationEdge const * core::scoring::MinimizationGraph::find_minimization_edge | ( | Size | n1, |
Size | n2 | ||
) | const |
References core::graph::Graph::find_edge().
EnergyMap const & core::scoring::MinimizationGraph::fixed_energies | ( | ) | const |
References fixed_energies_.
|
inline |
References core::graph::Graph::get_node().
Referenced by core::pack::compare_mingraph_and_energy_graph(), core::pack::scmin::CartSCMinMultifunc::dfunc(), core::pack::scmin::SCMinMultifunc::dfunc(), core::pack::scmin::CartSCMinMultifunc::operator()(), core::pack::scmin::SCMinMultifunc::operator()(), and core::pack::reinitialize_mingraph_neighborhood_for_residue().
|
inline |
References core::graph::Graph::get_node().
MinimizationGraph const & core::scoring::MinimizationGraph::operator= | ( | MinimizationGraph const & | rhs | ) |
assignment operator – performs a deep copy
References core::graph::Graph::operator=().
void core::scoring::MinimizationGraph::set_fixed_energies | ( | EnergyMap const & | vals | ) |
References fixed_energies_.
MinimizationGraph::EnergiesIterator core::scoring::MinimizationGraph::whole_pose_context_enmeths_begin | ( | ) | const |
References whole_pose_context_enmeths_.
MinimizationGraph::EnergiesIterator core::scoring::MinimizationGraph::whole_pose_context_enmeths_end | ( | ) | const |
References whole_pose_context_enmeths_.
core::scoring::MinimizationGraph::__pad0__ |
|
private |
Referenced by fixed_energies(), and set_fixed_energies().
|
private |
Referenced by create_new_edge(), delete_edge(), and ~MinimizationGraph().
|
private |