root/tools/osm2pgrouting/tags/release-0.1/src/OSMDocument.h

Revision 189, 2.1 KB (checked in by murray, 2 years ago)

osm2pgrouting: add a new tool to this project, which converts and imports osm data to a pgrouting
table

Line 
1/***************************************************************************
2 *   Copyright (C) 2008 by Daniel Wendt                                                                    *
3 *   gentoo.murray@gmail.com                                                                                       *
4 *                                                                         *
5 *   This program is free software; you can redistribute it and/or modify  *
6 *   it under the terms of the GNU General Public License as published by  *
7 *   the Free Software Foundation; either version 2 of the License, or     *
8 *   (at your option) any later version.                                   *
9 *                                                                         *
10 *   This program is distributed in the hope that it will be useful,       *
11 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
12 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
13 *   GNU General Public License for more details.                          *
14 *                                                                         *
15 *   You should have received a copy of the GNU General Public License     *
16 *   along with this program; if not, write to the                         *
17 *   Free Software Foundation, Inc.,                                       *
18 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
19 ***************************************************************************/
20
21#ifndef OSMDOCUMENT_H
22#define OSMDOCUMENT_H
23
24namespace osm
25{
26
27class Node;
28class Way;
29
30/**
31        An osm-document.
32*/
33class OSMDocument
34{
35public:
36        //! Map, which saves the parsed nodes
37        std::map<long long, Node*> m_Nodes;
38        //! parsed ways
39        std::vector<Way*> m_Ways;
40        //! splitted ways
41        std::vector<Way*> m_SplittedWays;
42public:
43
44        //! Constructor
45        OSMDocument();
46        //! Destructor
47        virtual ~OSMDocument();
48        //! add node to the map
49        void AddNode( Node* n );
50        //! add way to the map
51        void AddWay( Way* w );
52        //! find node by using an ID
53        Node* FindNode( long long nodeRefId ) const;
54        //! split the ways
55        void SplitWays();
56        //Node* getNode( long long nodeRefId );
57};
58
59
60} // end namespace osm
61#endif
Note: See TracBrowser for help on using the browser.