Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
graphpic.C File Reference

Generate LaTeX/eepic pictures of graphs and digraphs. More...

#include <iostream>
#include <fstream>
#include <string>
#include <tpl_dynTreap.H>
#include <tpl_dynArray.H>
#include <tpl_sort_utils.H>
#include <tpl_graph.H>
#include <treepic_utils.H>
#include <parse_utils.H>
#include <eepicgeom.H>
#include <tclap/CmdLine.h>
Include dependency graph for graphpic.C:

Go to the source code of this file.

Classes

struct  Tag_Data
 
struct  Node_Data
 
struct  Arc_Data
 

Macros

#define TERMINATE(n)   (save_parameters(), exit(n))
 
#define X(p)   ((p)->get_info().x)
 
#define Y(p)   ((p)->get_info().y)
 
#define HR(p)   ((p)->get_info().hr)
 
#define VR(p)   ((p)->get_info().vr)
 
#define SHADOW(p)   ((p)->get_info().shadow)
 
#define WITHOUT(p)   ((p)->get_info().without)
 
#define NUMBER(p)   ((p)->get_info().number)
 
#define STRING(p)   ((p)->get_info().name)
 
#define XOFFSET(p)   ((p)->get_info().xoffset)
 
#define YOFFSET(p)   ((p)->get_info().yoffset)
 
#define TAGS(p)   ((p)->get_info().tag_list)
 
#define DYNARRAY_APPEND(array, item)   (array[array.size()] = item)
 
#define STRING_ARC(a)   ((a)->get_info().data)
 
#define XOFFSET_ARC(a)   ((a)->get_info().xoffset)
 
#define YOFFSET_ARC(a)   ((a)->get_info().yoffset)
 
#define SHADOW_ARC(a)   ((a)->get_info().shadow)
 
#define DASHED_ARC(a)   ((a)->get_info().dashed)
 
#define CURVE_ARC(a)   ((a)->get_info().curve)
 
#define CURVE_LEFT(a)   ((a)->get_info().left)
 
#define CURVE_MID(a)   ((a)->get_info().curve_mid)
 

Typedefs

typedef Token_Type Tag_Option
 
typedef double Coord
 
typedef Graph_Node< Node_DataNode
 
typedef Graph_Arc< Arc_DataArc
 
typedef List_Graph< Node, ArcGraph
 
typedef List_Digraph< Node, ArcDigraph
 

Enumerations

enum  Token_Type {
  COMMENT , DIGRAPH , GRAPH , POLY_DIGRAPH ,
  POLY_GRAPH , NET_GRAPH , NET_DIGRAPH , CROSS_NET_GRAPH ,
  CROSS_NET_DIGRAPH , NODE , ARC , SHADOW_NODE ,
  SHADOW_ARC , DASHED_ARC , DASHED_CURVE_ARC , CURVE_ARC ,
  SHADOW_CURVE_ARC , NODE_TEXT , ARC_TEXT , TAG ,
  WITHOUT_NODE , SHADOW_PATH , PATH , LEFT ,
  RIGHT , HRADIO , VRADIO , STRING ,
  NORTH , SOUTH , EAST , WEST ,
  NORTH_EAST , NORTH_WEST , SOUTH_EAST , SOUTH_WEST ,
  END_FILE , INVALID
}
 

Functions

void print_parameters ()
 
void save_parameters ()
 
void read_parameters ()
 
Token_Type get_token (ifstream &input_stream)
 
Graphbuild_poly_graph (ifstream &input_stream, Graph *g)
 
Graphbuild_net_graph (ifstream &input_stream, Graph *g)
 
Graphbuild_cross_net_graph (ifstream &input_stream, Graph *g)
 
Graphparse_graph_definition (ifstream &input_stream)
 
Graph::Nodeload_node (ifstream &input_stream)
 
void parse_node_definition (ifstream &input_stream)
 
void parse_tag_definition (ifstream &input_stream)
 
void parse_without_node_definition (ifstream &input_stream)
 
void parse_shadow_node_definition (ifstream &input_stream)
 
void load_nodes (ifstream &input_stream, Graph::Node *&src_node, Graph::Node *&tgt_node)
 
