Line data Source code
1 : /****************************************************************************/
2 : // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 : // Copyright (C) 2001-2024 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.cpp
15 : /// @author Christian Roessel
16 : /// @author Daniel Krajzewicz
17 : /// @author Michael Behrisch
18 : /// @date Tue, 06 Mar 2001
19 : ///
20 : // Container for junctions; performs operations on all stored junctions
21 : /****************************************************************************/
22 : #include <config.h>
23 :
24 : #include <algorithm>
25 : #include "MSInternalJunction.h"
26 : #include "MSJunctionControl.h"
27 : #include "MSLink.h"
28 :
29 :
30 : // ===========================================================================
31 : // member method definitions
32 : // ===========================================================================
33 42987 : MSJunctionControl::MSJunctionControl() {
34 42987 : }
35 :
36 :
37 80120 : MSJunctionControl::~MSJunctionControl() {
38 80120 : }
39 :
40 :
41 : void
42 42566 : MSJunctionControl::postloadInitContainer() {
43 : // initialize normal junctions before internal junctions
44 : // (to allow calling getIndex() during initialization of internal junction links)
45 571277 : for (const auto& i : *this) {
46 528715 : if (i.second->getType() != SumoXMLNodeType::INTERNAL) {
47 376099 : i.second->postloadInit();
48 : }
49 : }
50 571269 : for (const auto& i : *this) {
51 528707 : if (i.second->getType() == SumoXMLNodeType::INTERNAL) {
52 152616 : i.second->postloadInit();
53 : }
54 : }
55 42562 : MSLink::recheckSetRequestInformation();
56 42562 : }
57 :
58 :
59 : /****************************************************************************/
|