LCOV - code coverage report
Current view: top level - src/netimport/vissim/typeloader - NIVissimSingleTypeParser_Zuflussdefinition.cpp (source / functions) Hit Total Coverage
Test: lcov.info Lines: 23 23 100.0 %
Date: 2024-05-01 15:34:42 Functions: 4 4 100.0 %

          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    NIVissimSingleTypeParser_Zuflussdefinition.cpp
      15             : /// @author  Daniel Krajzewicz
      16             : /// @author  Michael Behrisch
      17             : /// @date    Wed, 18 Dec 2002
      18             : ///
      19             : //
      20             : /****************************************************************************/
      21             : #include <config.h>
      22             : 
      23             : #include <iostream>
      24             : #include <utils/common/StringUtils.h>
      25             : #include <netimport/vissim/NIImporter_Vissim.h>
      26             : #include <netimport/vissim/tempstructs/NIVissimSource.h>
      27             : #include "NIVissimSingleTypeParser_Zuflussdefinition.h"
      28             : 
      29             : 
      30             : // ===========================================================================
      31             : // method definitions
      32             : // ===========================================================================
      33           9 : NIVissimSingleTypeParser_Zuflussdefinition::NIVissimSingleTypeParser_Zuflussdefinition(NIImporter_Vissim& parent)
      34           9 :     : NIImporter_Vissim::VissimSingleTypeParser(parent) {}
      35             : 
      36             : 
      37          18 : NIVissimSingleTypeParser_Zuflussdefinition::~NIVissimSingleTypeParser_Zuflussdefinition() {}
      38             : 
      39             : 
      40             : bool
      41          88 : NIVissimSingleTypeParser_Zuflussdefinition::parse(std::istream& from) {
      42             :     std::string id, edgeid;
      43          88 :     from >> id; // type-checking is missing!
      44             :     std::string tag, name;
      45             :     // override some optional values till q
      46         352 :     while (tag != "q") {
      47         528 :         tag = overrideOptionalLabel(from);
      48         264 :         if (tag == "name") {
      49         176 :             name = readName(from);
      50         176 :         } else if (tag == "strecke") {
      51          88 :             from >> edgeid; // type-checking is missing!
      52             :         }
      53             :     }
      54             :     // read q
      55             :     // bool exact = false;
      56         176 :     tag = myRead(from);
      57          88 :     if (tag == "exakt") {
      58             :         // exact = true;
      59          74 :         tag = myRead(from);
      60             :     }
      61             :     // double q = StringUtils::toDouble(tag);
      62             :     // read the vehicle types
      63          88 :     from >> tag;
      64             :     int vehicle_combination;
      65          88 :     from >> vehicle_combination;
      66             :     // check whether optional time information is available
      67         176 :     tag = readEndSecure(from);
      68             :     double beg, end;
      69          88 :     beg = -1;
      70          88 :     end = -1;
      71          88 :     if (tag == "zeit") {
      72          88 :         from >> tag;
      73             :         from >> beg;
      74          88 :         from >> tag;
      75             :         from >> end;
      76             :     }
      77         176 :     return NIVissimSource::dictionary(id, name, edgeid);
      78             : }
      79             : 
      80             : 
      81             : /****************************************************************************/

Generated by: LCOV version 1.14