Graph::Arcparse_arc_definition (ifstream &input_stream, Graph *g)
 
Graph::Nodeparse_node_text_definition (ifstream &input_stream)
 
Graph::Arcparse_arc_text_definition (ifstream &input_stream, Graph *g)
 
Graph::Arcparse_curve_arc_definition (ifstream &input_stream, Graph *g)
 
Graph::Arcparse_shadow_arc_definition (ifstream &input_stream, Graph *g)
 
Graph::Arcparse_dashed_arc_definition (ifstream &input_stream, Graph *g)
 
Graph::Arcparse_shadow_curve_arc_definition (ifstream &input_stream, Graph *g)
 
Graph::Arcparse_dashed_curve_arc_definition (ifstream &input_stream, Graph *g)
 
void parse_hradio_definition (ifstream &input_stream)
 
void parse_vradio_definition (ifstream &input_stream)
 
Graphread_input_and_build_graph (ifstream &input_stream)
 
void generate_prologue (ofstream &output)
 
Segment arc_segment (Graph::Node *src, Graph::Node *tgt)
 
Polygon arc_trigon (Graph::Node *src, Graph::Node *tgt, const double &dist, const bool &left)
 
void process_tag_node (Eepic_Plane &plane, Graph::Node *p)
 
void process_node (Eepic_Plane &plane, Graph::Node *p)
 
void process_text_arc (Eepic_Plane &plane, Graph::Arc *a, const Segment &arc_sg)
 
void process_text_arc (Eepic_Plane &plane, Graph::Arc *a, Polygon &trigon)
 
void process_arc (Eepic_Plane &plane, Graph *g, Graph::Arc *a)
 
void generate_picture (ofstream &output, Graph *g)
 
void generate_epilogue (ofstream &output)
 
void generate_graph (Graph *g, ofstream &output)
 
int main (int argc, char *argv[])
 

Variables

bool tiny_keys
 Global flag to enable tiny font size for keys/labels.
 
double hr = 8
 
double vr = 8
 
double h_size = 3000
 
double v_size = 3000
 
double zoom_factor = 1
 
double hd = 2 * hr
 
double vd = 2 * vr
 
double x_offset = 0
 
double y_offset = 0
 
double x_picture_offset = 0
 
double y_picture_offset = 0
 
long line_dimension = 100
 
string command_line
 
string input_file_name
 
string output_file_name
 
bool draw_node_mode = true
 
bool squarize = true
 
bool latex_header = false
 
bool ellipses = true
 
bool rectangles = false
 
bool not_nodes = false
 
const char * parameters_file_name = "./.graphpic"
 
DynTreapTree< string, Graph::Node * > node_table
 
size_t num_nodes = 0
 
DynArray< Graph::Node * > nodes
 
DynArray< Graph::Arc * > arcs
 

Detailed Description

Generate LaTeX/eepic pictures of graphs and digraphs.

This utility program reads a graph specification from a file and generates high-quality LaTeX code for visualizing graphs (undirected) and digraphs (directed) using the eepic package. It's designed for creating publication-quality graph diagrams for academic papers, presentations, and educational materials.

Purpose

graphpic is essential for:

  • Academic papers: Professional graph visualizations
  • Algorithm illustration: Showing graph algorithms step-by-step
  • Network diagrams: Visualizing network topologies
  • Educational materials: Clear, readable graph diagrams
  • Presentations: High-quality slides with graph diagrams

Key Features

Graph Types

  • Undirected graphs: Edges without direction
  • Directed graphs (digraphs): Edges with arrows showing direction
  • Network layouts: Layered network layouts (NET-*, CROSS-NET-*)
  • Polygon layouts: Regular polygon layouts (POLY-*)

Node Customization

  • Positions: Explicit (x, y) coordinates, or a few built-in layouts (polygraph, layered networks)
  • Shapes: Ellipses (optionally with shadow)
  • Labels: Text labels for nodes
  • Sizes: Configurable node radii
  • Styles: Shadow effects, hidden node ellipses

Edge Customization

  • Arrows: Direction indicators for digraphs
  • Labels: Text labels and weights on edges
  • Styles: Solid, dashed, curved, shadowed
  • Positioning: Left/right text placement

