Path: blob/main/src/utils/gui/div/GUIBaseVehicleHelper.h
169684 views
/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2001-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 GUIBaseVehicleHelper.h14/// @author Pablo Alvarez Lopez15/// @date Feb 201816///17// Functions used in GUIBaseVehicleHelper and GNEVehicle18/****************************************************************************/19#pragma once20#include <config.h>2122#include <string>232425// ===========================================================================26// class declarations27// ===========================================================================28class GUIVisualizationSettings;29class GUIGlObject;303132// ===========================================================================33// class definitions34// ===========================================================================35/**36* @class GUIBaseVehicleHelper37* @brief A MSVehicle extended by some values for usage within the gui38*/39class GUIBaseVehicleHelper {4041public:42/// @brief draw poly43static void drawPoly(const double* poses, const double offset);4445/// @brief draw vehicle as a Box46static void drawAction_drawVehicleAsBoxPlus(const double width, const double length, bool amReversed = false);4748/// @brief draw vehicle as a triangle49static void drawAction_drawVehicleAsTrianglePlus(const double width, const double length, bool amReversed = false);5051/// @brief draw vehicle as a circle52static void drawAction_drawVehicleAsCircle(const double width, double detail);5354/// @brief draw vehicle as a polygon55static void drawAction_drawVehicleAsPoly(const GUIVisualizationSettings& s, const SUMOVehicleShape shape, const double width, const double length,56int carriageIndex = -1, bool isStopped = false, bool amReversed = false);5758/**@brief try to draw vehicle as raster image and return true if successful59* @param[in] length The custom length of the vehicle60*/61static bool drawAction_drawVehicleAsImage(const GUIVisualizationSettings& s, const std::string& file,62const GUIGlObject* o, const double width, double length);63};646566