OpenGM  2.3.x
Discrete Graphical Model Library
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
opengm::external::planargraph::PlanarGraph Class Reference

#include <planar_graph.hxx>

+ Collaboration diagram for opengm::external::planargraph::PlanarGraph:

Public Member Functions

 PlanarGraph ()
 
 PlanarGraph (size_t n, bool debug)
 
 ~PlanarGraph ()
 
size_t num_nodes () const
 
size_t num_edges () const
 
size_t num_faces () const
 
size_t add_node ()
 
long int find_edge (size_t u, size_t v) const
 
size_t add_edge (size_t u, size_t v, DataType w)
 
void add_edge_weight (size_t e, DataType w)
 
void print ()
 
void planarize ()
 
void construct_dual ()
 
void get_labeling (std::vector< int > &x) const
 
void calculate_maxcut ()
 
std::vector< boolget_cut () const
 
std::vector< int > get_labeling_from_cut (const std::vector< bool > &cut) const
 
double cost_of_cut (const std::vector< int > &x) const
 
double cost_of_cut () const
 

Protected Member Functions

long int get_dest (size_t v, size_t e) const
 
long int get_following_edge (size_t v, size_t e) const
 
void clear_faces ()
 
size_t compute_dual_num_edges () const
 

Protected Attributes

std::vector< Nodenodes_
 
std::vector< Edgeedges
 
std::vector< Facefaces
 
PerfectMatching * Dual_
 
bool debug_
 

Detailed Description

Definition at line 81 of file planar_graph.hxx.

Constructor & Destructor Documentation

opengm::external::planargraph::PlanarGraph::PlanarGraph ( )

Definition at line 138 of file planar_graph.hxx.

opengm::external::planargraph::PlanarGraph::PlanarGraph ( size_t  n,
bool  debug = false 
)

Definition at line 146 of file planar_graph.hxx.

opengm::external::planargraph::PlanarGraph::~PlanarGraph ( )

Definition at line 154 of file planar_graph.hxx.

Member Function Documentation

size_t opengm::external::planargraph::PlanarGraph::add_edge ( size_t  u,
size_t  v,
DataType  w 
)

Definition at line 172 of file planar_graph.hxx.

void opengm::external::planargraph::PlanarGraph::add_edge_weight ( size_t  e,
DataType  w 
)

Definition at line 195 of file planar_graph.hxx.

size_t opengm::external::planargraph::PlanarGraph::add_node ( )

Definition at line 160 of file planar_graph.hxx.

void opengm::external::planargraph::PlanarGraph::calculate_maxcut ( )

Definition at line 562 of file planar_graph.hxx.

void opengm::external::planargraph::PlanarGraph::clear_faces ( )
protected

Definition at line 292 of file planar_graph.hxx.

+ Here is the caller graph for this function:

size_t opengm::external::planargraph::PlanarGraph::compute_dual_num_edges ( ) const
protected

Definition at line 308 of file planar_graph.hxx.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void opengm::external::planargraph::PlanarGraph::construct_dual ( )

Definition at line 486 of file planar_graph.hxx.

+ Here is the call graph for this function:

double opengm::external::planargraph::PlanarGraph::cost_of_cut ( const std::vector< int > &  x) const

Definition at line 549 of file planar_graph.hxx.

+ Here is the call graph for this function:

double opengm::external::planargraph::PlanarGraph::cost_of_cut ( ) const

Definition at line 537 of file planar_graph.hxx.

+ Here is the call graph for this function:

long int opengm::external::planargraph::PlanarGraph::find_edge ( size_t  u,
size_t  v 
) const

Definition at line 206 of file planar_graph.hxx.

std::vector< bool > opengm::external::planargraph::PlanarGraph::get_cut ( ) const

Definition at line 569 of file planar_graph.hxx.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

long int opengm::external::planargraph::PlanarGraph::get_dest ( size_t  v,
size_t  e 
) const
protected

Definition at line 224 of file planar_graph.hxx.

+ Here is the caller graph for this function:

long int opengm::external::planargraph::PlanarGraph::get_following_edge ( size_t  v,
size_t  e 
) const
protected

Definition at line 270 of file planar_graph.hxx.

+ Here is the caller graph for this function:

void opengm::external::planargraph::PlanarGraph::get_labeling ( std::vector< int > &  x) const

Definition at line 652 of file planar_graph.hxx.

+ Here is the call graph for this function:

std::vector< int > opengm::external::planargraph::PlanarGraph::get_labeling_from_cut ( const std::vector< bool > &  cut) const

Definition at line 587 of file planar_graph.hxx.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

size_t opengm::external::planargraph::PlanarGraph::num_edges ( ) const
inline

Definition at line 89 of file planar_graph.hxx.

+ Here is the caller graph for this function:

size_t opengm::external::planargraph::PlanarGraph::num_faces ( ) const
inline

Definition at line 90 of file planar_graph.hxx.

+ Here is the caller graph for this function:

size_t opengm::external::planargraph::PlanarGraph::num_nodes ( ) const
inline

Definition at line 88 of file planar_graph.hxx.

+ Here is the caller graph for this function:

void opengm::external::planargraph::PlanarGraph::planarize ( )

Definition at line 324 of file planar_graph.hxx.

+ Here is the call graph for this function:

void opengm::external::planargraph::PlanarGraph::print ( )

Definition at line 236 of file planar_graph.hxx.

+ Here is the call graph for this function:

Member Data Documentation

bool opengm::external::planargraph::PlanarGraph::debug_
protected

Definition at line 126 of file planar_graph.hxx.

PerfectMatching* opengm::external::planargraph::PlanarGraph::Dual_
protected

Definition at line 124 of file planar_graph.hxx.

std::vector<Edge> opengm::external::planargraph::PlanarGraph::edges
protected

Definition at line 120 of file planar_graph.hxx.

std::vector<Face> opengm::external::planargraph::PlanarGraph::faces
protected

Definition at line 121 of file planar_graph.hxx.

std::vector<Node> opengm::external::planargraph::PlanarGraph::nodes_
protected

Definition at line 119 of file planar_graph.hxx.