Advanced Features

  • Tags: Additional text annotations
  • Curved edges: Bézier curves for better layout

Input Format (DSL)

The input file uses a small domain-specific language (DSL). Graphs are declared with a type and a node count; nodes are identified by number (0..N-1) and are created implicitly by the declaration.

Graph Declaration

  • GRAPH <num-nodes>: Undirected graph
  • DIGRAPH <num-nodes>: Directed graph
  • POLY-GRAPH <num-nodes> <side-size> <rotation>: Regular polygon layout
  • POLY-DIGRAPH <num-nodes> <side-size> <rotation>: Regular polygon layout (directed)
  • NET-GRAPH <num-nodes> <num-levels> <x-dist> <y-dist>: Layered network layout
  • NET-DIGRAPH <num-nodes> <num-levels> <x-dist> <y-dist>: Layered network layout (directed)
  • CROSS-NET-GRAPH <num-nodes> <nodes-by-level> <x-dist> <y-dist>: Layered cross layout
  • CROSS-NET-DIGRAPH <num-nodes> <nodes-by-level> <x-dist> <y-dist>: Layered cross layout (directed)

Node Commands

  • NODE <node-num> <name> <x> <y>: Define node name and position
  • SHADOW-NODE <node-num>: Draw node with shadow
  • WITHOUT-NODE <node-num>: Do not draw the node ellipse
  • NODE-TEXT <node-num> <text> <xoffset> <yoffset>: Node label and label offset
  • TAG <node-num> <text> <sense> <xoffset> <yoffset>: Add an annotation tag where <sense> is one of N, S, E, W, NE, NW, SE, SW.
  • HRADIO <node-num> <radius>: Horizontal radius of the node ellipse
  • VRADIO <node-num> <radius>: Vertical radius of the node ellipse

Edge Commands

  • ARC <src-num> <tgt-num>: Insert an arc (or an undirected edge in GRAPH)
  • ARC-TEXT <src-num> <tgt-num> <text> <xoffset> <yoffset>: Label on an arc
  • DASHED-ARC <src-num> <tgt-num>: Dashed arc
  • CURVE-ARC <src-num> <tgt-num> <mid-point> <L|R>: Curved arc
  • SHADOW-ARC <src-num> <tgt-num>: Arc with shadow
  • SHADOW-CURVE-ARC <src-num> <tgt-num> <mid-point> <L|R>: Curved arc with shadow
  • DASHED-CURVE-ARC <src-num> <tgt-num> <mid-point> <L|R>: Curved dashed arc

Usage

# Generate eepic/LaTeX picture from a DSL specification
graphpic -f input.graph
# Choose output file name explicitly
graphpic -f input.graph -o output.eepic
# (Optional) emit a minimal LaTeX wrapper/header
graphpic -a -f input.graph
# Common tuning options
graphpic -f input.graph -r 8 -W 3000 -H 3000 -Z 1.0
graphpic -f input.graph -N # do not draw node ellipses

If -o is not given, the output defaults to the input name with extension .eepic.

Example Input File

NODE 0 Start 0 0
NODE 1 Middle 2 0
NODE 2 End 4 0
ARC 0 1
ARC 1 2
ARC-TEXT 0 1 w=5 0 0
@ ARC
Definition btreepic.C:168
long double w
Definition btreepic.C:153
@ End
Definition evalExp.C:272
@ DIGRAPH
Definition graphpic.C:197
@ NODE
Definition graphpic.C:201

Applications

  • Graph algorithms: Visualize BFS, DFS, shortest paths
  • Network topology: Computer networks, social networks
  • Flow networks: Maximum flow, min-cost flow problems
  • State machines: Finite automata, transition diagrams
  • Dependency graphs: Software dependencies, task scheduling
  • Social networks: Friend connections, influence networks

Output Format

Generates LaTeX code using the eepic package:

  • Vector graphics: Scalable, high quality
  • Publication-ready: Professional appearance
  • Compatible: Works with standard LaTeX distributions

Related Tools

See also
btreepic.C Binary tree visualization tool
ntreepic.C N-ary tree visualization tool
treepic_utils.H Shared utilities for visualization
Author
Leandro Rabindranath León

