![]() |
Rosetta
2020.50
|
An edge between a background node and a first class node. More...
#include <AdditionalBackgroundNodesInteractionGraph.hh>
Public Types | |
typedef std::list < BackgroundToFirstClassEdge < V, E, G > * >::iterator | BackgroundEdgeListIter |
Public Member Functions | |
virtual | ~BackgroundToFirstClassEdge () |
virtual destructor. The edge removes itself from the graph by informing the two vertices its incident upon to drop it from their edge lists. Constant time edge removal. More... | |
BackgroundToFirstClassEdge (AdditionalBackgroundNodesInteractionGraph< V, E, G > *owner, int fc_node_index, int bg_node_index) | |
BackgroundToFirstClassEdge constructor - no default or copy constructors; no operator =. More... | |
int | get_first_class_node_index () const |
int | get_background_node_index () const |
int | get_other_ind (FirstClassNode< V, E, G > *) const |
returns the index of the second class node More... | |
int | get_other_ind (BackgroundNode< V, E, G > *) const |
returns the index of the first class node More... | |
FirstClassNode< V, E, G > * | get_other_node (BackgroundNode< V, E, G > *) const |
returns a pointer to the first class node More... | |
BackgroundNode< V, E, G > * | get_other_node (FirstClassNode< V, E, G > *) const |
returns a pointer to the second class node More... | |
void | set_pos_in_owners_list (BackgroundEdgeListIter) |
stores the iterator to this edge in the owning graph's list of background-to-first-class edges. More... | |
void | set_pos_in_node_edgevector (FirstClassNode< V, E, G > *caller, int pos) |
stores the index of this edge in its first class node's edge vector More... | |
void | set_pos_in_node_edgevector (BackgroundNode< V, E, G > *caller, int pos) |
stores the index of this edge in its second class node's edge vector More... | |
bool | same_edge (int fc_node_index, int bg_node_index) const |
returns true if this node is incident upon the two input vertex indices More... | |
virtual void | prepare_for_simulated_annealing ()=0 |
virtual unsigned int | count_static_memory () const =0 |
virtual unsigned int | count_dynamic_memory () const |
Returns an int representing the amount of memory in bytes used by this node. More... | |
bool | bgtfce_marked_for_deletion () |
Protected Member Functions | |
FirstClassNode< V, E, G > * | get_first_class_node () const |
BackgroundNode< V, E, G > * | get_background_node () const |
AdditionalBackgroundNodesInteractionGraph < V, E, G > * | get_owner () const |
void | bgtfce_mark_edge_for_deletion () |
Private Member Functions | |
BackgroundToFirstClassEdge () | |
BackgroundToFirstClassEdge (BackgroundToFirstClassEdge< V, E, G > const &) | |
BackgroundToFirstClassEdge< V, E, G > & | operator= (BackgroundToFirstClassEdge< V, E, G > const &) |
An edge between a background node and a first class node.
typedef std::list< BackgroundToFirstClassEdge< V, E, G >* >::iterator core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >::BackgroundEdgeListIter |
|
virtual |
virtual destructor. The edge removes itself from the graph by informing the two vertices its incident upon to drop it from their edge lists. Constant time edge removal.
core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >::BackgroundToFirstClassEdge | ( | AdditionalBackgroundNodesInteractionGraph< V, E, G > * | owner, |
int | fc_node_index, | ||
int | bg_node_index | ||
) |
BackgroundToFirstClassEdge constructor - no default or copy constructors; no operator =.
This class of edge connects first class and second class nodes. This class of edge is very unlikely to hold the same kind of data in a (concrete) derived class. e.g. The SASABackgroundEdge holds pre-computed rotamer sphere overlaps for each rotamer-on-a-SASANode and the single-(fixed)-rotamer-on-a-background residue. The first class edge does not attempt to store precomputed sphere overlaps as they would be prohibitively expensive.
owner | - [in] - the owning graph fc_node_index - [in] - the index of the first class node bg_node_index - [in] - the index of the second class node |
|
private |
|
private |
|
inlineprotected |
|
inline |
|
virtual |
Returns an int representing the amount of memory in bytes used by this node.
Reimplemented in core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >, core::pack::interaction_graph::NPDHBondBackgroundEdge< V, E, G >, and core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >.
|
pure virtual |
|
inlineprotected |
References core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >::background_node_.
Referenced by core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::get_hpatch_bg_node(), core::pack::interaction_graph::NPDHBondBackgroundEdge< V, E, G >::get_npd_hbond_bg_node(), and core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::get_surface_bg_node().
|
inline |
|
inlineprotected |
References core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >::first_class_node_.
Referenced by core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::get_hpatch_node(), core::pack::interaction_graph::NPDHBondBackgroundEdge< V, E, G >::get_npd_hbond_node(), and core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::get_surface_node().
|
inline |
int core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >::get_other_ind | ( | FirstClassNode< V, E, G > * | ) | const |
returns the index of the second class node
A first class vertex may request a BackgroundToFirstClassEdge for the index of the background node the edge connects it to by invoking edge->get_other_ind( this ); The this pointer simply tells the compiler which of the two overloaded get_other_ind() methods to invoke.
(unnamed | parameter) - [in] - First Class nodes want information about second class nodes when they refer to "the other node". The compiler resolves which of the two overloaded methods to invoke. |
int core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >::get_other_ind | ( | BackgroundNode< V, E, G > * | ) | const |
returns the index of the first class node
A second class vertex may request a BackgroundToFirstClassEdge for the index of the first class node the edge connects it to by invoking edge->get_other_ind( this ); The this pointer simply tells the compiler which of the two overloaded get_other_ind() methods to invoke.
(unnamed | parameter) - [in] - second class nodes want information about first class nodes when they refer to "the other node". The compiler resolves which of the two overloaded methods to invoke. |
FirstClassNode< V, E, G > * core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >::get_other_node | ( | BackgroundNode< V, E, G > * | ) | const |
returns a pointer to the first class node
unnamed parameter is usually the this pointer where the method is invoked inside a method of a second class node. the pointer type must be resolved at compile time. Same ideas here as in get_other_ind()
BackgroundNode< V, E, G > * core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >::get_other_node | ( | FirstClassNode< V, E, G > * | ) | const |
returns a pointer to the second class node
unnamed parameter is usually the this pointer where the method is invoked inside a method of a first class node. the pointer type must be resolved at compile time. Same ideas here as in get_other_ind()
|
inlineprotected |
|
private |
|
pure virtual |
bool core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >::same_edge | ( | int | fc_node_index, |
int | bg_node_index | ||
) | const |
returns true if this node is incident upon the two input vertex indices
fc_node_index | - [in] - the index of the first class node bg_node_index - [in] - the index of the second class node |
void core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >::set_pos_in_node_edgevector | ( | FirstClassNode< V, E, G > * | caller, |
int | pos | ||
) |
stores the index of this edge in its first class node's edge vector
again, first (unnamed) parameter is the 'this' pointer where the method has been invoked inside a method of the first class node.
(unnamed | parameter) - [in] - pointer identifying the type of the node that invoked this overloaded method. pos - [in] - the position of 'this' edge in the edge vector of the first class node |
void core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >::set_pos_in_node_edgevector | ( | BackgroundNode< V, E, G > * | caller, |
int | pos | ||
) |
stores the index of this edge in its second class node's edge vector
again, first (unnamed) parameter is the this pointer where the method has been invoked inside a method of the second class node.
(unnamed | parameter) - [in] - pointer identifying the type of the node that invoked this overloaded method. pos - [in] - the position of this node in the edge vector of the second class node |
void core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >::set_pos_in_owners_list | ( | BackgroundEdgeListIter | iter | ) |
stores the iterator to this edge in the owning graph's list of background-to-first-class edges.
required for constant time edge deletion
Referenced by core::pack::interaction_graph::AdditionalBackgroundNodesInteractionGraph< V, E, G >::add_background_edge().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |