COIN-OR::LEMON - Graph Library

source: lemon-0.x/gui/gui_reader.cc @ 1882:2c3f6c7e01b4

Last change on this file since 1882:2c3f6c7e01b4 was 1860:27a9a75b957b, checked in by Akos Ladanyi, 18 years ago

Save and load the coordinates of the arrows on the edges.

File size: 723 bytes
Line 
1#include "gui_reader.h"
2#include "xml.h"
3#include "mapstorage.h"
4#include <lemon/xy.h>
5#include <vector>
6
7bool GuiReader::header(const std::string& line)
8{
9  std::istringstream ls(line);
10  std::string head;
11  ls >> head;
12  return head == "@gui";
13}
14
15void GuiReader::read(std::istream& is)
16{
17  XmlIo x(is);
18  std::map<int, xy<double> > m;
19  x("arrow_pos", m);
20
21  if ((int)m.size() != countEdges(mapstorage->graph)) return;
22
23  for (EdgeIt e(mapstorage->graph); e != INVALID; ++e)
24  {
25    int edgeid = (int)(*mapstorage->edgemap_storage["id"])[e];
26    mapstorage->arrow_pos.set(e, m[edgeid]);
27  }
28  mapstorage->ArrowPosReadOK();
29}
30
31GuiReader::GuiReader(LemonReader& reader, MapStorage* ms) : Parent(reader), mapstorage(ms)
32{
33}
Note: See TracBrowser for help on using the repository browser.