Eclipse SUMO - Simulation of Urban MObility
RouterProvider.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
16 // The RouterProvider provides car, pedestrian and intermodal routing in one object
17 /****************************************************************************/
18 #ifndef RouterProvider_h
19 #define RouterProvider_h
20 
21 
22 // ===========================================================================
23 // included modules
24 // ===========================================================================
25 #include <config.h>
26 
27 #include "IntermodalRouter.h"
28 
29 
30 // ===========================================================================
31 // class definitions
32 // ===========================================================================
37 template<class E, class L, class N, class V>
39 public:
42  IntermodalRouter<E, L, N, V>* interRouter)
43  : myVehRouter(vehRouter), myPedRouter(pedRouter), myInterRouter(interRouter) {}
44 
45  RouterProvider(const RouterProvider& original)
46  : myVehRouter(original.getVehicleRouter().clone()),
47  myPedRouter(static_cast<PedestrianRouter<E, L, N, V>*>(original.myPedRouter == 0 ? 0 : original.getPedestrianRouter().clone())),
48  myInterRouter(static_cast<IntermodalRouter<E, L, N, V>*>(original.myInterRouter == 0 ? 0 : original.getIntermodalRouter().clone())) {}
49 
51  return *myVehRouter;
52  }
53 
55  return *myPedRouter;
56  }
57 
59  return *myInterRouter;
60  }
61 
62  virtual ~RouterProvider() {
63  delete myVehRouter;
64  delete myPedRouter;
65  delete myInterRouter;
66  }
67 
68 
69 private:
73 
74 
75 private:
78 
79 };
80 
81 
82 #endif
83 
84 /****************************************************************************/
RouterProvider::myVehRouter
SUMOAbstractRouter< E, V > *const myVehRouter
Definition: RouterProvider.h:70
PedestrianRouter
Definition: MSNet.h:82
IntermodalRouter
Definition: MSNet.h:80
FareToken::L
RouterProvider::myPedRouter
PedestrianRouter< E, L, N, V > *const myPedRouter
Definition: RouterProvider.h:71
RouterProvider::RouterProvider
RouterProvider(const RouterProvider &original)
Definition: RouterProvider.h:45
RouterProvider::getVehicleRouter
SUMOAbstractRouter< E, V > & getVehicleRouter() const
Definition: RouterProvider.h:50
RouterProvider
Definition: RouterProvider.h:38
SUMOAbstractRouter
Definition: SUMOAbstractRouter.h:47
RouterProvider::operator=
RouterProvider & operator=(const RouterProvider &src)
Invalidated assignment operator.
RouterProvider::RouterProvider
RouterProvider(SUMOAbstractRouter< E, V > *vehRouter, PedestrianRouter< E, L, N, V > *pedRouter, IntermodalRouter< E, L, N, V > *interRouter)
Definition: RouterProvider.h:40
RouterProvider::getIntermodalRouter
IntermodalRouter< E, L, N, V > & getIntermodalRouter() const
Definition: RouterProvider.h:58
RouterProvider::~RouterProvider
virtual ~RouterProvider()
Definition: RouterProvider.h:62
RouterProvider::myInterRouter
IntermodalRouter< E, L, N, V > *const myInterRouter
Definition: RouterProvider.h:72
config.h
RouterProvider::getPedestrianRouter
PedestrianRouter< E, L, N, V > & getPedestrianRouter() const
Definition: RouterProvider.h:54
IntermodalRouter.h