title
Graph Drawing Toolkit

An object-oriented C++ library for handling and drawing graphs

rm3_undi_graph.h File Reference

#include <fstream>
#include <limits.h>
#include <GDT/rm3_global.h>
#include <GDT/rm3_constraints.h>
#include <GDT/gdtlist.h>
#include <GDT/gdtstack.h>
#include <string>

Include dependency graph for rm3_undi_graph.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  dfs_node_info
class  dfs_edge_info
class  bm_node_info
class  bm_edge_info
class  bic_obj
class  bic_obj_node
class  struct_gdtnode
class  struct_gdtedge
class  struct_undi_node_info
class  struct_undi_edge_info
class  undi_graph

Defines

#define AUTO_ID   -1
#define NULL_ID   -1
#define forall_nodes(v, G)   for(v=(G).first_node();v;v=(G).succ_node(v))
#define forall_edges(e, G)   for(e=(G).first_edge();e;e=(G).succ_edge(e))
#define forall_edges_adjacent_node(e, v, G)   for(e=(G).first_adj_edge(v);e;e=(G).adj_succ(e,v))
#define forall_edges_entering_node(e, v, G)   for(e=(G).first_in_edge(v);e;e=(G).in_succ(e,v))
#define forall_edges_leaving_node(e, v, G)   for(e=(G).first_out_edge(v);e;e=(G).out_succ(e,v))
#define forall_constraints(c, G)   for(c=(G).first_constraint();c;c=(G).succ_constraint(c))

Typedefs

typedef struct_gdtnodegdtnode
typedef struct_gdtedgegdtedge

Enumerations

enum  visit_direction_type { OUTGOING, INCOMING }
 Global type used in graph visit algorithms. Possible values are OUTGOING and INCOMING. For example, in the simple_DFS() method for a directed graph dire_graph you can specify the direction of the edges along which you want to walk; if you specify OUTGOING (default), you move from a gdtnode only along the outgoing edges; if you specify INCOMING, you move from a gdtnode only along the incoming edges. More...
enum  print_mode {
  BY_NODES, BY_EDGES, BY_FACES, FOR_DEBUG,
  BY_PATHS, COMPLETE
}
enum  compare_option { MIN, MAX }
enum  DFS_edge_type { TREE_EDGE, BACK_EDGE, FORW_EDGE }
enum  planarize_options { DO_NOT_PRESERVE_EMBEDDING, PRESERVE_EMBEDDING }

Variables

const gdtnode NULL_NODE
const gdtedge NULL_EDGE
const constraint NULL_CONSTRAINT


Detailed Description

Definition in file rm3_undi_graph.h.


Define Documentation

#define AUTO_ID   -1

Definition at line 45 of file rm3_undi_graph.h.

#define forall_constraints ( c,
 )     for(c=(G).first_constraint();c;c=(G).succ_constraint(c))

Definition at line 4872 of file rm3_undi_graph.h.

#define forall_edges ( e,
 )     for(e=(G).first_edge();e;e=(G).succ_edge(e))

Definition at line 4859 of file rm3_undi_graph.h.

#define forall_edges_adjacent_node ( e,
v,
 )     for(e=(G).first_adj_edge(v);e;e=(G).adj_succ(e,v))

Definition at line 4863 of file rm3_undi_graph.h.

#define forall_edges_entering_node ( e,
v,
 )     for(e=(G).first_in_edge(v);e;e=(G).in_succ(e,v))

Definition at line 4866 of file rm3_undi_graph.h.

#define forall_edges_leaving_node ( e,
v,
 )     for(e=(G).first_out_edge(v);e;e=(G).out_succ(e,v))

Definition at line 4869 of file rm3_undi_graph.h.

#define forall_nodes ( v,
 )     for(v=(G).first_node();v;v=(G).succ_node(v))

Definition at line 4856 of file rm3_undi_graph.h.

Referenced by gdt::gdtnode_matrix< E >::init(), and gdt::PQ_tree< T >::PQ_tree_into_undi_graph().

#define NULL_ID   -1

Definition at line 46 of file rm3_undi_graph.h.


Typedef Documentation

typedef struct_gdtedge* gdtedge

Represents a reference to an edge of a graph An edge can be created only using graph methods

Definition at line 760 of file rm3_undi_graph.h.

typedef struct_gdtnode* gdtnode

Represents a reference to a node of a graph A node can be created only using graph methods

Definition at line 754 of file rm3_undi_graph.h.


Enumeration Type Documentation

enum compare_option

Global type used in compare() methods. Possible values are: MIN and MAX. (See the compare methods for more details)

Enumerator:
MIN 
MAX 

Definition at line 106 of file rm3_undi_graph.h.

enum DFS_edge_type

Global type used as DFS gdtedge markers. Possible values are: TREE_EDGE, BACK_EDGE, and FORW_EDGE. When a DFS visit is executed, we call TREE_EDGE a gdtedge of the spanning tree induced by the DFS. A gdtedge that is not in the spanning tree can be a BACK_EDGE or FORW_EDGE depending on its orientation. (See the DFS_edge() method for more details).

Enumerator:
TREE_EDGE 
BACK_EDGE 
FORW_EDGE 

Definition at line 124 of file rm3_undi_graph.h.

enum planarize_options

Global type used as a parameter by the planarize() method. Two are the possible options: DO_NOT_PRESERVE_EMBEDDING leaves the planarization step the freedom of changing the order of edges around nodes; PRESERVE_EMBEDDING forbids the planarize() method to change such order. Other planarization vincula, referring to smaller parts of the graph and not to the whole graph, are handled by means of constraints.

Enumerator:
DO_NOT_PRESERVE_EMBEDDING 
PRESERVE_EMBEDDING 

Definition at line 143 of file rm3_undi_graph.h.

enum print_mode

Global type used in print() methods. Possible values are: BY_NODES, BY_EDGES, BY_FACES, BY_PATHS, and COMPLETE. Choosing BY_NODES, only the adjacent lists of the edges around nodes are printed. Choosing BY_EDGES, it is printed a list of all edges. Choosing BY_FACES a list of all faces (with all edges and nodes on the border) is printed; this choice is possible only for an object of the class plan_undi_graph (or inherited). The choice BY_PATHS is allowed for an object of class dime_orth_plan_undi_graph, and it prints each gdtedge by a path from the source extremal gdtnode to the target extremal gdtnode, through the list of bend points of the gdtedge. Choosing COMPLETE, a printing of all possible information for the current object is provided.

Enumerator:
BY_NODES 
BY_EDGES 
BY_FACES 
FOR_DEBUG 
BY_PATHS 
COMPLETE 

Definition at line 86 of file rm3_undi_graph.h.

enum typedef enum visit_direction_type

Global type used in graph visit algorithms. Possible values are OUTGOING and INCOMING. For example, in the simple_DFS() method for a directed graph dire_graph you can specify the direction of the edges along which you want to walk; if you specify OUTGOING (default), you move from a gdtnode only along the outgoing edges; if you specify INCOMING, you move from a gdtnode only along the incoming edges.

Enumerator:
OUTGOING 
INCOMING 

Definition at line 63 of file rm3_undi_graph.h.


Variable Documentation

const constraint NULL_CONSTRAINT

const gdtedge NULL_EDGE

const gdtnode NULL_NODE

Referenced by map_node_set::empty().


Generated on Thu Jan 10 14:48:36 2008 for GDToolkit GAPI by  doxygen 1.5.3