27 |
#define OSM_FLAG_NEW (1<<2) |
#define OSM_FLAG_NEW (1<<2) |
28 |
#define OSM_FLAG_HIDDEN (1<<3) |
#define OSM_FLAG_HIDDEN (1<<3) |
29 |
|
|
30 |
typedef gulong item_id_t; |
/* item_id_t needs to be signed as osm2go uses negative ids for items */ |
31 |
|
/* not yet registered with the main osm database */ |
32 |
|
typedef glong item_id_t; |
33 |
|
#define G_TYPE_ITEM_ID_T G_TYPE_LONG |
34 |
|
|
35 |
#define ID_ILLEGAL ((item_id_t)0) |
#define ID_ILLEGAL ((item_id_t)0) |
36 |
|
|
167 |
ILLEGAL=0, NODE, WAY, RELATION, NODE_ID, WAY_ID, RELATION_ID |
ILLEGAL=0, NODE, WAY, RELATION, NODE_ID, WAY_ID, RELATION_ID |
168 |
} type_t; |
} type_t; |
169 |
|
|
170 |
|
typedef struct { |
171 |
|
type_t type; |
172 |
|
union { |
173 |
|
node_t *node; |
174 |
|
way_t *way; |
175 |
|
relation_t *relation; |
176 |
|
}; |
177 |
|
} object_t; |
178 |
|
|
179 |
typedef struct member_s { |
typedef struct member_s { |
180 |
type_t type; |
type_t type; |
181 |
char *role; |
char *role; |
276 |
|
|
277 |
void osm_way_reverse(way_t *way); |
void osm_way_reverse(way_t *way); |
278 |
guint osm_way_reverse_direction_sensitive_tags(way_t *way); |
guint osm_way_reverse_direction_sensitive_tags(way_t *way); |
279 |
|
guint osm_way_reverse_direction_sensitive_roles(osm_t *osm, way_t *way); |
280 |
|
|
281 |
void osm_node_remove_from_relation(osm_t *osm, node_t *node); |
void osm_node_remove_from_relation(osm_t *osm, node_t *node); |
282 |
void osm_way_remove_from_relation(osm_t *osm, way_t *way); |
void osm_way_remove_from_relation(osm_t *osm, way_t *way); |
299 |
gboolean permanently); |
gboolean permanently); |
300 |
gint osm_relation_members_num(relation_t *relation); |
gint osm_relation_members_num(relation_t *relation); |
301 |
|
|
302 |
|
void osm_object_set_flags(object_t *map_item, int set, int clr); |
303 |
|
|
304 |
#endif /* OSM_H */ |
#endif /* OSM_H */ |
305 |
|
|
306 |
// vim:et:ts=8:sw=2:sts=2:ai |
// vim:et:ts=8:sw=2:sts=2:ai |