/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2012-2025 German Aerospace Center (DLR) and others.3// This program and the accompanying materials are made available under the4// terms of the Eclipse Public License 2.0 which is available at5// https://www.eclipse.org/legal/epl-2.0/6// This Source Code may also be made available under the following Secondary7// Licenses when the conditions for such availability set forth in the Eclipse8// Public License 2.0 are satisfied: GNU General Public License, version 29// or later which is available at10// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html11// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later12/****************************************************************************/13/// @file GUITransportableControl.h14/// @author Daniel Krajzewicz15/// @author Jakob Erdmann16/// @author Michael Behrisch17/// @date Wed, 13.06.201218///19// GUI-version of the transportable control for building gui persons and containers20/****************************************************************************/21#pragma once22#include <config.h>2324#include <vector>25#include <microsim/transportables/MSTransportableControl.h>262728// ===========================================================================29// class definitions30// ===========================================================================31/** @class GUITransportableControl32* @brief GUI-version of the transportable control for building gui persons and containers33*/34class GUITransportableControl : public MSTransportableControl {35public:36/// constructor37GUITransportableControl(const bool isPerson);383940/// destructor41virtual ~GUITransportableControl();424344/** @brief Builds a new person45* @param[in] pars The parameter46* @param[in] vtype The type (reusing vehicle type container here)47* @param[in] plan This person's plan48* @param[in] rng The RNG to compute the optional speed deviation49*/50virtual MSTransportable* buildPerson(const SUMOVehicleParameter* pars, MSVehicleType* vtype, MSTransportable::MSTransportablePlan* plan,51SumoRNG* rng) const;5253/** @brief Builds a new container54* @param[in] pars The parameter55* @param[in] vtype The type (reusing vehicle type container here)56* @param[in] plan This container's plan57*/58virtual MSTransportable* buildContainer(const SUMOVehicleParameter* pars, MSVehicleType* vtype, MSTransportable::MSTransportablePlan* plan) const;5960/** @brief Returns the list of all known persons by gl-id61* @param[fill] into The list to fill with vehicle ids62* @todo Well, what about concurrent modifications?63*/64void insertIDs(std::vector<GUIGlID>& into);6566protected:6768const bool myIsPerson;69};707172