Definition in file graphpic.C.

Macro Definition Documentation

◆ CURVE_ARC

#define CURVE_ARC (   a)    ((a)->get_info().curve)

Definition at line 389 of file graphpic.C.

◆ CURVE_LEFT

#define CURVE_LEFT (   a)    ((a)->get_info().left)

Definition at line 390 of file graphpic.C.

◆ CURVE_MID

#define CURVE_MID (   a)    ((a)->get_info().curve_mid)

Definition at line 391 of file graphpic.C.

◆ DASHED_ARC

#define DASHED_ARC (   a)    ((a)->get_info().dashed)

Definition at line 388 of file graphpic.C.

◆ DYNARRAY_APPEND

#define DYNARRAY_APPEND (   array,
  item 
)    (array[array.size()] = item)

Definition at line 361 of file graphpic.C.

◆ HR

#define HR (   p)    ((p)->get_info().hr)

Definition at line 351 of file graphpic.C.

◆ NUMBER

#define NUMBER (   p)    ((p)->get_info().number)

Definition at line 355 of file graphpic.C.

◆ SHADOW

#define SHADOW (   p)    ((p)->get_info().shadow)

Definition at line 353 of file graphpic.C.

◆ SHADOW_ARC

#define SHADOW_ARC (   a)    ((a)->get_info().shadow)

Definition at line 387 of file graphpic.C.

◆ STRING

#define STRING (   p)    ((p)->get_info().name)

Definition at line 356 of file graphpic.C.

◆ STRING_ARC

#define STRING_ARC (   a)    ((a)->get_info().data)

Definition at line 384 of file graphpic.C.

◆ TAGS

#define TAGS (   p)    ((p)->get_info().tag_list)

Definition at line 359 of file graphpic.C.

◆ TERMINATE

#define TERMINATE (   n)    (save_parameters(), exit(n))

Definition at line 189 of file graphpic.C.

◆ VR

#define VR (   p)    ((p)->get_info().vr)

Definition at line 352 of file graphpic.C.

◆ WITHOUT

#define WITHOUT (   p)    ((p)->get_info().without)

Definition at line 354 of file graphpic.C.

◆ X

#define X (   p)    ((p)->get_info().x)

Definition at line 349 of file graphpic.C.

◆ XOFFSET

#define XOFFSET (   p)    ((p)->get_info().xoffset)

Definition at line 357 of file graphpic.C.

◆ XOFFSET_ARC

#define XOFFSET_ARC (   a)    ((a)->get_info().xoffset)

Definition at line 385 of file graphpic.C.

◆ Y

#define Y (   p)    ((p)->get_info().y)

Definition at line 350 of file graphpic.C.

◆ YOFFSET

#define YOFFSET (   p)    ((p)->get_info().yoffset)

Definition at line 358 of file graphpic.C.

◆ YOFFSET_ARC

#define YOFFSET_ARC (   a)    ((a)->get_info().yoffset)

Definition at line 386 of file graphpic.C.

Typedef Documentation

◆ Arc

Definition at line 396 of file graphpic.C.

◆ Coord

typedef double Coord

Definition at line 316 of file graphpic.C.

◆ Digraph

Definition at line 400 of file graphpic.C.

◆ Graph

typedef List_Graph<Node, Arc> Graph

Definition at line 398 of file graphpic.C.

◆ Node

Definition at line 394 of file graphpic.C.

◆ Tag_Option

Definition at line 314 of file graphpic.C.

Enumeration Type Documentation

◆ Token_Type

enum Token_Type
Enumerator
COMMENT 
DIGRAPH 
GRAPH 
POLY_DIGRAPH 
POLY_GRAPH 
NET_GRAPH 
NET_DIGRAPH 
CROSS_NET_GRAPH 
CROSS_NET_DIGRAPH 
NODE 
ARC 
SHADOW_NODE 
SHADOW_ARC 
DASHED_ARC 
DASHED_CURVE_ARC 
CURVE_ARC 
SHADOW_CURVE_ARC 
NODE_TEXT 
ARC_TEXT 
TAG 
WITHOUT_NODE 
SHADOW_PATH 
PATH 
LEFT 
RIGHT 
HRADIO 
VRADIO 
STRING 
NORTH 
SOUTH 
EAST 
WEST 
NORTH_EAST 
NORTH_WEST 
SOUTH_EAST 
SOUTH_WEST 
END_FILE 
INVALID 

