Line data Source code
1 : /****************************************************************************/
2 : // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 : // Copyright (C) 2019-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 MSDynamicShapeUpdater.cpp
15 : /// @author Leonhard Luecken
16 : /// @date 08 Apr 2019
17 : ///
18 : //
19 : /****************************************************************************/
20 : #include "MSDynamicShapeUpdater.h"
21 : #include "utils/vehicle/SUMOVehicle.h"
22 :
23 : //#define DEBUG_DYNAMIC_SHAPES
24 :
25 : void
26 111 : MSDynamicShapeUpdater::vehicleStateChanged(const SUMOVehicle* const vehicle, MSNet::VehicleState to, const std::string& /* info */) {
27 :
28 : /// @brief Definition of a vehicle state
29 111 : switch (to) {
30 : /// @brief The vehicle arrived at his destination (is deleted)
31 31 : case MSNet::VehicleState::ARRIVED: {
32 : #ifdef DEBUG_DYNAMIC_SHAPES
33 : std::cout << "MSDynamicShapeUpdater: Vehicle '" << vehicle->getID() << "' has arrived. Informing ShapeContainer." << std::endl;
34 : #endif
35 31 : myShapeContainer.removeTrackers(vehicle->getID());
36 : }
37 31 : break;
38 : /// @brief The vehicle is involved in a collision
39 : case MSNet::VehicleState::COLLISION:
40 : // TODO: can this lead to removal without calling arrived?
41 : break;
42 111 : default:
43 : {}
44 : }
45 111 : }
|