|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Generate LaTeX/eepic pictures of n-ary (general) trees. More...
#include <iostream>#include <fstream>#include <string>#include <tpl_dynArray.H>#include <tpl_dynDlist.H>#include <tpl_tree_node.H>#include <utility>#include <argp.h>#include "parse_utils.H"#include "treepic_utils.H"#include "ah-errors.H"#include <cassert>Go to the source code of this file.
Classes | |
| struct | Tag_Data |
| struct | Arc_Data |
| struct | Connexion_Data |
| struct | Tree_Data |
Macros | |
| #define | BLANK " " |
| #define | X(p) ((p)->get_key().x) |
| #define | Y(p) ((p)->get_key().y) |
| #define | PRE(p) ((p)->get_key().pre) |
| #define | MOD(p) ((p)->get_key().mod) |
| #define | SUMMOD(p) ((p)->get_key().sum_mod) |
| #define | STRING(p) ((p)->get_key().str) |
| #define | ISELLIPSE(p) ((p)->get_key().ellipse) |
| #define | ISRECTANGLE(p) ((p)->get_key().rectangle) |
| #define | XOFFSET(p) ((p)->get_key().xoffset) |
| #define | YOFFSET(p) ((p)->get_key().yoffset) |
| #define | XR(p) ((p)->get_key().xr) |
| #define | YR(p) ((p)->get_key().yr) |
| #define | XD(p) ((p)->get_key().xd) |
| #define | YD(p) ((p)->get_key().yd) |
| #define | POS(p) ((p)->get_key().position) |
| #define | MAXCHILDYR(p) ((p)->get_key().max_child_yr) |
| #define | YRGAP(p) ((p)->get_key().yr_gap) |
| #define | LEVEL(p) ((p)->get_key().level) |
| #define | CHILDNUMBER(p) ((p)->get_key().child_number) |
| #define | WIDTH(p) ((p)->get_key().xd) |
| #define | HEIGHT(p) ((p)->get_key().yd) |
| #define | SHADOW(p) ((p)->get_key().shadow) |
| #define | WITHOUTNODE(p) ((p)->get_key().without_node) |
| #define | WITHARC(p) ((p)->get_key().with_arc) |
| #define | DASHEDARC(p) ((p)->get_key().dashed_arc) |
| #define | ARCS(p) ((p)->get_key().arc_list) |
| #define | CONNEXIONS(p) ((p)->get_key().connexion_list) |
| #define | TAGS(p) ((p)->get_key().tag_list) |
| #define | TERMINATE(n) (save_parameters(), exit(n)) |
Typedefs | |
| typedef Token_Type | Tag_Option |
| typedef Tree_Node< Tree_Data > | EepicNode |
Enumerations | |
| enum | Token_Type { ROOT , NODE , STRING , WITHOUT_NODE , WITHOUT_ARC , XOFFSET , YOFFSET , HRADIO , VRADIO , SHADOW , TAG , ARC , DASHED_ARC , DASHED_CONNEXION , ELLIPSE , RECTANGLE , COMMENT , END_FILE , NORTH , SOUTH , EAST , WEST , NORTH_EAST , NORTH_WEST , SOUTH_EAST , SOUTH_WEST , LEFT , RIGHT , INVALID } |
Variables | |
| long double | hr = 70 |
| long double | vr = 70 |
| long double | hd = 2 * hr |
| long double | vd = 2 * vr |
| long double | xgap = 70 |
| long double | ygap = 100 |
| long double | tree_gap = 90 |
| long double | h_size = 0 |
| double | v_size = 0 |
| long double | x_offset = 0 |
| long double | y_offset = font_height() / 2.0 |
| long double | x_picture_offset = 0 |
| long double | y_picture_offset = 0 |
| std::string | command_line |
| std::string | input_file_name |
| std::string | output_file_name |
| bool | latex_header = false |
| bool | ellipses = true |
| bool | rectangles = false |
| bool | draw_list_representation = false |
| bool | generate_binary_tree = false |
| bool | not_nodes = false |
| long double | x_max = 0 |
| long double | y_max = 0 |
| long double | shift_size = 0 |
| int | tree_number = 0 |
| const char * | argp_program_version |
| const char * | argp_program_bug_address = "lrleon@ula.ve" |
| static char | doc [] = "ntreepic -- Aleph drawer for general rooted trees" |
| static char | arg_doc [] = "-f input-file [-o output-file]\n" |
| static const char * | hello |
| static const char | license_text [] |
| static struct argp_option | options [] |
| const char * | parameters_file_name = "./.ntreepic" |
| static struct argp | arg_defs = {options, parser_opt, arg_doc, doc, 0, 0, 0} |
Generate LaTeX/eepic pictures of n-ary (general) trees.
This utility program reads an n-ary tree specification and generates high-quality LaTeX code for visualizing general trees (trees where nodes can have any number of children). It's designed for creating publication-quality tree diagrams for academic papers, presentations, and educational materials.
Unlike binary trees (where each node has at most 2 children), n-ary trees allow nodes to have any number of children. Examples include:
The input file uses Deway notation to specify tree structure:
0, the second as 1, and so on.0.1.2 = third child (index 2) of second child (index 1) of the root of the first tree (0).ROOT <key>: Start a new tree (a forest can contain multiple ROOT entries)NODE <deway> <key>: Create a node as the rightmost child of the parent identified by <deway>ARC <src> <tgt> / DASHED-ARC <src> <tgt>: Extra arcs between arbitrary nodesDASHED-CONNEXION <src> <tgt> <L|R>: Curved/dashed connexion used in some representationsHRADIO <deway> <percent>: Multiply the node horizontal radius by the given percentageVRADIO <deway> <percent>: Multiply the node vertical radius by the given percentageXOFFSET <deway> <offset> / YOFFSET <deway> <offset>: Per-node label offsetsWITHOUT-NODE <deway>: Do not draw the node shapeWITHOUT-ARC <parent> <child>: Disable the natural parent->child arcSHADOW <deway>: Draw node with shadowTAG <deway> "<text>" <N|S|E|W|NE|NW|SE|SW> <xoffset> <yoffset>If -o is not provided, the output defaults to the input base name with .eepic extension.
| Feature | btreepic | ntreepic |
|---|---|---|
| Tree type | Binary only | N-ary (any children) |
| Notation | Node IDs | Deway addresses |
| Complexity | Simpler | More flexible |
| Use case | BSTs, heaps | General trees, forests |
Definition in file ntreepic.C.
| #define ARCS | ( | p | ) | ((p)->get_key().arc_list) |
Definition at line 368 of file ntreepic.C.
| #define BLANK " " |
Definition at line 185 of file ntreepic.C.
| #define CHILDNUMBER | ( | p | ) | ((p)->get_key().child_number) |
Definition at line 361 of file ntreepic.C.
| #define CONNEXIONS | ( | p | ) | ((p)->get_key().connexion_list) |
Definition at line 369 of file ntreepic.C.
| #define DASHEDARC | ( | p | ) | ((p)->get_key().dashed_arc) |
Definition at line 367 of file ntreepic.C.
| #define HEIGHT | ( | p | ) | ((p)->get_key().yd) |
Definition at line 363 of file ntreepic.C.
| #define ISELLIPSE | ( | p | ) | ((p)->get_key().ellipse) |
Definition at line 349 of file ntreepic.C.
| #define ISRECTANGLE | ( | p | ) | ((p)->get_key().rectangle) |
Definition at line 350 of file ntreepic.C.
| #define LEVEL | ( | p | ) | ((p)->get_key().level) |
Definition at line 360 of file ntreepic.C.
| #define MAXCHILDYR | ( | p | ) | ((p)->get_key().max_child_yr) |
Definition at line 358 of file ntreepic.C.
| #define MOD | ( | p | ) | ((p)->get_key().mod) |
Definition at line 346 of file ntreepic.C.
| #define POS | ( | p | ) | ((p)->get_key().position) |
Definition at line 357 of file ntreepic.C.
| #define PRE | ( | p | ) | ((p)->get_key().pre) |
Definition at line 345 of file ntreepic.C.
| #define SHADOW | ( | p | ) | ((p)->get_key().shadow) |
Definition at line 364 of file ntreepic.C.
| #define STRING | ( | p | ) | ((p)->get_key().str) |
Definition at line 348 of file ntreepic.C.
| #define SUMMOD | ( | p | ) | ((p)->get_key().sum_mod) |
Definition at line 347 of file ntreepic.C.
| #define TAGS | ( | p | ) | ((p)->get_key().tag_list) |
Definition at line 370 of file ntreepic.C.
| #define TERMINATE | ( | n | ) | (save_parameters(), exit(n)) |
Definition at line 1958 of file ntreepic.C.
| #define WIDTH | ( | p | ) | ((p)->get_key().xd) |
Definition at line 362 of file ntreepic.C.
| #define WITHARC | ( | p | ) | ((p)->get_key().with_arc) |
Definition at line 366 of file ntreepic.C.
| #define WITHOUTNODE | ( | p | ) | ((p)->get_key().without_node) |
Definition at line 365 of file ntreepic.C.
| #define X | ( | p | ) | ((p)->get_key().x) |
Definition at line 343 of file ntreepic.C.
| #define XD | ( | p | ) | ((p)->get_key().xd) |
Definition at line 355 of file ntreepic.C.
| #define XOFFSET | ( | p | ) | ((p)->get_key().xoffset) |
Definition at line 351 of file ntreepic.C.
| #define XR | ( | p | ) | ((p)->get_key().xr) |
Definition at line 353 of file ntreepic.C.
| #define Y | ( | p | ) | ((p)->get_key().y) |
Definition at line 344 of file ntreepic.C.
| #define YD | ( | p | ) | ((p)->get_key().yd) |
Definition at line 356 of file ntreepic.C.
| #define YOFFSET | ( | p | ) | ((p)->get_key().yoffset) |
Definition at line 352 of file ntreepic.C.
| #define YR | ( | p | ) | ((p)->get_key().yr) |
Definition at line 354 of file ntreepic.C.
| #define YRGAP | ( | p | ) | ((p)->get_key().yr_gap) |
Definition at line 359 of file ntreepic.C.
Definition at line 242 of file ntreepic.C.
| typedef Token_Type Tag_Option |
Definition at line 238 of file ntreepic.C.
| enum Token_Type |
Definition at line 219 of file ntreepic.C.
Definition at line 951 of file ntreepic.C.
References __advance_to_leftmost_in_level(), LEVEL, MOD, root(), and Aleph::sum().
Referenced by __advance_to_leftmost_in_level(), and advance_to_leftmost_in_level().
| EepicNode * __advance_to_rightmost_in_level | ( | EepicNode * | root, |
| const int | level, | ||
| long double & | sum | ||
| ) |
Definition at line 913 of file ntreepic.C.
References __advance_to_rightmost_in_level(), LEVEL, MOD, root(), and Aleph::sum().
Referenced by __advance_to_rightmost_in_level(), and advance_to_rightmost_in_level().
| void adjust_minimal_separation_with_letf_sibling | ( | EepicNode * | p | ) |
Definition at line 1001 of file ntreepic.C.
References advance_to_leftmost_in_level(), advance_to_rightmost_in_level(), Aleph::and, Aleph::divide_and_conquer_partition_dp(), l, LEVEL, MOD, PRE, r, tree_gap, and XR.
Referenced by precompute_x_for_node().
Definition at line 975 of file ntreepic.C.
References __advance_to_leftmost_in_level(), LEVEL, root(), and Aleph::sum().
Referenced by adjust_minimal_separation_with_letf_sibling().
Definition at line 937 of file ntreepic.C.
References __advance_to_rightmost_in_level(), LEVEL, root(), and Aleph::sum().
Referenced by adjust_minimal_separation_with_letf_sibling().
| EepicNode * allocate_node | ( | const string & | str | ) |
Definition at line 551 of file ntreepic.C.
References STRING.
Referenced by parse_key_node_and_allocate().
| void compute_coordinates_for_forest_and_set_picture_size | ( | EepicNode * | root | ) |
Definition at line 1219 of file ntreepic.C.
References compute_coordinates_for_tree(), Aleph::divide_and_conquer_partition_dp(), h_size, root(), shift_size, shift_tree_to_right(), tree_gap, Aleph::tree_preorder_traversal(), v_size, x_max, XR, and y_max.
Referenced by main().
| void compute_coordinates_for_tree | ( | EepicNode * | root | ) |
Definition at line 1199 of file ntreepic.C.
References compute_definitive_coordinates_for_node(), precompute_x_coordinates_for_tree(), root(), Aleph::tree_preorder_traversal(), and x_max.
Referenced by compute_coordinates_for_forest_and_set_picture_size().
| void compute_definitive_coordinates_for_node | ( | EepicNode * | p, |
| int | , | ||
| int | |||
| ) |
Definition at line 1159 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), MAXCHILDYR, MOD, PRE, SUMMOD, X, x_max, XR, Y, y_max, ygap, YR, and YRGAP.
Referenced by compute_coordinates_for_tree().
| void generate_bin_tree | ( | ofstream & | output, |
| EepicNode * | root | ||
| ) |
Definition at line 1288 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), generate_infix_traversal(), generate_prefix_traversal(), infix_tree(), output, and root().
Referenced by main().
| void generate_curve | ( | ofstream & | output, |
| EepicNode * | p, | ||
| EepicNode * | q, | ||
| const bool | left = false, |
||
| const bool | is_dashed = true |
||
| ) |
Definition at line 1410 of file ntreepic.C.
References Aleph::and, Aleph::divide_and_conquer_partition_dp(), hr, output, vr, X, xgap, XR, Y, ygap, and YPIC().
Referenced by generate_tree().
| void generate_epilogue | ( | ofstream & | output | ) |
Definition at line 1361 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), latex_header, and output.
Referenced by generate_forest().
| void generate_forest | ( | ofstream & | output, |
| EepicNode * | root | ||
| ) |
Definition at line 1810 of file ntreepic.C.
References generate_epilogue(), generate_prologue(), generate_tree(), output, and root().
Referenced by main().
| void generate_infix_traversal | ( | ofstream & | output, |
| EepicNode * | root | ||
| ) |
Definition at line 1275 of file ntreepic.C.
References generate_infix_traversal(), output, root(), and STRING.
Referenced by generate_bin_tree(), and generate_infix_traversal().
| void generate_prefix_traversal | ( | ofstream & | output, |
| EepicNode * | root | ||
| ) |
Definition at line 1263 of file ntreepic.C.
References generate_prefix_traversal(), output, POS, and root().
Referenced by generate_bin_tree(), and generate_prefix_traversal().
| void generate_prologue | ( | ofstream & | output | ) |
Definition at line 1305 of file ntreepic.C.
References command_line, Aleph::divide_and_conquer_partition_dp(), fill_type, h_size, input_file_name, latex_header, output, output_file_name, resolution, v_size, x_picture_offset, and y_picture_offset.
Referenced by generate_forest().
| void generate_tree | ( | ofstream & | output, |
| EepicNode * | p, | ||
| int | level, | ||
| int | child_index | ||
| ) |
TODO: falta conexiones spline y dashes. esta parte tiene solo dashed por prueba
Definition at line 1528 of file ntreepic.C.
References Aleph::and, ARCS, center_string(), CHILDNUMBER, CONNEXIONS, dash_threaded_trees, DASHEDARC, Aleph::divide_and_conquer_partition_dp(), draw_arc(), draw_list_representation, EAST, font_height(), generate_curve(), generate_tree(), h, Aleph::Dlink::Iterator::has_curr(), HEIGHT, intersection_ellipse_line(), intersection_rectangle_line(), ISELLIPSE, LEVEL, NORTH, NORTH_EAST, NORTH_WEST, not_nodes, output, Aleph::print_parse_error_and_exit(), put_string(), r, resolution, SHADOW, sin_45, SOUTH, SOUTH_EAST, SOUTH_WEST, STRING, string_width(), TAGS, tree_number, WEST, WIDTH, with_arrow, WITHARC, WITHOUTNODE, X, XOFFSET, XR, Y, y, y_offset, YOFFSET, YPIC(), and YR.
Referenced by generate_forest(), and generate_tree().
| Token_Type get_token | ( | ifstream & | input_stream | ) |
Definition at line 420 of file ntreepic.C.
References Aleph::and, ARC, Aleph::Buffer_Size, Aleph::close_token_scanning(), COMMENT, DASHED_ARC, DASHED_CONNEXION, Aleph::divide_and_conquer_partition_dp(), EAST, ELLIPSE, END_FILE, HRADIO, Aleph::init_token_scanning(), INVALID, LEFT, NODE, NORTH, NORTH_EAST, NORTH_WEST, Aleph::put_char_in_buffer(), Aleph::read_char_from_stream(), RECTANGLE, RIGHT, ROOT, SHADOW, Aleph::skip_white_spaces(), SOUTH, SOUTH_EAST, SOUTH_WEST, STRING, TAG, VRADIO, WEST, WITHOUT_ARC, WITHOUT_NODE, XOFFSET, and YOFFSET.
Referenced by parse_connexion(), parse_first_root_definition(), parse_tag(), and read_input_and_build_tree().
| void infix_tree | ( | EepicNode * | root | ) |
Definition at line 1250 of file ntreepic.C.
References counter, infix_tree(), POS, and root().
Referenced by generate_bin_tree(), and infix_tree().
|
inline |
Definition at line 374 of file ntreepic.C.
References ah_invalid_argument_if, ah_overflow_error_if, Aleph::Buffer_Size, Aleph::divide_and_conquer_partition_dp(), Aleph::init_token_scanning(), Aleph::put_char_in_buffer(), Aleph::read_char_from_stream(), and Aleph::skip_white_spaces().
Referenced by parse_deway_number().
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
Definition at line 2155 of file ntreepic.C.
References AH_ERROR, arg_defs, command_line, Aleph::command_line_to_string(), compute_coordinates_for_forest_and_set_picture_size(), Aleph::destroy_tree(), Aleph::divide_and_conquer_partition_dp(), generate_bin_tree(), generate_binary_tree, generate_forest(), hello, input_file_name, output_file_name, read_input_and_build_tree(), read_parameters(), root(), save_parameters(), and tiny_keys.
| void parse_arc | ( | ifstream & | input_stream, |
| EepicNode * | root | ||
| ) |
Definition at line 732 of file ntreepic.C.
References ARCS, Aleph::divide_and_conquer_partition_dp(), parse_deway_number(), Aleph::print_parse_error_and_exit(), Aleph::print_parse_warning(), root(), and Arc_Data::target_node.
Referenced by read_input_and_build_tree().
| void parse_connexion | ( | ifstream & | input_stream, |
| EepicNode * | root | ||
| ) |
Definition at line 772 of file ntreepic.C.
References Aleph::and, CONNEXIONS, Aleph::divide_and_conquer_partition_dp(), get_token(), LEFT, parse_deway_number(), Aleph::print_parse_error_and_exit(), RIGHT, root(), and Connexion_Data::target_node.
Referenced by read_input_and_build_tree().
| void parse_dashed_arc | ( | ifstream & | input_stream, |
| EepicNode * | root | ||
| ) |
Definition at line 755 of file ntreepic.C.
References ARCS, Aleph::divide_and_conquer_partition_dp(), parse_deway_number(), Aleph::print_parse_error_and_exit(), root(), and Arc_Data::target_node.
Referenced by read_input_and_build_tree().
Definition at line 563 of file ntreepic.C.
References Aleph::Buffer_Size, Aleph::deway_search(), Aleph::divide_and_conquer_partition_dp(), load_deway_number(), Aleph::print_parse_error_and_exit(), and root().
Referenced by parse_arc(), parse_connexion(), parse_dashed_arc(), parse_ellipse(), parse_hradio(), parse_node_definition(), parse_rectangle(), parse_shadow(), parse_tag(), parse_vradio(), parse_without_arc(), parse_without_node(), parse_xoffset(), and parse_yoffset().
| void parse_ellipse | ( | ifstream & | input_stream, |
| EepicNode * | root | ||
| ) |
Definition at line 792 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), ISELLIPSE, ISRECTANGLE, parse_deway_number(), and root().
Referenced by read_input_and_build_tree().
| EepicNode * parse_first_root_definition | ( | ifstream & | input_stream | ) |
Definition at line 586 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), get_token(), parse_key_node_and_allocate(), Aleph::print_parse_error_and_exit(), and ROOT.
Referenced by read_input_and_build_tree().
| void parse_hradio | ( | ifstream & | input_stream, |
| EepicNode * | root | ||
| ) |
Definition at line 621 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), Aleph::load_number(), parse_deway_number(), root(), XD, and XR.
Referenced by read_input_and_build_tree().
| EepicNode * parse_key_node_and_allocate | ( | ifstream & | input_stream | ) |
Definition at line 578 of file ntreepic.C.
References allocate_node(), Aleph::divide_and_conquer_partition_dp(), and Aleph::load_string().
Referenced by parse_first_root_definition(), parse_node_definition(), and parse_root_definition().
| void parse_node_definition | ( | ifstream & | input_stream, |
| EepicNode * | root | ||
| ) |
Definition at line 606 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), parse_deway_number(), parse_key_node_and_allocate(), and root().
Referenced by read_input_and_build_tree().
| void parse_rectangle | ( | ifstream & | input_stream, |
| EepicNode * | root | ||
| ) |
Definition at line 801 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), ISELLIPSE, ISRECTANGLE, parse_deway_number(), and root().
Referenced by read_input_and_build_tree().
| void parse_root_definition | ( | ifstream & | input_stream, |
| EepicNode * | root | ||
| ) |
Definition at line 596 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), parse_key_node_and_allocate(), and root().
Referenced by read_input_and_build_tree().
| void parse_shadow | ( | ifstream & | input_stream, |
| EepicNode * | root | ||
| ) |
Definition at line 702 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), parse_deway_number(), root(), and SHADOW.
Referenced by read_input_and_build_tree().
| void parse_tag | ( | ifstream & | input_stream, |
| EepicNode * | root | ||
| ) |
Definition at line 712 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), get_token(), Aleph::load_number(), Aleph::load_string(), NORTH, parse_deway_number(), Aleph::print_parse_error_and_exit(), root(), SOUTH_WEST, Tag_Data::tag, and TAGS.
Referenced by read_input_and_build_tree().
| void parse_vradio | ( | ifstream & | input_stream, |
| EepicNode * | root | ||
| ) |
Definition at line 636 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), Aleph::load_number(), parse_deway_number(), root(), YD, and YR.
Referenced by read_input_and_build_tree().
| void parse_without_arc | ( | ifstream & | input_stream, |
| EepicNode * | root | ||
| ) |
Definition at line 665 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), parse_deway_number(), Aleph::print_parse_error_and_exit(), root(), and WITHARC.
Referenced by read_input_and_build_tree().
| void parse_without_node | ( | ifstream & | input_stream, |
| EepicNode * | root | ||
| ) |
Definition at line 651 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), parse_deway_number(), root(), and WITHOUTNODE.
Referenced by read_input_and_build_tree().
| void parse_xoffset | ( | ifstream & | input_stream, |
| EepicNode * | root | ||
| ) |
Definition at line 681 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), Aleph::load_number(), parse_deway_number(), root(), and XOFFSET.
Referenced by read_input_and_build_tree().
| void parse_yoffset | ( | ifstream & | input_stream, |
| EepicNode * | root | ||
| ) |
Definition at line 692 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), Aleph::load_number(), parse_deway_number(), root(), and YOFFSET.
Referenced by read_input_and_build_tree().
|
static |
Definition at line 2005 of file ntreepic.C.
References AH_ERROR, argp_program_version, arrow_lenght, arrow_width, Aleph::divide_and_conquer_partition_dp(), draw_list_representation, ellipses, fill_type, flip_y, generate_binary_tree, hd, hr, input_file_name, latex_header, license_text, not_nodes, output_file_name, print_parameters(), rectangles, resolution, save_parameters(), TERMINATE, tree_gap, vd, vr, with_arrow, x_offset, x_picture_offset, xgap, y_offset, y_picture_offset, and ygap.
|
inline |
Definition at line 1193 of file ntreepic.C.
References precompute_x_for_node(), root(), and Aleph::tree_postorder_traversal().
Referenced by compute_coordinates_for_tree().
| void precompute_x_for_node | ( | EepicNode * | p, |
| const int | level, | ||
| const int | child | ||
| ) |
Definition at line 1090 of file ntreepic.C.
References adjust_minimal_separation_with_letf_sibling(), Aleph::and, CHILDNUMBER, Aleph::divide_and_conquer_partition_dp(), LEVEL, MAXCHILDYR, MOD, PRE, WIDTH, xgap, and YR.
Referenced by precompute_x_coordinates_for_tree().
|
inline |
Definition at line 1987 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), hd, hr, resolution, tree_gap, vd, vr, x_offset, x_picture_offset, xgap, y_offset, y_picture_offset, and ygap.
Referenced by parser_opt().
| EepicNode * read_input_and_build_tree | ( | ifstream & | input_stream | ) |
Definition at line 810 of file ntreepic.C.
References ARC, COMMENT, DASHED_ARC, DASHED_CONNEXION, Aleph::destroy_tree(), Aleph::divide_and_conquer_partition_dp(), ELLIPSE, END_FILE, get_token(), HRADIO, INVALID, NODE, parse_arc(), parse_connexion(), parse_dashed_arc(), parse_ellipse(), parse_first_root_definition(), parse_hradio(), parse_node_definition(), parse_rectangle(), parse_root_definition(), parse_shadow(), parse_tag(), parse_vradio(), parse_without_arc(), parse_without_node(), parse_xoffset(), parse_yoffset(), Aleph::print_parse_error_and_exit(), RECTANGLE, ROOT, root(), SHADOW, TAG, VRADIO, WITHOUT_ARC, WITHOUT_NODE, XOFFSET, and YOFFSET.
Referenced by main().
|
inline |
Definition at line 1977 of file ntreepic.C.
References Aleph::divide_and_conquer_partition_dp(), hd, hr, parameters_file_name, resolution, tree_gap, vd, vr, x_offset, x_picture_offset, xgap, y_offset, y_picture_offset, and ygap.
Referenced by main().
|
inline |
Definition at line 1965 of file ntreepic.C.
References BLANK, hd, hr, output, parameters_file_name, resolution, tree_gap, vd, vr, x_offset, x_picture_offset, xgap, y_offset, y_picture_offset, and ygap.
Referenced by main(), and parser_opt().
| void shift_tree_to_right | ( | EepicNode * | p, |
| int | , | ||
| int | |||
| ) |
Definition at line 1213 of file ntreepic.C.
References shift_size, and X.
Referenced by compute_coordinates_for_forest_and_set_picture_size().
|
static |
Definition at line 2153 of file ntreepic.C.
Referenced by main().
Definition at line 1835 of file ntreepic.C.
| const char* argp_program_bug_address = "lrleon@ula.ve" |
Definition at line 1829 of file ntreepic.C.
| const char* argp_program_version |
Definition at line 1818 of file ntreepic.C.
Referenced by parser_opt().
| std::string command_line |
Definition at line 203 of file ntreepic.C.
Referenced by generate_prologue(), and main().
|
static |
Definition at line 1832 of file ntreepic.C.
Referenced by Aleph::Xml_Graph< GT, Node_Reader, Arc_Reader, Node_Writer, Arc_Writer >::write(), and Aleph::Xml_Graph< GT, Node_Reader, Arc_Reader, Node_Writer, Arc_Writer >::write_graph().
| bool draw_list_representation = false |
Definition at line 211 of file ntreepic.C.
Referenced by generate_tree(), and parser_opt().
| bool ellipses = true |
Definition at line 209 of file ntreepic.C.
Referenced by parser_opt().
| bool generate_binary_tree = false |
Definition at line 212 of file ntreepic.C.
Referenced by main(), and parser_opt().
| long double h_size = 0 |
Definition at line 196 of file ntreepic.C.
Referenced by compute_coordinates_for_forest_and_set_picture_size(), and generate_prologue().
| long double hd = 2 * hr |
Definition at line 191 of file ntreepic.C.
Referenced by parser_opt(), print_parameters(), read_parameters(), and save_parameters().
|
static |
Definition at line 1838 of file ntreepic.C.
Referenced by main().
| long double hr = 70 |
Definition at line 189 of file ntreepic.C.
Referenced by generate_curve(), parser_opt(), print_parameters(), read_parameters(), and save_parameters().
| std::string input_file_name |
Definition at line 204 of file ntreepic.C.
Referenced by generate_prologue(), main(), and parser_opt().
| bool latex_header = false |
Definition at line 208 of file ntreepic.C.
Referenced by generate_epilogue(), generate_prologue(), and parser_opt().
|
static |
Definition at line 1849 of file ntreepic.C.
Referenced by parser_opt().
| bool not_nodes = false |
Definition at line 213 of file ntreepic.C.
Referenced by generate_tree(), and parser_opt().
|
static |
Definition at line 1886 of file ntreepic.C.
Referenced by Aleph::FFT< Real >::BatchedISTFTProcessor::BatchedISTFTProcessor(), Aleph::FFT< Real >::BatchedSTFTProcessor::BatchedSTFTProcessor(), Aleph::FFT< Real >::batched_stft(), Aleph::FFT< Real >::batched_stft(), Aleph::FFT< Real >::BatchedISTFTProcessor::channel_options(), Aleph::Tikz_Scene::draw_beamer_document(), Aleph::Tikz_Scene::draw_beamer_document_preamble(), Aleph::Tikz_Scene::draw_beamer_overlays_document(), Aleph::parallel_detail::effective_parallel_chunk_size(), example_parallel_building_blocks(), example_parallel_enumerate(), example_parallel_map(), example_parallel_scan_merge_partition(), example_parallel_sort(), example_parallel_zip(), example_variadic_zip(), Aleph::export_network_to_dot(), Aleph::is_planar_graph(), Aleph::is_planar_graph(), Aleph::FFT< Real >::istft(), Aleph::FFT< Real >::istft(), Aleph::FFT< Real >::istft(), Aleph::FFT< Real >::istft(), Aleph::FFT< Real >::istft_impl(), main(), main(), Aleph::network_to_dot_string(), Aleph::nonplanar_certificate_to_dot(), Aleph::nonplanar_certificate_to_gexf(), Aleph::nonplanar_certificate_to_graphml(), Aleph::nonplanar_certificate_to_json(), Aleph::pall(), Aleph::parallel_for(), Aleph::parallel_for_index(), Aleph::parallel_invoke(), Aleph::parallel_invoke(), Aleph::parallel_reduce(), Aleph::parallel_transform(), Aleph::FFT< Real >::pbatched_stft(), Aleph::FFT< Real >::pbatched_stft(), Aleph::pcount_if(), Aleph::penumerate_for_each(), Aleph::penumerate_for_each(), Aleph::penumerate_maps(), Aleph::pexclusive_scan(), Aleph::pexclusive_scan(), Aleph::pexists(), Aleph::pfilter(), Aleph::pfind(), Aleph::pfind_value(), Aleph::pfoldl(), Aleph::pfor_each(), Aleph::pfor_each(), Aleph::FFT< Real >::pistft(), Aleph::FFT< Real >::pistft(), Aleph::FFT< Real >::pistft(), Aleph::FFT< Real >::pistft(), Aleph::planar_geometric_drawing(), Aleph::planarity_test(), Aleph::planarity_test(), Aleph::pmaps(), Aleph::pmax(), Aleph::pmin(), Aleph::ppartition(), Aleph::pproduct(), Aleph::FFT< Real >::prepare_welch_frames(), Aleph::pscan(), Aleph::pscan(), Aleph::FFT< Real >::pstft(), Aleph::FFT< Real >::pstft(), Aleph::FFT< Real >::pstft(), Aleph::FFT< Real >::pstft(), Aleph::psum(), Aleph::pzip_all_n(), Aleph::pzip_all_n(), Aleph::pzip_count_if_n(), Aleph::pzip_count_if_n(), Aleph::pzip_exists_n(), Aleph::pzip_exists_n(), Aleph::pzip_foldl(), Aleph::pzip_foldl_n(), Aleph::pzip_foldl_n(), Aleph::pzip_for_each(), Aleph::pzip_for_each_n(), Aleph::pzip_for_each_n(), Aleph::pzip_maps(), Aleph::pzip_maps_n(), Aleph::pzip_maps_n(), Aleph::parallel_detail::resolve_chunk_size(), Aleph::FFT< Real >::resolve_welch_fft_size(), Aleph::FFT< Real >::resolve_welch_hop_size(), Aleph::adversarial_search_detail::run_iterative_deepening(), Aleph::parallel_detail::select_pool(), Aleph::parallel_detail::selected_parallel_pool(), Aleph::FFT< Real >::stft(), Aleph::FFT< Real >::stft(), Aleph::FFT< Real >::stft(), Aleph::FFT< Real >::stft(), Aleph::FFT< Real >::stft(), Aleph::FFT< Real >::stft_impl(), 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(), Aleph::parallel_detail::use_sequential_parallel_path(), Aleph::parallel_detail::use_sequential_path(), Aleph::FFT< Real >::validate_istft_configuration(), and Aleph::FFT< Real >::validate_stft_options().
| std::string output_file_name |
Definition at line 205 of file ntreepic.C.
Referenced by generate_prologue(), main(), and parser_opt().
| const char* parameters_file_name = "./.ntreepic" |
Definition at line 1961 of file ntreepic.C.
Referenced by read_parameters(), and save_parameters().
| bool rectangles = false |
Definition at line 210 of file ntreepic.C.
Referenced by parser_opt().
| long double shift_size = 0 |
Definition at line 1211 of file ntreepic.C.
Referenced by compute_coordinates_for_forest_and_set_picture_size(), and shift_tree_to_right().
| long double tree_gap = 90 |
Definition at line 195 of file ntreepic.C.
Referenced by adjust_minimal_separation_with_letf_sibling(), compute_coordinates_for_forest_and_set_picture_size(), parser_opt(), print_parameters(), read_parameters(), and save_parameters().
| int tree_number = 0 |
Definition at line 1373 of file ntreepic.C.
Referenced by Aleph::generate_tree(), and generate_tree().
| double v_size = 0 |
Definition at line 197 of file ntreepic.C.
Referenced by compute_coordinates_for_forest_and_set_picture_size(), generate_prologue(), and YPIC().
| long double vd = 2 * vr |
Definition at line 192 of file ntreepic.C.
Referenced by parser_opt(), print_parameters(), read_parameters(), and save_parameters().
| long double vr = 70 |
Definition at line 190 of file ntreepic.C.
Referenced by generate_curve(), parser_opt(), print_parameters(), read_parameters(), and save_parameters().
| long double x_max = 0 |
Definition at line 1146 of file ntreepic.C.
Referenced by compute_coordinates_for_forest_and_set_picture_size(), compute_coordinates_for_tree(), and compute_definitive_coordinates_for_node().
| long double x_offset = 0 |
Definition at line 198 of file ntreepic.C.
Referenced by parser_opt(), print_parameters(), read_parameters(), and save_parameters().
| long double x_picture_offset = 0 |
Definition at line 200 of file ntreepic.C.
Referenced by generate_prologue(), parser_opt(), print_parameters(), read_parameters(), and save_parameters().
| long double xgap = 70 |
Definition at line 193 of file ntreepic.C.
Referenced by generate_curve(), parser_opt(), precompute_x_for_node(), print_parameters(), read_parameters(), and save_parameters().
| long double y_max = 0 |
Definition at line 1147 of file ntreepic.C.
Referenced by compute_coordinates_for_forest_and_set_picture_size(), and compute_definitive_coordinates_for_node().
| long double y_offset = font_height() / 2.0 |
Definition at line 199 of file ntreepic.C.
Referenced by generate_tree(), parser_opt(), print_parameters(), read_parameters(), and save_parameters().
| long double y_picture_offset = 0 |
Definition at line 201 of file ntreepic.C.
Referenced by generate_prologue(), parser_opt(), print_parameters(), read_parameters(), and save_parameters().
| long double ygap = 100 |
Definition at line 194 of file ntreepic.C.
Referenced by compute_definitive_coordinates_for_node(), generate_curve(), parser_opt(), print_parameters(), read_parameters(), and save_parameters().