PLplot  5.10.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
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