Rosetta Core  2014.35
Public Member Functions | Private Member Functions | Private Attributes | List of all members
core::pack::interaction_graph::SimpleEdge Class Reference

#include <SimpleInteractionGraph.hh>

Public Member Functions

 SimpleEdge (graph::Graph *owner, Size res1, Size res2)
 
virtual ~SimpleEdge ()
 
virtual void copy_from (graph::Edge const *)
 copy-from for use in Graph::operator= and copy ctors More...
 
virtual platform::Size count_static_memory () const
 how much memory is statically allocated by this edge More...
 
virtual platform::Size count_dynamic_memory () const
 how much memory is dynamically allocated by this edge – must be recursively invoked by a derived class. More...
 
void compute_energy (bool use_current_node1, bool use_current_node2)
 
Real get_current_energy () const
 
Real get_proposed_energy () const
 
void update_current_energy ()
 
void update_proposed_energy ()
 
void commit_change ()
 
- Public Member Functions inherited from core::graph::Edge
virtual ~Edge ()
 destructor More...
 
 Edge (Graph *owner, platform::Size first_node_ind, platform::Size second_node_ind)
 Main edge constructor. This should only be invoked by create_new_edge, which itself is only called by add_edge. The ONLY way an edge should be added to a graph is through add_edge. NOTE: edges should be only be deleted by a call to the Graph's delete_edge method, and this method absolutely must be implemented by derived Graph classes. More...
 
platform::Size get_other_ind (platform::Size node_index) const
 returns the index of the one node given the index of the other. node_index must be one of the two nodes that this edge is incident upon. More...
 
Node const * get_other_node (platform::Size node_index) const
 returns a const pointer to one node given the index of the other. node_index must be one of the two nodes that this edge is incident upon. More...
 
Nodeget_other_node (platform::Size node_index)
 returns a non-const pointer to one node given the index of the other. node_index must be one of the two nodes that this edge is incident upon. More...
 
platform::Size get_first_node_ind () const
 returns the index of the lower node More...
 
platform::Size get_second_node_ind () const
 returns the index of the upper node More...
 
void set_pos_in_owners_list (EdgeListIter edge_iterator)
 called only by class Graph, this function gives the Edge the data it needs to later delete itself from its owner's edge list in constant time. More...
 
bool same_edge (platform::Size node1, platform::Size node2) const
 Is this the same edge as another edge (node1,node2)? Note: this graph does not work for multi-graphs. Edges must be unique. More...
 
bool is_loop () const
 Is this edge a loop? In Pseudographs, loop edges are incident twice on a single vertex. More...
 

Private Member Functions

SimpleInteractionGraphget_simple_ig_owner ()
 
SimpleInteractionGraph const * get_simple_ig_owner () const
 
Real get_bb_E (conformation::Residue const &r1, conformation::Residue const &r2)
 
Size get_bb_index (conformation::Residue const &r) const
 These functions are to carefully gate access to the c-style, index-from-zero arrays. More...
 
bool bb_bb_boundaries (Size ind1, Size ind2) const
 
bool bb_bbE_calced (Size ind1, Size ind2) const
 
void set_bb_bbE_calced (Size ind1, Size ind2)
 
void set_bb_bbE (Size ind1, Size ind2, Real val)
 
Real bb_bbE (Size ind1, Size ind2) const
 

Private Attributes

bool short_range_energies_exist_
 
bool long_range_energies_exist_
 
Real current_energy_
 
Real proposed_energy_
 
bool bb_bbE_calced_ [3][3]
 
Real bb_bbE_ [3][3]
 

Additional Inherited Members

- Public Types inherited from core::graph::Edge
typedef EdgeListIterator EdgeListIter
 
- Protected Member Functions inherited from core::graph::Edge
platform::Size get_node_index (platform::Size index) const
 get the node index for one of the two nodes this edge is incident upon uses c-style index-from-0. More...
 
Node const * get_node (platform::Size index) const
 get a const * to one node that this edge is incident upon uses c-style index-from-0 for these two nodes More...
 
Nodeget_node (platform::Size index)
 get a non-const * to one node that this edge is incident upon uses c-style index-from-0 for these two nodes More...
 
Graph const * get_owner () const
 get a const * to the owning graph More...
 
Graphget_owner ()
 get a non-const * to the owning graph More...
 

Constructor & Destructor Documentation

core::pack::interaction_graph::SimpleEdge::SimpleEdge ( graph::Graph owner,
Size  res1,
Size  res2 
)

