![]() |
Rosetta
2020.50
|
#include <AdditionalBackgroundNodesInteractionGraph.hh>
Public Types | |
typedef std::list < BackgroundToFirstClassEdge < V, E, G > * > | BackgroundEdgeList |
typedef std::list < BackgroundToFirstClassEdge < V, E, G > * >::iterator | BackgroundEdgeListIter |
typedef std::vector < BackgroundNode< V, E, G > * > | BackgroundNodeVector |
typedef std::vector < BackgroundToFirstClassEdge < V, E, G > * > | BackgroundEdgeVector |
typedef std::vector < BackgroundToFirstClassEdge < V, E, G > * >::iterator | BackgroundEdgeVectorIter |
Public Member Functions | |
~FirstClassNode () override | |
FirstClassNode destructor. More... | |
FirstClassNode (G *owner, int node_id, int num_states) | |
FirstClassNode constructor. More... | |
BackgroundEdgeListIter | add_background_edge (BackgroundToFirstClassEdge< V, E, G > *edge) |
Adds a BackgroundToFirstClassEdge to the node's list of such edges and returns an iterator to that list position. More... | |
void | drop_background_edge (BackgroundEdgeListIter edge) |
Removes an edge from the node's BackgroundToFirstClassEdge list. More... | |
unsigned int | count_dynamic_memory () const override |
Returns an int representing the amount of memory in bytes used by this node. More... | |
Protected Member Functions | |
int | get_num_edges_to_background_nodes () const |
BackgroundToFirstClassEdge< V, E, G > const * | get_edge_to_bg_node (int index) const |
BackgroundToFirstClassEdge< V, E, G > * | get_edge_to_bg_node (int index) |
int | get_index_of_adjacent_background_node (int index) const |
BackgroundNode< V, E, G > const * | get_adjacent_background_node (int index) const |
BackgroundNode< V, E, G > * | get_adjacent_background_node (int index) |
bool | get_bg_edge_vector_up_to_date_ () const |
void | update_bg_edge_vector () |
Syncs the background edge vector with the background edge list. More... | |
Private Member Functions | |
FirstClassNode () | |
FirstClassNode (FirstClassNode< V, E, G > const &) | |
FirstClassNode< V, E, G > & | operator= (FirstClassNode< V, E, G > const &) |
Private Attributes | |
int | num_edges_to_bg_nodes_ |
BackgroundEdgeList | bg_edge_list_ |
BackgroundEdgeVector | bg_edge_vector_ |
std::vector< int > | adjacent_bg_node_indices_ |
BackgroundNodeVector | bg_node_vector_ |
bool | bg_edge_vector_up_to_date_ |
A background node is a node which is not changing type or rotamer throughout a simulation.
typedef std::list< BackgroundToFirstClassEdge< V, E, G >* > core::pack::interaction_graph::FirstClassNode< V, E, G >::BackgroundEdgeList |
typedef std::list< BackgroundToFirstClassEdge< V, E, G >* >::iterator core::pack::interaction_graph::FirstClassNode< V, E, G >::BackgroundEdgeListIter |
typedef std::vector< BackgroundToFirstClassEdge< V, E, G >* > core::pack::interaction_graph::FirstClassNode< V, E, G >::BackgroundEdgeVector |
typedef std::vector< BackgroundToFirstClassEdge< V, E, G >* >::iterator core::pack::interaction_graph::FirstClassNode< V, E, G >::BackgroundEdgeVectorIter |
typedef std::vector< BackgroundNode< V, E, G >* > core::pack::interaction_graph::FirstClassNode< V, E, G >::BackgroundNodeVector |
|
override |
FirstClassNode destructor.
core::pack::interaction_graph::FirstClassNode< V, E, G >::FirstClassNode | ( | G * | owner, |
int | node_id, | ||
int | num_states | ||
) |
FirstClassNode constructor.
owner | - [in] - the owning interaction graph node_id - [in] - the index for this node amongst its owners set num_states - [in] - the number of states for this node |
|
private |
|
private |
std::list< BackgroundToFirstClassEdge< V, E, G > * >::iterator core::pack::interaction_graph::FirstClassNode< V, E, G >::add_background_edge | ( | BackgroundToFirstClassEdge< V, E, G > * | edge_ptr | ) |
Adds a BackgroundToFirstClassEdge to the node's list of such edges and returns an iterator to that list position.
edge_ptr | - [in] - a pointer to the BackgroundToFirstClassEdge |
|
override |
Returns an int representing the amount of memory in bytes used by this node.
total_memory | - [out] - the amount of memory used by this node |
void core::pack::interaction_graph::FirstClassNode< V, E, G >::drop_background_edge | ( | BackgroundEdgeListIter | edge | ) |
Removes an edge from the node's BackgroundToFirstClassEdge list.
edge | - [in] - the iterator to the edge; in order to guarantee constant time edge deletion, each edge keeps iterators to its position in the edge lists of the nodes it's incident upon. It hands these iterators back to the nodes when it wants to delete itself. |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
References core::pack::interaction_graph::FirstClassNode< V, E, G >::bg_edge_vector_, and core::pack::interaction_graph::FirstClassNode< V, E, G >::bg_edge_vector_up_to_date_.
Referenced by core::pack::interaction_graph::HPatchNode< V, E, G >::get_edge_to_hpatch_bg_node(), core::pack::interaction_graph::NPDHBondNode< V, E, G >::get_edge_to_npd_hbond_bg_node(), and core::pack::interaction_graph::SurfaceNode< V, E, G >::get_edge_to_surface_bg_node().
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
private |
|
protected |
Syncs the background edge vector with the background edge list.
Updates the vector of pointers to background edges to correspond to the list of background edges. Informs its incident edges of their position in its vector.
|
private |
|
private |
|
private |
|
private |
Referenced by core::pack::interaction_graph::FirstClassNode< V, E, G >::get_adjacent_background_node(), core::pack::interaction_graph::FirstClassNode< V, E, G >::get_bg_edge_vector_up_to_date_(), core::pack::interaction_graph::FirstClassNode< V, E, G >::get_edge_to_bg_node(), and core::pack::interaction_graph::FirstClassNode< V, E, G >::get_index_of_adjacent_background_node().
|
private |
|
private |