| GRASS GIS 7 Programmer's Manual
    7.9.dev(2021)-e5379bbd7
    | 
Vector library - intersection (lower level functions) More...
#include <stdlib.h>#include <string.h>#include <math.h>#include <grass/vector.h>#include <grass/glocale.h>#include "dgraph.h"#include "e_intersect.h"
Go to the source code of this file.
| Macros | |
| #define | LENGTH(DX, DY) (sqrt((DX*DX)+(DY*DY))) | 
| #define | MIN(X, Y) ((X<Y)?X:Y) | 
| #define | MAX(X, Y) ((X>Y)?X:Y) | 
| #define | PI M_PI | 
| Functions | |
| struct seg_intersections * | create_si_struct (int segments_count) | 
| void | destroy_si_struct (struct seg_intersections *si) | 
| void | add_ipoint1 (struct seg_intersection_list *il, int with, double dist, int ip) | 
| void | add_ipoint (const struct line_pnts *Points, int first_seg, int second_seg, double x, double y, struct seg_intersections *si) | 
| void | sort_intersection_list (struct seg_intersection_list *il) | 
| int | compare (const void *a, const void *b) | 
| double | get_epsilon (struct line_pnts *Points) | 
| struct seg_intersections * | find_all_intersections (const struct line_pnts *Points) | 
| struct planar_graph * | pg_create_struct (int n, int e) | 
| void | pg_destroy_struct (struct planar_graph *pg) | 
| int | pg_existsedge (struct planar_graph *pg, int v1, int v2) | 
| void | pg_addedge1 (struct pg_vertex *v, struct pg_edge *e) | 
| void | pg_addedge (struct planar_graph *pg, int v1, int v2) | 
| struct planar_graph * | pg_create (const struct line_pnts *Points) | 
Vector library - intersection (lower level functions)
Higher level functions for reading/writing/manipulating vectors.
(C) 2008-2009 by the GRASS Development Team
This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.
Definition in file dgraph.c.
Definition at line 29 of file dgraph.c.
Referenced by pg_create_struct().
| void add_ipoint | ( | const struct line_pnts * | Points, | 
| int | first_seg, | ||
| int | second_seg, | ||
| double | x, | ||
| double | y, | ||
| struct seg_intersections * | si | ||
| ) | 
| void add_ipoint1 | ( | struct seg_intersection_list * | il, | 
| int | with, | ||
| double | dist, | ||
| int | ip | ||
| ) | 
| int compare | ( | const void * | a, | 
| const void * | b | ||
| ) | 
Definition at line 177 of file dgraph.c.
Referenced by MT_functions_new(), and rbtree_create().
| struct seg_intersections* create_si_struct | ( | int | segments_count | ) | 
| void destroy_si_struct | ( | struct seg_intersections * | si | ) | 
| struct seg_intersections* find_all_intersections | ( | const struct line_pnts * | Points | ) | 
| void pg_addedge | ( | struct planar_graph * | pg, | 
| int | v1, | ||
| int | v2 | ||
| ) | 
Definition at line 416 of file dgraph.c.
References _, planar_graph::e, planar_graph::eallocated, planar_graph::ecount, G_debug(), G_fatal_error(), pg_addedge1(), pg_existsedge(), planar_graph::v, pg_edge::v1, pg_edge::v2, planar_graph::vcount, pg_edge::visited_left, pg_edge::visited_right, pg_edge::winding_left, and pg_edge::winding_right.
Definition at line 405 of file dgraph.c.
References pg_vertex::eallocated, pg_vertex::ecount, pg_vertex::edges, and G_realloc.
Referenced by pg_addedge().
| struct planar_graph* pg_create | ( | const struct line_pnts * | Points | ) | 
| struct planar_graph* pg_create_struct | ( | int | n, | 
| int | e | ||
| ) | 
Definition at line 352 of file dgraph.c.
References planar_graph::e, planar_graph::eallocated, planar_graph::ecount, G_malloc, MAX, NULL, planar_graph::v, and planar_graph::vcount.
| void pg_destroy_struct | ( | struct planar_graph * | pg | ) | 
Definition at line 368 of file dgraph.c.
References pg_vertex::angles, planar_graph::e, pg_vertex::edges, G_free(), planar_graph::v, and planar_graph::vcount.
| int pg_existsedge | ( | struct planar_graph * | pg, | 
| int | v1, | ||
| int | v2 | ||
| ) | 
Definition at line 382 of file dgraph.c.
References pg_vertex::ecount, pg_vertex::edges, planar_graph::v, pg_edge::v1, and pg_edge::v2.
Referenced by pg_addedge().