LCOV - code coverage report
Current view: top level - src/guinetload - GUIDetectorBuilder.cpp (source / functions) Hit Total Coverage
Test: lcov.info Lines: 15 15 100.0 %
Date: 2024-05-05 15:31:14 Functions: 7 8 87.5 %

          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    GUIDetectorBuilder.cpp
      15             : /// @author  Daniel Krajzewicz
      16             : /// @author  Michael Behrisch
      17             : /// @date    Tue, 22 Jul 2003
      18             : ///
      19             : // Builds detectors for guisim
      20             : /****************************************************************************/
      21             : #include <config.h>
      22             : 
      23             : #include <string>
      24             : #include <iostream>
      25             : #include <guisim/GUIInductLoop.h>
      26             : #include <guisim/GUIE2Collector.h>
      27             : #include <guisim/GUIE3Collector.h>
      28             : #include <guisim/GUIInstantInductLoop.h>
      29             : #include <microsim/MSGlobals.h>
      30             : #include <microsim/MSNet.h>
      31             : #include <microsim/output/MSInductLoop.h>
      32             : #include <utils/common/UtilExceptions.h>
      33             : #include <utils/common/FileHelpers.h>
      34             : #include "GUIDetectorBuilder.h"
      35             : 
      36             : #include <mesogui/GUIMEInductLoop.h>
      37             : #include <mesosim/MELoop.h>
      38             : 
      39             : 
      40             : // ===========================================================================
      41             : // method definitions
      42             : // ===========================================================================
      43        7228 : GUIDetectorBuilder::GUIDetectorBuilder(MSNet& net)
      44        7228 :     : NLDetectorBuilder(net) {}
      45             : 
      46             : 
      47        7228 : GUIDetectorBuilder::~GUIDetectorBuilder() {}
      48             : 
      49             : 
      50             : MSDetectorFileOutput*
      51         651 : GUIDetectorBuilder::createInductLoop(const std::string& id,
      52             :                                      MSLane* lane, double pos, double length,
      53             :                                      const std::string name, const std::string& vTypes,
      54             :                                      const std::string& nextEdges,
      55             :                                      int detectPersons, bool show) {
      56         651 :     if (MSGlobals::gUseMesoSim) {
      57         545 :         return new GUIMEInductLoop(id, MSGlobals::gMesoNet->getSegmentForEdge(lane->getEdge(), pos), pos, name, vTypes, nextEdges, detectPersons, show);
      58             :     } else {
      59         469 :         return new GUIInductLoop(id, lane, pos, length, name, vTypes, nextEdges, detectPersons, show);
      60             :     }
      61             : }
      62             : 
      63             : 
      64             : MSDetectorFileOutput*
      65         119 : GUIDetectorBuilder::createInstantInductLoop(const std::string& id,
      66             :         MSLane* lane, double pos, const std::string& od, const std::string name, const std::string& vTypes, const std::string& nextEdges) {
      67         237 :     return new GUIInstantInductLoop(id, OutputDevice::getDevice(od), lane, pos, name, vTypes, nextEdges);
      68             : }
      69             : 
      70             : 
      71             : MSE2Collector*
      72         230 : GUIDetectorBuilder::createE2Detector(const std::string& id,
      73             :                                      DetectorUsage usage, MSLane* lane, double pos, double endPos, double length,
      74             :                                      SUMOTime haltingTimeThreshold, double haltingSpeedThreshold, double jamDistThreshold,
      75             :                                      const std::string name, const std::string& vTypes,
      76             :                                      const std::string& nextEdges,
      77             :                                      int detectPersons, bool showDetector) {
      78         460 :     return new GUIE2Collector(id, usage, lane, pos, endPos, length, haltingTimeThreshold, haltingSpeedThreshold, jamDistThreshold, name, vTypes, nextEdges, detectPersons, showDetector);
      79             : }
      80             : 
      81             : MSE2Collector*
      82           6 : GUIDetectorBuilder::createE2Detector(const std::string& id,
      83             :                                      DetectorUsage usage, std::vector<MSLane*> lanes, double pos, double endPos,
      84             :                                      SUMOTime haltingTimeThreshold, double haltingSpeedThreshold, double jamDistThreshold,
      85             :                                      const std::string name, const std::string& vTypes,
      86             :                                      const std::string& nextEdges,
      87             :                                      int detectPersons, bool showDetector) {
      88          23 :     return new GUIE2Collector(id, usage, lanes, pos, endPos, haltingTimeThreshold, haltingSpeedThreshold, jamDistThreshold, name, vTypes, nextEdges, detectPersons, showDetector);
      89             : }
      90             : 
      91             : MSDetectorFileOutput*
      92         162 : GUIDetectorBuilder::createE3Detector(const std::string& id,
      93             :                                      const CrossSectionVector& entries,
      94             :                                      const CrossSectionVector& exits,
      95             :                                      double haltingSpeedThreshold,
      96             :                                      SUMOTime haltingTimeThreshold,
      97             :                                      const std::string name, const std::string& vTypes,
      98             :                                      const std::string& nextEdges,
      99             :                                      int detectPersons, bool openEntry, bool expectArrival) {
     100         324 :     return new GUIE3Collector(id, entries, exits, haltingSpeedThreshold, haltingTimeThreshold, name, vTypes, nextEdges, detectPersons, openEntry, expectArrival);
     101             : }
     102             : 
     103             : 
     104             : /****************************************************************************/

Generated by: LCOV version 1.14