PLplot  5.15.0
delaunay.h
Go to the documentation of this file.
1 //--------------------------------------------------------------------------
2 //
3 // File: delaunay.h
4 //
5 // Created: 04/08/2000
6 //
7 // Author: Pavel Sakov
8 // CSIRO Marine Research
9 //
10 // Purpose: Header for delaunay triangulation wrapper
11 //
12 // Description: None
13 //
14 // Revisions: None
15 //
16 //--------------------------------------------------------------------------
17 
18 #if !defined ( _DELAUNAY_H )
19 #define _DELAUNAY_H
20 
21 #include "nn.h"
22 
23 typedef struct
24 {
25  int vids[3];
26 } triangle;
27 
28 typedef struct
29 {
30  int tids[3];
32 
33 typedef struct
34 {
35  double x;
36  double y;
37  double r;
38 } circle;
39 
40 #if !defined ( _ISTACK_H )
41 struct istack;
42 typedef struct istack istack;
43 #endif
44 
45 struct delaunay
46 {
47  int npoints;
49  double xmin;
50  double xmax;
51  double ymin;
52  double ymax;
53 
57  triangle_neighbours* neighbours; // for delaunay_xytoi()
58 
59  int * n_point_triangles; // n_point_triangles[i] is number of
60  // triangles i-th point belongs to
61  int ** point_triangles; // point_triangles[i][j] is index of j-th
62  // triangle i-th point belongs to
63 
64  int nedges;
65  int * edges; // n-th edge is formed by points[edges[n*2]]
66  // and points[edges[n*2+1]]
67 
68  //
69  // Work data for delaunay_circles_find(). Placed here for efficiency
70  // reasons. Should be moved to the procedure if parallelizable code
71  // needed.
72  //
73  int * flags;
74  int first_id; // last search result, used in start up of a
75  // new search
78 };
79 
80 #endif
int ** point_triangles
Definition: delaunay.h:61
istack * t_out
Definition: delaunay.h:77
triangle_neighbours * neighbours
Definition: delaunay.h:57
Definition: csa.c:55
double x
Definition: delaunay.h:35
int * flags
Definition: delaunay.h:73
circle * circles
Definition: delaunay.h:56
int first_id
Definition: delaunay.h:74
int nedges
Definition: delaunay.h:64
Definition: istack.h:21
point * points
Definition: delaunay.h:48
int * n_point_triangles
Definition: delaunay.h:59
double y
Definition: delaunay.h:36
int * edges
Definition: delaunay.h:65
istack * t_in
Definition: delaunay.h:76
int npoints
Definition: delaunay.h:47
int ntriangles
Definition: delaunay.h:54
triangle * triangles
Definition: delaunay.h:55
double ymax
Definition: delaunay.h:52
double ymin
Definition: delaunay.h:51
Definition: csa.h:29
double xmin
Definition: delaunay.h:49
double xmax
Definition: delaunay.h:50
double r
Definition: delaunay.h:37