navit
0.5.3-trunk
|
Go to the source code of this file.
Data Structures | |
struct | rect |
struct | geom_poly_segment |
Macros | |
#define | sq(x) ((double)(x)*(x)) |
Functions | |
void | geom_coord_copy (struct coord *from, struct coord *to, int count, int reverse) |
void | geom_coord_revert (struct coord *c, int count) |
int | geom_line_middle (struct coord *p, int count, struct coord *c) |
long long | geom_poly_area (struct coord *c, int count) |
int | geom_poly_centroid (struct coord *c, int count, struct coord *r) |
int | geom_poly_point_inside (struct coord *cp, int count, struct coord *c) |
int | geom_poly_closest_point (struct coord *pl, int count, struct coord *p, struct coord *c) |
GList * | geom_poly_segments_insert (GList *list, struct geom_poly_segment *first, struct geom_poly_segment *second, struct geom_poly_segment *third) |
void | geom_poly_segment_destroy (struct geom_poly_segment *seg, void *unused) |
GList * | geom_poly_segments_remove (GList *list, struct geom_poly_segment *seg) |
int | geom_poly_segment_compatible (struct geom_poly_segment *s1, struct geom_poly_segment *s2, int dir) |
GList * | geom_poly_segments_sort (GList *in, enum geom_poly_segment_type type) |
int | geom_poly_segments_point_inside (GList *in, struct coord *c) |
int | geom_clip_line_code (struct coord *p1, struct coord *p2, struct rect *r) |
int | geom_is_inside (struct coord *p, struct rect *r, int edge) |
void | geom_poly_intersection (struct coord *p1, struct coord *p2, struct rect *r, int edge, struct coord *ret) |
void | geom_init (void) |
#define sq | ( | x | ) | ((double)(x)*(x)) |
Navit, a modular navigation system. Copyright (C) 2005-2011 Navit Team
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
References clipcode(), rect::h, coord::x, and coord::y.
Referenced by clip_line().
Navit, a modular navigation system. Copyright (C) 2005-2011 Navit Team
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Referenced by geom_poly_segments_insert(), and item_bin_to_poly_segment().
void geom_init | ( | void | ) |
Referenced by main_real().
References rect::h, p, coord::x, and coord::y.
Referenced by itembin_slice_part_direction().
Get coordinates of polyline middle point.
in | *p array of poly vertex coordinates |
in | count count of poly vertexes |
out | *c coordinates of middle point |
References c, length, p, sq, pcoord::x, and pcoord::y.
Referenced by process_way2poi(), and search_list_street_new().
long long geom_poly_area | ( | struct coord * | c, |
int | count | ||
) |
References area(), c, coord::x, and pcoord::y.
Referenced by geom_poly_segments_sort().
Get coordinates of polyline point c most close to given point p.
in | *pl array of polyline vertex coordinates |
in | count count of polyline vertexes |
in | *p point coordinates |
out | *c coordinates of polyline point most close to given point. |
References c, p, coord::x, pcoord::x, coord::y, and pcoord::y.
Referenced by process_way2poi().
Check if point is inside polgone.
in | *cp array of polygon vertex coordinates |
in | count count of polygon vertexes |
in | *c point coordinates |
References c, coord::x, pcoord::x, coord::y, and pcoord::y.
Referenced by geom_poly_segments_point_inside(), item_inside_poly_list(), and process_way2poi().
int geom_poly_segment_compatible | ( | struct geom_poly_segment * | s1, |
struct geom_poly_segment * | s2, | ||
int | dir | ||
) |
References coord_is_equal, geom_poly_segment::first, geom_poly_segment_type_none, geom_poly_segment_type_way_inner, geom_poly_segment_type_way_left_side, geom_poly_segment_type_way_outer, geom_poly_segment_type_way_right_side, geom_poly_segment_type_way_unknown, geom_poly_segment::last, s1, and geom_poly_segment::type.
Referenced by geom_poly_segments_sort().
void geom_poly_segment_destroy | ( | struct geom_poly_segment * | seg, |
void * | unused | ||
) |
References geom_poly_segment::first.
Referenced by binmap_search_destroy(), geom_poly_segments_remove(), and tile_collector_process_tile().
GList* geom_poly_segments_insert | ( | GList * | list, |
struct geom_poly_segment * | first, | ||
struct geom_poly_segment * | second, | ||
struct geom_poly_segment * | third | ||
) |
References coord_is_equal, geom_poly_segment::first, geom_coord_copy(), geom_poly_segment::last, startup::pos, and geom_poly_segment::type.
Referenced by geom_poly_segments_sort().
References c, coord_is_equal, geom_poly_segment::first, geom_poly_point_inside(), and geom_poly_segment::last.
Referenced by boundary_find_matches().
GList* geom_poly_segments_remove | ( | GList * | list, |
struct geom_poly_segment * | seg | ||
) |
References geom_poly_segment_destroy().
Referenced by geom_poly_segments_sort().
GList* geom_poly_segments_sort | ( | GList * | in, |
enum geom_poly_segment_type | type | ||
) |
References area(), coord_is_equal, geom_poly_segment::first, geom_poly_area(), geom_poly_segment_compatible(), geom_poly_segment_type_way_inner, geom_poly_segment_type_way_outer, geom_poly_segment_type_way_right_side, geom_poly_segments_insert(), geom_poly_segments_remove(), geom_poly_segment::last, geom_poly_segment::type, and type.
Referenced by process_boundaries_finish(), and tile_collector_process_tile().