Definition at line 194 of file graphpic.C.

Function Documentation

◆ arc_segment()

Segment arc_segment ( Graph::Node src,
Graph::Node tgt 
)

Definition at line 1118 of file graphpic.C.

References HR, l, Aleph::maps(), VR, X, and Y.

Referenced by process_arc().

◆ arc_trigon()

Polygon arc_trigon ( Graph::Node src,
Graph::Node tgt,
const double &  dist,
const bool &  left 
)

Definition at line 1147 of file graphpic.C.

References Polygon::add_vertex(), hr, HR, l, Aleph::maps(), vr, VR, X, and Y.

Referenced by process_arc().

◆ build_cross_net_graph()

Graph * build_cross_net_graph ( ifstream &  input_stream,
Graph g 
)

◆ build_net_graph()

Graph * build_net_graph ( ifstream &  input_stream,
Graph g 
)

◆ build_poly_graph()

Graph * build_poly_graph ( ifstream &  input_stream,
Graph g 
)

◆ generate_epilogue()

void generate_epilogue ( ofstream &  output)

Definition at line 1508 of file graphpic.C.

References latex_header, Aleph::maps(), and output.

Referenced by generate_graph().

◆ generate_graph()

void generate_graph ( Graph g,
ofstream &  output 
)

Definition at line 1517 of file graphpic.C.

References generate_epilogue(), generate_picture(), generate_prologue(), and output.

Referenced by main().

◆ generate_picture()

void generate_picture ( ofstream &  output,
Graph g 
)

◆ generate_prologue()

void generate_prologue ( ofstream &  output)

Definition at line 1066 of file graphpic.C.

References command_line, input_file_name, latex_header, Aleph::maps(), output, and output_file_name.

Referenced by generate_graph().

◆ get_token()

◆ load_node()

◆ load_nodes()

void load_nodes ( ifstream &  input_stream,
Graph::Node *&  src_node,
Graph::Node *&  tgt_node 
)

Definition at line 813 of file graphpic.C.

References AH_ERROR, Aleph::load_number(), Aleph::maps(), nodes, and num_nodes.

Referenced by parse_arc_definition(), and parse_arc_text_definition().

◆ main()

◆ parse_arc_definition()

◆ parse_arc_text_definition()

Graph::Arc * parse_arc_text_definition ( ifstream &  input_stream,
Graph g 
)

◆ parse_curve_arc_definition()

Graph::Arc * parse_curve_arc_definition ( ifstream &  input_stream,
Graph g 
)

◆ parse_dashed_arc_definition()

Graph::Arc * parse_dashed_arc_definition ( ifstream &  input_stream,
Graph g 
)

Definition at line 927 of file graphpic.C.

References DASHED_ARC, Aleph::maps(), and parse_arc_definition().

Referenced by read_input_and_build_graph().

◆ parse_dashed_curve_arc_definition()

Graph::Arc * parse_dashed_curve_arc_definition ( ifstream &  input_stream,
Graph g 
)

Definition at line 951 of file graphpic.C.

References DASHED_ARC, Aleph::maps(), and parse_curve_arc_definition().

Referenced by read_input_and_build_graph().

◆ parse_graph_definition()

◆ parse_hradio_definition()

void parse_hradio_definition ( ifstream &  input_stream)

Definition at line 962 of file graphpic.C.

References HR, load_node(), Aleph::load_number(), and Aleph::maps().

Referenced by read_input_and_build_graph().

◆ parse_node_definition()

void parse_node_definition ( ifstream &  input_stream)

◆ parse_node_text_definition()

Graph::Node * parse_node_text_definition ( ifstream &  input_stream)

◆ parse_shadow_arc_definition()

Graph::Arc * parse_shadow_arc_definition ( ifstream &  input_stream,
Graph g 
)

Definition at line 917 of file graphpic.C.

References Aleph::maps(), parse_arc_definition(), and SHADOW_ARC.

