Path: blob/main/src/netimport/vissim/tempstructs/NIVissimExtendedEdgePoint.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 NIVissimExtendedEdgePoint.h14/// @author Daniel Krajzewicz15/// @author Michael Behrisch16/// @date Sept 200217///18// -------------------19/****************************************************************************/20#pragma once21#include <config.h>2223#include <vector>242526// ===========================================================================27// class declarations28// ===========================================================================29class NBEdge;30class Position;313233// ===========================================================================34// class definitions35// ===========================================================================36/**37*38*/39class NIVissimExtendedEdgePoint {40public:41/** @brief Constructor42* @param[in] edgeid The id of the Vissim-edge43* @param[in] lanes Lanes on which this point lies44* @param[in] position The position of this point at the edge45* @param[in] assignedVehicles Vehicle (type) indices which should be regarded by this point46*/47NIVissimExtendedEdgePoint(int edgeid, const std::vector<int>& lanes,48double position, const std::vector<int>& assignedVehicles);49~NIVissimExtendedEdgePoint();50int getEdgeID() const;51double getPosition() const;52Position getGeomPosition() const;53const std::vector<int>& getLanes() const;545556/** @brief Resets lane numbers if all lanes shall be used57*58* If myLanes contains a -1, the content of myLanes is replaced59* by indices of all lanes of the given edge.60*61* @param[in] The built edge62*/63void recheckLanes(const NBEdge* const edge);6465private:66int myEdgeID;67std::vector<int> myLanes;68double myPosition;69std::vector<int> myAssignedVehicles;70};717273