1375 dir_map[graph.up(n1)] = graph.u(graph.up(n1)) != n1; |
1375 dir_map[graph.up(n1)] = graph.u(graph.up(n1)) != n1; |
1376 dir_map[graph.left(n4)] = graph.u(graph.left(n4)) != n4; |
1376 dir_map[graph.left(n4)] = graph.u(graph.left(n4)) != n4; |
1377 dir_map[graph.down(n4)] = graph.u(graph.down(n4)) != n4; |
1377 dir_map[graph.down(n4)] = graph.u(graph.down(n4)) != n4; |
1378 |
1378 |
1379 // Apply several adaptors on the grid graph |
1379 // Apply several adaptors on the grid graph |
1380 typedef SplitNodes< ReverseDigraph< const Orienter< |
1380 typedef Orienter<const GridGraph, GridGraph::EdgeMap<bool> > |
1381 const GridGraph, GridGraph::EdgeMap<bool> > > > |
1381 OrientedGridGraph; |
1382 RevSplitGridGraph; |
1382 typedef ReverseDigraph<const OrientedGridGraph> RevOrientedGridGraph; |
|
1383 typedef SplitNodes<RevOrientedGridGraph> RevSplitGridGraph; |
1383 typedef ReverseDigraph<const RevSplitGridGraph> SplitGridGraph; |
1384 typedef ReverseDigraph<const RevSplitGridGraph> SplitGridGraph; |
1384 typedef Undirector<const SplitGridGraph> USplitGridGraph; |
1385 typedef Undirector<const SplitGridGraph> USplitGridGraph; |
1385 typedef Undirector<const USplitGridGraph> UUSplitGridGraph; |
1386 typedef Undirector<const USplitGridGraph> UUSplitGridGraph; |
1386 checkConcept<concepts::Digraph, RevSplitGridGraph>(); |
1387 checkConcept<concepts::Digraph, RevSplitGridGraph>(); |
1387 checkConcept<concepts::Digraph, SplitGridGraph>(); |
1388 checkConcept<concepts::Digraph, SplitGridGraph>(); |
1388 checkConcept<concepts::Graph, USplitGridGraph>(); |
1389 checkConcept<concepts::Graph, USplitGridGraph>(); |
1389 checkConcept<concepts::Graph, UUSplitGridGraph>(); |
1390 checkConcept<concepts::Graph, UUSplitGridGraph>(); |
1390 |
1391 |
|
1392 OrientedGridGraph ori_adaptor = orienter(graph, dir_map); |
|
1393 RevOrientedGridGraph rev_ori_adaptor = reverseDigraph(ori_adaptor); |
1391 RevSplitGridGraph rev_adaptor = |
1394 RevSplitGridGraph rev_adaptor = |
1392 splitNodes(reverseDigraph(orienter(graph, dir_map))); |
1395 splitNodes(rev_ori_adaptor); |
1393 SplitGridGraph adaptor = reverseDigraph(rev_adaptor); |
1396 SplitGridGraph adaptor = reverseDigraph(rev_adaptor); |
1394 USplitGridGraph uadaptor = undirector(adaptor); |
1397 USplitGridGraph uadaptor = undirector(adaptor); |
1395 UUSplitGridGraph uuadaptor = undirector(uadaptor); |
1398 UUSplitGridGraph uuadaptor = undirector(uadaptor); |
1396 |
1399 |
1397 // Check adaptor |
1400 // Check adaptor |