Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
eclipse
GitHub Repository: eclipse/sumo
Path: blob/main/src/microsim/MSJunctionControl.h
185785 views
1
/****************************************************************************/
2
// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3
// Copyright (C) 2001-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
/****************************************************************************/
14
/// @file MSJunctionControl.h
15
/// @author Christian Roessel
16
/// @author Daniel Krajzewicz
17
/// @author Sascha Krieg
18
/// @author Michael Behrisch
19
/// @date Mon, 12 Mar 2001
20
///
21
// Container for junctions; performs operations on all stored junctions
22
/****************************************************************************/
23
#pragma once
24
#include <config.h>
25
26
#include <vector>
27
#include <map>
28
#include <string>
29
30
#include <utils/common/NamedObjectCont.h>
31
#include <utils/common/UtilExceptions.h>
32
#include "MSJunction.h"
33
34
35
// ===========================================================================
36
// class definitions
37
// ===========================================================================
38
/**
39
* @class MSJunctionControl
40
* @brief Container for junctions; performs operations on all stored junctions
41
*/
42
class MSJunctionControl : public NamedObjectCont<MSJunction*> {
43
public:
44
/// @brief Constructor
45
MSJunctionControl();
46
47
48
/// @brief Destructor
49
~MSJunctionControl();
50
51
52
/** @brief Closes building of junctions
53
*
54
* Calls "postloadInit" on all stored junctions.
55
* @exception ProcessError From the called "postloadInit"
56
* @see MSJunction::postloadInit
57
*/
58
void postloadInitContainer();
59
60
61
private:
62
/// @brief Invalidated copy constructor.
63
MSJunctionControl(const MSJunctionControl&);
64
65
/// @brief Invalidated assignment operator.
66
MSJunctionControl& operator=(const MSJunctionControl&);
67
68
};
69
70