Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
eclipse
GitHub Repository: eclipse/sumo
Path: blob/main/src/od/ODAmitranHandler.h
169668 views
1
/****************************************************************************/
2
// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3
// Copyright (C) 2014-2025 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 ODAmitranHandler.h
15
/// @author Michael Behrisch
16
/// @date 27.03.2014
17
///
18
// An XML-Handler for Amitran OD matrices
19
/****************************************************************************/
20
#pragma once
21
#include <config.h>
22
23
#include <string>
24
#include <utility>
25
#include <utils/xml/SUMOSAXHandler.h>
26
27
28
// ===========================================================================
29
// class declarations
30
// ===========================================================================
31
class ODMatrix;
32
33
34
// ===========================================================================
35
// class definitions
36
// ===========================================================================
37
/**
38
* @class ODAmitranHandler
39
* @brief An XML-Handler for districts
40
*
41
* This SUMOSAXHandler parses OD matrices in the Amitran format.
42
*/
43
class ODAmitranHandler : public SUMOSAXHandler {
44
public:
45
/** @brief Constructor
46
*
47
* Saves the given matrix in order to fill it.
48
* @param[in] cont The matrix to fill
49
* @param[in] file The file that will be processed
50
*/
51
ODAmitranHandler(ODMatrix& matrix, const std::string& file);
52
53
54
/// @brief Destructor
55
~ODAmitranHandler();
56
57
58
protected:
59
/// @name inherited from GenericSAXHandler
60
//@{
61
62
/** @brief Called when an opening-tag occurs
63
*
64
* Processes district elements via openDistrict, their sinks (via
65
* addSink) and sources (via addSource).
66
*
67
* @param[in] element The enum of the currently opened element
68
* @param[in] attrs Attributes of the currently opened element
69
* @exception ProcessError If an error within the parsed file occurs
70
* @see GenericSAXHandler::myStartElement
71
*/
72
void myStartElement(int element,
73
const SUMOSAXAttributes& attrs);
74
//@}
75
76
77
private:
78
/// The matrix to add demand to
79
ODMatrix& myMatrix;
80
81
std::string myVehicleType;
82
83
SUMOTime myBegin;
84
SUMOTime myEnd;
85
private:
86
/// @brief invalidated copy constructor
87
ODAmitranHandler(const ODAmitranHandler& s);
88
89
/// @brief invalidated assignment operator
90
ODAmitranHandler& operator=(const ODAmitranHandler& s);
91
92
93
};
94
95