Referenced by read_input_and_build_graph().

◆ parse_shadow_curve_arc_definition()

Graph::Arc * parse_shadow_curve_arc_definition ( ifstream &  input_stream,
Graph g 
)

Definition at line 939 of file graphpic.C.

References Aleph::maps(), parse_curve_arc_definition(), and SHADOW_ARC.

Referenced by read_input_and_build_graph().

◆ parse_shadow_node_definition()

void parse_shadow_node_definition ( ifstream &  input_stream)

Definition at line 805 of file graphpic.C.

References load_node(), Aleph::maps(), and SHADOW.

Referenced by read_input_and_build_graph().

◆ parse_tag_definition()

void parse_tag_definition ( ifstream &  input_stream)

◆ parse_vradio_definition()

void parse_vradio_definition ( ifstream &  input_stream)

Definition at line 971 of file graphpic.C.

References load_node(), Aleph::load_number(), Aleph::maps(), and VR.

Referenced by read_input_and_build_graph().

◆ parse_without_node_definition()

void parse_without_node_definition ( ifstream &  input_stream)

Definition at line 797 of file graphpic.C.

References load_node(), Aleph::maps(), and WITHOUT.

Referenced by read_input_and_build_graph().

◆ print_parameters()

void print_parameters ( )
inline

Definition at line 271 of file graphpic.C.

References h_size, hd, hr, Aleph::maps(), resolution, v_size, vd, vr, x_offset, x_picture_offset, y_offset, and y_picture_offset.

Referenced by main().

◆ process_arc()

◆ process_node()

void process_node ( Eepic_Plane plane,
Graph::Node p 
)

Definition at line 1295 of file graphpic.C.

References draw_node_mode, HR, Aleph::maps(), process_tag_node(), put_in_plane(), SHADOW, STRING, VR, WITHOUT, X, XOFFSET, Y, and YOFFSET.

Referenced by generate_picture().

◆ process_tag_node()

void process_tag_node ( Eepic_Plane plane,
Graph::Node p 
)

◆ process_text_arc() [1/2]

void process_text_arc ( Eepic_Plane plane,
Graph::Arc a,
const Segment arc_sg 
)

◆ process_text_arc() [2/2]

void process_text_arc ( Eepic_Plane plane,
Graph::Arc a,
Polygon trigon 
)

Definition at line 1377 of file graphpic.C.

References Aleph::maps(), process_text_arc(), and STRING_ARC.

◆ read_input_and_build_graph()

◆ read_parameters()

void read_parameters ( )
inline

Definition at line 301 of file graphpic.C.

References h_size, hd, hr, Aleph::maps(), parameters_file_name, resolution, v_size, vd, vr, x_offset, x_picture_offset, y_offset, and y_picture_offset.

Referenced by main().

◆ save_parameters()

void save_parameters ( )
inline

Variable Documentation

◆ arcs

◆ command_line

string command_line

Definition at line 253 of file graphpic.C.

Referenced by generate_prologue(), and main().

◆ draw_node_mode

bool draw_node_mode = true

Definition at line 257 of file graphpic.C.

Referenced by main(), and process_node().

◆ ellipses

bool ellipses = true

Definition at line 262 of file graphpic.C.

◆ h_size

double h_size = 3000

◆ hd

double hd = 2 * hr

Definition at line 244 of file graphpic.C.

Referenced by main(), print_parameters(), read_parameters(), and save_parameters().

◆ hr

double hr = 8

Definition at line 236 of file graphpic.C.

Referenced by arc_trigon(), main(), print_parameters(), read_parameters(), and save_parameters().

◆ input_file_name

string input_file_name

Definition at line 254 of file graphpic.C.

Referenced by generate_prologue(), and main().

◆ latex_header

bool latex_header = false

Definition at line 261 of file graphpic.C.

Referenced by generate_epilogue(), generate_prologue(), and main().

◆ line_dimension

long line_dimension = 100

Definition at line 251 of file graphpic.C.

◆ node_table

DynTreapTree<string, Graph::Node *> node_table

Definition at line 402 of file graphpic.C.

Referenced by parse_node_definition().

◆ nodes

