Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Private Attributes | Static Private Attributes | List of all members
core::scoring::TenANeighborGraph Class Reference

#include <TenANeighborGraph.hh>

Inheritance diagram for core::scoring::TenANeighborGraph:
Inheritance graph
[legend]
Collaboration diagram for core::scoring::TenANeighborGraph:
Collaboration graph
[legend]

Public Types

typedef ContextGraph parent
 
- Public Types inherited from core::scoring::ContextGraph
typedef graph::Graph parent
 
- Public Types inherited from core::graph::Graph
typedef utility::vector1< Node * > NodeVector
 
typedef Node::EdgeListIter EdgeListIter
 
typedef Node::EdgeListConstIter EdgeListConstIter
 
typedef
utility::pointer::ReferenceCount 
parent
 

Public Member Functions

virtual ~TenANeighborGraph ()
 
 TenANeighborGraph ()
 
 TenANeighborGraph (Size num_nodes)
 
 TenANeighborGraph (TenANeighborGraph const &source)
 
TenANeighborGraphoperator= (TenANeighborGraph const &source)
 
virtual Distance neighbor_cutoff () const
 
virtual void conditionally_add_edge (Size lower_node_id, Size upper_node_id, DistanceSquared dsq)
 
virtual ContextGraphOP clone () const
 
virtual void update_from_pose (pose::Pose const &pose)
 
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...
 
- Public Member Functions inherited from core::scoring::ContextGraph
virtual ~ContextGraph ()
 
 ContextGraph ()
 
 ContextGraph (Size num_nodes)
 
 ContextGraph (ContextGraph const &source)
 
ContextGraphoperator= (ContextGraph const &source)
 
- Public Member Functions inherited from core::graph::Graph
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...
 
Graphoperator= (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...
 
Edgeadd_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...
 
Edgeadd_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
 
Nodeget_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...
 
Edgefind_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...
 
Edgefocused_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...
 

Protected Member Functions

virtual Size count_static_memory () const
 
virtual Size count_dynamic_memory () const
 
virtual graph::Nodecreate_new_node (Size node_index)
 factory method for node creation, defined by derived graph classes, called by the base class More...
 
virtual graph::Edgecreate_new_edge (Size index1, Size index2)
 factory method for edge creation, defined by derived graph classes, called by the base class More...
 
virtual graph::Edgecreate_new_edge (graph::Edge const *example_edge)
 factory method for edge copy-construction. Derived class should downcast the example_edge pointer and may read that edge's data. More...
 

Private Attributes

boost::unordered_object_pool
< TenANeighborEdge > * 
tenA_edge_pool_
 

Static Private Attributes

static Distance const tenA_
 
static DistanceSquared const tenA_squared_
 

Member Typedef Documentation

Constructor & Destructor Documentation

core::scoring::TenANeighborGraph::~TenANeighborGraph ( )
virtual
core::scoring::TenANeighborGraph::TenANeighborGraph ( )

Referenced by clone(), and count_static_memory().

core::scoring::TenANeighborGraph::TenANeighborGraph ( Size  num_nodes)
core::scoring::TenANeighborGraph::TenANeighborGraph ( TenANeighborGraph const &  source)

Member Function Documentation

ContextGraphOP core::scoring::TenANeighborGraph::clone ( ) const
virtual
void core::scoring::TenANeighborGraph::conditionally_add_edge ( Size  lower_node_id,
Size  upper_node_id,
DistanceSquared  dsq 
)
virtual
Size core::scoring::TenANeighborGraph::count_dynamic_memory ( ) const
protectedvirtual
Size core::scoring::TenANeighborGraph::count_static_memory ( ) const
protectedvirtual
graph::Edge * core::scoring::TenANeighborGraph::create_new_edge ( Size  index1,
Size  index2 
)
protectedvirtual

factory method for edge creation, defined by derived graph classes, called by the base class

factory method for edge creation Should be overriden in derived classes

Reimplemented from core::graph::Graph.

References tenA_edge_pool_.

graph::Edge * core::scoring::TenANeighborGraph::create_new_edge ( graph::Edge const *  example_edge)
protectedvirtual

factory method for edge copy-construction. Derived class should downcast the example_edge pointer and may read that edge's data.

Reimplemented from core::graph::Graph.

References core::graph::Edge::get_first_node_ind(), core::graph::Edge::get_second_node_ind(), and tenA_edge_pool_.

graph::Node * core::scoring::TenANeighborGraph::create_new_node ( Size  node_index)
protectedvirtual

factory method for node creation, defined by derived graph classes, called by the base class

factory method for node creation Should be overriden in derived classes

Reimplemented from core::graph::Graph.

void core::scoring::TenANeighborGraph::delete_edge ( graph::Edge edge)
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 tenA_edge_pool_.

Distance core::scoring::TenANeighborGraph::neighbor_cutoff ( ) const
virtual

Implements core::scoring::ContextGraph.

References tenA_.

TenANeighborGraph & core::scoring::TenANeighborGraph::operator= ( TenANeighborGraph const &  source)
void core::scoring::TenANeighborGraph::update_from_pose ( pose::Pose const &  pose)
virtual

Member Data Documentation

Distance const core::scoring::TenANeighborGraph::tenA_
staticprivate

Referenced by neighbor_cutoff().

boost::unordered_object_pool< TenANeighborEdge >* core::scoring::TenANeighborGraph::tenA_edge_pool_
private
DistanceSquared const core::scoring::TenANeighborGraph::tenA_squared_
staticprivate

Referenced by conditionally_add_edge().


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