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 /****************************************************************************/
15 // The RouterProvider provides car, pedestrian and intermodal routing in one object
16 /****************************************************************************/
17 #ifndef RouterProvider_h
18 #define RouterProvider_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 #include <config.h>
25 
26 #include "IntermodalRouter.h"
27 
28 
29 // ===========================================================================
30 // class definitions
31 // ===========================================================================
36 template<class E, class L, class N, class V>
38 public:
41  IntermodalRouter<E, L, N, V>* interRouter)
42  : myVehRouter(vehRouter), myPedRouter(pedRouter), myInterRouter(interRouter) {}
43 
44  RouterProvider(const RouterProvider& original)
45  : myVehRouter(original.getVehicleRouter().clone()),
46  myPedRouter(static_cast<PedestrianRouter<E, L, N, V>*>(original.myPedRouter == 0 ? 0 : original.getPedestrianRouter().clone())),
47  myInterRouter(static_cast<IntermodalRouter<E, L, N, V>*>(original.myInterRouter == 0 ? 0 : original.getIntermodalRouter().clone())) {}
48 
50  return *myVehRouter;
51  }
52 
54  return *myPedRouter;
55  }
56 
58  return *myInterRouter;
59  }
60 
61  virtual ~RouterProvider() {
62  delete myVehRouter;
63  delete myPedRouter;
64  delete myInterRouter;
65  }
66 
67 
68 private:
72 
73 
74 private:
77 
78 };
79 
80 
81 #endif
82 
83 /****************************************************************************/
RouterProvider::myVehRouter
SUMOAbstractRouter< E, V > *const myVehRouter
Definition: RouterProvider.h:69
PedestrianRouter
Definition: MSNet.h:81
IntermodalRouter
Definition: MSNet.h:79
FareToken::L
RouterProvider::myPedRouter
PedestrianRouter< E, L, N, V > *const myPedRouter
Definition: RouterProvider.h:70
RouterProvider::RouterProvider
RouterProvider(const RouterProvider &original)
Definition: RouterProvider.h:44
RouterProvider::getVehicleRouter
SUMOAbstractRouter< E, V > & getVehicleRouter() const
Definition: RouterProvider.h:49
RouterProvider
Definition: RouterProvider.h:37
SUMOAbstractRouter
Definition: SUMOAbstractRouter.h:46
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:39
RouterProvider::getIntermodalRouter
IntermodalRouter< E, L, N, V > & getIntermodalRouter() const
Definition: RouterProvider.h:57
RouterProvider::~RouterProvider
virtual ~RouterProvider()
Definition: RouterProvider.h:61
RouterProvider::myInterRouter
IntermodalRouter< E, L, N, V > *const myInterRouter
Definition: RouterProvider.h:71
config.h
RouterProvider::getPedestrianRouter
PedestrianRouter< E, L, N, V > & getPedestrianRouter() const
Definition: RouterProvider.h:53
IntermodalRouter.h