LCOV - code coverage report
Current view: top level - src/netimport/vissim/tempstructs - NIVissimExtendedEdgePoint.cpp (source / functions) Coverage Total Hit
Test: lcov.info Lines: 89.5 % 19 17
Test Date: 2024-11-22 15:46:21 Functions: 100.0 % 7 7

            Line data    Source code
       1              : /****************************************************************************/
       2              : // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
       3              : // Copyright (C) 2001-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    NIVissimExtendedEdgePoint.cpp
      15              : /// @author  Daniel Krajzewicz
      16              : /// @author  Michael Behrisch
      17              : /// @date    Sept 2002
      18              : ///
      19              : // -------------------
      20              : /****************************************************************************/
      21              : #include <config.h>
      22              : 
      23              : #include <utils/common/VectorHelper.h>
      24              : #include <netbuild/NBEdge.h>
      25              : #include "NIVissimExtendedEdgePoint.h"
      26              : #include "NIVissimEdge.h"
      27              : 
      28              : 
      29              : // ===========================================================================
      30              : // method definitions
      31              : // ===========================================================================
      32         2559 : NIVissimExtendedEdgePoint::NIVissimExtendedEdgePoint(
      33              :     int edgeid, const std::vector<int>& lanes, double position,
      34         2559 :     const std::vector<int>& assignedVehicles)
      35         2559 :     : myEdgeID(edgeid), myLanes(lanes), myPosition(position),
      36         2559 :       myAssignedVehicles(assignedVehicles) {}
      37              : 
      38              : 
      39         5243 : NIVissimExtendedEdgePoint::~NIVissimExtendedEdgePoint() {}
      40              : 
      41              : 
      42              : int
      43       260293 : NIVissimExtendedEdgePoint::getEdgeID() const {
      44       260293 :     return myEdgeID;
      45              : }
      46              : 
      47              : 
      48              : double
      49        16707 : NIVissimExtendedEdgePoint::getPosition() const {
      50        16707 :     return myPosition;
      51              : }
      52              : 
      53              : 
      54              : Position
      55         9042 : NIVissimExtendedEdgePoint::getGeomPosition() const {
      56              :     return
      57         9042 :         NIVissimAbstractEdge::dictionary(myEdgeID)->getGeomPosition(myPosition);
      58              : }
      59              : 
      60              : 
      61              : const std::vector<int>&
      62         1812 : NIVissimExtendedEdgePoint::getLanes() const {
      63         1812 :     return myLanes;
      64              : }
      65              : 
      66              : 
      67              : void
      68         1806 : NIVissimExtendedEdgePoint::recheckLanes(const NBEdge* const edge) {
      69              :     // check whether an "all" indicator is there
      70              :     bool hadAll = false;
      71         4078 :     for (std::vector<int>::const_iterator i = myLanes.begin(); !hadAll && i != myLanes.end(); ++i) {
      72         2272 :         if ((*i) == -1) {
      73              :             hadAll = true;
      74              :         }
      75              :     }
      76              :     // no -> return
      77         1806 :     if (!hadAll) {
      78              :         return;
      79              :     }
      80              :     // patch lane indices
      81              :     myLanes.clear();
      82            0 :     for (int i = 0; i < (int) edge->getNumLanes(); ++i) {
      83            0 :         myLanes.push_back(i);
      84              :     }
      85              : }
      86              : 
      87              : 
      88              : /****************************************************************************/
        

Generated by: LCOV version 2.0-1