Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
ROAbstractEdgeBuilder.h
Go to the documentation of this file.
1
/****************************************************************************/
2
// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3
// Copyright (C) 2004-2025 German Aerospace Center (DLR) and others.
4
// This program and the accompanying materials are made available under the
5
// terms of the Eclipse Public License 2.0 which is available at
6
// https://www.eclipse.org/legal/epl-2.0/
7
// This Source Code may also be made available under the following Secondary
8
// Licenses when the conditions for such availability set forth in the Eclipse
9
// Public License 2.0 are satisfied: GNU General Public License, version 2
10
// or later which is available at
11
// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13
/****************************************************************************/
19
// Interface for building instances of router-edges
20
/****************************************************************************/
21
#pragma once
22
#include <config.h>
23
24
#include <string>
25
26
27
// ===========================================================================
28
// class declarations
29
// ===========================================================================
30
class
ROEdge
;
31
class
RONode
;
32
33
34
// ===========================================================================
35
// class definitions
36
// ===========================================================================
51
class
ROAbstractEdgeBuilder
{
52
public
:
54
ROAbstractEdgeBuilder
() :
myCurrentIndex
(0) { }
55
56
58
virtual
~ROAbstractEdgeBuilder
() { }
59
60
63
72
virtual
ROEdge
*
buildEdge
(
const
std::string& name,
RONode
* from,
RONode
* to,
const
int
priority,
const
std::string& type,
const
std::string& routingType) = 0;
74
75
76
protected
:
80
int
getNextIndex
() {
81
return
myCurrentIndex
++;
82
}
83
84
85
private
:
87
int
myCurrentIndex
;
88
89
90
private
:
92
ROAbstractEdgeBuilder
(
const
ROAbstractEdgeBuilder
& src);
93
95
ROAbstractEdgeBuilder
&
operator=
(
const
ROAbstractEdgeBuilder
& src);
96
97
};
ROAbstractEdgeBuilder
Interface for building instances of router-edges.
Definition
ROAbstractEdgeBuilder.h:51
ROAbstractEdgeBuilder::operator=
ROAbstractEdgeBuilder & operator=(const ROAbstractEdgeBuilder &src)
Invalidated assignment operator.
ROAbstractEdgeBuilder::buildEdge
virtual ROEdge * buildEdge(const std::string &name, RONode *from, RONode *to, const int priority, const std::string &type, const std::string &routingType)=0
Builds an edge with the given name.
ROAbstractEdgeBuilder::ROAbstractEdgeBuilder
ROAbstractEdgeBuilder()
Constructor.
Definition
ROAbstractEdgeBuilder.h:54
ROAbstractEdgeBuilder::getNextIndex
int getNextIndex()
Returns the index of the edge to built.
Definition
ROAbstractEdgeBuilder.h:80
ROAbstractEdgeBuilder::ROAbstractEdgeBuilder
ROAbstractEdgeBuilder(const ROAbstractEdgeBuilder &src)
Invalidated copy constructor.
ROAbstractEdgeBuilder::myCurrentIndex
int myCurrentIndex
The next edge's index.
Definition
ROAbstractEdgeBuilder.h:87
ROAbstractEdgeBuilder::~ROAbstractEdgeBuilder
virtual ~ROAbstractEdgeBuilder()
Destructor.
Definition
ROAbstractEdgeBuilder.h:58
ROEdge
A basic edge for routing applications.
Definition
ROEdge.h:73
RONode
Base class for nodes used by the router.
Definition
RONode.h:46
src
router
ROAbstractEdgeBuilder.h
Generated on Tue Oct 28 2025 00:11:04 for Eclipse SUMO - Simulation of Urban MObility by
1.9.8