# HG changeset patch # User hegyi # Date 1112192995 0 # Node ID e4cc8e99691286bf665dbc88bb2397325f623617 # Parent b143e42c44dee9cc599456a0439530e3e36b4545 XY reading is being wrote. diff -r b143e42c44de -r e4cc8e996912 src/work/peter/Makefile --- a/src/work/peter/Makefile Wed Mar 30 14:29:11 2005 +0000 +++ b/src/work/peter/Makefile Wed Mar 30 14:29:55 2005 +0000 @@ -1,7 +1,10 @@ -triangle: canvas-test.cc - g++ canvas-test.cc -W -Wall -ansi -pedantic -o triangle `pkg-config libgnomecanvasmm-2.6 --cflags --libs` +gd: graph-displayer.cc + g++ graph-displayer.cc -W -Wall -ansi -pedantic -o gd `pkg-config libgnomecanvasmm-2.6 --cflags --libs` -I../.. -run: triangle - ./triangle 100 100 -100 100 0 -100 +xyr: xy-reader.cc + g++ xy-reader.cc -W -Wall -ansi -pedantic -o xyr -I../.. + +run: gd + ./gd .PHONY: run diff -r b143e42c44de -r e4cc8e996912 src/work/peter/canvas-test.cc --- a/src/work/peter/canvas-test.cc Wed Mar 30 14:29:11 2005 +0000 +++ b/src/work/peter/canvas-test.cc Wed Mar 30 14:29:55 2005 +0000 @@ -6,6 +6,7 @@ #include #include #include +#include class CanvasExample : public Gnome::Canvas::CanvasAA { diff -r b143e42c44de -r e4cc8e996912 src/work/peter/xy-reader.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/work/peter/xy-reader.cc Wed Mar 30 14:29:55 2005 +0000 @@ -0,0 +1,69 @@ +#include +#include + +#include +#include +#include +#include +#include +#include + +using namespace lemon; + +typedef ListGraph Graph; +typedef xy Coordinates; +typedef Graph::NodeMap CoordinatesMap; +typedef Graph::Node Node; + +class CoordReaderMap: public concept::WriteMap +{ + CoordinatesMap * cm; + char xoy; + +public: + CoordReaderMap(char xory, CoordinatesMap * coordmap): concept::WriteMap() ,cm(coordmap) + { + switch(xory) + { + case 'x': + case 'y': + xoy=xory; + break; + default: + throw UninitializedParameter() ; + } + } + + void set(Node node, double coord) + { + switch(xoy) + { + case 'x': + (*cm)[node].x=coord; + break; + case 'y': + (*cm)[node].y=coord; + break; + default: + throw UninitializedParameter() ; + } + } +}; + +int main(void) +{ + Graph g; + CoordinatesMap cm(g); + + CoordReaderMap xreader('x',&cm); + CoordReaderMap yreader('y',&cm); + + std::ifstream is("dijkstra_test.lemon"); + + GraphReader reader(is, g); + reader.addNodeMap("coordinates_x", xreader); + reader.addNodeMap("coordinates_y", yreader); + reader.run(); + + return 0; +}