Definition at line 406 of file graphpic.C.

Referenced by NodePool::~NodePool(), add_super_source_and_sink(), build_city_graph(), HamiltonianUndirectedTest::build_complete_graph(), build_complete_graph(), build_complete_graph(), build_cross_net_graph(), build_cycle_graph(), build_grid_network(), build_net_graph(), build_path_graph(), build_poly_graph(), build_random_graph(), build_random_graph(), build_tree_graph(), compare_with_floyd(), Aleph::compute_cut_nodes(), Aleph::Map_Matrix_Graph< GT, SA >::copy_list_graph(), create_chain(), FindPathTest::create_complete_graph(), create_cycle(), create_cycle_graph(), create_grid_graph(), FindPathTest::create_linear_graph(), create_path_graph(), demo_adjacency_matrix(), demo_density(), Aleph::Testing::RandomNetworkGenerator< Net >::ensure_path(), example_basic_all_pairs(), example_spfa_comparison(), Aleph::Find_Eulerian_Path< GT, SN, SA >::find_node_sequence(), NodePool::forget(), Aleph::Testing::ErdosRenyiGenerator< Net >::generate(), Aleph::generate_graphpic(), Aleph::generate_graphviz(), Aleph::generate_grid_network(), generate_random_graph(), Aleph::generate_random_network(), Aleph::matgraph_detail::get_node(), Aleph::matgraph_detail::get_node(), Aleph::import_network_from_dimacs(), load_node(), load_nodes(), main(), NodePool::make(), TdRbTreeTest::make_nodes(), TdRbTreeCustomCompareTest::make_nodes(), TdRbTreeRkTest::make_nodes(), Aleph::matgraph_detail::node_index(), Aleph::Ady_Mat< GT, __Entry_Type, SA >::operate_all_arcs_list_graph(), Aleph::Ady_Mat< GT, __Entry_Type, SA >::operate_all_arcs_list_graph(), Aleph::Ady_Mat< GT, __Entry_Type, SA >::operate_all_arcs_matrix(), Aleph::Ady_Mat< GT, __Entry_Type, SA >::operate_all_arcs_matrix(), parse_graph_definition(), print_grid_with_path(), print_partition(), Aleph::search_node(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), Aleph::Test_Single_Graph< GT, SN, SA >::test_node(), test_performance_ks(), test_performance_sw(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), and Aleph::Xml_Graph< GT, Node_Reader, Arc_Reader, Node_Writer, Arc_Writer >::write_graph().

◆ not_nodes

bool not_nodes = false

Definition at line 264 of file graphpic.C.

◆ num_nodes

size_t num_nodes = 0

◆ output_file_name

string output_file_name

Definition at line 255 of file graphpic.C.

Referenced by generate_prologue(), and main().

◆ parameters_file_name

const char* parameters_file_name = "./.graphpic"

Definition at line 267 of file graphpic.C.

Referenced by read_parameters(), and save_parameters().

◆ rectangles

bool rectangles = false

Definition at line 263 of file graphpic.C.

◆ squarize

bool squarize = true

◆ tiny_keys

bool tiny_keys
extern

Global flag to enable tiny font size for keys/labels.

When set to true, text labels will be rendered using LaTeX's \tiny font size modifier. Useful for dense diagrams with many labels.

Definition at line 59 of file eepicgeom_test.cc.

Referenced by main(), and put_string().

◆ v_size

double v_size = 3000

◆ vd

double vd = 2 * vr

Definition at line 245 of file graphpic.C.

Referenced by main(), print_parameters(), read_parameters(), and save_parameters().

◆ vr

double vr = 8

◆ x_offset

double x_offset = 0

Definition at line 246 of file graphpic.C.

Referenced by main(), print_parameters(), read_parameters(), and save_parameters().

◆ x_picture_offset

double x_picture_offset = 0

◆ y_offset

double y_offset = 0

Definition at line 247 of file graphpic.C.

Referenced by main(), print_parameters(), read_parameters(), and save_parameters().

◆ y_picture_offset

double y_picture_offset = 0

◆ zoom_factor

double zoom_factor = 1

Definition at line 242 of file graphpic.C.

Referenced by generate_picture(), and main().