1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
10 /// @file    MSCrossSection.h
11 /// @author  Christian Roessel
12 /// @author  Daniel Krajzewicz
13 /// @author  Sascha Krieg
14 /// @date    Tue Nov 25 15:23:28 2003
15 /// @version $Id$
16 ///
17 // A simple description of a position on a lane (crossing of a lane)
18 /****************************************************************************/
19 #ifndef MSCrossSection_h
20 #define MSCrossSection_h
21 
22 
23 // ===========================================================================
24 // included modules
25 // ===========================================================================
26 #include <config.h>
27 
28 #include <vector>
29 
30 
31 // ===========================================================================
32 // class declarations
33 // ===========================================================================
34 class MSLane;
35 
36 
37 // ===========================================================================
38 // class definitions
39 // ===========================================================================
40 /**
41  * @class MSCrossSection
42  * @brief A simple description of a position on a lane (crossing of a lane)
43  */
44 class MSCrossSection {
45 public:
46     /** @brief Constructor
47      *
48      * @param[in] lane The lane to cross
49      * @param[in] pos The position at the lane
50      */
MSCrossSection(MSLane * lane,double pos)51     MSCrossSection(MSLane* lane, double pos) : myLane(lane), myPosition(pos) {}
52 
53 
54 public:
55     /// @brief The lane to cross
56     MSLane* myLane;
57 
58     /// @brief The position at the lane
59     double myPosition;
60 
61 };
62 
63 
64 typedef std::vector< MSCrossSection > CrossSectionVector;
65 typedef CrossSectionVector::iterator CrossSectionVectorIt;
66 typedef CrossSectionVector::const_iterator CrossSectionVectorConstIt;
67 
68 
69 #endif
70 
71 /****************************************************************************/
72 
73