Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
MSLCM_LC2013_CC.cpp
Go to the documentation of this file.
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/****************************************************************************/
18// A lane change model developed modification for the CC carFollowModel
19/****************************************************************************/
20#include "MSLCM_LC2013_CC.h"
22
23// ===========================================================================
24// member method definitions
25// ===========================================================================
27
29
31
32 if (state & LCA_WANTS_LANECHANGE) {
33 auto* cfm = dynamic_cast<const MSCFModel_CC*>(&veh->getCarFollowModel());
34
35 if (cfm) {
36 bool left = (state & LCA_LEFT) != 0;
37 return cfm->commitToLaneChange(veh, left);
38 }
39 }
40 return 0;
41}
42
43/****************************************************************************/
@ LCA_LEFT
Wants go to the left.
@ LCA_WANTS_LANECHANGE
lane can change
A set of automatic Cruise Controllers, including classic Cruise Control (CC), Adaptive Cruise Control...
int checkChangeBeforeCommitting(const MSVehicle *veh, int state) const override
Informs the vehicle that it is about to be moved on an adjacent lane. The method can be used to re-ev...
MSLCM_LC2013_CC(MSVehicle &v)
virtual ~MSLCM_LC2013_CC()
MSLCM_LC2013(MSVehicle &v)
Representation of a vehicle in the micro simulation.
Definition MSVehicle.h:77
const MSCFModel & getCarFollowModel() const
Returns the vehicle's car following model definition.
Definition MSVehicle.h:969