Node antigravity and edge elasticity based graph layout redesigner.
11 #include <lemon/list_graph.h>
12 #include <lemon/graph_reader.h>
13 #include <lemon/graph_writer.h>
14 #include <lemon/graph_utils.h>
15 #include <lemon/maps.h>
16 #include <lemon/error.h>
17 #include <lemon/dim2.h>
19 enum {E_WIDTH, E_COLOR, E_TEXT, EDGE_PROPERTY_NUM}; // edge properties;
20 enum {N_RADIUS, N_COLOR, N_TEXT, NODE_PROPERTY_NUM}; // node properties;
21 enum {MOVE, CREATE_NODE, CREATE_EDGE, ERASER, MAP_EDIT, TOOL_NUM}; // tools;
24 #define WIN_HEIGHT 600
25 #define MIN_EDGE_WIDTH 2
26 #define MAX_EDGE_WIDTH 40
27 #define MIN_NODE_RADIUS 2
28 #define MAX_NODE_RADIUS 80
31 extern std::vector <std::string> edge_property_strings;
32 extern std::vector <double> edge_property_defaults;
33 extern std::vector <std::string> node_property_strings;
34 extern std::vector <double> node_property_defaults;
35 extern int longest_property_string_length;
38 using namespace lemon;
40 typedef lemon::dim2::Point<double> XY;
41 typedef ListGraph Graph;
42 typedef Graph::Node Node;
43 typedef Graph::Edge Edge;
44 typedef Graph::EdgeIt EdgeIt;
45 typedef Graph::InEdgeIt InEdgeIt;
46 typedef Graph::OutEdgeIt OutEdgeIt;
47 typedef Graph::NodeIt NodeIt;
49 const std::string prog_name = "LEMON Graph Editor";
51 #endif // ALL_INCLUDE_H