source: trunk/osm05.h @ 15

Last change on this file since 15 was 15, checked in by marius, 6 years ago

adding support for naming ways

  • Property svn:eol-style set to native
  • Property svn:keywords set to "Date Author Id Revision HeadURL"
  • Property svn:mime-type set to text/plain
File size: 2.1 KB
Line 
1/*
2 * Memphis - Cairo Rederer for OSM in C
3 * Copyright (C) 2008  <marius.rieder@durchmesser.ch>
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 Free Software Foundation,
17 * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18 */
19
20#ifndef OSM05_H
21#define OSM05_H
22
23typedef struct _osmTag osmTag;
24struct _osmTag {
25        char *key;
26        char *value;
27        osmTag *next;
28    };
29
30typedef struct _osmNode osmNode;
31struct _osmNode {
32        int id;
33        float lat;
34        float lon;
35        short int layer;
36        osmTag *tag;
37        osmNode *next;
38    };
39
40typedef struct _osmNd osmNd;
41struct _osmNd {
42        osmNode *node;
43        osmNd   *next;
44    };
45
46typedef struct _osmWay osmWay;
47struct _osmWay {
48        int id;
49        short int layer;
50        char    *name;
51        osmTag  *tag;
52        osmNd   *nd;
53        osmWay  *next;
54    };
55
56typedef struct _osmMember osmMember;
57struct _osmMember {
58        osmNode     *node;
59        osmWay      *way;
60        char        *role;
61        osmMember   *next;
62    };
63
64typedef struct _osmRelation omsRelation;
65struct _osmRelation {
66        int         id;
67        osmTag      *tag;
68        osmMember   *member;
69    };
70
71typedef struct _osmFile osmFile;
72struct _osmFile {
73        osmNode     *nodes;
74        osmWay      *ways;
75        float       minlat;
76        float       minlon;
77        float       maxlat;
78        float       maxlon;
79    };
80
81/*
82 * Prototypes
83 */
84osmFile* osmRead(char *filename);
85
86#endif /* OSM05_H */
87
88/*
89 * vim: expandtab shiftwidth=4 tabstop=4:
90 */
91
Note: See TracBrowser for help on using the repository browser.