No segmentation fault will be occured if two nodes are exactly overlap each other, AND they are connected.
3 * This file is a part of LEMON, a generic C++ optimization library
5 * Copyright (C) 2003-2006
6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
7 * (Egervary Research Group on Combinatorial Optimization, EGRES).
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.
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
24 #include <all_include.h>
26 #include <libgnomecanvasmm.h>
27 #include <libgnomecanvasmm/polygon.h>
29 ///Graphical interface to run Dijkstra algorithm.
31 ///Child of \ref AlgoBox,
32 ///therefore the only task to do at implementation was to
34 ///-call init function with correct parameters from correctly parametrized constructor
36 ///-implement \ref build_box function
38 ///-implement \ref run function
39 class DijkstraBox : public AlgoBox
42 ///Shows result of Dijkstra algorithm
43 Gtk::Label resultlabel;
46 ///Table for nodeselector widgets
49 ///Combobox for select source node
50 Gtk::ComboBoxText source;
52 ///Combobox for select target node
53 Gtk::ComboBoxText target;
55 ///Gets to and from node from combobox
56 void get_from_to(Node &, Node &, Graph &);
59 ///Calls \ref AlgoBox::init function to initialize class properly, automatically.
60 DijkstraBox(std::vector<std::string> t);
62 ///Prepare, run and postprocess Dijkstra algorithm.
64 ///\ref glemon works only with maps filled with double values
65 ///at the moment. While Dijkstra nedds a bool map as output.
66 ///As postprocess this bool map should be transformed to
70 ///Builds the graphical design of the interface.
71 virtual void build_box();
73 void maplists_updated();
76 class SuurballeBox : public DijkstraBox
78 ///number of paths to find
81 ///Widget to set numbewr of paths to find
82 Gtk::SpinButton * num_set;
88 SuurballeBox(std::vector<std::string> t);
92 #endif //DIJKSTRABOX_H