References bb_bbE_, and bb_bbE_calced_.

core::pack::interaction_graph::SimpleEdge::~SimpleEdge ( )
virtual

Member Function Documentation

bool core::pack::interaction_graph::SimpleEdge::bb_bb_boundaries ( Size  ind1,
Size  ind2 
) const
private
Real core::pack::interaction_graph::SimpleEdge::bb_bbE ( Size  ind1,
Size  ind2 
) const
private

References bb_bb_boundaries(), and bb_bbE_.

Referenced by get_bb_E().

bool core::pack::interaction_graph::SimpleEdge::bb_bbE_calced ( Size  ind1,
Size  ind2 
) const
private

References bb_bb_boundaries(), and bb_bbE_calced_.

Referenced by get_bb_E().

void core::pack::interaction_graph::SimpleEdge::commit_change ( )
void core::pack::interaction_graph::SimpleEdge::compute_energy ( bool  use_current_node1,
bool  use_current_node2 
)
virtual void core::pack::interaction_graph::SimpleEdge::copy_from ( graph::Edge const *  source)
inlinevirtual

copy-from for use in Graph::operator= and copy ctors

derived classes should recursively call the copy_from method to ensure all parent class data is copied. It just so happens that this method does nothing, but that could change and the derived class should include a call to this function for that reason.

Reimplemented from core::graph::Edge.

virtual platform::Size core::pack::interaction_graph::SimpleEdge::count_dynamic_memory ( ) const
inlinevirtual

how much memory is dynamically allocated by this edge – must be recursively invoked by a derived class.

memory accounting scheme

This method should be called recursively by derived classes – that is, each class should recurse to its parent.

Reimplemented from core::graph::Edge.

virtual platform::Size core::pack::interaction_graph::SimpleEdge::count_static_memory ( ) const
inlinevirtual

how much memory is statically allocated by this edge

memory accouting scheme

This is called non-recursively on the most-derived class

Reimplemented from core::graph::Edge.

Real core::pack::interaction_graph::SimpleEdge::get_bb_E ( conformation::Residue const &  r1,
conformation::Residue const &  r2 
)
private
Size core::pack::interaction_graph::SimpleEdge::get_bb_index ( conformation::Residue const &  r) const
private

These functions are to carefully gate access to the c-style, index-from-zero arrays.

References core::conformation::Residue::aa(), core::chemical::aa_gly, core::chemical::aa_pro, and chemical.

Referenced by get_bb_E().

Real core::pack::interaction_graph::SimpleEdge::get_current_energy ( ) const
Real core::pack::interaction_graph::SimpleEdge::get_proposed_energy ( ) const
SimpleInteractionGraph * core::pack::interaction_graph::SimpleEdge::get_simple_ig_owner ( )
inlineprivate

Real curr_scsc_E_; Real curr_bbsc_E_; Real curr_scbb_E_;

Real alt_scsc_E_; Real alt_bbsc_E_; Real alt_scbb_E_;

References core::graph::Edge::get_owner().

SimpleInteractionGraph const * core::pack::interaction_graph::SimpleEdge::get_simple_ig_owner ( ) const
inlineprivate
void core::pack::interaction_graph::SimpleEdge::set_bb_bbE ( Size  ind1,
Size  ind2,
Real  val 
)
private

References bb_bb_boundaries(), and bb_bbE_.

Referenced by get_bb_E().

void core::pack::interaction_graph::SimpleEdge::set_bb_bbE_calced ( Size  ind1,
Size  ind2 
)
private

References bb_bb_boundaries(), and bb_bbE_calced_.

Referenced by get_bb_E().

void core::pack::interaction_graph::SimpleEdge::update_current_energy ( )
void core::pack::interaction_graph::SimpleEdge::update_proposed_energy ( )

Member Data Documentation

Real core::pack::interaction_graph::SimpleEdge::bb_bbE_[3][3]
private

Referenced by bb_bbE(), set_bb_bbE(), and SimpleEdge().

bool core::pack::interaction_graph::SimpleEdge::bb_bbE_calced_[3][3]
private
Real core::pack::interaction_graph::SimpleEdge::current_energy_
private
bool core::pack::interaction_graph::SimpleEdge::long_range_energies_exist_
private
Real core::pack::interaction_graph::SimpleEdge::proposed_energy_
private
bool core::pack::interaction_graph::SimpleEdge::short_range_energies_exist_
private

The documentation for this class was generated from the following files: