all_include.h
author Akos Ladanyi <ladanyi@tmit.bme.hu>
Thu, 10 Jul 2008 18:53:00 +0100
changeset 4 244d8c60b997
child 6 3a44a2bb6da8
permissions -rw-r--r--
Issue a custom error message when Lemon is not found.
     1 /* -*- C++ -*-
     2  *
     3  * This file is a part of LEMON, a generic C++ optimization library
     4  *
     5  * Copyright (C) 2003-2006
     6  * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
     7  * (Egervary Research Group on Combinatorial Optimization, EGRES).
     8  *
     9  * Permission to use, modify and distribute this software is granted
    10  * provided that this copyright notice appears in all copies. For
    11  * precise terms see the accompanying LICENSE file.
    12  *
    13  * This software is provided "AS IS" with no warranty of any kind,
    14  * express or implied, and with no claim as to its suitability for any
    15  * purpose.
    16  *
    17  */
    18 
    19 #ifndef ALL_INCLUDE_H
    20 #define ALL_INCLUDE_H
    21 
    22 #include <fstream>
    23 #include <iostream>
    24 
    25 #include <vector>
    26 
    27 #include <lemon/list_graph.h>
    28 #include <lemon/graph_utils.h>
    29 #include <lemon/maps.h>
    30 #include <lemon/error.h>
    31 #include <lemon/dim2.h>
    32 
    33 enum {E_WIDTH, E_COLOR, E_TEXT, EDGE_PROPERTY_NUM}; // arc properties;
    34 enum {N_RADIUS, N_COLOR, N_TEXT, NODE_PROPERTY_NUM}; // node properties;
    35 enum {N_MAPS, E_MAPS, ARROWS, PAR, EPS_PROPERTY_NUM}; // eps properties;
    36 enum {MOVE, CREATE_NODE, CREATE_EDGE, ERASER, MAP_EDIT, TOOL_NUM}; // tools;
    37 #define RANGE 3
    38 #define WIN_WIDTH 900
    39 #define WIN_HEIGHT 600
    40 #define MIN_EDGE_WIDTH 2
    41 #define MAX_EDGE_WIDTH 40
    42 #define MIN_NODE_RADIUS 2
    43 #define MAX_NODE_RADIUS 80
    44 
    45 #ifndef MAIN_PART
    46 extern std::vector <std::string> arc_property_strings;
    47 extern std::vector <double> arc_property_defaults;
    48 extern std::vector <std::string> node_property_strings;
    49 extern std::vector <double> node_property_defaults;
    50 extern int longest_property_string_length;
    51 #endif //MAIN_PART
    52 
    53 using namespace lemon;
    54 
    55 typedef lemon::dim2::Point<double> XY;
    56 typedef ListDigraph Digraph;
    57 typedef Digraph::Node Node;
    58 typedef Digraph::Arc Arc;
    59 typedef Digraph::ArcIt ArcIt;
    60 typedef Digraph::InArcIt InArcIt;
    61 typedef Digraph::OutArcIt OutArcIt;
    62 typedef Digraph::NodeIt NodeIt;
    63 
    64 const std::string prog_name = "LEMON Digraph Editor";
    65 
    66 enum MapType
    67 {
    68   NUM  = 1 << 0,
    69   STR  = 1 << 1,
    70   ALL  = (1 << 0) | (1 << 1)
    71 };
    72 
    73 #endif // ALL_INCLUDE_H