#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>
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_gdtnode * | gdtnode |
typedef struct_gdtedge * | gdtedge |
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 |
Definition in file rm3_undi_graph.h.
#define AUTO_ID -1 |
Definition at line 45 of file rm3_undi_graph.h.
#define forall_constraints | ( | c, | |||
G | ) | 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, | |||
G | ) | 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, | |||||
G | ) | 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, | |||||
G | ) | 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, | |||||
G | ) | 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, | |||
G | ) | 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 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.
enum compare_option |
Global type used in compare() methods. Possible values are: MIN and MAX. (See the compare methods for more details)
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).
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.
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.
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.
Definition at line 63 of file rm3_undi_graph.h.
const constraint NULL_CONSTRAINT |
Referenced by map_node_set::empty().